From 214df64e287804577afa1fea0184c18c40f7d1ca Mon Sep 17 00:00:00 2001 From: Mohamed Hegazy Date: Sat, 12 Jul 2014 16:04:16 -0700 Subject: [PATCH] Add snapshot of compiler sources --- .gitignore | 66 + .npmignore | 12 + CopyrightNotice.txt | 15 + Jakefile | 443 + LICENSE.txt | 55 + ThirdPartyNoticeText.txt | 96 + bin/lib.core.d.ts | 1143 ++ bin/lib.d.ts | 14182 ++++++++++++++++ bin/lib.dom.d.ts | 13027 ++++++++++++++ bin/lib.scripthost.d.ts | 38 + bin/lib.webworker.d.ts | 1637 ++ bin/services.js | 11536 +++++++++++++ bin/tc.js | 11354 +++++++++++++ bin/tsc | 2 + doc/TypeScript Language Specification.docx | Bin 0 -> 335375 bytes doc/TypeScript Language Specification.pdf | Bin 0 -> 1248020 bytes package.json | 41 + scripts/processDiagnosticMessages.ts | 182 + src/compiler/binder.ts | 338 + src/compiler/checker.ts | 5797 +++++++ src/compiler/commandLineParser.ts | 146 + src/compiler/core.ts | 534 + .../diagnosticInformationMap.generated.ts | 296 + src/compiler/diagnosticMessages.json | 1197 ++ src/compiler/emitter.ts | 2284 +++ src/compiler/parser.ts | 3104 ++++ src/compiler/scanner.ts | 915 + src/compiler/sys.ts | 259 + src/compiler/tc.ts | 241 + src/compiler/types.ts | 1075 ++ src/harness/compilerRunner.ts | 468 + src/harness/exec.ts | 74 + src/harness/external/chai.d.ts | 175 + src/harness/external/es5compat.js | 225 + src/harness/external/es5compat.ts | 354 + src/harness/external/json2.js | 486 + src/harness/external/json2.ts | 486 + src/harness/external/mocha.d.ts | 45 + src/harness/external/node.d.ts | 1296 ++ src/harness/fourslash.ts | 2340 +++ src/harness/fourslashRun.ts | 48 + src/harness/fourslashRunner.ts | 98 + src/harness/harness.ts | 1113 ++ src/harness/harnessLanguageService.ts | 385 + src/harness/loggedIO.ts | 279 + src/harness/project.ts | 19 + src/harness/projectsRunner.ts | 381 + src/harness/runner.ts | 107 + src/harness/runnerbase.ts | 41 + src/harness/rwcRunner.ts | 223 + src/harness/sourceMapRecorder.ts | 460 + src/harness/syntacticCleaner.ts | 30 + src/harness/typeWriter.ts | 180 + src/harness/unittestrunner.ts | 89 + src/lib/core.d.ts | 1128 ++ src/lib/dom.generated.d.ts | 12193 +++++++++++++ src/lib/extensions.d.ts | 818 + src/lib/importcore.d.ts | 1 + src/lib/scriptHost.d.ts | 22 + src/lib/webworker.generated.d.ts | 803 + src/lib/webworker.importscripts.d.ts | 6 + src/services/services.ts | 439 + src/services/shims.ts | 145 + tests/baselines/reference/2dArrays.js | 38 + ...entFunctionWithTheSameNameAndCommonRoot.js | 19 + ...duleAndAmbientWithSameNameAndCommonRoot.js | 31 + ...onAmbientClassWithSameNameAndCommonRoot.js | 40 + ...entFunctionWithTheSameNameAndCommonRoot.js | 25 + .../ArrowFunctionExpression1.errors.txt | 4 + .../reference/ArrowFunctionExpression1.js | 6 + ...emberThatUsesClassTypeParameter.errors.txt | 60 + ...hModuleMemberThatUsesClassTypeParameter.js | 98 + ...lassStaticFunctionOfTheSameName.errors.txt | 18 + ...GenericClassStaticFunctionOfTheSameName.js | 32 + ...lassStaticFunctionOfTheSameName.errors.txt | 18 + ...GenericClassStaticFunctionOfTheSameName.js | 32 + ...unctionUsingClassPrivateStatics.errors.txt | 18 + ...dStaticFunctionUsingClassPrivateStatics.js | 33 + ...dExportedFunctionThatShareAName.errors.txt | 27 + ...nctionAndExportedFunctionThatShareAName.js | 63 + ...ionAndNonExportedFunctionThatShareAName.js | 61 + ...bleAndExportedVarThatShareAName.errors.txt | 27 + ...ticVariableAndExportedVarThatShareAName.js | 53 + ...VariableAndNonExportedVarThatShareAName.js | 53 + ...FunctionWithTypeIncompatibleWithIndexer.js | 4 + ...ClassAndModuleWithSameNameAndCommonRoot.js | 84 + .../reference/ClassDeclaration10.errors.txt | 9 + .../baselines/reference/ClassDeclaration10.js | 12 + .../reference/ClassDeclaration11.errors.txt | 7 + .../baselines/reference/ClassDeclaration11.js | 14 + .../reference/ClassDeclaration13.errors.txt | 7 + .../baselines/reference/ClassDeclaration13.js | 14 + .../reference/ClassDeclaration14.errors.txt | 9 + .../baselines/reference/ClassDeclaration14.js | 12 + .../reference/ClassDeclaration15.errors.txt | 7 + .../baselines/reference/ClassDeclaration15.js | 12 + .../reference/ClassDeclaration21.errors.txt | 7 + .../baselines/reference/ClassDeclaration21.js | 14 + .../reference/ClassDeclaration22.errors.txt | 7 + .../baselines/reference/ClassDeclaration22.js | 14 + .../reference/ClassDeclaration24.errors.txt | 5 + .../baselines/reference/ClassDeclaration24.js | 10 + .../reference/ClassDeclaration25.errors.txt | 14 + .../baselines/reference/ClassDeclaration25.js | 17 + .../reference/ClassDeclaration8.errors.txt | 6 + .../baselines/reference/ClassDeclaration8.js | 11 + .../reference/ClassDeclaration9.errors.txt | 6 + .../baselines/reference/ClassDeclaration9.js | 11 + .../CommentsOnObjectLiteral1.errors.txt | 10 + .../CommentsOnObjectLiteral2.errors.txt | 15 + .../EnumAndModuleWithSameNameAndCommonRoot.js | 39 + .../reference/ExportAssignment7.errors.txt | 12 + .../baselines/reference/ExportAssignment7.js | 13 + .../reference/ExportAssignment8.errors.txt | 11 + .../baselines/reference/ExportAssignment8.js | 13 + ...ichExtendsInterfaceWithInaccessibleType.js | 36 + ...sClassHeritageListMemberTypeAnnotations.js | 56 + ...naccessibleTypeInIndexerTypeAnnotations.js | 32 + ...accessibleTypeInTypeParameterConstraint.js | 62 + ...TypesInParameterAndReturnTypeAnnotation.js | 39 + ...ccessibleTypesInParameterTypeAnnotation.js | 38 + ...InaccessibleTypesInReturnTypeAnnotation.js | 38 + ...sClassHeritageListMemberTypeAnnotations.js | 30 + ...naccessibleTypeInIndexerTypeAnnotations.js | 18 + ...accessibleTypeInTypeParameterConstraint.js | 31 + ...WithAccessibleTypesOnItsExportedMembers.js | 47 + ...hAccessibleTypesInMemberTypeAnnotations.js | 26 + ...esInNestedMemberTypeAnnotations.errors.txt | 18 + ...cTypeWithInaccessibleTypeAsTypeArgument.js | 21 + ...iableWithAccessibleTypeInTypeAnnotation.js | 18 + ...bleWithInaccessibleTypeInTypeAnnotation.js | 26 + ...ModuleWithSameNameAndCommonRoot.errors.txt | 46 + ...ctionAndModuleWithSameNameAndCommonRoot.js | 84 + ...oduleWithSameNameAndDifferentCommonRoot.js | 45 + .../reference/FunctionDeclaration3.errors.txt | 4 + .../reference/FunctionDeclaration3.js | 4 + .../reference/FunctionDeclaration4.errors.txt | 5 + .../reference/FunctionDeclaration4.js | 7 + .../reference/FunctionDeclaration6.errors.txt | 7 + .../reference/FunctionDeclaration6.js | 11 + .../reference/FunctionDeclaration7.errors.txt | 6 + .../reference/FunctionDeclaration7.js | 9 + .../InterfaceDeclaration8.errors.txt | 5 + .../reference/InterfaceDeclaration8.js | 5 + .../InvalidNonInstantiatedModule.errors.txt | 13 + .../reference/InvalidNonInstantiatedModule.js | 13 + .../LogicalNotExpression1.errors.txt | 4 + .../MemberAccessorDeclaration15.errors.txt | 8 + ...ModuleAndClassWithSameNameAndCommonRoot.js | 69 + .../ModuleAndEnumWithSameNameAndCommonRoot.js | 39 + ...uleAndFunctionWithSameNameAndCommonRoot.js | 59 + ...thExportedAndNonExportedClasses.errors.txt | 38 + ...ModuleWithExportedAndNonExportedClasses.js | 66 + ...WithExportedAndNonExportedEnums.errors.txt | 14 + .../ModuleWithExportedAndNonExportedEnums.js | 29 + ...ExportedAndNonExportedFunctions.errors.txt | 34 + ...duleWithExportedAndNonExportedFunctions.js | 55 + ...portedAndNonExportedImportAlias.errors.txt | 42 + ...leWithExportedAndNonExportedImportAlias.js | 65 + ...ExportedAndNonExportedVariables.errors.txt | 15 + ...duleWithExportedAndNonExportedVariables.js | 23 + ...ResolutionOnDefaultConstructor1.errors.txt | 8 + .../reference/ParameterList13.errors.txt | 6 + tests/baselines/reference/ParameterList13.js | 6 + .../reference/ParameterList4.errors.txt | 5 + tests/baselines/reference/ParameterList4.js | 7 + .../reference/ParameterList5.errors.txt | 7 + tests/baselines/reference/ParameterList5.js | 7 + .../reference/ParameterList6.errors.txt | 7 + tests/baselines/reference/ParameterList6.js | 12 + .../reference/ParameterList7.errors.txt | 10 + tests/baselines/reference/ParameterList7.js | 14 + .../reference/ParameterList8.errors.txt | 12 + tests/baselines/reference/ParameterList8.js | 8 + .../PrivateAccessInSubclass1.errors.txt | 12 + .../PropertyAccessibility2.errors.txt | 8 + ...ortedAndNonExportedClassesOfTheSameName.js | 96 + ...edAndNonExportedInterfacesOfTheSameName.js | 44 + ...tedAndNonExportedLocalVarsOfTheSameName.js | 79 + ...ithExportedClassesOfTheSameName.errors.txt | 37 + ...rgeEachWithExportedClassesOfTheSameName.js | 83 + ...EachWithExportedInterfacesOfTheSameName.js | 44 + ...hExportedLocalVarsOfTheSameName.errors.txt | 49 + ...eEachWithExportedLocalVarsOfTheSameName.js | 59 + ...rgeEachWithExportedModulesOfTheSameName.js | 85 + ...esWithTheSameNameAndDifferentCommonRoot.js | 65 + ...ModulesWithTheSameNameAndSameCommonRoot.js | 76 + .../reference/UnaryOperators1.errors.txt | 10 + tests/baselines/reference/acceptableAlias1.js | 13 + .../accessOverriddenBaseClassMember1.js | 45 + ...rParameterAccessibilityModifier.errors.txt | 14 + .../reference/accessorWithES3.errors.txt | 30 + tests/baselines/reference/accessorWithES5.js | 54 + .../accessorWithInitializer.errors.txt | 10 + .../accessorWithRestParam.errors.txt | 10 + ...ccessorsAreNotContextuallyTyped.errors.txt | 18 + .../reference/accessorsEmit.errors.txt | 20 + .../accessorsInAmbientContext.errors.txt | 35 + .../accessorsNotAllowedInES3.errors.txt | 11 + ...rs_spec_section-4.5_error-cases.errors.txt | 38 + ...sors_spec_section-4.5_inference.errors.txt | 49 + .../addMoreCallSignaturesToBaseSignature.js | 16 + .../addMoreCallSignaturesToBaseSignature2.js | 15 + ...addMoreOverloadsToBaseSignature.errors.txt | 13 + .../addMoreOverloadsToBaseSignature.js | 11 + .../additionOperatorWithAnyAndEveryType.js | 88 + ...tionOperatorWithInvalidOperands.errors.txt | 79 + .../additionOperatorWithInvalidOperands.js | 86 + ...WithNullValueAndInvalidOperator.errors.txt | 46 + ...OperatorWithNullValueAndInvalidOperator.js | 45 + ...onOperatorWithNullValueAndValidOperator.js | 59 + .../additionOperatorWithNumberAndEnum.js | 32 + ...thOnlyNullValueOrUndefinedValue.errors.txt | 14 + ...eratorWithOnlyNullValueOrUndefinedValue.js | 12 + .../additionOperatorWithStringAndEveryType.js | 75 + ...ditionOperatorWithTypeParameter.errors.txt | 71 + .../additionOperatorWithTypeParameter.js | 76 + ...ndefinedValueAndInvalidOperands.errors.txt | 46 + ...torWithUndefinedValueAndInvalidOperands.js | 45 + ...ratorWithUndefinedValueAndValidOperator.js | 59 + .../reference/aliasAssignments.errors.txt | 17 + tests/baselines/reference/aliasAssignments.js | 28 + tests/baselines/reference/aliasBug.errors.txt | 23 + tests/baselines/reference/aliasBug.js | 53 + .../reference/aliasErrors.errors.txt | 45 + .../reference/aliasInaccessibleModule.js | 11 + .../reference/aliasInaccessibleModule2.js | 25 + .../aliasOnMergedModuleInterface.errors.txt | 22 + .../reference/aliasOnMergedModuleInterface.js | 28 + .../aliasUsageInAccessorsOfClass.errors.txt | 30 + .../baselines/reference/aliasUsageInArray.js | 50 + .../aliasUsageInFunctionExpression.js | 49 + .../reference/aliasUsageInGenericFunction.js | 56 + .../reference/aliasUsageInIndexerOfClass.js | 63 + .../reference/aliasUsageInObjectLiteral.js | 51 + .../reference/aliasUsageInOrExpression.js | 57 + ...aliasUsageInTypeArgumentOfExtendsClause.js | 70 + .../reference/aliasUsageInVarAssignment.js | 48 + .../reference/aliasUsedAsNameValue.js | 33 + ...tAssignmentUsedInVarInitializer.errors.txt | 11 + ...aceExportAssignmentUsedInVarInitializer.js | 15 + .../ambientClassDeclarationWithExtends.js | 6 + ...ambientClassOverloadForFunction.errors.txt | 6 + .../ambientClassOverloadForFunction.js | 10 + .../reference/ambientDeclarations.js | 82 + .../ambientDeclarationsExternal.errors.txt | 25 + .../reference/ambientDeclarationsExternal.js | 31 + .../ambientEnumElementInitializer1.js | 6 + .../ambientEnumElementInitializer2.js | 6 + .../ambientEnumElementInitializer3.errors.txt | 6 + .../ambientEnumElementInitializer4.js | 6 + .../ambientEnumElementInitializer5.js | 6 + .../ambientEnumElementInitializer6.js | 8 + .../reference/ambientErrors.errors.txt | 92 + ...alModuleInAnotherExternalModule.errors.txt | 18 + ...ntExternalModuleInAnotherExternalModule.js | 23 + .../reference/ambientExternalModuleReopen.js | 9 + ...rnalModuleWithInternalImportDeclaration.js | 25 + ...lativeExternalImportDeclaration.errors.txt | 15 + ...leWithRelativeExternalImportDeclaration.js | 13 + ...nalModuleWithRelativeModuleName.errors.txt | 16 + ...entExternalModuleWithRelativeModuleName.js | 10 + ...lModuleWithoutInternalImportDeclaration.js | 24 + tests/baselines/reference/ambientFundule.js | 6 + .../reference/ambientGetters.errors.txt | 15 + .../reference/ambientModuleExports.js | 28 + ...ntModuleWithClassDeclarationWithExtends.js | 7 + tests/baselines/reference/ambientModules.js | 7 + .../ambientWithStatements.errors.txt | 56 + .../ambiguousCallsWhereReturnTypesAgree.js | 52 + .../ambiguousGenericAssertion1.errors.txt | 16 + .../reference/ambiguousOverload.errors.txt | 16 + .../baselines/reference/ambiguousOverload.js | 26 + .../reference/ambiguousOverloadResolution.js | 31 + .../amdDependencyComment1.errors.txt | 7 + .../reference/amdDependencyComment1.js | 9 + .../amdDependencyComment2.errors.txt | 7 + .../reference/amdDependencyComment2.js | 10 + .../reference/amdImportAsPrimaryExpression.js | 28 + .../amdImportNotAsPrimaryExpression.js | 58 + tests/baselines/reference/anonterface.js | 33 + .../reference/anonymousModules.errors.txt | 38 + .../reference/anyAsConstructor.errors.txt | 13 + tests/baselines/reference/anyAsConstructor.js | 18 + .../baselines/reference/anyAsFunctionCall.js | 14 + .../anyAsGenericFunctionCall.errors.txt | 19 + .../reference/anyAsGenericFunctionCall.js | 23 + .../reference/anyAsReturnTypeForNewOnCall.js | 23 + .../anyAssignabilityInInheritance.js | 138 + .../reference/anyAssignableToEveryType.js | 85 + .../anyAssignableToEveryType2.errors.txt | 133 + .../reference/anyAssignableToEveryType2.js | 162 + .../baselines/reference/anyDeclare.errors.txt | 9 + tests/baselines/reference/anyDeclare.js | 15 + .../reference/anyIdenticalToItself.errors.txt | 19 + .../anyInferenceAnonymousFunctions.js | 32 + .../reference/anyIsAssignableToObject.js | 10 + .../reference/anyIsAssignableToVoid.js | 10 + tests/baselines/reference/anyPlusAny1.js | 9 + .../baselines/reference/anyPropertyAccess.js | 17 + .../apparentTypeSubtyping.errors.txt | 26 + .../reference/apparentTypeSubtyping.js | 54 + .../apparentTypeSupertype.errors.txt | 16 + .../reference/apparentTypeSupertype.js | 32 + tests/baselines/reference/argsInScope.js | 25 + tests/baselines/reference/arguments.js | 9 + ...indsToFunctionScopeArgumentList.errors.txt | 8 + ...gumentsBindsToFunctionScopeArgumentList.js | 11 + .../argumentsUsedInObjectLiteralProperty.js | 20 + .../reference/arithAssignTyping.errors.txt | 39 + .../baselines/reference/arithAssignTyping.js | 34 + .../arithmeticOnInvalidTypes.errors.txt | 21 + .../reference/arithmeticOnInvalidTypes.js | 15 + .../arithmeticOnInvalidTypes2.errors.txt | 22 + .../reference/arithmeticOnInvalidTypes2.js | 17 + .../arithmeticOperatorWithAnyAndNumber.js | 187 + .../reference/arithmeticOperatorWithEnum.js | 281 + ...eticOperatorWithInvalidOperands.errors.txt | 1702 ++ .../arithmeticOperatorWithInvalidOperands.js | 1076 ++ ...WithNullValueAndInvalidOperands.errors.txt | 657 + ...OperatorWithNullValueAndInvalidOperands.js | 302 + ...icOperatorWithNullValueAndValidOperands.js | 200 + ...thOnlyNullValueOrUndefinedValue.errors.txt | 220 + ...eratorWithOnlyNullValueOrUndefinedValue.js | 102 + ...hmeticOperatorWithTypeParameter.errors.txt | 490 + .../arithmeticOperatorWithTypeParameter.js | 249 + ...ndefinedValueAndInvalidOperands.errors.txt | 657 + ...torWithUndefinedValueAndInvalidOperands.js | 302 + ...ratorWithUndefinedValueAndValidOperands.js | 200 + .../reference/arrayAssignmentTest1.errors.txt | 152 + .../reference/arrayAssignmentTest1.js | 170 + .../reference/arrayAssignmentTest2.errors.txt | 93 + .../reference/arrayAssignmentTest2.js | 127 + .../reference/arrayAssignmentTest3.errors.txt | 17 + .../reference/arrayAssignmentTest3.js | 30 + .../reference/arrayAssignmentTest4.errors.txt | 33 + .../reference/arrayAssignmentTest4.js | 44 + .../reference/arrayAssignmentTest5.errors.txt | 38 + .../reference/arrayAssignmentTest5.js | 55 + .../reference/arrayAssignmentTest6.js | 35 + tests/baselines/reference/arrayAugment.js | 14 + .../reference/arrayBestCommonTypes.js | 117 + .../baselines/reference/arrayCast.errors.txt | 10 + tests/baselines/reference/arrayCast.js | 11 + tests/baselines/reference/arrayConcat2.js | 16 + tests/baselines/reference/arrayConcatMap.js | 6 + .../baselines/reference/arrayConstructors1.js | 20 + tests/baselines/reference/arrayLiteral.js | 28 + tests/baselines/reference/arrayLiteral1.js | 5 + tests/baselines/reference/arrayLiteral2.js | 5 + ...AndArrayConstructorEquivalence1.errors.txt | 16 + ...yLiteralAndArrayConstructorEquivalence1.js | 26 + .../arrayLiteralContextualType.errors.txt | 34 + .../reference/arrayLiteralContextualType.js | 61 + .../arrayLiteralInNonVarArgParameter.js | 14 + .../reference/arrayLiteralTypeInference.js | 105 + .../reference/arrayLiteralWidened.js | 25 + ...arrayLiteralWithMultipleBestCommonTypes.js | 28 + tests/baselines/reference/arrayLiterals.js | 100 + .../arrayLiteralsWithRecursiveGenerics.js | 59 + .../reference/arrayOfExportedClass.js | 43 + .../reference/arrayOfFunctionTypes3.js | 52 + .../arrayReferenceWithoutTypeArgs.errors.txt | 6 + .../arrayReferenceWithoutTypeArgs.js | 13 + .../reference/arraySigChecking.errors.txt | 43 + ...arrayTypeInSignatureOfInterfaceAndClass.js | 28 + .../arrayTypeOfFunctionTypes.errors.txt | 21 + .../reference/arrayTypeOfFunctionTypes.js | 31 + .../arrayTypeOfFunctionTypes2.errors.txt | 19 + .../reference/arrayTypeOfFunctionTypes2.js | 31 + .../reference/arrayTypeOfTypeOf.errors.txt | 21 + tests/baselines/reference/arrayconcat.js | 51 + .../arrowFunctionContexts.errors.txt | 115 + .../reference/arrowFunctionContexts.js | 184 + .../reference/arrowFunctionExpressions.js | 168 + ...wFunctionInConstructorArgument1.errors.txt | 8 + .../arrowFunctionInConstructorArgument1.js | 16 + .../arrowFunctionInExpressionStatement1.js | 5 + .../arrowFunctionInExpressionStatement2.js | 10 + tests/baselines/reference/asiArith.js | 43 + tests/baselines/reference/asiInES6Classes.js | 36 + .../assertInWrapSomeTypeParameter.errors.txt | 10 + tests/baselines/reference/assign1.js | 16 + .../reference/assignAnyToEveryType.errors.txt | 48 + .../reference/assignAnyToEveryType.js | 81 + .../reference/assignEveryTypeToAny.js | 101 + .../assignFromBooleanInterface.errors.txt | 7 + .../reference/assignFromBooleanInterface.js | 11 + .../assignFromBooleanInterface2.errors.txt | 27 + .../reference/assignFromBooleanInterface2.js | 34 + .../assignFromNumberInterface.errors.txt | 7 + .../reference/assignFromNumberInterface.js | 11 + .../assignFromNumberInterface2.errors.txt | 31 + .../reference/assignFromNumberInterface2.js | 38 + .../assignFromStringInterface.errors.txt | 7 + .../reference/assignFromStringInterface.js | 11 + .../assignFromStringInterface2.errors.txt | 54 + .../reference/assignFromStringInterface2.js | 61 + ...ambdaToNominalSubtypeOfFunction.errors.txt | 14 + .../assignLambdaToNominalSubtypeOfFunction.js | 18 + .../reference/assignToEnum.errors.txt | 16 + tests/baselines/reference/assignToEnum.js | 19 + .../assignToExistingClass.errors.txt | 18 + .../reference/assignToExistingClass.js | 36 + .../baselines/reference/assignToFn.errors.txt | 13 + tests/baselines/reference/assignToFn.js | 20 + .../reference/assignToInvalidLHS.errors.txt | 7 + .../baselines/reference/assignToInvalidLHS.js | 8 + .../reference/assignToModule.errors.txt | 5 + tests/baselines/reference/assignToModule.js | 6 + ...assignToObjectTypeWithPrototypeProperty.js | 13 + .../baselines/reference/assignToPrototype1.js | 11 + .../reference/assignmentCompat1.errors.txt | 12 + .../baselines/reference/assignmentCompat1.js | 12 + .../reference/assignmentCompatBug2.errors.txt | 54 + .../reference/assignmentCompatBug2.js | 93 + .../reference/assignmentCompatBug3.errors.txt | 32 + .../reference/assignmentCompatBug5.errors.txt | 20 + .../reference/assignmentCompatBug5.js | 28 + .../reference/assignmentCompatForEnums.js | 31 + ...CompatFunctionsWithOptionalArgs.errors.txt | 12 + ...signmentCompatFunctionsWithOptionalArgs.js | 12 + ...terfaceWithStringIndexSignature.errors.txt | 19 + ...CompatInterfaceWithStringIndexSignature.js | 29 + .../reference/assignmentCompatOnNew.js | 18 + ...ignmentCompatWithCallSignatures.errors.txt | 76 + .../assignmentCompatWithCallSignatures.js | 80 + ...gnmentCompatWithCallSignatures2.errors.txt | 99 + .../assignmentCompatWithCallSignatures2.js | 98 + .../assignmentCompatWithCallSignatures3.js | 206 + ...gnmentCompatWithCallSignatures4.errors.txt | 115 + .../assignmentCompatWithCallSignatures4.js | 190 + .../assignmentCompatWithCallSignatures5.js | 144 + .../assignmentCompatWithCallSignatures6.js | 99 + ...ignaturesWithOptionalParameters.errors.txt | 84 + ...ithCallSignaturesWithOptionalParameters.js | 126 + ...allSignaturesWithRestParameters.errors.txt | 82 + ...patWithCallSignaturesWithRestParameters.js | 122 + ...ntCompatWithConstructSignatures.errors.txt | 53 + ...assignmentCompatWithConstructSignatures.js | 63 + ...tCompatWithConstructSignatures2.errors.txt | 83 + ...ssignmentCompatWithConstructSignatures2.js | 77 + ...ssignmentCompatWithConstructSignatures3.js | 206 + ...tCompatWithConstructSignatures4.errors.txt | 131 + ...ssignmentCompatWithConstructSignatures4.js | 190 + ...ssignmentCompatWithConstructSignatures5.js | 144 + ...ssignmentCompatWithConstructSignatures6.js | 99 + ...ignaturesWithOptionalParameters.errors.txt | 63 + ...nstructSignaturesWithOptionalParameters.js | 91 + ...signmentCompatWithGenericCallSignatures.js | 14 + ...ignmentCompatWithGenericCallSignatures2.js | 24 + ...ignmentCompatWithGenericCallSignatures3.js | 16 + ...ompatWithGenericCallSignatures4.errors.txt | 18 + ...ignmentCompatWithGenericCallSignatures4.js | 20 + ...ignaturesWithOptionalParameters.errors.txt | 143 + ...ricCallSignaturesWithOptionalParameters.js | 233 + ...ignmentCompatWithNumericIndexer.errors.txt | 72 + .../assignmentCompatWithNumericIndexer.js | 91 + ...gnmentCompatWithNumericIndexer2.errors.txt | 72 + .../assignmentCompatWithNumericIndexer2.js | 68 + ...gnmentCompatWithNumericIndexer3.errors.txt | 55 + .../assignmentCompatWithNumericIndexer3.js | 85 + .../assignmentCompatWithObjectMembers.js | 168 + .../assignmentCompatWithObjectMembers2.js | 82 + .../assignmentCompatWithObjectMembers3.js | 82 + ...ignmentCompatWithObjectMembers4.errors.txt | 177 + .../assignmentCompatWithObjectMembers4.js | 218 + ...ignmentCompatWithObjectMembers5.errors.txt | 21 + .../assignmentCompatWithObjectMembers5.js | 26 + ...tWithObjectMembersAccessibility.errors.txt | 182 + ...entCompatWithObjectMembersAccessibility.js | 202 + ...mentCompatWithObjectMembersNumericNames.js | 82 + ...patWithObjectMembersOptionality.errors.txt | 107 + ...nmentCompatWithObjectMembersOptionality.js | 160 + ...atWithObjectMembersOptionality2.errors.txt | 117 + ...mentCompatWithObjectMembersOptionality2.js | 161 + ...ObjectMembersStringNumericNames.errors.txt | 173 + ...mpatWithObjectMembersStringNumericNames.js | 169 + .../assignmentCompatWithOverloads.errors.txt | 45 + .../assignmentCompatWithOverloads.js | 57 + ...signmentCompatWithStringIndexer.errors.txt | 92 + .../assignmentCompatWithStringIndexer.js | 112 + ...ignmentCompatWithStringIndexer2.errors.txt | 92 + .../assignmentCompatWithStringIndexer2.js | 82 + ...ignmentCompatWithStringIndexer3.errors.txt | 34 + .../assignmentCompatWithStringIndexer3.js | 44 + ...ompatWithWithGenericConstructSignatures.js | 4 + .../reference/assignmentCompatability1.js | 26 + .../assignmentCompatability10.errors.txt | 13 + .../reference/assignmentCompatability10.js | 34 + .../assignmentCompatability11.errors.txt | 14 + .../reference/assignmentCompatability11.js | 25 + .../assignmentCompatability12.errors.txt | 14 + .../reference/assignmentCompatability12.js | 25 + .../assignmentCompatability13.errors.txt | 13 + .../reference/assignmentCompatability13.js | 25 + .../assignmentCompatability14.errors.txt | 14 + .../reference/assignmentCompatability14.js | 25 + .../assignmentCompatability15.errors.txt | 14 + .../reference/assignmentCompatability15.js | 25 + .../assignmentCompatability16.errors.txt | 15 + .../reference/assignmentCompatability16.js | 25 + .../assignmentCompatability17.errors.txt | 15 + .../reference/assignmentCompatability17.js | 25 + .../assignmentCompatability18.errors.txt | 15 + .../reference/assignmentCompatability18.js | 25 + .../assignmentCompatability19.errors.txt | 18 + .../reference/assignmentCompatability19.js | 25 + .../reference/assignmentCompatability2.js | 26 + .../assignmentCompatability20.errors.txt | 15 + .../reference/assignmentCompatability20.js | 25 + .../assignmentCompatability21.errors.txt | 15 + .../reference/assignmentCompatability21.js | 25 + .../assignmentCompatability22.errors.txt | 15 + .../reference/assignmentCompatability22.js | 25 + .../assignmentCompatability23.errors.txt | 18 + .../reference/assignmentCompatability23.js | 25 + .../assignmentCompatability24.errors.txt | 12 + .../reference/assignmentCompatability24.js | 28 + .../assignmentCompatability25.errors.txt | 14 + .../reference/assignmentCompatability25.js | 26 + .../assignmentCompatability26.errors.txt | 14 + .../reference/assignmentCompatability26.js | 26 + .../assignmentCompatability27.errors.txt | 13 + .../reference/assignmentCompatability27.js | 26 + .../assignmentCompatability28.errors.txt | 14 + .../reference/assignmentCompatability28.js | 26 + .../assignmentCompatability29.errors.txt | 15 + .../reference/assignmentCompatability29.js | 26 + .../reference/assignmentCompatability3.js | 25 + .../assignmentCompatability30.errors.txt | 15 + .../reference/assignmentCompatability30.js | 26 + .../assignmentCompatability31.errors.txt | 15 + .../reference/assignmentCompatability31.js | 26 + .../assignmentCompatability32.errors.txt | 15 + .../reference/assignmentCompatability32.js | 26 + .../assignmentCompatability33.errors.txt | 12 + .../reference/assignmentCompatability33.js | 25 + .../assignmentCompatability34.errors.txt | 12 + .../reference/assignmentCompatability34.js | 25 + .../assignmentCompatability35.errors.txt | 13 + .../reference/assignmentCompatability35.js | 26 + .../assignmentCompatability36.errors.txt | 13 + .../reference/assignmentCompatability36.js | 26 + .../assignmentCompatability37.errors.txt | 12 + .../reference/assignmentCompatability37.js | 26 + .../assignmentCompatability38.errors.txt | 12 + .../reference/assignmentCompatability38.js | 26 + .../assignmentCompatability39.errors.txt | 13 + .../reference/assignmentCompatability39.js | 34 + .../reference/assignmentCompatability4.js | 26 + .../assignmentCompatability40.errors.txt | 13 + .../reference/assignmentCompatability40.js | 33 + .../assignmentCompatability41.errors.txt | 13 + .../reference/assignmentCompatability41.js | 34 + .../assignmentCompatability42.errors.txt | 13 + .../reference/assignmentCompatability42.js | 34 + .../assignmentCompatability43.errors.txt | 13 + .../reference/assignmentCompatability43.js | 27 + .../reference/assignmentCompatability5.js | 27 + .../reference/assignmentCompatability6.js | 27 + .../reference/assignmentCompatability7.js | 27 + .../reference/assignmentCompatability8.js | 33 + .../reference/assignmentCompatability9.js | 33 + ...ember-off-of-function-interface.errors.txt | 51 + ...-apply-member-off-of-function-interface.js | 50 + ...ember-off-of-function-interface.errors.txt | 51 + ...g-call-member-off-of-function-interface.js | 50 + ...mpatibilityForConstrainedTypeParameters.js | 17 + .../reference/assignmentLHSIsReference.js | 42 + .../reference/assignmentLHSIsValue.errors.txt | 151 + .../assignmentStricterConstraints.errors.txt | 14 + .../assignmentStricterConstraints.js | 19 + .../reference/assignmentToFunction.errors.txt | 15 + .../reference/assignmentToFunction.js | 24 + .../reference/assignmentToObject.errors.txt | 9 + .../baselines/reference/assignmentToObject.js | 10 + .../assignmentToObjectAndFunction.errors.txt | 41 + .../assignmentToObjectAndFunction.js | 62 + ...nmentToParenthesizedExpression1.errors.txt | 5 + .../assignmentToParenthesizedExpression1.js | 7 + ...nmentToParenthesizedIdentifiers.errors.txt | 126 + .../assignmentToParenthesizedIdentifiers.js | 138 + .../assignmentToReferenceTypes.errors.txt | 32 + .../reference/assignmentToReferenceTypes.js | 45 + .../reference/assignments.errors.txt | 44 + tests/baselines/reference/assignments.js | 56 + ...ssWithPrototypePropertyOnModule.errors.txt | 9 + ...entedClassWithPrototypePropertyOnModule.js | 9 + ...eAssignmentCompatIndexSignature.errors.txt | 32 + ...entedTypeAssignmentCompatIndexSignature.js | 29 + ...ugmentedTypeBracketAccessIndexSignature.js | 19 + ...augmentedTypeBracketNamedPropertyAccess.js | 23 + .../reference/augmentedTypesClass.errors.txt | 12 + .../reference/augmentedTypesClass.js | 29 + .../reference/augmentedTypesClass2.errors.txt | 35 + .../reference/augmentedTypesClass2.js | 62 + .../augmentedTypesClass2a.errors.txt | 9 + .../reference/augmentedTypesClass2a.js | 18 + .../reference/augmentedTypesClass3.js | 52 + .../reference/augmentedTypesClass4.errors.txt | 7 + .../reference/augmentedTypesClass4.js | 21 + .../reference/augmentedTypesEnum.errors.txt | 46 + .../baselines/reference/augmentedTypesEnum.js | 102 + .../reference/augmentedTypesEnum2.errors.txt | 24 + .../reference/augmentedTypesEnum2.js | 39 + .../reference/augmentedTypesEnum3.js | 53 + .../augmentedTypesExternalModule1.js | 16 + .../augmentedTypesFunction.errors.txt | 51 + .../reference/augmentedTypesFunction.js | 90 + .../augmentedTypesInterface.errors.txt | 38 + .../reference/augmentedTypesInterface.js | 49 + .../augmentedTypesModules.errors.txt | 104 + .../reference/augmentedTypesModules.js | 267 + .../reference/augmentedTypesModules2.js | 79 + .../reference/augmentedTypesModules3.js | 25 + .../reference/augmentedTypesModules3b.js | 62 + .../reference/augmentedTypesModules4.js | 66 + .../reference/augmentedTypesVar.errors.txt | 51 + .../baselines/reference/augmentedTypesVar.js | 77 + .../autoAsiForStaticsInClassDeclaration.js | 12 + .../baselines/reference/autoLift2.errors.txt | 52 + .../baselines/reference/autolift3.errors.txt | 33 + tests/baselines/reference/autolift3.js | 55 + .../baselines/reference/autolift4.errors.txt | 26 + tests/baselines/reference/autolift4.js | 54 + .../reference/autonumberingInEnums.js | 18 + tests/baselines/reference/avoid.js | 38 + .../reference/badArrayIndex.errors.txt | 6 + .../reference/badArraySyntax.errors.txt | 24 + .../badExternalModuleReference.errors.txt | 9 + .../reference/badExternalModuleReference.js | 11 + tests/baselines/reference/badOverloadError.js | 10 + tests/baselines/reference/badThisBinding.js | 27 + .../baselines/reference/baseCheck.errors.txt | 48 + tests/baselines/reference/baseCheck.js | 92 + .../reference/baseIndexSignatureResolution.js | 47 + .../reference/baseTypeAfterDerivedType.js | 30 + .../reference/baseTypeOrderChecking.js | 70 + .../baseTypePrivateMemberClash.errors.txt | 12 + .../reference/baseTypePrivateMemberClash.js | 21 + tests/baselines/reference/bases.errors.txt | 44 + .../bestCommonTypeOfConditionalExpressions.js | 77 + ...onTypeOfConditionalExpressions2.errors.txt | 41 + ...bestCommonTypeOfConditionalExpressions2.js | 66 + .../bestCommonTypeReturnStatement.js | 26 + .../bestCommonTypeWithContextualTyping.js | 28 + .../bestCommonTypeWithOptionalProperties.js | 27 + .../baselines/reference/binaryArithmatic1.js | 5 + .../baselines/reference/binaryArithmatic2.js | 5 + .../reference/binaryArithmatic3.errors.txt | 6 + .../baselines/reference/binaryArithmatic3.js | 5 + .../reference/binaryArithmatic4.errors.txt | 6 + .../baselines/reference/binaryArithmatic4.js | 5 + tests/baselines/reference/bind1.errors.txt | 8 + tests/baselines/reference/bind1.js | 17 + tests/baselines/reference/bind2.js | 4 + .../binopAssignmentShouldHaveType.js | 41 + ...iseNotOperatorInvalidOperations.errors.txt | 20 + ...wiseNotOperatorWithAnyOtherType.errors.txt | 69 + .../bitwiseNotOperatorWithAnyOtherType.js | 118 + .../bitwiseNotOperatorWithBooleanType.js | 72 + .../bitwiseNotOperatorWithEnumType.js | 35 + .../bitwiseNotOperatorWithNumberType.js | 86 + .../bitwiseNotOperatorWithStringType.js | 84 + tests/baselines/reference/bom-utf16be.js | 6 + tests/baselines/reference/bom-utf16le.js | 6 + tests/baselines/reference/bom-utf8.js | 6 + .../reference/boolInsteadOfBoolean.errors.txt | 6 + .../reference/boolInsteadOfBoolean.js | 9 + .../reference/booleanPropertyAccess.js | 10 + .../breakInIterationOrSwitchStatement1.js | 9 + .../breakInIterationOrSwitchStatement2.js | 10 + .../breakInIterationOrSwitchStatement3.js | 9 + ...akInIterationOrSwitchStatement4.errors.txt | 6 + .../breakInIterationOrSwitchStatement4.js | 9 + .../breakNotInIterationOrSwitchStatement1.js | 5 + .../breakNotInIterationOrSwitchStatement2.js | 13 + tests/baselines/reference/breakTarget1.js | 6 + tests/baselines/reference/breakTarget2.js | 10 + tests/baselines/reference/breakTarget3.js | 11 + tests/baselines/reference/breakTarget4.js | 11 + tests/baselines/reference/breakTarget5.js | 18 + tests/baselines/reference/breakTarget6.js | 9 + .../callConstructAssignment.errors.txt | 13 + .../reference/callConstructAssignment.js | 15 + ...arameterConstrainedToOuterTypeParameter.js | 10 + ...hIncorrectNumberOfTypeArguments.errors.txt | 73 + ...ctionWithIncorrectNumberOfTypeArguments.js | 86 + ...allGenericFunctionWithZeroTypeArguments.js | 71 + ...enericFunctionWithTypeArguments.errors.txt | 62 + ...callNonGenericFunctionWithTypeArguments.js | 82 + .../reference/callOnClass.errors.txt | 7 + tests/baselines/reference/callOnClass.js | 13 + .../reference/callOnInstance.errors.txt | 19 + tests/baselines/reference/callOnInstance.js | 16 + ...rloadViaElementAccessExpression.errors.txt | 16 + .../callOverloadViaElementAccessExpression.js | 25 + .../reference/callOverloads1.errors.txt | 24 + tests/baselines/reference/callOverloads1.js | 33 + .../reference/callOverloads2.errors.txt | 36 + tests/baselines/reference/callOverloads2.js | 44 + .../reference/callOverloads3.errors.txt | 29 + tests/baselines/reference/callOverloads3.js | 32 + .../reference/callOverloads4.errors.txt | 29 + tests/baselines/reference/callOverloads4.js | 32 + .../reference/callOverloads5.errors.txt | 30 + tests/baselines/reference/callOverloads5.js | 33 + ...atureAssignabilityInInheritance.errors.txt | 73 + ...callSignatureAssignabilityInInheritance.js | 70 + ...allSignatureAssignabilityInInheritance2.js | 104 + ...tureAssignabilityInInheritance3.errors.txt | 130 + ...allSignatureAssignabilityInInheritance3.js | 151 + ...allSignatureAssignabilityInInheritance4.js | 84 + ...allSignatureAssignabilityInInheritance5.js | 83 + ...allSignatureAssignabilityInInheritance6.js | 85 + .../callSignatureFunctionOverload.js | 19 + ...OptionalParameterAndInitializer.errors.txt | 88 + .../callSignatureWithoutAnnotationsOrBody.js | 31 + ...ureWithoutReturnTypeAnnotationInference.js | 237 + ...dBeResolvedBeforeSpecialization.errors.txt | 13 + ...resShouldBeResolvedBeforeSpecialization.js | 18 + ...allSignaturesThatDifferOnlyByReturnType.js | 33 + ...uresThatDifferOnlyByReturnType2.errors.txt | 20 + ...llSignaturesThatDifferOnlyByReturnType2.js | 20 + ...llSignaturesThatDifferOnlyByReturnType3.js | 21 + ...essibilityModifiersOnParameters.errors.txt | 119 + ...sWithAccessibilityModifiersOnParameters.js | 81 + ...gnaturesWithDuplicateParameters.errors.txt | 83 + .../callSignaturesWithDuplicateParameters.js | 81 + .../callSignaturesWithOptionalParameters.js | 104 + .../callSignaturesWithOptionalParameters2.js | 98 + ...aturesWithParameterInitializers.errors.txt | 66 + ...callSignaturesWithParameterInitializers.js | 113 + ...turesWithParameterInitializers2.errors.txt | 34 + ...lWithWrongNumberOfTypeArguments.errors.txt | 10 + .../callWithWrongNumberOfTypeArguments.js | 13 + ...callbackArgsDifferByOptionality.errors.txt | 10 + .../callbackArgsDifferByOptionality.js | 11 + .../reference/callbacksDontShareTypes.js | 34 + ...annotInvokeNewOnErrorExpression.errors.txt | 10 + ...annotInvokeNewOnIndexExpression.errors.txt | 4 + .../cannotInvokeNewOnIndexExpression.js | 5 + .../reference/castExpressionParentheses.js | 68 + tests/baselines/reference/castNewObjectBug.js | 6 + tests/baselines/reference/castParentheses.js | 26 + tests/baselines/reference/castTest.js | 53 + tests/baselines/reference/catch.js | 18 + .../catchClauseWithTypeAnnotation.errors.txt | 6 + tests/baselines/reference/cf.js | 115 + .../reference/chainedAssignment1.errors.txt | 31 + .../baselines/reference/chainedAssignment1.js | 47 + .../baselines/reference/chainedAssignment2.js | 18 + .../reference/chainedAssignment3.errors.txt | 28 + .../baselines/reference/chainedAssignment3.js | 51 + .../chainedAssignmentChecking.errors.txt | 29 + .../reference/chainedAssignmentChecking.js | 46 + ...ConstrainedToOtherTypeParameter.errors.txt | 22 + ...arameterConstrainedToOtherTypeParameter.js | 57 + ...onstrainedToOtherTypeParameter2.errors.txt | 52 + ...rameterConstrainedToOtherTypeParameter2.js | 74 + .../baselines/reference/chainedImportAlias.js | 20 + ...hainedSpecializationToObjectTypeLiteral.js | 19 + .../checkForObjectTooStrict.errors.txt | 36 + .../reference/checkForObjectTooStrict.js | 63 + .../reference/checkInterfaceBases.js | 18 + .../reference/circularImportAlias.js | 52 + .../circularModuleImports.errors.txt | 13 + .../reference/circularModuleImports.js | 13 + .../reference/circularReference.errors.txt | 40 + .../baselines/reference/circularReference.js | 66 + tests/baselines/reference/class1.errors.txt | 5 + tests/baselines/reference/class1.js | 10 + tests/baselines/reference/class2.errors.txt | 6 + .../reference/classAndInterface1.errors.txt | 5 + .../baselines/reference/classAndInterface1.js | 10 + .../classAndInterfaceWithSameName.errors.txt | 17 + .../classAndInterfaceWithSameName.js | 28 + .../classAndVariableWithSameName.errors.txt | 15 + .../reference/classAndVariableWithSameName.js | 28 + .../classAppearsToHaveMembersOfObject.js | 21 + .../classBodyWithStatements.errors.txt | 22 + .../reference/classCannotExtendVar.errors.txt | 10 + .../reference/classCannotExtendVar.js | 16 + .../classConstructorAccessibility.errors.txt | 29 + ...clarationMergedInModuleWithContinuation.js | 44 + .../reference/classExpression.errors.txt | 27 + .../reference/classExtendingClass.js | 82 + .../classExtendingPrimitive.errors.txt | 37 + .../classExtendingQualifiedName.errors.txt | 10 + .../reference/classExtendingQualifiedName.js | 31 + .../reference/classExtendingQualifiedName2.js | 32 + ...ithModuleNotReferingConstructor.errors.txt | 16 + ...sMergedWithModuleNotReferingConstructor.js | 42 + ...useClassNotReferringConstructor.errors.txt | 9 + ...tendsClauseClassNotReferringConstructor.js | 31 + .../classExtendsEveryObjectType.errors.txt | 31 + .../classExtendsInterface.errors.txt | 13 + .../reference/classExtendsInterface.js | 41 + ...ceThatExtendsClassWithPrivates1.errors.txt | 18 + ...sInterfaceThatExtendsClassWithPrivates1.js | 38 + .../reference/classExtendsItself.errors.txt | 12 + .../baselines/reference/classExtendsItself.js | 35 + .../classExtendsItselfIndirectly.errors.txt | 16 + .../reference/classExtendsItselfIndirectly.js | 62 + .../classExtendsItselfIndirectly2.errors.txt | 27 + .../classExtendsItselfIndirectly2.js | 92 + .../classExtendsItselfIndirectly3.errors.txt | 21 + .../classExtendsItselfIndirectly3.js | 104 + ...classExtendsMultipleBaseClasses.errors.txt | 8 + ...endsShadowedConstructorFunction.errors.txt | 11 + ...classExtendsShadowedConstructorFunction.js | 33 + ...ExtendsValidConstructorFunction.errors.txt | 8 + .../classExtendsValidConstructorFunction.js | 24 + ...ssHeritageWithTrailingSeparator.errors.txt | 6 + .../classImplementingInterfaceIndexer.js | 14 + .../reference/classImplementsClass1.js | 15 + .../classImplementsClass2.errors.txt | 20 + .../reference/classImplementsClass2.js | 49 + .../reference/classImplementsClass3.js | 50 + .../classImplementsClass4.errors.txt | 23 + .../reference/classImplementsClass4.js | 53 + .../classImplementsClass5.errors.txt | 27 + .../reference/classImplementsClass5.js | 55 + .../classImplementsClass6.errors.txt | 26 + .../reference/classImplementsClass6.js | 62 + .../classImplementsImportedInterface.js | 25 + tests/baselines/reference/classIndexer.js | 13 + .../reference/classIndexer2.errors.txt | 10 + tests/baselines/reference/classIndexer2.js | 15 + .../reference/classIndexer3.errors.txt | 13 + tests/baselines/reference/classIndexer3.js | 31 + .../reference/classIndexer4.errors.txt | 13 + tests/baselines/reference/classIndexer4.js | 18 + .../reference/classInheritence.errors.txt | 5 + tests/baselines/reference/classInheritence.js | 25 + .../classIsSubtypeOfBaseType.errors.txt | 21 + .../reference/classIsSubtypeOfBaseType.js | 43 + .../classMemberInitializerScoping.errors.txt | 25 + .../classMemberInitializerScoping.js | 40 + ...mberInitializerWithLamdaScoping.errors.txt | 33 + .../classMemberInitializerWithLamdaScoping.js | 61 + ...berInitializerWithLamdaScoping2.errors.txt | 18 + ...classMemberInitializerWithLamdaScoping2.js | 31 + ...berInitializerWithLamdaScoping3.errors.txt | 28 + ...classMemberInitializerWithLamdaScoping3.js | 32 + ...berInitializerWithLamdaScoping4.errors.txt | 18 + ...classMemberInitializerWithLamdaScoping4.js | 30 + ...classMemberInitializerWithLamdaScoping5.js | 22 + .../reference/classMethodWithKeywordName1.js | 13 + tests/baselines/reference/classOrder1.js | 23 + tests/baselines/reference/classOrder2.js | 47 + tests/baselines/reference/classOrderBug.js | 42 + .../classOverloadForFunction.errors.txt | 6 + .../reference/classOverloadForFunction.js | 14 + .../classOverloadForFunction2.errors.txt | 7 + .../reference/classOverloadForFunction2.js | 10 + .../classPropertyAsPrivate.errors.txt | 48 + .../classPropertyIsPublicByDefault.errors.txt | 31 + .../classSideInheritance1.errors.txt | 20 + .../reference/classSideInheritance1.js | 48 + .../reference/classSideInheritance2.js | 44 + .../classSideInheritance3.errors.txt | 23 + .../reference/classSideInheritance3.js | 51 + .../classTypeParametersInStatics.errors.txt | 40 + .../reference/classTypeParametersInStatics.js | 65 + .../reference/classUpdateTests.errors.txt | 154 + ...ssWithBaseClassButNoConstructor.errors.txt | 49 + .../classWithBaseClassButNoConstructor.js | 99 + .../classWithConstructors.errors.txt | 62 + .../reference/classWithConstructors.js | 114 + .../baselines/reference/classWithEmptyBody.js | 46 + .../classWithMultipleBaseClasses.errors.txt | 28 + .../reference/classWithMultipleBaseClasses.js | 50 + .../classWithNoConstructorOrBaseClass.js | 34 + ...hOnlyPublicMembersEquivalentToInterface.js | 49 + ...OnlyPublicMembersEquivalentToInterface2.js | 51 + .../classWithOptionalParameter.errors.txt | 20 + ...erloadImplementationOfWrongName.errors.txt | 8 + ...ssWithOverloadImplementationOfWrongName.js | 15 + ...rloadImplementationOfWrongName2.errors.txt | 8 + ...sWithOverloadImplementationOfWrongName2.js | 15 + ...classWithPredefinedTypesAsNames.errors.txt | 15 + .../classWithPredefinedTypesAsNames.js | 29 + ...lassWithPredefinedTypesAsNames2.errors.txt | 6 + .../classWithPrivateProperty.errors.txt | 39 + .../reference/classWithPrivateProperty.js | 49 + .../reference/classWithPublicProperty.js | 48 + .../classWithStaticMembers.errors.txt | 24 + ...ssWithTwoConstructorDefinitions.errors.txt | 14 + .../classWithTwoConstructorDefinitions.js | 22 + ...classWithoutExplicitConstructor.errors.txt | 20 + .../classWithoutExplicitConstructor.js | 36 + .../baselines/reference/classdecl.errors.txt | 102 + .../reference/clinterfaces.errors.txt | 34 + tests/baselines/reference/clinterfaces.js | 51 + .../cloduleAcrossModuleDefinitions.js | 39 + .../reference/cloduleAndTypeParameters.js | 30 + .../reference/cloduleSplitAcrossFiles.js | 23 + .../reference/cloduleStaticMembers.errors.txt | 19 + .../reference/cloduleStaticMembers.js | 29 + tests/baselines/reference/cloduleTest1.js | 21 + .../reference/cloduleTest2.errors.txt | 53 + tests/baselines/reference/cloduleTest2.js | 83 + .../cloduleWithDuplicateMember1.errors.txt | 26 + .../cloduleWithDuplicateMember2.errors.txt | 18 + .../cloduleWithRecursiveReference.js | 23 + .../clodulesDerivedClasses.errors.txt | 28 + .../reference/clodulesDerivedClasses.js | 63 + ...ollisionArgumentsArrowFunctions.errors.txt | 21 + .../collisionArgumentsArrowFunctions.js | 46 + ...lisionArgumentsClassConstructor.errors.txt | 97 + .../collisionArgumentsClassConstructor.js | 175 + .../collisionArgumentsClassMethod.errors.txt | 57 + .../collisionArgumentsClassMethod.js | 105 + .../collisionArgumentsFunction.errors.txt | 53 + .../reference/collisionArgumentsFunction.js | 91 + ...ionArgumentsFunctionExpressions.errors.txt | 43 + .../collisionArgumentsFunctionExpressions.js | 83 + .../reference/collisionArgumentsInType.js | 21 + .../collisionArgumentsInterfaceMembers.js | 31 + ...lisionCodeGenEnumWithEnumMemberConflict.js | 12 + ...deGenModuleWithAccessorChildren.errors.txt | 56 + ...ionCodeGenModuleWithConstructorChildren.js | 56 + ...sionCodeGenModuleWithEnumMemberConflict.js | 17 + ...lisionCodeGenModuleWithFunctionChildren.js | 44 + ...ionCodeGenModuleWithMemberClassConflict.js | 45 + ...odeGenModuleWithMemberInterfaceConflict.js | 20 + ...ollisionCodeGenModuleWithMemberVariable.js | 14 + ...ollisionCodeGenModuleWithMethodChildren.js | 82 + ...ollisionCodeGenModuleWithModuleChildren.js | 95 + ...llisionCodeGenModuleWithModuleReopening.js | 80 + ...collisionCodeGenModuleWithPrivateMember.js | 27 + .../collisionCodeGenModuleWithUnicodeNames.js | 22 + .../collisionExportsRequireAndAlias.js | 22 + .../collisionExportsRequireAndClass.js | 22 + .../collisionExportsRequireAndEnum.js | 23 + .../collisionExportsRequireAndFunction.js | 20 + .../collisionExportsRequireAndModule.js | 49 + ...onExportsRequireAndUninstantiatedModule.js | 27 + .../collisionExportsRequireAndVar.js | 15 + ...sionRestParameterArrowFunctions.errors.txt | 16 + .../collisionRestParameterArrowFunctions.js | 36 + ...onRestParameterClassConstructor.errors.txt | 73 + .../collisionRestParameterClassConstructor.js | 135 + ...llisionRestParameterClassMethod.errors.txt | 43 + .../collisionRestParameterClassMethod.js | 81 + .../collisionRestParameterFunction.errors.txt | 38 + .../collisionRestParameterFunction.js | 64 + ...estParameterFunctionExpressions.errors.txt | 29 + ...llisionRestParameterFunctionExpressions.js | 57 + .../reference/collisionRestParameterInType.js | 12 + .../collisionRestParameterInterfaceMembers.js | 24 + ...onRestParameterUnderscoreIUsage.errors.txt | 11 + .../collisionRestParameterUnderscoreIUsage.js | 23 + ...uperAndLocalFunctionInAccessors.errors.txt | 64 + ...erAndLocalFunctionInConstructor.errors.txt | 31 + ...isionSuperAndLocalFunctionInConstructor.js | 62 + ...onSuperAndLocalFunctionInMethod.errors.txt | 35 + .../collisionSuperAndLocalFunctionInMethod.js | 78 + ...SuperAndLocalFunctionInProperty.errors.txt | 22 + ...ollisionSuperAndLocalFunctionInProperty.js | 53 + ...sionSuperAndLocalVarInAccessors.errors.txt | 53 + ...onSuperAndLocalVarInConstructor.errors.txt | 25 + .../collisionSuperAndLocalVarInConstructor.js | 54 + ...llisionSuperAndLocalVarInMethod.errors.txt | 23 + .../collisionSuperAndLocalVarInMethod.js | 58 + ...isionSuperAndLocalVarInProperty.errors.txt | 20 + .../collisionSuperAndLocalVarInProperty.js | 51 + ...collisionSuperAndNameResolution.errors.txt | 14 + .../collisionSuperAndNameResolution.js | 37 + .../collisionSuperAndParameter.errors.txt | 81 + .../collisionSuperAndParameter1.errors.txt | 12 + .../reference/collisionSuperAndParameter1.js | 34 + ...opertyNameAsConstuctorParameter.errors.txt | 39 + ...perAndPropertyNameAsConstuctorParameter.js | 74 + ...collisionThisExpressionAndAliasInGlobal.js | 15 + ...onThisExpressionAndAmbientClassInGlobal.js | 10 + ...sionThisExpressionAndAmbientVarInGlobal.js | 9 + ...collisionThisExpressionAndClassInGlobal.js | 13 + .../collisionThisExpressionAndEnumInGlobal.js | 15 + ...lisionThisExpressionAndFunctionInGlobal.js | 12 + ...xpressionAndLocalVarInAccessors.errors.txt | 52 + ...nThisExpressionAndLocalVarInConstructor.js | 48 + ...sionThisExpressionAndLocalVarInFunction.js | 18 + ...lisionThisExpressionAndLocalVarInLambda.js | 20 + ...lisionThisExpressionAndLocalVarInMethod.js | 44 + ...sionThisExpressionAndLocalVarInProperty.js | 46 + ...xpressionAndLocalVarWithSuperExperssion.js | 60 + ...ollisionThisExpressionAndModuleInGlobal.js | 18 + ...ollisionThisExpressionAndNameResolution.js | 29 + .../collisionThisExpressionAndParameter.js | 173 + ...ionAndPropertyNameAsConstuctorParameter.js | 76 + .../collisionThisExpressionAndVarInGlobal.js | 8 + tests/baselines/reference/commaOperator1.js | 14 + ...maOperatorInvalidAssignmentType.errors.txt | 31 + .../commaOperatorInvalidAssignmentType.js | 33 + ...maOperatorOtherInvalidOperation.errors.txt | 18 + .../commaOperatorOtherInvalidOperation.js | 25 + .../commaOperatorOtherValidOperation.js | 36 + .../commaOperatorWithSecondOperandAnyType.js | 68 + ...mmaOperatorWithSecondOperandBooleanType.js | 65 + ...ommaOperatorWithSecondOperandNumberType.js | 65 + ...ommaOperatorWithSecondOperandObjectType.js | 74 + ...ommaOperatorWithSecondOperandStringType.js | 68 + .../commaOperatorWithoutOperand.errors.txt | 48 + .../commaOperatorsMultipleOperators.js | 48 + .../reference/commentBeforeStaticMethod1.js | 19 + .../reference/commentInEmptyParameterList1.js | 7 + .../reference/commentInMethodCall.js | 11 + .../reference/commentOnAmbientClass1.js | 10 + .../reference/commentOnAmbientVariable1.js | 8 + .../reference/commentOnAmbientVariable2.js | 14 + .../commentOnClassAccessor1.errors.txt | 9 + .../commentOnClassAccessor2.errors.txt | 16 + .../reference/commentOnClassMethod1.js | 17 + .../reference/commentOnElidedModule1.js | 10 + .../commentOnExpressionStatement1.js | 6 + .../reference/commentOnIfStatement1.js | 9 + .../commentOnImportStatement1.errors.txt | 7 + .../reference/commentOnImportStatement1.js | 9 + .../commentOnImportStatement2.errors.txt | 5 + .../reference/commentOnImportStatement2.js | 5 + .../commentOnImportStatement3.errors.txt | 7 + .../reference/commentOnImportStatement3.js | 7 + .../reference/commentOnInterface1.js | 10 + ...mentOnParenthesizedExpressionOpenParen1.js | 10 + .../reference/commentOnSignature1.js | 11 + .../commentOnSimpleArrowFunctionBody1.js | 14 + .../reference/commentOnStaticMember1.js | 15 + .../reference/commentsAtEndOfFile1.js | 8 + .../commentsBeforeFunctionExpression1.js | 10 + .../commentsBeforeVariableStatement1.js | 9 + tests/baselines/reference/commentsClass.js | 120 + .../reference/commentsClassMembers.js | 440 + .../reference/commentsCommentParsing.js | 226 + .../reference/commentsDottedModuleName.js | 31 + tests/baselines/reference/commentsEnums.js | 25 + .../reference/commentsExternalModules.js | 145 + tests/baselines/reference/commentsFunction.js | 44 + .../reference/commentsInheritance.js | 260 + .../baselines/reference/commentsInterface.js | 105 + tests/baselines/reference/commentsModules.js | 245 + .../reference/commentsMultiModuleMultiFile.js | 106 + .../commentsMultiModuleSingleFile.js | 62 + .../reference/commentsOnObjectLiteral1.js | 11 + .../reference/commentsOnObjectLiteral2.js | 20 + .../commentsOnObjectLiteral3.errors.txt | 24 + .../commentsOnObjectLiteral4.errors.txt | 12 + .../reference/commentsOnReturnStatement1.js | 21 + .../reference/commentsOnStaticMembers.js | 30 + .../baselines/reference/commentsOverloads.js | 259 + .../reference/commentsPropertySignature1.js | 11 + tests/baselines/reference/commentsVarDecl.js | 63 + .../reference/commentsVariableStatement1.js | 10 + .../reference/commentsdoNotEmitComments.js | 134 + .../reference/commentsemitComments.js | 134 + .../commonJSImportAsPrimaryExpression.js | 28 + .../commonJSImportNotAsPrimaryExpression.js | 54 + .../comparisonOperatorWithIdenticalObjects.js | 367 + ...risonOperatorWithIdenticalPrimitiveType.js | 149 + ...risonOperatorWithIdenticalTypeParameter.js | 23 + ...ationshipObjectsOnCallSignature.errors.txt | 361 + ...ithNoRelationshipObjectsOnCallSignature.js | 320 + ...ipObjectsOnConstructorSignature.errors.txt | 361 + ...lationshipObjectsOnConstructorSignature.js | 320 + ...tionshipObjectsOnIndexSignature.errors.txt | 240 + ...thNoRelationshipObjectsOnIndexSignature.js | 209 + ...ectsOnInstantiatedCallSignature.errors.txt | 152 + ...nshipObjectsOnInstantiatedCallSignature.js | 283 + ...nstantiatedConstructorSignature.errors.txt | 152 + ...jectsOnInstantiatedConstructorSignature.js | 283 + ...onshipObjectsOnOptionalProperty.errors.txt | 75 + ...NoRelationshipObjectsOnOptionalProperty.js | 63 + ...NoRelationshipObjectsOnProperty.errors.txt | 141 + ...atorWithNoRelationshipObjectsOnProperty.js | 135 + ...WithNoRelationshipPrimitiveType.errors.txt | 504 + ...OperatorWithNoRelationshipPrimitiveType.js | 389 + ...WithNoRelationshipTypeParameter.errors.txt | 397 + ...OperatorWithNoRelationshipTypeParameter.js | 294 + .../comparisonOperatorWithOneOperandIsAny.js | 314 + .../comparisonOperatorWithOneOperandIsNull.js | 311 + ...arisonOperatorWithOneOperandIsUndefined.js | 314 + ...parisonOperatorWithSubtypeEnumAndNumber.js | 127 + ...peratorWithSubtypeObjectOnCallSignature.js | 478 + ...WithSubtypeObjectOnConstructorSignature.js | 404 + ...eratorWithSubtypeObjectOnIndexSignature.js | 200 + ...jectOnInstantiatedCallSignature.errors.txt | 197 + ...ubtypeObjectOnInstantiatedCallSignature.js | 294 + ...nstantiatedConstructorSignature.errors.txt | 197 + ...bjectOnInstantiatedConstructorSignature.js | 294 + ...atorWithSubtypeObjectOnOptionalProperty.js | 64 + ...isonOperatorWithSubtypeObjectOnProperty.js | 157 + ...comparisonOperatorWithTwoOperandsAreAny.js | 22 + ...arisonOperatorWithTypeParameter.errors.txt | 143 + .../comparisonOperatorWithTypeParameter.js | 149 + .../reference/complexClassRelationships.js | 134 + ...ericRecursiveBaseClassReference.errors.txt | 12 + ...catedGenericRecursiveBaseClassReference.js | 22 + .../reference/complicatedPrivacy.errors.txt | 113 + .../reference/compositeGenericFunction.js | 18 + ...poundAdditionAssignmentLHSCanBeAssigned.js | 99 + ...onAssignmentLHSCannotBeAssigned.errors.txt | 29 + ...ndAdditionAssignmentLHSCannotBeAssigned.js | 36 + ...onAssignmentWithInvalidOperands.errors.txt | 95 + ...ndAdditionAssignmentWithInvalidOperands.js | 81 + ...undArithmeticAssignmentLHSCanBeAssigned.js | 56 + ...icAssignmentWithInvalidOperands.errors.txt | 197 + ...ArithmeticAssignmentWithInvalidOperands.js | 120 + .../compoundAssignmentLHSIsReference.js | 60 + .../compoundAssignmentLHSIsValue.errors.txt | 283 + tests/baselines/reference/compoundVarDecl1.js | 12 + .../reference/concatClassAndString.errors.txt | 8 + .../reference/concatClassAndString.js | 14 + tests/baselines/reference/concatError.js | 39 + .../conditionalExpression1.errors.txt | 6 + .../reference/conditionalExpression1.js | 5 + .../reference/conditionalExpressions2.js | 28 + ...nditionalOperatorConditionIsBooleanType.js | 99 + ...onditionalOperatorConditionIsNumberType.js | 107 + ...onditionalOperatorConditionIsObjectType.js | 111 + .../conditionalOperatorConditoinIsAnyType.js | 101 + ...onditionalOperatorConditoinIsStringType.js | 107 + .../conditionalOperatorWithIdenticalBCT.js | 100 + ...onalOperatorWithoutIdenticalBCT.errors.txt | 48 + .../conditionalOperatorWithoutIdenticalBCT.js | 62 + ...cateOverloadsCausedByOverloadResolution.js | 32 + .../conflictingMemberTypesInBases.errors.txt | 18 + .../conflictingMemberTypesInBases.js | 17 + .../conflictingTypeAnnotatedVar.errors.txt | 8 + .../reference/conflictingTypeAnnotatedVar.js | 11 + .../reference/conformanceFunctionOverloads.js | 26 + .../reference/constantOverloadFunction.js | 59 + ...tOverloadFunctionNoSubtypeError.errors.txt | 21 + .../constantOverloadFunctionNoSubtypeError.js | 60 + ...nstraintCheckInGenericBaseTypeReference.js | 60 + .../reference/constraintErrors1.errors.txt | 4 + .../baselines/reference/constraintErrors1.js | 6 + ...constraintPropagationThroughReturnTypes.js | 19 + ...ameterFromSameTypeParameterList.errors.txt | 37 + ...gTypeParameterFromSameTypeParameterList.js | 31 + .../constraintSatisfactionWithAny.js | 96 + .../constraintSatisfactionWithAny2.errors.txt | 11 + .../constraintSatisfactionWithAny2.js | 14 + .../constraintSatisfactionWithEmptyObject.js | 66 + .../reference/constraints0.errors.txt | 20 + tests/baselines/reference/constraints0.js | 22 + ...ThatReferenceOtherContstraints1.errors.txt | 14 + ...straintsThatReferenceOtherContstraints1.js | 23 + .../constraintsUsedInPrototypeProperty.js | 11 + ...atureAssignabilityInInheritance.errors.txt | 77 + ...ructSignatureAssignabilityInInheritance.js | 79 + ...uctSignatureAssignabilityInInheritance2.js | 104 + ...tureAssignabilityInInheritance3.errors.txt | 128 + ...uctSignatureAssignabilityInInheritance3.js | 149 + ...uctSignatureAssignabilityInInheritance4.js | 94 + ...uctSignatureAssignabilityInInheritance5.js | 83 + ...uctSignatureAssignabilityInInheritance6.js | 85 + ...essibilityModifiersOnParameters.errors.txt | 38 + ...eWithAccessibilityModifiersOnParameters.js | 53 + ...ssibilityModifiersOnParameters2.errors.txt | 67 + ...WithAccessibilityModifiersOnParameters2.js | 60 + ...nstructSignaturesWithIdenticalOverloads.js | 72 + .../constructSignaturesWithOverloads.js | 73 + ...nstructSignaturesWithOverloads2.errors.txt | 42 + .../constructSignaturesWithOverloads2.js | 65 + ...WithOverloadsThatDifferOnlyByReturnType.js | 47 + .../constructorArgWithGenericCallSignature.js | 32 + tests/baselines/reference/constructorArgs.js | 37 + .../constructorArgsErrors1.errors.txt | 7 + .../constructorArgsErrors2.errors.txt | 8 + .../constructorArgsErrors3.errors.txt | 8 + .../constructorArgsErrors4.errors.txt | 8 + .../constructorArgsErrors5.errors.txt | 8 + .../reference/constructorAsType.errors.txt | 8 + .../baselines/reference/constructorAsType.js | 13 + ...torDefaultValuesReferencingThis.errors.txt | 18 + ...constructorDefaultValuesReferencingThis.js | 33 + ...uctorFunctionTypeIsAssignableToBaseType.js | 47 + ...ctorFunctionTypeIsAssignableToBaseType2.js | 61 + .../constructorHasPrototypeProperty.js | 78 + ...structorImplementationWithDefaultValues.js | 44 + ...mplementationWithDefaultValues2.errors.txt | 29 + ...tructorImplementationWithDefaultValues2.js | 47 + ...torInvocationWithTooFewTypeArgs.errors.txt | 13 + ...constructorInvocationWithTooFewTypeArgs.js | 19 + .../constructorOverloads1.errors.txt | 30 + .../reference/constructorOverloads1.js | 39 + .../reference/constructorOverloads2.js | 55 + .../constructorOverloads3.errors.txt | 25 + .../reference/constructorOverloads3.js | 44 + .../constructorOverloads4.errors.txt | 21 + .../reference/constructorOverloads4.js | 17 + .../constructorOverloads5.errors.txt | 21 + .../reference/constructorOverloads5.js | 21 + .../constructorOverloads6.errors.txt | 27 + .../constructorOverloads7.errors.txt | 30 + .../reference/constructorOverloads7.js | 36 + .../constructorOverloads8.errors.txt | 18 + .../reference/constructorOverloads8.js | 28 + ...uctorOverloadsWithDefaultValues.errors.txt | 18 + .../constructorOverloadsWithDefaultValues.js | 26 + ...structorOverloadsWithOptionalParameters.js | 26 + .../constructorParameterProperties.errors.txt | 25 + .../constructorParameterProperties.js | 40 + ...constructorParameterProperties2.errors.txt | 28 + .../constructorParameterProperties2.js | 49 + ...ctorParameterShadowsOuterScopes.errors.txt | 27 + .../constructorParameterShadowsOuterScopes.js | 39 + ...arametersInVariableDeclarations.errors.txt | 29 + ...tructorParametersInVariableDeclarations.js | 36 + ...rnalNamesInVariableDeclarations.errors.txt | 18 + ...adowExternalNamesInVariableDeclarations.js | 30 + .../constructorReturningAPrimitive.js | 37 + .../constructorReturnsInvalidType.errors.txt | 12 + .../constructorReturnsInvalidType.js | 21 + .../reference/constructorStaticParamName.js | 14 + .../constructorStaticParamNameErrors.js | 14 + .../constructorTypeWithTypeParameters.js | 14 + ...rWithAssignableReturnExpression.errors.txt | 40 + ...nstructorWithAssignableReturnExpression.js | 68 + .../constructorWithExpressionLessReturn.js | 53 + ...uctorsWithSpecializedSignatures.errors.txt | 60 + .../constructorsWithSpecializedSignatures.js | 56 + .../contextualSigInstantiationRestParams.js | 8 + .../contextualSignatureInstantiation1.js | 14 + .../contextualSignatureInstantiation2.js | 12 + ...arameterConstrainedToOuterTypeParameter.js | 17 + ...tualSignatureInstatiationContravariance.js | 19 + ...ntextualSignatureInstatiationCovariance.js | 19 + .../baselines/reference/contextualTypeAny.js | 11 + .../contextualTypeAppliedToVarArgs.js | 34 + .../contextualTypeArrayReturnType.js | 30 + .../reference/contextualTyping.errors.txt | 238 + tests/baselines/reference/contextualTyping.js | 425 + .../reference/contextualTyping.js.map | 2 + .../reference/contextualTyping.sourcemap.txt | 3774 ++++ .../baselines/reference/contextualTyping1.js | 5 + .../baselines/reference/contextualTyping10.js | 10 + .../reference/contextualTyping11.errors.txt | 6 + .../baselines/reference/contextualTyping11.js | 10 + .../baselines/reference/contextualTyping12.js | 10 + .../baselines/reference/contextualTyping13.js | 7 + .../baselines/reference/contextualTyping14.js | 12 + .../baselines/reference/contextualTyping15.js | 12 + .../baselines/reference/contextualTyping16.js | 6 + .../baselines/reference/contextualTyping17.js | 6 + .../baselines/reference/contextualTyping18.js | 6 + .../baselines/reference/contextualTyping19.js | 6 + .../baselines/reference/contextualTyping2.js | 5 + .../baselines/reference/contextualTyping20.js | 6 + .../reference/contextualTyping21.errors.txt | 6 + .../baselines/reference/contextualTyping21.js | 6 + .../baselines/reference/contextualTyping22.js | 10 + .../baselines/reference/contextualTyping23.js | 8 + .../reference/contextualTyping24.errors.txt | 6 + .../baselines/reference/contextualTyping24.js | 8 + .../baselines/reference/contextualTyping25.js | 8 + .../baselines/reference/contextualTyping26.js | 8 + .../baselines/reference/contextualTyping27.js | 8 + .../baselines/reference/contextualTyping28.js | 8 + .../baselines/reference/contextualTyping29.js | 8 + .../baselines/reference/contextualTyping3.js | 10 + .../reference/contextualTyping30.errors.txt | 4 + .../baselines/reference/contextualTyping30.js | 8 + .../baselines/reference/contextualTyping31.js | 8 + .../baselines/reference/contextualTyping32.js | 12 + .../reference/contextualTyping33.errors.txt | 4 + .../baselines/reference/contextualTyping33.js | 12 + .../baselines/reference/contextualTyping34.js | 5 + .../baselines/reference/contextualTyping35.js | 5 + .../baselines/reference/contextualTyping36.js | 5 + .../baselines/reference/contextualTyping37.js | 5 + .../baselines/reference/contextualTyping38.js | 7 + .../reference/contextualTyping39.errors.txt | 4 + .../baselines/reference/contextualTyping39.js | 7 + .../baselines/reference/contextualTyping4.js | 10 + .../baselines/reference/contextualTyping40.js | 7 + .../reference/contextualTyping41.errors.txt | 4 + .../baselines/reference/contextualTyping41.js | 7 + .../reference/contextualTyping5.errors.txt | 5 + .../baselines/reference/contextualTyping5.js | 10 + .../baselines/reference/contextualTyping6.js | 5 + .../baselines/reference/contextualTyping7.js | 5 + .../baselines/reference/contextualTyping8.js | 5 + .../baselines/reference/contextualTyping9.js | 5 + .../contextualTypingArrayOfLambdas.js | 46 + .../contextualTypingOfAccessors.errors.txt | 18 + ...ontextualTypingOfArrayLiterals1.errors.txt | 14 + .../contextualTypingOfArrayLiterals1.js | 14 + ...contextualTypingOfConditionalExpression.js | 44 + ...lTypingOfConditionalExpression2.errors.txt | 17 + ...ontextualTypingOfConditionalExpression2.js | 42 + ...fGenericFunctionTypedArguments1.errors.txt | 23 + ...lTypingOfGenericFunctionTypedArguments1.js | 30 + ...lTypingOfLambdaReturnExpression.errors.txt | 11 + ...ontextualTypingOfLambdaReturnExpression.js | 15 + ...ualTypingOfLambdaWithMultipleSignatures.js | 13 + ...alTypingOfLambdaWithMultipleSignatures2.js | 13 + ...ontextualTypingOfObjectLiterals.errors.txt | 16 + .../contextualTypingOfObjectLiterals.js | 22 + ...ntextualTypingOfObjectLiterals2.errors.txt | 8 + .../contextualTypingOfObjectLiterals2.js | 11 + ...alTypingTwoInstancesOfSameTypeParameter.js | 11 + ...lTypingWithFixedTypeParameters1.errors.txt | 6 + ...ontextualTypingWithFixedTypeParameters1.js | 9 + ...TypingWithGenericAndNonGenericSignature.js | 27 + .../contextualTypingWithGenericSignature.js | 14 + .../reference/contextuallyTypingOrOperator.js | 19 + .../contextuallyTypingOrOperator2.js | 10 + .../contextuallyTypingOrOperator3.errors.txt | 6 + .../contextuallyTypingOrOperator3.js | 9 + .../continueInIterationStatement1.js | 9 + .../continueInIterationStatement2.js | 10 + .../continueInIterationStatement3.js | 9 + .../continueInIterationStatement4.errors.txt | 6 + .../continueInIterationStatement4.js | 9 + tests/baselines/reference/continueLabel.js | 9 + .../continueNotInIterationStatement1.js | 5 + .../continueNotInIterationStatement2.js | 13 + .../continueNotInIterationStatement3.js | 11 + .../continueNotInIterationStatement4.js | 15 + tests/baselines/reference/continueTarget1.js | 6 + tests/baselines/reference/continueTarget2.js | 10 + tests/baselines/reference/continueTarget3.js | 11 + tests/baselines/reference/continueTarget4.js | 11 + tests/baselines/reference/continueTarget5.js | 18 + tests/baselines/reference/continueTarget6.js | 9 + tests/baselines/reference/convertKeywords.js | 8 + .../baselines/reference/convertKeywordsYes.js | 573 + .../copyrightWithNewLine1.errors.txt | 14 + .../reference/copyrightWithNewLine1.js | 17 + .../copyrightWithoutNewLine1.errors.txt | 13 + .../reference/copyrightWithoutNewLine1.js | 16 + .../couldNotSelectGenericOverload.errors.txt | 13 + .../couldNotSelectGenericOverload.js | 21 + tests/baselines/reference/covariance1.js | 37 + .../reference/crashInResolveInterface.js | 24 + .../crashInresolveReturnStatement.js | 47 + ...ertyIsRelatableToTargetProperty.errors.txt | 16 + ...urcePropertyIsRelatableToTargetProperty.js | 36 + ...IntypeCheckInvocationExpression.errors.txt | 21 + .../crashIntypeCheckInvocationExpression.js | 25 + ...peCheckObjectCreationExpression.errors.txt | 11 + ...rashIntypeCheckObjectCreationExpression.js | 24 + .../crashOnMethodSignatures.errors.txt | 7 + .../reference/crashOnMethodSignatures.js | 12 + .../reference/crashRegressionTest.errors.txt | 28 + .../reference/crashRegressionTest.js | 55 + .../reference/createArray.errors.txt | 30 + .../reference/customEventDetail.errors.txt | 8 + .../baselines/reference/customEventDetail.js | 11 + .../baselines/reference/cyclicModuleImport.js | 22 + tests/baselines/reference/debugger.js | 13 + tests/baselines/reference/debuggerEmit.js | 9 + .../baselines/reference/declFileAccessors.js | 264 + ...tExternalModuleWithSingleExportedModule.js | 29 + .../reference/declFileCallSignatures.js | 92 + .../declFileClassWithIndexSignature.js | 15 + ...assWithStaticMethodReturningConstructor.js | 24 + .../reference/declFileConstructSignatures.js | 92 + .../reference/declFileConstructors.js | 245 + .../reference/declFileEnumUsedAsValue.js | 20 + tests/baselines/reference/declFileEnums.js | 75 + ...ileExportAssignmentImportInternalModule.js | 34 + ...lFileExportAssignmentOfGenericInterface.js | 28 + .../reference/declFileExportImportChain.js | 70 + .../reference/declFileExportImportChain2.js | 61 + ...declFileForClassWithMultipleBaseClasses.js | 60 + ...leForClassWithPrivateOverloadedFunction.js | 19 + .../reference/declFileForExportedImport.js | 28 + .../declFileForFunctionTypeAsTypeParameter.js | 33 + ...eclFileForInterfaceWithOptionalFunction.js | 11 + .../declFileForInterfaceWithRestParams.js | 12 + .../reference/declFileForTypeParameters.js | 21 + .../baselines/reference/declFileForVarList.js | 11 + .../baselines/reference/declFileFunctions.js | 122 + ...ileGenericClassWithGenericExtendedClass.js | 41 + .../reference/declFileGenericType.js | 145 + .../reference/declFileGenericType2.js | 92 + ...eclFileImportModuleWithExportAssignment.js | 41 + ...eclFileImportedTypeUseInTypeArgPosition.js | 24 + .../reference/declFileIndexSignatures.js | 56 + .../reference/declFileInternalAliases.js | 37 + tests/baselines/reference/declFileMethods.js | 362 + ...ModuleAssignmentInObjectLiteralProperty.js | 28 + .../reference/declFileModuleContinuation.js | 30 + .../declFileModuleWithPropertyOfTypeModule.js | 23 + ...lFileObjectLiteralWithAccessors.errors.txt | 16 + ...FileObjectLiteralWithOnlyGetter.errors.txt | 12 + ...FileObjectLiteralWithOnlySetter.errors.txt | 12 + .../declFileOptionalInterfaceMethod.js | 10 + .../declFilePrivateStatic.errors.txt | 23 + .../reference/declFileRegressionTests.js | 13 + ...RestParametersOfFunctionAndFunctionType.js | 33 + .../reference/declFileTypeofClass.js | 36 + .../baselines/reference/declFileTypeofEnum.js | 33 + .../reference/declFileTypeofFunction.js | 66 + .../declFileTypeofInAnonymousType.js | 55 + .../reference/declFileTypeofModule.js | 31 + ...lictingWithClassReferredByExtendsClause.js | 69 + ...dsClauseThatHasItsContainerNameConflict.js | 59 + ...rnalModuleNameConflictsInExtendsClause1.js | 35 + ...rnalModuleNameConflictsInExtendsClause2.js | 38 + ...rnalModuleNameConflictsInExtendsClause3.js | 38 + tests/baselines/reference/declInput-2.js | 63 + .../baselines/reference/declInput.errors.txt | 13 + tests/baselines/reference/declInput.js | 30 + tests/baselines/reference/declInput3.js | 33 + tests/baselines/reference/declInput4.js | 49 + ...it_array-types-from-generic-array-usage.js | 8 + .../declarationEmit_nameConflicts.errors.txt | 53 + .../declarationEmit_nameConflicts.js | 129 + .../declarationEmit_nameConflicts2.js | 63 + .../declarationEmit_nameConflicts3.js | 90 + ...tionEmit_nameConflictsWithAlias.errors.txt | 10 + .../declarationEmit_nameConflictsWithAlias.js | 14 + .../reference/declareAlreadySeen.errors.txt | 17 + ...areClassInterfaceImplementation.errors.txt | 12 + .../declareClassInterfaceImplementation.js | 11 + .../reference/declareDottedExtend.js | 35 + .../reference/declareDottedModuleName.js | 16 + ...ExternalModuleWithExportAssignedFundule.js | 27 + .../reference/declareFileExportAssignment.js | 27 + .../reference/declaredExternalModule.js | 30 + ...laredExternalModuleWithExportAssignment.js | 21 + .../decrementAndIncrementOperators.errors.txt | 65 + .../decrementAndIncrementOperators.js | 64 + .../decrementOperatorWithAnyOtherType.js | 91 + ...thAnyOtherTypeInvalidOperations.errors.txt | 161 + ...eratorWithAnyOtherTypeInvalidOperations.js | 136 + .../decrementOperatorWithEnumType.js | 26 + ...orWithEnumTypeInvalidOperations.errors.txt | 43 + ...ntOperatorWithEnumTypeInvalidOperations.js | 46 + .../decrementOperatorWithNumberType.js | 71 + ...WithNumberTypeInvalidOperations.errors.txt | 87 + ...OperatorWithNumberTypeInvalidOperations.js | 91 + ...ratorWithUnsupportedBooleanType.errors.txt | 113 + ...ementOperatorWithUnsupportedBooleanType.js | 106 + ...eratorWithUnsupportedStringType.errors.txt | 144 + ...rementOperatorWithUnsupportedStringType.js | 128 + .../defaultArgsForwardReferencing.errors.txt | 62 + .../defaultArgsForwardReferencing.js | 98 + ...efaultArgsInFunctionExpressions.errors.txt | 48 + .../defaultArgsInFunctionExpressions.js | 70 + .../defaultArgsInOverloads.errors.txt | 30 + .../reference/defaultArgsInOverloads.js | 37 + ...defaultBestCommonTypesHaveDecls.errors.txt | 26 + .../defaultBestCommonTypesHaveDecls.js | 31 + .../baselines/reference/defaultIndexProps1.js | 25 + .../baselines/reference/defaultIndexProps2.js | 28 + ...aultValueInConstructorOverload1.errors.txt | 8 + .../defaultValueInConstructorOverload1.js | 14 + ...defaultValueInFunctionOverload1.errors.txt | 5 + .../defaultValueInFunctionOverload1.js | 8 + .../defaultValueInFunctionTypes.errors.txt | 5 + .../reference/defaultValueInFunctionTypes.js | 7 + .../reference/deleteOperator1.errors.txt | 7 + tests/baselines/reference/deleteOperator1.js | 11 + ...deleteOperatorInvalidOperations.errors.txt | 22 + .../deleteOperatorWithAnyOtherType.errors.txt | 68 + .../deleteOperatorWithAnyOtherType.js | 117 + .../deleteOperatorWithBooleanType.js | 72 + .../reference/deleteOperatorWithEnumType.js | 46 + .../reference/deleteOperatorWithNumberType.js | 88 + .../reference/deleteOperatorWithStringType.js | 86 + .../reference/dependencyViaImportAlias.js | 26 + tests/baselines/reference/deprecatedBool.js | 8 + ...lassConstructorWithoutSuperCall.errors.txt | 48 + ...derivedClassConstructorWithoutSuperCall.js | 80 + ...ctionOverridesBaseClassAccessor.errors.txt | 25 + ...edClassIncludesInheritedMembers.errors.txt | 49 + ...idesIndexersWithAssignmentCompatibility.js | 50 + ...dClassOverridesPrivateFunction1.errors.txt | 19 + .../derivedClassOverridesPrivateFunction1.js | 42 + .../derivedClassOverridesPrivates.errors.txt | 22 + .../derivedClassOverridesPrivates.js | 48 + ...ivedClassOverridesPublicMembers.errors.txt | 79 + .../derivedClassOverridesWithoutSubtype.js | 56 + ...derivedClassParameterProperties.errors.txt | 117 + .../derivedClassParameterProperties.js | 206 + ...perCallsInNonConstructorMembers.errors.txt | 60 + ...rivedClassSuperCallsWithThisArg.errors.txt | 33 + .../derivedClassSuperCallsWithThisArg.js | 76 + .../derivedClassTransitivity.errors.txt | 27 + .../reference/derivedClassTransitivity.js | 60 + .../derivedClassTransitivity2.errors.txt | 27 + .../reference/derivedClassTransitivity2.js | 60 + .../derivedClassTransitivity3.errors.txt | 27 + .../reference/derivedClassTransitivity3.js | 60 + .../reference/derivedClassWithAny.errors.txt | 76 + ...InstanceShadowingPublicInstance.errors.txt | 60 + ...vateStaticShadowingPublicStatic.errors.txt | 53 + ...ClassWithoutExplicitConstructor.errors.txt | 30 + .../derivedClassWithoutExplicitConstructor.js | 69 + ...lassWithoutExplicitConstructor2.errors.txt | 38 + ...derivedClassWithoutExplicitConstructor2.js | 81 + ...lassWithoutExplicitConstructor3.errors.txt | 55 + ...derivedClassWithoutExplicitConstructor3.js | 110 + tests/baselines/reference/derivedClasses.js | 84 + .../derivedGenericClassWithAny.errors.txt | 59 + .../derivedInterfaceCallSignature.errors.txt | 32 + .../derivedInterfaceCallSignature.js | 32 + ...faceIncompatibleWithBaseIndexer.errors.txt | 46 + ...vedInterfaceIncompatibleWithBaseIndexer.js | 32 + ...sesHiddenBaseCallViaSuperPropertyAccess.js | 49 + ...llingBaseImplWithOptionalParams.errors.txt | 16 + ...edTypeCallingBaseImplWithOptionalParams.js | 27 + .../derivedTypeDoesNotRequireExtendsClause.js | 52 + ...rivedTypeIncompatibleSignatures.errors.txt | 40 + .../derivedTypeIncompatibleSignatures.js | 34 + ...edCommentAtStartOfFunctionBody1.errors.txt | 11 + .../detachedCommentAtStartOfFunctionBody1.js | 20 + ...edCommentAtStartOfFunctionBody2.errors.txt | 12 + .../detachedCommentAtStartOfFunctionBody2.js | 21 + .../directReferenceToNull.errors.txt | 4 + .../reference/directReferenceToNull.js | 5 + .../directReferenceToUndefined.errors.txt | 5 + .../reference/directReferenceToUndefined.js | 7 + ...tWidenAtObjectLiteralPropertyAssignment.js | 15 + .../reference/doWhileBreakStatements.js | 72 + .../reference/doWhileContinueStatements.js | 72 + tests/baselines/reference/doWhileLoop.js | 8 + ...ontShowCompilerGeneratedMembers.errors.txt | 18 + .../reference/dottedModuleName.errors.txt | 26 + .../baselines/reference/dottedModuleName2.js | 72 + .../reference/dottedSymbolResolution1.js | 44 + .../reference/duplicateAnonymousInners1.js | 50 + .../duplicateAnonymousModuleClasses.js | 110 + .../duplicateClassElements.errors.txt | 82 + .../reference/duplicateConstructSignature.js | 7 + .../reference/duplicateConstructSignature2.js | 7 + .../duplicateConstructorOverloadSignature.js | 13 + .../duplicateConstructorOverloadSignature2.js | 13 + .../duplicateExportAssignments.errors.txt | 64 + .../reference/duplicateExportAssignments.js | 80 + ...duplicateIdentifierInCatchBlock.errors.txt | 26 + .../duplicateIdentifierInCatchBlock.js | 45 + ...ierShouldNotShortCircuitBaseTypeBinding.js | 4 + ...ifiersAcrossContainerBoundaries.errors.txt | 59 + ...ateIdentifiersAcrossContainerBoundaries.js | 131 + .../duplicateInterfaceMembers1.errors.txt | 8 + .../reference/duplicateInterfaceMembers1.js | 8 + tests/baselines/reference/duplicateLabel1.js | 9 + tests/baselines/reference/duplicateLabel2.js | 13 + tests/baselines/reference/duplicateLabel3.js | 17 + tests/baselines/reference/duplicateLabel4.js | 14 + .../duplicateLocalVariable1.errors.txt | 346 + .../reference/duplicateLocalVariable1.js | 625 + .../duplicateLocalVariable2.errors.txt | 38 + .../reference/duplicateLocalVariable2.js | 79 + .../duplicateLocalVariable3.errors.txt | 15 + .../reference/duplicateLocalVariable3.js | 25 + .../duplicateLocalVariable4.errors.txt | 9 + .../reference/duplicateLocalVariable4.js | 15 + .../duplicateNumericIndexers.errors.txt | 50 + .../reference/duplicateNumericIndexers.js | 42 + .../duplicateObjectLiteralProperty.errors.txt | 35 + .../duplicateOverloadInTypeAugmentation1.js | 13 + .../duplicatePropertyNames.errors.txt | 69 + .../reference/duplicatePropertyNames.js | 73 + .../duplicateStringIndexers.errors.txt | 138 + .../reference/duplicateStringIndexers.js | 42 + .../duplicateStringNamedProperty1.errors.txt | 7 + .../duplicateStringNamedProperty1.js | 7 + .../duplicateSymbolsExportMatching.errors.txt | 82 + .../duplicateSymbolsExportMatching.js | 110 + .../duplicateTypeParameters1.errors.txt | 5 + .../reference/duplicateTypeParameters1.js | 7 + .../duplicateTypeParameters2.errors.txt | 7 + .../reference/duplicateTypeParameters2.js | 21 + .../duplicateTypeParameters3.errors.txt | 8 + .../reference/duplicateTypeParameters3.js | 8 + .../duplicateVariableDeclaration1.js | 7 + .../reference/duplicateVariablesByScope.js | 64 + .../duplicateVariablesWithAny.errors.txt | 26 + .../reference/duplicateVariablesWithAny.js | 33 + ...plicateVarsAcrossFileBoundaries.errors.txt | 35 + .../duplicateVarsAcrossFileBoundaries.js | 48 + .../reference/dynamicModuleTypecheckError.js | 15 + .../reference/emitCommentsOnlyFile.js | 31 + .../reference/emitMemberAccessExpression.js | 64 + tests/baselines/reference/emitPostComments.js | 33 + tests/baselines/reference/emitPreComments.js | 34 + .../emitThisInSuperMethodCall.errors.txt | 34 + .../reference/emitThisInSuperMethodCall.js | 69 + tests/baselines/reference/emptyEnum.js | 8 + tests/baselines/reference/emptyExpr.js | 5 + .../reference/emptyFile-declaration.js | 7 + .../reference/emptyFile-declaration.js.map | 2 + .../emptyFile-declaration.sourcemap.txt | 7 + .../baselines/reference/emptyFile-souremap.js | 7 + .../reference/emptyFile-souremap.js.map | 2 + .../emptyFile-souremap.sourcemap.txt | 7 + tests/baselines/reference/emptyFile.js | 4 + .../emptyGenericParamList.errors.txt | 7 + tests/baselines/reference/emptyIndexer.js | 17 + .../reference/emptyMemberAccess.errors.txt | 9 + .../emptyTypeArgumentList.errors.txt | 7 + .../emptyTypeArgumentListWithNew.errors.txt | 7 + .../reference/enumAssignability.errors.txt | 104 + .../baselines/reference/enumAssignability.js | 109 + .../enumAssignabilityInInheritance.errors.txt | 114 + .../enumAssignabilityInInheritance.js | 164 + .../reference/enumAssignmentCompat.errors.txt | 51 + .../reference/enumAssignmentCompat.js | 71 + .../enumAssignmentCompat2.errors.txt | 50 + .../reference/enumAssignmentCompat2.js | 70 + tests/baselines/reference/enumBasics.js | 156 + .../reference/enumBasics1.errors.txt | 40 + tests/baselines/reference/enumBasics1.js | 57 + .../reference/enumCodeGenNewLines1.js | 15 + ...umConflictsWithGlobalIdentifier.errors.txt | 11 + tests/baselines/reference/enumDecl1.js | 15 + .../baselines/reference/enumErrors.errors.txt | 54 + tests/baselines/reference/enumErrors.js | 67 + .../reference/enumFromExternalModule.js | 20 + .../reference/enumGenericTypeClash.errors.txt | 6 + .../reference/enumGenericTypeClash.js | 15 + .../enumIdenticalIdentifierValues.errors.txt | 7 + .../enumIdenticalIdentifierValues.js | 12 + .../reference/enumIdentifierLiterals.js | 18 + tests/baselines/reference/enumIndexer.js | 18 + .../enumInitializersWithExponents.errors.txt | 14 + ...sNotASubtypeOfAnythingButNumber.errors.txt | 165 + .../enumIsNotASubtypeOfAnythingButNumber.js | 166 + .../reference/enumMapBackIntoItself.js | 21 + .../reference/enumMemberResolution.errors.txt | 12 + tests/baselines/reference/enumMerging.js | 169 + .../baselines/reference/enumMergingErrors.js | 132 + .../reference/enumNegativeLiteral1.js | 13 + tests/baselines/reference/enumNumbering1.js | 19 + tests/baselines/reference/enumOperations.js | 35 + .../reference/enumPropertyAccess.errors.txt | 19 + .../baselines/reference/enumPropertyAccess.js | 29 + ...umWithParenthesizedInitializer1.errors.txt | 6 + .../enumWithPrimitiveName.errors.txt | 10 + .../reference/enumWithPrimitiveName.js | 15 + .../reference/enumWithQuotedElementName1.js | 10 + .../reference/enumWithQuotedElementName2.js | 10 + .../reference/enumWithUnicodeEscape1.js | 11 + ...tInitializerAfterComputedMember.errors.txt | 8 + .../enumsWithMultipleDeclarations1.js | 26 + .../enumsWithMultipleDeclarations2.js | 26 + .../enumsWithMultipleDeclarations3.js | 13 + ...rdReferenceForwadingConstructor.errors.txt | 13 + ...rorForwardReferenceForwadingConstructor.js | 36 + ...orLocationForInterfaceExtension.errors.txt | 7 + .../errorLocationForInterfaceExtension.js | 8 + ...errorMessageOnObjectLiteralType.errors.txt | 11 + .../errorMessageOnObjectLiteralType.js | 12 + ...orOnContextuallyTypedReturnType.errors.txt | 7 + .../errorOnContextuallyTypedReturnType.js | 10 + .../reference/errorSuperCalls.errors.txt | 115 + .../errorSuperPropertyAccess.errors.txt | 205 + .../reference/errorSupression1.errors.txt | 11 + tests/baselines/reference/errorSupression1.js | 21 + .../errorTypesAsTypeArguments.errors.txt | 8 + .../reference/errorTypesAsTypeArguments.js | 6 + .../errorsInGenericTypeReference.errors.txt | 117 + .../errorsOnImportedSymbol.errors.txt | 18 + .../reference/errorsOnImportedSymbol.js | 21 + tests/baselines/reference/es3-amd.js | 27 + tests/baselines/reference/es3-amd.js.map | 2 + .../baselines/reference/es3-amd.sourcemap.txt | 128 + .../reference/es3-declaration-amd.js | 27 + .../reference/es3-declaration-amd.js.map | 2 + .../es3-declaration-amd.sourcemap.txt | 128 + .../baselines/reference/es3-sourcemap-amd.js | 25 + .../reference/es3-sourcemap-amd.js.map | 2 + .../reference/es3-sourcemap-amd.sourcemap.txt | 128 + tests/baselines/reference/es5-amd.js | 27 + tests/baselines/reference/es5-amd.js.map | 2 + .../baselines/reference/es5-amd.sourcemap.txt | 128 + .../reference/es5-declaration-amd.js | 27 + .../reference/es5-declaration-amd.js.map | 2 + .../es5-declaration-amd.sourcemap.txt | 128 + tests/baselines/reference/es5-souremap-amd.js | 25 + .../reference/es5-souremap-amd.js.map | 2 + .../reference/es5-souremap-amd.sourcemap.txt | 128 + .../reference/es6ClassSuperCodegenBug.js | 39 + .../reference/es6ClassTest.errors.txt | 87 + .../reference/es6ClassTest2.errors.txt | 165 + .../reference/es6ClassTest3.errors.txt | 45 + tests/baselines/reference/es6ClassTest4.js | 13 + tests/baselines/reference/es6ClassTest5.js | 29 + tests/baselines/reference/es6ClassTest7.js | 24 + tests/baselines/reference/es6ClassTest8.js | 88 + .../reference/es6ClassTest9.errors.txt | 10 + .../reference/es6DeclOrdering.errors.txt | 21 + tests/baselines/reference/es6DeclOrdering.js | 28 + .../reference/es6MemberScoping.errors.txt | 20 + tests/baselines/reference/es6MemberScoping.js | 37 + .../baselines/reference/escapedIdentifiers.js | 207 + .../reference/everyTypeAssignableToAny.js | 115 + .../everyTypeWithAnnotationAndInitializer.js | 95 + ...AnnotationAndInvalidInitializer.errors.txt | 104 + ...TypeWithAnnotationAndInvalidInitializer.js | 114 + .../reference/everyTypeWithInitializer.js | 94 + .../reference/exportAlreadySeen.errors.txt | 40 + .../reference/exportAssignClassAndModule.js | 31 + .../exportAssignDottedName.errors.txt | 17 + .../exportAssignImportedIdentifier.errors.txt | 17 + .../exportAssignImportedIdentifier.js | 28 + .../exportAssignNonIdentifier.errors.txt | 44 + .../reference/exportAssignTypes.errors.txt | 60 + .../baselines/reference/exportAssignTypes.js | 93 + .../reference/exportAssignValueAndType.js | 20 + .../exportAssignedTypeAsTypeAnnotation.js | 23 + .../exportAssignmentAndDeclaration.errors.txt | 13 + .../exportAssignmentAndDeclaration.js | 27 + .../exportAssignmentCircularModules.js | 48 + .../reference/exportAssignmentClass.js | 28 + ...ssignmentConstrainedGenericType.errors.txt | 15 + .../exportAssignmentConstrainedGenericType.js | 28 + .../reference/exportAssignmentEnum.js | 31 + .../reference/exportAssignmentError.js | 19 + .../reference/exportAssignmentFunction.js | 23 + .../reference/exportAssignmentGenericType.js | 25 + .../reference/exportAssignmentInterface.js | 24 + .../exportAssignmentInternalModule.js | 26 + .../exportAssignmentMergedInterface.js | 38 + .../reference/exportAssignmentMergedModule.js | 53 + ...ignmentOfDeclaredExternalModule.errors.txt | 19 + ...xportAssignmentOfDeclaredExternalModule.js | 25 + .../exportAssignmentOfGenericType1.js | 42 + .../exportAssignmentTopLevelClodule.js | 38 + .../exportAssignmentTopLevelEnumdule.js | 40 + .../exportAssignmentTopLevelFundule.js | 35 + .../exportAssignmentTopLevelIdentifier.js | 28 + .../reference/exportAssignmentVariable.js | 18 + .../exportAssignmentWithExports.errors.txt | 6 + .../reference/exportAssignmentWithExports.js | 18 + ...signmentWithImportStatementPrivacyError.js | 31 + .../exportAssignmentWithPrivacyError.js | 24 + ...ortAssignmentWithoutIdentifier1.errors.txt | 11 + tests/baselines/reference/exportCodeGen.js | 122 + .../reference/exportDeclareClass1.errors.txt | 28 + .../reference/exportDeclaredModule.errors.txt | 13 + .../reference/exportDeclaredModule.js | 19 + .../reference/exportEqualCallable.js | 24 + .../reference/exportEqualErrorType.errors.txt | 22 + .../reference/exportEqualErrorType.js | 32 + .../exportEqualMemberMissing.errors.txt | 22 + .../reference/exportEqualMemberMissing.js | 29 + .../reference/exportEqualNamespaces.js | 21 + tests/baselines/reference/exportImport.js | 46 + .../baselines/reference/exportImportAlias.js | 137 + .../reference/exportImportAndClodule.js | 44 + .../reference/exportImportMultipleFiles.js | 30 + .../exportImportNonInstantiatedModule.js | 17 + .../exportImportNonInstantiatedModule2.js | 38 + .../reference/exportNonVisibleType.errors.txt | 36 + .../reference/exportNonVisibleType.js | 54 + .../baselines/reference/exportPrivateType.js | 54 + .../exportSameNameFuncVar.errors.txt | 6 + .../reference/exportSameNameFuncVar.js | 12 + tests/baselines/reference/exportVisibility.js | 23 + ...InterfaceInaccessibleInCallbackInModule.js | 17 + .../baselines/reference/exportedVariable1.js | 10 + .../exportingContainingVisibleType.errors.txt | 13 + tests/baselines/reference/expr.errors.txt | 384 + tests/baselines/reference/expr.js | 457 + tests/baselines/reference/extBaseClass1.js | 68 + .../reference/extBaseClass2.errors.txt | 15 + tests/baselines/reference/extBaseClass2.js | 41 + .../extendAndImplementTheSameBaseType.js | 43 + ...endAndImplementTheSameBaseType2.errors.txt | 26 + .../extendAndImplementTheSameBaseType2.js | 47 + .../reference/extendArray.errors.txt | 28 + tests/baselines/reference/extendArray.js | 40 + .../extendBaseClassBeforeItsDeclared.js | 25 + .../reference/extendBooleanInterface.js | 18 + .../reference/extendGenericArray.errors.txt | 9 + .../baselines/reference/extendGenericArray.js | 11 + .../reference/extendGenericArray2.errors.txt | 11 + .../reference/extendGenericArray2.js | 13 + .../extendNonClassSymbol1.errors.txt | 6 + .../reference/extendNonClassSymbol1.js | 27 + .../extendNonClassSymbol2.errors.txt | 8 + .../reference/extendNonClassSymbol2.js | 25 + .../reference/extendNumberInterface.js | 18 + .../reference/extendStringInterface.js | 18 + .../reference/extendedInterfaceGenericType.js | 17 + ...acesWithDuplicateTypeParameters.errors.txt | 18 + ...edInterfacesWithDuplicateTypeParameters.js | 14 + ...xtendingClassFromAliasAndUsageInIndexer.js | 83 + .../extendsClauseAlreadySeen.errors.txt | 15 + .../extendsClauseAlreadySeen2.errors.txt | 15 + .../baselines/reference/extension.errors.txt | 39 + tests/baselines/reference/externFunc.js | 8 + .../reference/externModule.errors.txt | 94 + .../reference/externModuleClobber.js | 19 + .../reference/externSemantics.errors.txt | 9 + .../reference/externSyntax.errors.txt | 17 + .../reference/externalModuleAssignToVar.js | 64 + ...rnalModuleExportingGenericClass.errors.txt | 16 + .../externalModuleExportingGenericClass.js | 29 + .../reference/externalModuleQualification.js | 29 + ...ceOfImportDeclarationWithExportModifier.js | 22 + ...olutionOrderInImportDeclaration.errors.txt | 18 + ...ernceResolutionOrderInImportDeclaration.js | 29 + .../reference/externalModuleResolution.js | 27 + .../reference/externalModuleResolution2.js | 28 + ...ernalModuleWithoutCompilerFlag1.errors.txt | 8 + .../externalModuleWithoutCompilerFlag1.js | 7 + tests/baselines/reference/fatArrowSelf.js | 55 + .../reference/fatArrowfunctionAsType.js | 13 + .../baselines/reference/fatarrowfunctions.js | 104 + .../fatarrowfunctionsErrors.errors.txt | 63 + ...rowfunctionsInFunctionParameterDefaults.js | 19 + .../reference/fatarrowfunctionsInFunctions.js | 26 + .../fatarrowfunctionsOptionalArgs.errors.txt | 150 + ...rowfunctionsOptionalArgsErrors1.errors.txt | 19 + ...rowfunctionsOptionalArgsErrors2.errors.txt | 39 + .../fieldAndGetterWithSameName.errors.txt | 9 + .../fillInMissingTypeArgsOnConstructCalls.js | 14 + ...eParameterInSignatureWithRestParameters.js | 8 + .../reference/for-inStatements.errors.txt | 83 + tests/baselines/reference/for-inStatements.js | 196 + .../for-inStatementsInvalid.errors.txt | 96 + .../reference/for-inStatementsInvalid.js | 152 + tests/baselines/reference/for.errors.txt | 33 + .../baselines/reference/forBreakStatements.js | 67 + .../reference/forContinueStatements.js | 67 + tests/baselines/reference/forIn.errors.txt | 26 + tests/baselines/reference/forIn.js | 41 + tests/baselines/reference/forIn2.errors.txt | 5 + tests/baselines/reference/forIn2.js | 7 + .../reference/forInBreakStatements.js | 67 + .../reference/forInContinueStatements.js | 67 + tests/baselines/reference/forInModule.js | 14 + tests/baselines/reference/forInStatement1.js | 9 + .../reference/forInStatement2.errors.txt | 6 + tests/baselines/reference/forInStatement2.js | 9 + tests/baselines/reference/forInStatement3.js | 13 + .../reference/forInStatement4.errors.txt | 6 + tests/baselines/reference/forInStatement4.js | 9 + tests/baselines/reference/forInStatement5.js | 11 + tests/baselines/reference/forInStatement6.js | 11 + .../reference/forInStatement7.errors.txt | 7 + tests/baselines/reference/forInStatement7.js | 11 + tests/baselines/reference/forStatements.js | 111 + ...orStatementsMultipleInvalidDecl.errors.txt | 78 + .../forStatementsMultipleInvalidDecl.js | 131 + .../forStatementsMultipleValidDecl.js | 86 + .../reference/forgottenNew.errors.txt | 8 + tests/baselines/reference/forgottenNew.js | 18 + .../baselines/reference/funClodule.errors.txt | 26 + tests/baselines/reference/funClodule.js | 35 + tests/baselines/reference/funcdecl.js | 135 + ...functionAndPropertyNameConflict.errors.txt | 11 + .../reference/functionArgShadowing.errors.txt | 21 + .../reference/functionArgShadowing.js | 43 + .../reference/functionAssignment.errors.txt | 42 + .../baselines/reference/functionAssignment.js | 64 + .../reference/functionAssignmentError.js | 11 + tests/baselines/reference/functionCall1.js | 10 + .../reference/functionCall10.errors.txt | 11 + tests/baselines/reference/functionCall10.js | 20 + .../reference/functionCall11.errors.txt | 14 + tests/baselines/reference/functionCall11.js | 17 + .../reference/functionCall12.errors.txt | 15 + tests/baselines/reference/functionCall12.js | 19 + .../reference/functionCall13.errors.txt | 12 + tests/baselines/reference/functionCall13.js | 21 + .../reference/functionCall14.errors.txt | 10 + tests/baselines/reference/functionCall14.js | 21 + .../reference/functionCall15.errors.txt | 4 + tests/baselines/reference/functionCall15.js | 10 + .../reference/functionCall16.errors.txt | 15 + tests/baselines/reference/functionCall16.js | 23 + .../reference/functionCall17.errors.txt | 17 + tests/baselines/reference/functionCall17.js | 23 + tests/baselines/reference/functionCall2.js | 10 + tests/baselines/reference/functionCall3.js | 9 + tests/baselines/reference/functionCall4.js | 15 + tests/baselines/reference/functionCall5.js | 20 + .../reference/functionCall6.errors.txt | 13 + tests/baselines/reference/functionCall6.js | 16 + .../reference/functionCall7.errors.txt | 15 + tests/baselines/reference/functionCall7.js | 29 + .../reference/functionCall8.errors.txt | 11 + tests/baselines/reference/functionCall8.js | 15 + .../reference/functionCall9.errors.txt | 11 + tests/baselines/reference/functionCall9.js | 17 + .../reference/functionCalls.errors.txt | 55 + tests/baselines/reference/functionCalls.js | 56 + .../functionConstraintSatisfaction.js | 114 + ...functionConstraintSatisfaction2.errors.txt | 69 + .../functionConstraintSatisfaction2.js | 80 + .../functionConstraintSatisfaction3.js | 81 + ...tionWithArgumentOfTypeFunctionTypeArray.js | 13 + ...ctionExpressionAndLambdaMatchesFunction.js | 22 + .../functionExpressionInWithBlock.js | 18 + .../functionExpressionReturningItself.js | 10 + ...ctionExpressionShadowedByParams.errors.txt | 18 + .../functionExpressionShadowedByParams.js | 26 + .../functionImplementationErrors.errors.txt | 72 + .../reference/functionImplementationErrors.js | 81 + .../reference/functionImplementations.js | 230 + .../functionInIfStatementInModule.js | 20 + tests/baselines/reference/functionLiteral.js | 23 + .../reference/functionLiteralForOverloads.js | 28 + .../reference/functionLiteralForOverloads2.js | 44 + tests/baselines/reference/functionLiterals.js | 80 + .../reference/functionMergedWithModule.js | 39 + .../functionNameConflicts.errors.txt | 40 + .../reference/functionNameConflicts.js | 52 + .../reference/functionOnlyHasThrow.js | 9 + .../functionOverloadAmbiguity1.errors.txt | 13 + .../reference/functionOverloadAmbiguity1.js | 23 + .../functionOverloadErrors.errors.txt | 157 + .../reference/functionOverloadErrors.js | 177 + .../functionOverloadErrorsSyntax.errors.txt | 18 + ...erloadImplementationOfWrongName.errors.txt | 6 + ...nctionOverloadImplementationOfWrongName.js | 8 + ...rloadImplementationOfWrongName2.errors.txt | 6 + ...ctionOverloadImplementationOfWrongName2.js | 8 + .../reference/functionOverloads.errors.txt | 7 + .../baselines/reference/functionOverloads.js | 12 + .../baselines/reference/functionOverloads1.js | 10 + .../reference/functionOverloads10.js | 9 + .../reference/functionOverloads11.errors.txt | 6 + .../reference/functionOverloads11.js | 9 + .../reference/functionOverloads12.js | 13 + .../reference/functionOverloads13.js | 10 + .../reference/functionOverloads14.js | 10 + .../reference/functionOverloads15.js | 10 + .../reference/functionOverloads16.js | 10 + .../reference/functionOverloads17.errors.txt | 6 + .../reference/functionOverloads17.js | 9 + .../reference/functionOverloads18.errors.txt | 6 + .../reference/functionOverloads18.js | 9 + .../reference/functionOverloads19.errors.txt | 7 + .../reference/functionOverloads19.js | 10 + .../reference/functionOverloads2.errors.txt | 7 + .../baselines/reference/functionOverloads2.js | 12 + .../reference/functionOverloads20.errors.txt | 7 + .../reference/functionOverloads20.js | 10 + .../reference/functionOverloads21.js | 10 + .../reference/functionOverloads22.errors.txt | 7 + .../reference/functionOverloads22.js | 10 + .../reference/functionOverloads23.js | 10 + .../reference/functionOverloads24.js | 11 + .../reference/functionOverloads25.js | 13 + .../reference/functionOverloads26.js | 12 + .../reference/functionOverloads27.errors.txt | 8 + .../reference/functionOverloads27.js | 12 + .../reference/functionOverloads28.js | 13 + .../reference/functionOverloads29.errors.txt | 8 + .../reference/functionOverloads29.js | 12 + .../reference/functionOverloads3.errors.txt | 4 + .../baselines/reference/functionOverloads3.js | 4 + .../reference/functionOverloads30.js | 12 + .../reference/functionOverloads31.js | 12 + .../reference/functionOverloads32.js | 13 + .../reference/functionOverloads33.js | 12 + .../reference/functionOverloads34.errors.txt | 8 + .../reference/functionOverloads34.js | 12 + .../reference/functionOverloads35.js | 12 + .../reference/functionOverloads36.js | 12 + .../reference/functionOverloads37.errors.txt | 8 + .../reference/functionOverloads37.js | 12 + .../reference/functionOverloads38.js | 12 + .../reference/functionOverloads39.js | 12 + .../reference/functionOverloads4.errors.txt | 5 + .../baselines/reference/functionOverloads4.js | 8 + .../reference/functionOverloads40.errors.txt | 8 + .../reference/functionOverloads40.js | 12 + .../reference/functionOverloads41.errors.txt | 8 + .../reference/functionOverloads41.js | 12 + .../reference/functionOverloads42.js | 12 + .../reference/functionOverloads5.errors.txt | 8 + .../baselines/reference/functionOverloads5.js | 15 + .../baselines/reference/functionOverloads6.js | 16 + .../baselines/reference/functionOverloads7.js | 25 + .../baselines/reference/functionOverloads8.js | 10 + .../baselines/reference/functionOverloads9.js | 12 + .../functionOverloadsOnGenericArity1.js | 15 + .../functionOverloadsOnGenericArity2.js | 8 + .../functionOverloadsOutOfOrder.errors.txt | 20 + .../reference/functionOverloadsOutOfOrder.js | 34 + ...tionOverloadsRecursiveGenericReturnType.js | 34 + tests/baselines/reference/functionReturn.js | 35 + .../reference/functionReturningItself.js | 12 + ...ctionSignatureAssignmentCompat1.errors.txt | 16 + .../functionSignatureAssignmentCompat1.js | 18 + .../reference/functionSubtypingOfVarArgs.js | 42 + .../reference/functionSubtypingOfVarArgs2.js | 42 + tests/baselines/reference/functionType.js | 13 + ...tionTypeArgumentArrayAssignment.errors.txt | 12 + .../functionTypeArgumentArrayAssignment.js | 15 + ...ionTypeArgumentAssignmentCompat.errors.txt | 16 + .../functionTypeArgumentAssignmentCompat.js | 21 + ...nWithAnyReturnTypeAndNoReturnExpression.js | 13 + ...ionWithMultipleReturnStatements.errors.txt | 128 + .../functionWithMultipleReturnStatements.js | 123 + .../functionWithMultipleReturnStatements2.js | 174 + .../functionWithSameNameAsField.errors.txt | 11 + .../reference/functionWithSameNameAsField.js | 20 + .../functionWithThrowButNoReturn1.js | 12 + ...uleExportedClassIsUsedBeforeDeclaration.js | 13 + ...leOfFunctionWithoutReturnTypeAnnotation.js | 17 + .../reference/funduleSplitAcrossFiles.js | 20 + .../funduleUsedAcrossFileBoundary.js | 21 + tests/baselines/reference/fuzzy.errors.txt | 40 + tests/baselines/reference/fuzzy.js | 52 + .../reference/generatedContextualTyping.js | 1991 +++ .../generativeRecursionWithTypeOf.js | 27 + ...GenericInterfaceWithTheSameName.errors.txt | 50 + ...icAndNonGenericInterfaceWithTheSameName.js | 46 + ...cAndNonGenericInterfaceWithTheSameName2.js | 30 + .../genericAndNonGenericOverload1.js | 11 + .../genericArgumentCallSigAssignmentCompat.js | 25 + tests/baselines/reference/genericArray0.js | 22 + tests/baselines/reference/genericArray1.js | 21 + .../genericArrayAssignment1.errors.txt | 8 + .../reference/genericArrayAssignment1.js | 10 + ...ericArrayAssignmentCompatErrors.errors.txt | 26 + .../genericArrayAssignmentCompatErrors.js | 41 + .../genericArrayExtenstions.errors.txt | 14 + .../reference/genericArrayExtenstions.js | 8 + .../reference/genericArrayMethods1.errors.txt | 6 + .../reference/genericArrayMethods1.js | 6 + .../genericArrayPropertyAssignment.js | 15 + ...nericArrayWithoutTypeAnnotation.errors.txt | 10 + .../genericArrayWithoutTypeAnnotation.js | 17 + ...mentCompatOfFunctionSignatures1.errors.txt | 10 + ...icAssignmentCompatOfFunctionSignatures1.js | 14 + ...AssignmentCompatWithInterfaces1.errors.txt | 54 + .../genericAssignmentCompatWithInterfaces1.js | 38 + .../genericBaseClassLiteralProperty.js | 37 + .../genericBaseClassLiteralProperty2.js | 45 + ...genericCallSpecializedToTypeArg.errors.txt | 12 + .../genericCallSpecializedToTypeArg.js | 20 + .../genericCallTypeArgumentInference.js | 159 + .../genericCallWithArrayLiteralArgs.js | 27 + ...allWithConstraintsTypeArgumentInference.js | 210 + ...nstraintsTypeArgumentInference2.errors.txt | 17 + ...llWithConstraintsTypeArgumentInference2.js | 24 + ...lWithConstructorTypedArguments5.errors.txt | 30 + ...nericCallWithConstructorTypedArguments5.js | 45 + .../genericCallWithFixedArguments.js | 27 + .../genericCallWithFunctionTypedArguments.js | 70 + .../genericCallWithFunctionTypedArguments2.js | 68 + .../genericCallWithFunctionTypedArguments3.js | 31 + .../genericCallWithFunctionTypedArguments4.js | 43 + ...CallWithFunctionTypedArguments5.errors.txt | 27 + .../genericCallWithFunctionTypedArguments5.js | 39 + ...enericCallWithGenericSignatureArguments.js | 73 + ...lWithGenericSignatureArguments2.errors.txt | 45 + ...nericCallWithGenericSignatureArguments2.js | 70 + ...nericCallWithGenericSignatureArguments3.js | 65 + .../genericCallWithNonGenericArgs1.js | 9 + .../genericCallWithNonSymmetricSubtypes.js | 54 + .../genericCallWithObjectLiteralArgs.js | 19 + ...CallWithObjectLiteralArguments1.errors.txt | 16 + .../genericCallWithObjectLiteralArguments1.js | 18 + .../genericCallWithObjectTypeArgs.js | 47 + .../genericCallWithObjectTypeArgs2.js | 71 + ...ricCallWithObjectTypeArgsAndConstraints.js | 65 + ...icCallWithObjectTypeArgsAndConstraints2.js | 78 + ...thObjectTypeArgsAndConstraints3.errors.txt | 40 + ...icCallWithObjectTypeArgsAndConstraints3.js | 82 + ...thObjectTypeArgsAndConstraints4.errors.txt | 40 + ...icCallWithObjectTypeArgsAndConstraints4.js | 67 + ...thObjectTypeArgsAndConstraints5.errors.txt | 31 + ...icCallWithObjectTypeArgsAndConstraints5.js | 48 + ...enericCallWithObjectTypeArgsAndIndexers.js | 35 + ...ObjectTypeArgsAndIndexersErrors.errors.txt | 31 + ...CallWithObjectTypeArgsAndIndexersErrors.js | 41 + ...thObjectTypeArgsAndInitializers.errors.txt | 32 + ...icCallWithObjectTypeArgsAndInitializers.js | 35 + ...CallWithObjectTypeArgsAndNumericIndexer.js | 56 + ...cCallWithObjectTypeArgsAndStringIndexer.js | 57 + ...WithOverloadedConstructorTypedArguments.js | 84 + ...oadedConstructorTypedArguments2.errors.txt | 43 + ...ithOverloadedConstructorTypedArguments2.js | 71 + ...allWithOverloadedFunctionTypedArguments.js | 79 + ...erloadedFunctionTypedArguments2.errors.txt | 40 + ...llWithOverloadedFunctionTypedArguments2.js | 68 + .../genericCallWithoutArgs.errors.txt | 13 + ...kedInsideItsContainingFunction1.errors.txt | 33 + ...backInvokedInsideItsContainingFunction1.js | 33 + .../genericCallbacksAndClassHierarchy.js | 69 + .../genericCallsWithoutParens.errors.txt | 18 + .../reference/genericChainedCalls.errors.txt | 19 + .../reference/genericChainedCalls.js | 21 + ...entingGenericInterfaceFromAnotherModule.js | 22 + ...sInheritsConstructorFromNonGenericClass.js | 33 + ...cClassPropertyInheritanceSpecialization.js | 130 + .../reference/genericClassStaticMethod.js | 35 + ...icClassWithFunctionTypedMemberArguments.js | 141 + ...icClassWithObjectTypeArgsAndConstraints.js | 118 + .../genericClassWithStaticFactory.js | 266 + ...ssWithStaticsUsingTypeArguments.errors.txt | 32 + ...nericClassWithStaticsUsingTypeArguments.js | 35 + tests/baselines/reference/genericClasses0.js | 20 + tests/baselines/reference/genericClasses1.js | 20 + tests/baselines/reference/genericClasses2.js | 30 + tests/baselines/reference/genericClasses3.js | 45 + tests/baselines/reference/genericClasses4.js | 39 + .../reference/genericClassesInModule.js | 31 + .../reference/genericClassesInModule2.js | 43 + .../genericClassesRedeclaration.errors.txt | 84 + .../reference/genericClassesRedeclaration.js | 80 + .../reference/genericCloduleInModule.js | 34 + .../genericCloduleInModule2.errors.txt | 18 + .../reference/genericCloduleInModule2.js | 40 + .../genericCloneReturnTypes.errors.txt | 29 + .../reference/genericCloneReturnTypes.js | 42 + .../genericCloneReturnTypes2.errors.txt | 19 + .../reference/genericCloneReturnTypes2.js | 32 + .../reference/genericCombinators2.errors.txt | 21 + .../reference/genericCombinators2.js | 28 + .../reference/genericConstraint1.errors.txt | 11 + .../baselines/reference/genericConstraint1.js | 21 + .../reference/genericConstraint2.errors.txt | 30 + .../baselines/reference/genericConstraint2.js | 43 + .../reference/genericConstraint3.errors.txt | 6 + .../baselines/reference/genericConstraint3.js | 6 + .../reference/genericConstraintDeclaration.js | 22 + ...genericConstraintOnExtendedBuiltinTypes.js | 62 + ...enericConstraintOnExtendedBuiltinTypes2.js | 61 + .../genericConstraintSatisfaction1.errors.txt | 10 + .../genericConstraintSatisfaction1.js | 12 + ...cConstructExpressionWithoutArgs.errors.txt | 15 + ...onstructInvocationWithNoTypeArg.errors.txt | 8 + ...genericConstructInvocationWithNoTypeArg.js | 9 + .../genericConstructSignatureInInterface.js | 11 + .../genericConstructorFunction1.errors.txt | 20 + .../reference/genericConstructorFunction1.js | 31 + .../genericContextualTypingSpecialization.js | 7 + ...cDerivedTypeWithSpecializedBase.errors.txt | 17 + .../genericDerivedTypeWithSpecializedBase.js | 36 + ...DerivedTypeWithSpecializedBase2.errors.txt | 18 + .../genericDerivedTypeWithSpecializedBase2.js | 36 + ...CallSignatureReturnTypeMismatch.errors.txt | 14 + ...FunctionCallSignatureReturnTypeMismatch.js | 19 + .../genericFunctionHasFreshTypeArgs.js | 9 + .../genericFunctionSpecializations1.js | 12 + ...cFunctionTypedArgumentsAreFixed.errors.txt | 5 + .../genericFunctionTypedArgumentsAreFixed.js | 6 + .../baselines/reference/genericFunctions0.js | 13 + .../baselines/reference/genericFunctions1.js | 13 + .../baselines/reference/genericFunctions2.js | 14 + .../baselines/reference/genericFunctions3.js | 15 + ...genericFunctionsWithOptionalParameters1.js | 19 + ...unctionsWithOptionalParameters2.errors.txt | 14 + ...genericFunctionsWithOptionalParameters2.js | 19 + ...genericFunctionsWithOptionalParameters3.js | 44 + .../genericFunduleInModule.errors.txt | 12 + .../reference/genericFunduleInModule.js | 25 + .../genericFunduleInModule2.errors.txt | 15 + .../reference/genericFunduleInModule2.js | 31 + .../reference/genericGetter.errors.txt | 14 + .../reference/genericGetter2.errors.txt | 13 + .../reference/genericGetter3.errors.txt | 16 + .../baselines/reference/genericImplements.js | 59 + .../baselines/reference/genericInference1.js | 5 + .../baselines/reference/genericInference2.js | 33 + .../baselines/reference/genericInstanceOf.js | 25 + ...cInstantiationEquivalentToObjectLiteral.js | 25 + .../genericInterfaceFunctionTypeParameter.js | 16 + .../genericInterfaceImplementation.js | 30 + .../reference/genericInterfaceTypeCall.js | 21 + ...cInterfacesWithoutTypeArguments.errors.txt | 10 + .../genericInterfacesWithoutTypeArguments.js | 15 + ...ricLambaArgWithoutTypeArguments.errors.txt | 11 + .../genericLambaArgWithoutTypeArguments.js | 17 + .../genericMemberFunction.errors.txt | 39 + .../reference/genericMemberFunction.js | 61 + ...edDeclarationUsingTypeParameter.errors.txt | 13 + ...ericMergedDeclarationUsingTypeParameter.js | 17 + ...dDeclarationUsingTypeParameter2.errors.txt | 11 + ...ricMergedDeclarationUsingTypeParameter2.js | 19 + .../genericMethodOverspecialization.js | 39 + .../reference/genericNewInterface.errors.txt | 16 + .../reference/genericNewInterface.js | 20 + ...icObjectCreationWithoutTypeArgs.errors.txt | 14 + .../reference/genericObjectLitReturnType.js | 25 + .../reference/genericOfACloduleType1.js | 46 + .../reference/genericOfACloduleType2.js | 52 + .../reference/genericOverloadSignatures.js | 41 + .../genericParameterAssignability1.js | 11 + .../reference/genericPrototypeProperty.js | 23 + .../reference/genericPrototypeProperty2.js | 48 + .../reference/genericPrototypeProperty3.js | 47 + ...rsiveImplicitConstructorErrors1.errors.txt | 16 + ...ericRecursiveImplicitConstructorErrors1.js | 18 + ...ericRecursiveImplicitConstructorErrors2.js | 65 + ...rsiveImplicitConstructorErrors3.errors.txt | 45 + ...ericRecursiveImplicitConstructorErrors3.js | 79 + .../reference/genericReduce.errors.txt | 20 + tests/baselines/reference/genericReduce.js | 27 + .../reference/genericRestArgs.errors.txt | 17 + tests/baselines/reference/genericRestArgs.js | 32 + .../genericReturnTypeFromGetter1.errors.txt | 13 + .../genericReversingTypeParameters.js | 28 + .../genericReversingTypeParameters2.js | 26 + .../reference/genericSignatureInheritance.js | 9 + .../reference/genericSignatureInheritance2.js | 11 + .../genericSpecializationToTypeLiteral1.js | 31 + .../reference/genericSpecializations1.js | 42 + .../genericSpecializations2.errors.txt | 24 + .../reference/genericSpecializations2.js | 54 + .../genericSpecializations3.errors.txt | 54 + .../reference/genericSpecializations3.js | 79 + .../reference/genericStaticAnyTypeFunction.js | 35 + .../genericTypeArgumentInference1.js | 23 + .../genericTypeAssertions1.errors.txt | 14 + .../reference/genericTypeAssertions1.js | 17 + .../genericTypeAssertions2.errors.txt | 25 + .../reference/genericTypeAssertions2.js | 45 + .../reference/genericTypeAssertions3.js | 12 + .../genericTypeAssertions4.errors.txt | 36 + .../reference/genericTypeAssertions4.js | 74 + .../genericTypeAssertions5.errors.txt | 36 + .../reference/genericTypeAssertions5.js | 40 + .../genericTypeAssertions6.errors.txt | 31 + .../reference/genericTypeAssertions6.js | 60 + .../genericTypeParameterEquivalence2.js | 98 + ...eReferenceWithoutTypeArgument.d.errors.txt | 55 + ...ypeReferenceWithoutTypeArgument.errors.txt | 86 + ...peReferenceWithoutTypeArgument2.errors.txt | 86 + ...peReferenceWithoutTypeArgument3.errors.txt | 55 + ...icTypeReferencesRequireTypeArgs.errors.txt | 20 + .../genericTypeReferencesRequireTypeArgs.js | 26 + ...icTypeUsedWithoutTypeArguments1.errors.txt | 6 + .../genericTypeUsedWithoutTypeArguments1.js | 11 + ...icTypeUsedWithoutTypeArguments3.errors.txt | 6 + .../genericTypeUsedWithoutTypeArguments3.js | 6 + .../genericTypeWithCallableMembers.js | 26 + .../genericTypeWithCallableMembers2.js | 16 + .../genericTypeWithMultipleBases1.js | 26 + .../genericTypeWithMultipleBases2.js | 27 + .../genericTypeWithMultipleBases3.js | 26 + ...cTypeWithNonGenericBaseMisMatch.errors.txt | 26 + .../genericTypeWithNonGenericBaseMisMatch.js | 21 + ...ithCallSignatureReturningSpecialization.js | 12 + .../reference/genericWithCallSignatures1.js | 30 + .../genericWithIndexerOfTypeParameterType1.js | 22 + .../genericWithIndexerOfTypeParameterType2.js | 55 + .../genericWithOpenTypeParameters1.errors.txt | 18 + .../genericWithOpenTypeParameters1.js | 36 + tests/baselines/reference/generics0.js | 15 + .../baselines/reference/generics1.errors.txt | 23 + tests/baselines/reference/generics1.js | 25 + tests/baselines/reference/generics1NoError.js | 19 + .../baselines/reference/generics2.errors.txt | 30 + tests/baselines/reference/generics2.js | 32 + tests/baselines/reference/generics2NoError.js | 26 + tests/baselines/reference/generics3.js | 21 + .../baselines/reference/generics4.errors.txt | 14 + tests/baselines/reference/generics4.js | 18 + tests/baselines/reference/generics4NoError.js | 19 + .../baselines/reference/generics5.errors.txt | 16 + tests/baselines/reference/generics5.js | 16 + .../genericsAndHigherOrderFunctions.js | 22 + .../reference/genericsManyTypeParameters.js | 65 + ...icsWithDuplicateTypeParameters1.errors.txt | 37 + .../genericsWithDuplicateTypeParameters1.js | 41 + .../genericsWithoutTypeParameters1.errors.txt | 64 + .../genericsWithoutTypeParameters1.js | 69 + ...ReturnTypeAndFunctionClassMerge.errors.txt | 36 + .../getAndSetAsMemberNames.errors.txt | 24 + .../getAndSetNotIdenticalType.errors.txt | 17 + .../getAndSetNotIdenticalType2.errors.txt | 31 + .../getAndSetNotIdenticalType3.errors.txt | 31 + .../reference/getsetReturnTypes.errors.txt | 10 + .../getterMissingReturnError.errors.txt | 11 + .../reference/getterSetterNonAccessor.js | 22 + ...erThatThrowsShouldNotNeedReturn.errors.txt | 12 + .../reference/gettersAndSetters.errors.txt | 57 + .../gettersAndSettersAccessibility.errors.txt | 14 + .../gettersAndSettersErrors.errors.txt | 35 + .../gettersAndSettersTypesAgree.errors.txt | 27 + tests/baselines/reference/giant.errors.txt | 1136 ++ tests/baselines/reference/global.js | 22 + tests/baselines/reference/globalThis.js | 5 + .../baselines/reference/globalThisCapture.js | 15 + .../reference/grammarAmbiguities.errors.txt | 16 + .../baselines/reference/grammarAmbiguities.js | 24 + .../reference/grammarAmbiguities1.errors.txt | 23 + .../reference/grammarAmbiguities1.js | 37 + .../heterogeneousArrayAndOverloads.errors.txt | 14 + .../heterogeneousArrayAndOverloads.js | 27 + .../reference/heterogeneousArrayLiterals.js | 241 + .../reference/hidingCallSignatures.js | 35 + .../reference/hidingConstructSignatures.js | 35 + .../reference/hidingIndexSignatures.js | 19 + tests/baselines/reference/i3.errors.txt | 10 + tests/baselines/reference/i3.js | 14 + tests/baselines/reference/icomparable.js | 17 + tests/baselines/reference/idInProp.js | 12 + .../reference/identicalCallSignatures.js | 24 + .../reference/identicalCallSignatures2.js | 13 + .../reference/identicalCallSignatures3.js | 21 + ...naturesWithTypeParametersAndAny.errors.txt | 23 + ...tyForSignaturesWithTypeParametersAndAny.js | 27 + ...ForSignaturesWithTypeParametersSwitched.js | 7 + .../reference/ifDoWhileStatements.js | 396 + .../ifElseWithStatements1.errors.txt | 17 + .../reference/ifElseWithStatements1.js | 25 + .../reference/illegalGenericWrapping1.js | 10 + ...illegalModifiersOnClassElements.errors.txt | 9 + .../illegalSuperCallsInConstructor.errors.txt | 50 + .../reference/implementArrayInterface.js | 36 + ...implementClausePrecedingExtends.errors.txt | 10 + ...ementGenericWithMismatchedTypes.errors.txt | 32 + .../implementGenericWithMismatchedTypes.js | 39 + .../implementInterfaceAnyMemberWithVoid.js | 19 + ...mplementPublicPropertyAsPrivate.errors.txt | 10 + .../implementPublicPropertyAsPrivate.js | 15 + ...rfaceExtendingClassWithPrivates.errors.txt | 37 + ...ngAnInterfaceExtendingClassWithPrivates.js | 52 + ...faceExtendingClassWithPrivates2.errors.txt | 129 + ...gAnInterfaceExtendingClassWithPrivates2.js | 196 + .../implementsClauseAlreadySeen.errors.txt | 19 + .../reference/implicitAnyAmbients.errors.txt | 46 + .../reference/implicitAnyAmbients.js | 30 + .../implicitAnyAnyReturningFunction.js | 45 + .../implicitAnyCastedValue.errors.txt | 99 + ...reFunctionExprWithoutFormalType.errors.txt | 34 + ...AnyDeclareFunctionExprWithoutFormalType.js | 47 + ...eclareFunctionWithoutFormalType.errors.txt | 28 + ...icitAnyDeclareFunctionWithoutFormalType.js | 43 + ...citAnyDeclareFunctionWithoutFormalType2.js | 34 + ...icitAnyDeclareMemberWithoutType.errors.txt | 26 + .../implicitAnyDeclareMemberWithoutType.js | 12 + ...citAnyDeclareMemberWithoutType2.errors.txt | 20 + .../implicitAnyDeclareMemberWithoutType2.js | 20 + ...yDeclareTypePropertyWithoutType.errors.txt | 30 + ...plicitAnyDeclareTypePropertyWithoutType.js | 34 + ...lareVariablesWithoutTypeAndInit.errors.txt | 18 + ...itAnyDeclareVariablesWithoutTypeAndInit.js | 23 + ...tionInvocationWithAnyArguements.errors.txt | 50 + ...tAnyFunctionInvocationWithAnyArguements.js | 75 + ...erloadWithImplicitAnyReturnType.errors.txt | 14 + ...nctionOverloadWithImplicitAnyReturnType.js | 14 + ...nyFunctionReturnNullOrUndefined.errors.txt | 37 + ...mplicitAnyFunctionReturnNullOrUndefined.js | 58 + ...implicitAnyGenericTypeInference.errors.txt | 13 + .../implicitAnyGenericTypeInference.js | 16 + .../reference/implicitAnyGenerics.js | 54 + ...AndSetAccessorWithAnyReturnType.errors.txt | 45 + ...implicitAnyInAmbientDeclaration.errors.txt | 19 + ...licitAnyInAmbientDeclaration2.d.errors.txt | 31 + .../baselines/reference/implicitAnyInCatch.js | 34 + ...NewExprLackConstructorSignature.errors.txt | 5 + ...licitAnyNewExprLackConstructorSignature.js | 9 + .../implicitAnyWidenToAny.errors.txt | 36 + .../reference/implicitAnyWidenToAny.js | 55 + ...nalModuleInsideAnInternalModule.errors.txt | 17 + ...sAnExternalModuleInsideAnInternalModule.js | 30 + .../reference/importAliasIdentifiers.js | 88 + .../reference/importAliasWithDottedName.js | 29 + .../reference/importAnImport.errors.txt | 10 + tests/baselines/reference/importAnImport.js | 10 + ...AndVariableDeclarationConflict1.errors.txt | 10 + .../importAndVariableDeclarationConflict1.js | 16 + .../importAndVariableDeclarationConflict2.js | 27 + ...AndVariableDeclarationConflict3.errors.txt | 10 + .../importAndVariableDeclarationConflict3.js | 16 + ...AndVariableDeclarationConflict4.errors.txt | 10 + .../importAndVariableDeclarationConflict4.js | 16 + .../reference/importAsBaseClass.errors.txt | 11 + .../baselines/reference/importAsBaseClass.js | 36 + .../baselines/reference/importDecl.errors.txt | 83 + tests/baselines/reference/importDecl.js | 170 + ...eingExternalModuleWithNoResolve.errors.txt | 16 + ...eclRefereingExternalModuleWithNoResolve.js | 8 + .../importDeclWithClassModifiers.errors.txt | 22 + .../importDeclWithDeclareModifier.errors.txt | 16 + ...DeclareModifierInAmbientContext.errors.txt | 16 + .../importDeclWithExportModifier.errors.txt | 10 + .../reference/importDeclWithExportModifier.js | 13 + ...portModifierAndExportAssignment.errors.txt | 11 + ...clWithExportModifierAndExportAssignment.js | 9 + ...xportAssignmentInAmbientContext.errors.txt | 11 + ...fierAndExportAssignmentInAmbientContext.js | 11 + ...tDeclWithExportModifierInAmbientContext.js | 12 + .../importDeclarationUsedAsTypeQuery.js | 31 + .../reference/importImportOnlyModule.js | 36 + .../reference/importInTypePosition.js | 42 + .../reference/importInsideModule.errors.txt | 12 + .../importNonExternalModule.errors.txt | 14 + .../reference/importNonExternalModule.js | 25 + .../importNonStringLiteral.errors.txt | 8 + .../reference/importOnAliasedIdentifiers.js | 22 + .../reference/importShadowsGlobalName.js | 38 + tests/baselines/reference/importStatements.js | 68 + .../importStatementsInterfaces.errors.txt | 44 + .../reference/importStatementsInterfaces.js | 61 + .../reference/importTsBeforeDTs.errors.txt | 14 + .../baselines/reference/importTsBeforeDTs.js | 21 + .../reference/importUsedInExtendsList1.js | 37 + .../import_reference-exported-alias.js | 49 + .../import_reference-to-type-alias.js | 42 + ...-referenecing-aliased-type-throug-array.js | 23 + ...ar-referencing-an-imported-module-alias.js | 26 + .../importedModuleAddToGlobal.errors.txt | 19 + .../reference/importedModuleAddToGlobal.js | 34 + .../reference/importedModuleClassNameClash.js | 16 + .../baselines/reference/inOperator.errors.txt | 15 + tests/baselines/reference/inOperator.js | 25 + .../reference/inOperatorWithFunction.js | 10 + .../reference/inOperatorWithGeneric.js | 18 + .../inOperatorWithInvalidOperands.errors.txt | 81 + .../inOperatorWithInvalidOperands.js | 75 + .../reference/inOperatorWithValidOperands.js | 40 + .../reference/incompatibleExports1.errors.txt | 23 + .../reference/incompatibleExports1.js | 21 + .../reference/incompatibleExports2.errors.txt | 8 + .../reference/incompatibleExports2.js | 8 + .../incompatibleGenericTypes.errors.txt | 14 + .../reference/incompatibleGenericTypes.js | 15 + .../reference/incompatibleTypes.errors.txt | 107 + .../baselines/reference/incompatibleTypes.js | 125 + ...incompleteDottedExpressionAtEOF.errors.txt | 7 + .../incompleteObjectLiteral1.errors.txt | 7 + .../incorrectClassOverloadChain.errors.txt | 8 + .../reference/incorrectClassOverloadChain.js | 14 + .../incrementAndDecrement.errors.txt | 104 + .../incrementOnTypeParameter.errors.txt | 14 + .../reference/incrementOnTypeParameter.js | 22 + .../incrementOperatorWithAnyOtherType.js | 91 + ...thAnyOtherTypeInvalidOperations.errors.txt | 154 + ...eratorWithAnyOtherTypeInvalidOperations.js | 130 + .../incrementOperatorWithEnumType.js | 26 + ...orWithEnumTypeInvalidOperations.errors.txt | 43 + ...ntOperatorWithEnumTypeInvalidOperations.js | 46 + .../incrementOperatorWithNumberType.js | 71 + ...WithNumberTypeInvalidOperations.errors.txt | 87 + ...OperatorWithNumberTypeInvalidOperations.js | 91 + ...ratorWithUnsupportedBooleanType.errors.txt | 113 + ...ementOperatorWithUnsupportedBooleanType.js | 106 + ...eratorWithUnsupportedStringType.errors.txt | 144 + ...rementOperatorWithUnsupportedStringType.js | 128 + .../baselines/reference/indexClassByNumber.js | 17 + .../indexIntoArraySubclass.errors.txt | 7 + .../reference/indexIntoArraySubclass.js | 10 + tests/baselines/reference/indexIntoEnum.js | 16 + ...SignatureMustHaveTypeAnnotation.errors.txt | 22 + .../indexSignatureTypeCheck.errors.txt | 27 + .../indexSignatureTypeCheck2.errors.txt | 23 + ...natureWithAccessibilityModifier.errors.txt | 16 + .../indexSignatureWithInitializer.errors.txt | 16 + .../indexSignaturesInferentialTyping.js | 21 + .../reference/indexTypeCheck.errors.txt | 80 + .../indexWithoutParamType.errors.txt | 4 + .../indexWithoutParamType2.errors.txt | 6 + tests/baselines/reference/indexer.js | 15 + tests/baselines/reference/indexer2.js | 10 + .../baselines/reference/indexer2A.errors.txt | 10 + tests/baselines/reference/indexer2A.js | 21 + tests/baselines/reference/indexer3.js | 7 + tests/baselines/reference/indexerA.js | 25 + .../reference/indexerAsOptional.errors.txt | 14 + .../reference/indexerAssignability.errors.txt | 20 + .../reference/indexerAssignability.js | 22 + .../reference/indexerConstraints.errors.txt | 52 + .../baselines/reference/indexerConstraints.js | 46 + .../reference/indexerConstraints2.errors.txt | 35 + .../reference/indexerConstraints2.js | 85 + .../indexerReturningTypeParameter1.js | 28 + .../indexerSignatureWithRestParam.errors.txt | 12 + .../reference/indexersInClassType.js | 32 + .../indirectSelfReference.errors.txt | 5 + .../reference/indirectSelfReference.js | 25 + .../indirectSelfReferenceGeneric.errors.txt | 5 + .../reference/indirectSelfReferenceGeneric.js | 25 + .../reference/inferSecondaryParameter.js | 17 + .../reference/inferSetterParamType.errors.txt | 29 + ...eArgumentsInSignatureWithRestParameters.js | 39 + .../inferentialTypingWithFunctionType.js | 8 + .../inferentialTypingWithFunctionType2.js | 11 + ...inferentialTypingWithFunctionTypeNested.js | 10 + ...ypingWithFunctionTypeSyntacticScenarios.js | 48 + .../inferentialTypingWithFunctionTypeZip.js | 11 + ...pingWithObjectLiteralProperties.errors.txt | 11 + ...entialTypingWithObjectLiteralProperties.js | 14 + .../inferentiallyTypingAnEmptyArray.js | 21 + ...edFunctionReturnTypeIsEmptyType.errors.txt | 19 + .../inferredFunctionReturnTypeIsEmptyType.js | 21 + ...dingTypeThroughInheritanceInstantiation.js | 13 + ...teExpansionThroughInstantiation.errors.txt | 33 + .../infiniteExpansionThroughInstantiation.js | 35 + ...eExpansionThroughInstantiation2.errors.txt | 14 + .../infiniteExpansionThroughInstantiation2.js | 14 + .../infiniteExpansionThroughTypeInference.js | 16 + .../infinitelyExpandingBaseTypes1.js | 17 + .../infinitelyExpandingBaseTypes2.js | 18 + .../infinitelyExpandingOverloads.errors.txt | 29 + .../infinitelyExpandingTypeAssignability.js | 16 + .../infinitelyExpandingTypes1.errors.txt | 26 + .../reference/infinitelyExpandingTypes1.js | 32 + .../infinitelyExpandingTypes2.errors.txt | 19 + .../reference/infinitelyExpandingTypes2.js | 24 + .../reference/infinitelyExpandingTypes3.js | 24 + .../reference/infinitelyExpandingTypes4.js | 31 + .../reference/infinitelyExpandingTypes5.js | 20 + .../infinitelyExpandingTypesNonGenericBase.js | 53 + .../infinitelyGenerativeInheritance1.js | 12 + ...inheritFromGenericTypeParameter.errors.txt | 7 + .../inheritFromGenericTypeParameter.js | 18 + ...ePropertiesFromDifferentOrigins.errors.txt | 15 + ...mePrivatePropertiesFromDifferentOrigins.js | 24 + ...SameNamePrivatePropertiesFromSameOrigin.js | 38 + ...pertiesWithDifferentOptionality.errors.txt | 15 + ...eNamePropertiesWithDifferentOptionality.js | 14 + ...opertiesWithDifferentVisibility.errors.txt | 15 + ...meNamePropertiesWithDifferentVisibility.js | 24 + .../reference/inheritance.errors.txt | 41 + tests/baselines/reference/inheritance.js | 103 + .../reference/inheritance1.errors.txt | 96 + tests/baselines/reference/inheritance1.js | 153 + ...andParentPrivateMemberCollision.errors.txt | 14 + ...itanceGrandParentPrivateMemberCollision.js | 42 + ...MemberCollisionWithPublicMember.errors.txt | 14 + ...tPrivateMemberCollisionWithPublicMember.js | 42 + ...emberCollisionWithPrivateMember.errors.txt | 14 + ...tPublicMemberCollisionWithPrivateMember.js | 42 + ...emberAccessorOverridingAccessor.errors.txt | 26 + ...eMemberAccessorOverridingMethod.errors.txt | 25 + ...emberAccessorOverridingProperty.errors.txt | 17 + ...nceMemberFuncOverridingAccessor.errors.txt | 25 + .../inheritanceMemberFuncOverridingMethod.js | 38 + ...nceMemberFuncOverridingProperty.errors.txt | 12 + ...inheritanceMemberFuncOverridingProperty.js | 33 + ...emberPropertyOverridingAccessor.errors.txt | 18 + ...eMemberPropertyOverridingMethod.errors.txt | 12 + ...heritanceMemberPropertyOverridingMethod.js | 33 + ...ritanceMemberPropertyOverridingProperty.js | 28 + .../inheritanceOfGenericConstructorMethod1.js | 32 + .../inheritanceOfGenericConstructorMethod2.js | 61 + ...taticAccessorOverridingAccessor.errors.txt | 26 + ...eStaticAccessorOverridingMethod.errors.txt | 23 + ...taticAccessorOverridingProperty.errors.txt | 17 + ...nceStaticFuncOverridingAccessor.errors.txt | 23 + ...uncOverridingAccessorOfFuncType.errors.txt | 14 + .../inheritanceStaticFuncOverridingMethod.js | 38 + ...nceStaticFuncOverridingProperty.errors.txt | 14 + ...inheritanceStaticFuncOverridingProperty.js | 33 + ...eStaticFuncOverridingPropertyOfFuncType.js | 33 + ...taticFunctionOverridingInstanceProperty.js | 33 + .../inheritanceStaticMembersCompatible.js | 28 + ...itanceStaticMembersIncompatible.errors.txt | 12 + .../inheritanceStaticMembersIncompatible.js | 28 + ...taticPropertyOverridingAccessor.errors.txt | 16 + ...eStaticPropertyOverridingMethod.errors.txt | 14 + ...heritanceStaticPropertyOverridingMethod.js | 33 + ...ritanceStaticPropertyOverridingProperty.js | 28 + ...eritedConstructorWithRestParams.errors.txt | 19 + .../inheritedConstructorWithRestParams.js | 44 + ...ritedConstructorWithRestParams2.errors.txt | 41 + .../inheritedConstructorWithRestParams2.js | 77 + ...nheritedFunctionAssignmentCompatibility.js | 17 + .../inheritedGenericCallSignature.js | 34 + ...dexSignaturesFromDifferentBases.errors.txt | 40 + ...ersAndIndexSignaturesFromDifferentBases.js | 30 + ...rsAndIndexSignaturesFromDifferentBases2.js | 12 + ...nheritedModuleMembersForClodule.errors.txt | 27 + .../inheritedModuleMembersForClodule.js | 63 + ...gIndexersFromDifferentBaseTypes.errors.txt | 37 + ...tedStringIndexersFromDifferentBaseTypes.js | 31 + ...IndexersFromDifferentBaseTypes2.errors.txt | 27 + ...edStringIndexersFromDifferentBaseTypes2.js | 27 + ...zerReferencingConstructorLocals.errors.txt | 46 + ...eferencingConstructorParameters.errors.txt | 38 + .../initializersInDeclarations.errors.txt | 34 + .../reference/initializersWidened.js | 9 + .../reference/innerAliases.errors.txt | 28 + tests/baselines/reference/innerAliases.js | 57 + tests/baselines/reference/innerAliases2.js | 42 + .../reference/innerBoundLambdaEmit.js | 23 + tests/baselines/reference/innerExtern.js | 29 + tests/baselines/reference/innerFunc.js | 32 + .../reference/innerModExport1.errors.txt | 30 + .../reference/innerModExport2.errors.txt | 33 + tests/baselines/reference/innerOverloads.js | 22 + .../reference/innerTypeArgumentInference.js | 10 + .../innerTypeCheckOfLambdaArgument.errors.txt | 16 + .../innerTypeCheckOfLambdaArgument.js | 21 + .../innerTypeParameterShadowingOuterOne.js | 47 + .../innerTypeParameterShadowingOuterOne2.js | 66 + .../instanceAndStaticDeclarations1.js | 31 + ...ceMemberAssignsToClassPrototype.errors.txt | 16 + .../instanceMemberAssignsToClassPrototype.js | 31 + .../reference/instanceMemberInitialization.js | 21 + .../reference/instanceOfInExternalModules.js | 28 + ...ropertiesInheritedIntoClassType.errors.txt | 55 + .../instancePropertyInClassType.errors.txt | 51 + .../reference/instanceSubtypeCheck1.js | 12 + .../instanceSubtypeCheck2.errors.txt | 13 + .../reference/instanceSubtypeCheck2.js | 28 + .../reference/instanceofOperator.errors.txt | 35 + .../baselines/reference/instanceofOperator.js | 37 + .../reference/instanceofOperatorWithAny.js | 8 + ...ceofOperatorWithInvalidOperands.errors.txt | 89 + .../instanceofOperatorWithInvalidOperands.js | 88 + .../instanceofOperatorWithLHSIsObject.js | 28 + ...nstanceofOperatorWithLHSIsTypeParameter.js | 11 + ...nceofOperatorWithRHSIsSubtypeOfFunction.js | 28 + ...iateConstraintsToTypeArguments2.errors.txt | 11 + .../instantiateConstraintsToTypeArguments2.js | 5 + ...sWithWrongNumberOfTypeArguments.errors.txt | 21 + ...ericClassWithWrongNumberOfTypeArguments.js | 31 + ...ntiateGenericClassWithZeroTypeArguments.js | 30 + ...NonGenericTypeWithTypeArguments.errors.txt | 31 + ...tantiateNonGenericTypeWithTypeArguments.js | 34 + .../instantiateTypeParameter.errors.txt | 12 + ...instantiatedBaseTypeConstraints.errors.txt | 14 + .../instantiatedBaseTypeConstraints.js | 21 + ...nstantiatedBaseTypeConstraints2.errors.txt | 7 + .../instantiatedBaseTypeConstraints2.js | 5 + .../baselines/reference/instantiatedModule.js | 113 + .../instantiatedReturnTypeContravariance.js | 57 + .../reference/intTypeCheck.errors.txt | 368 + .../interMixingModulesInterfaces0.js | 29 + .../interMixingModulesInterfaces1.js | 29 + .../interMixingModulesInterfaces2.js | 29 + .../interMixingModulesInterfaces3.js | 29 + .../interMixingModulesInterfaces4.js | 29 + .../interMixingModulesInterfaces5.js | 29 + tests/baselines/reference/interface0.js | 10 + .../interfaceAssignmentCompat.errors.txt | 63 + .../reference/interfaceAssignmentCompat.js | 92 + .../reference/interfaceContextualType.js | 38 + .../interfaceDeclaration1.errors.txt | 70 + .../reference/interfaceDeclaration1.js | 64 + .../interfaceDeclaration2.errors.txt | 16 + .../reference/interfaceDeclaration2.js | 24 + .../interfaceDeclaration3.errors.txt | 68 + .../reference/interfaceDeclaration3.js | 121 + .../interfaceDeclaration4.errors.txt | 57 + .../reference/interfaceDeclaration5.js | 14 + .../interfaceDeclaration6.errors.txt | 12 + .../reference/interfaceDeclaration6.js | 13 + .../interfaceExtendingClass.errors.txt | 22 + .../interfaceExtendingClass2.errors.txt | 29 + ...rfaceExtendingClassWithPrivates.errors.txt | 21 + .../interfaceExtendingClassWithPrivates.js | 26 + ...faceExtendingClassWithPrivates2.errors.txt | 41 + .../interfaceExtendingClassWithPrivates2.js | 49 + .../reference/interfaceExtendsClass1.js | 64 + ...terfaceExtendsClassWithPrivate1.errors.txt | 37 + .../interfaceExtendsClassWithPrivate1.js | 69 + ...terfaceExtendsClassWithPrivate2.errors.txt | 36 + .../interfaceExtendsClassWithPrivate2.js | 74 + .../interfaceImplementation1.errors.txt | 57 + .../reference/interfaceImplementation1.js | 69 + .../interfaceImplementation2.errors.txt | 17 + .../reference/interfaceImplementation2.js | 21 + .../interfaceImplementation3.errors.txt | 19 + .../reference/interfaceImplementation3.js | 25 + .../interfaceImplementation4.errors.txt | 17 + .../reference/interfaceImplementation4.js | 23 + .../interfaceImplementation5.errors.txt | 48 + .../interfaceImplementation6.errors.txt | 31 + .../reference/interfaceImplementation6.js | 52 + .../interfaceImplementation7.errors.txt | 20 + .../reference/interfaceImplementation7.js | 21 + .../interfaceImplementation8.errors.txt | 50 + .../reference/interfaceImplementation8.js | 97 + .../reference/interfaceInReopenedModule.js | 23 + .../reference/interfaceInheritance.errors.txt | 55 + .../reference/interfaceInheritance.js | 58 + .../reference/interfaceInheritance2.js | 14 + ...terfaceMayNotBeExtendedWitACall.errors.txt | 11 + .../interfaceMemberValidation.errors.txt | 20 + .../reference/interfaceMemberValidation.js | 14 + .../interfaceNameAsIdentifier.errors.txt | 18 + .../reference/interfaceNameAsIdentifier.js | 18 + .../reference/interfaceNaming1.errors.txt | 13 + tests/baselines/reference/interfaceOnly.js | 10 + .../interfacePropertiesWithSameName1.js | 16 + ...nterfacePropertiesWithSameName2.errors.txt | 37 + .../interfacePropertiesWithSameName2.js | 33 + ...nterfacePropertiesWithSameName3.errors.txt | 15 + .../interfacePropertiesWithSameName3.js | 21 + .../baselines/reference/interfaceSubtyping.js | 21 + .../interfaceThatHidesBaseProperty.js | 12 + ...interfaceThatHidesBaseProperty2.errors.txt | 16 + .../interfaceThatHidesBaseProperty2.js | 12 + ...hatIndirectlyInheritsFromItself.errors.txt | 34 + ...terfaceThatIndirectlyInheritsFromItself.js | 28 + ...interfaceThatInheritsFromItself.errors.txt | 33 + .../interfaceWithCallAndConstructSignature.js | 14 + ...ithCallSignaturesThatHidesBaseSignature.js | 15 + ...thCallSignaturesThatHidesBaseSignature2.js | 15 + ...nstructSignaturesThatHidesBaseSignature.js | 15 + ...structSignaturesThatHidesBaseSignature2.js | 15 + .../interfaceWithImplements1.errors.txt | 15 + .../interfaceWithMultipleBaseTypes.errors.txt | 95 + .../interfaceWithMultipleBaseTypes.js | 66 + ...interfaceWithMultipleBaseTypes2.errors.txt | 32 + .../interfaceWithMultipleBaseTypes2.js | 28 + ...terfaceWithMultipleDeclarations.errors.txt | 68 + .../interfaceWithMultipleDeclarations.js | 45 + .../interfaceWithOptionalProperty.js | 10 + ...ithOverloadedCallAndConstructSignatures.js | 21 + .../interfaceWithPrivateMember.errors.txt | 24 + .../interfaceWithPropertyOfEveryType.js | 77 + ...PropertyThatIsPrivateInBaseType.errors.txt | 22 + ...faceWithPropertyThatIsPrivateInBaseType.js | 28 + ...ropertyThatIsPrivateInBaseType2.errors.txt | 22 + ...aceWithPropertyThatIsPrivateInBaseType2.js | 32 + ...thSpecializedCallAndConstructSignatures.js | 22 + ...ingIndexerHidingBaseTypeIndexer.errors.txt | 21 + ...eWithStringIndexerHidingBaseTypeIndexer.js | 19 + ...ngIndexerHidingBaseTypeIndexer2.errors.txt | 25 + ...WithStringIndexerHidingBaseTypeIndexer2.js | 23 + ...ngIndexerHidingBaseTypeIndexer3.errors.txt | 21 + ...WithStringIndexerHidingBaseTypeIndexer3.js | 19 + tests/baselines/reference/interfacedecl.js | 58 + .../interfacedeclWithIndexerErrors.errors.txt | 57 + .../interfacedeclWithIndexerErrors.js | 55 + ...facesWithPredefinedTypesAsNames.errors.txt | 16 + .../baselines/reference/internalAliasClass.js | 29 + ...alAliasClassInsideLocalModuleWithExport.js | 58 + ...liasClassInsideLocalModuleWithoutExport.js | 53 + ...lModuleWithoutExportAccessError.errors.txt | 20 + ...sideLocalModuleWithoutExportAccessError.js | 42 + ...liasClassInsideTopLevelModuleWithExport.js | 39 + ...sClassInsideTopLevelModuleWithoutExport.js | 38 + .../baselines/reference/internalAliasEnum.js | 33 + ...nalAliasEnumInsideLocalModuleWithExport.js | 44 + ...AliasEnumInsideLocalModuleWithoutExport.js | 43 + ...lModuleWithoutExportAccessError.errors.txt | 17 + ...sideLocalModuleWithoutExportAccessError.js | 32 + ...AliasEnumInsideTopLevelModuleWithExport.js | 39 + ...asEnumInsideTopLevelModuleWithoutExport.js | 38 + .../reference/internalAliasFunction.js | 31 + ...liasFunctionInsideLocalModuleWithExport.js | 39 + ...sFunctionInsideLocalModuleWithoutExport.js | 38 + ...lModuleWithoutExportAccessError.errors.txt | 15 + ...sideLocalModuleWithoutExportAccessError.js | 29 + ...sFunctionInsideTopLevelModuleWithExport.js | 34 + ...nctionInsideTopLevelModuleWithoutExport.js | 31 + .../internalAliasInitializedModule.js | 34 + ...alizedModuleInsideLocalModuleWithExport.js | 46 + ...zedModuleInsideLocalModuleWithoutExport.js | 43 + ...lModuleWithoutExportAccessError.errors.txt | 16 + ...sideLocalModuleWithoutExportAccessError.js | 34 + ...zedModuleInsideTopLevelModuleWithExport.js | 37 + ...ModuleInsideTopLevelModuleWithoutExport.js | 38 + .../reference/internalAliasInterface.js | 20 + ...iasInterfaceInsideLocalModuleWithExport.js | 30 + ...InterfaceInsideLocalModuleWithoutExport.js | 29 + ...lModuleWithoutExportAccessError.errors.txt | 14 + ...sideLocalModuleWithoutExportAccessError.js | 21 + ...InterfaceInsideTopLevelModuleWithExport.js | 21 + ...erfaceInsideTopLevelModuleWithoutExport.js | 22 + .../internalAliasUninitializedModule.js | 24 + ...alizedModuleInsideLocalModuleWithExport.js | 35 + ...zedModuleInsideLocalModuleWithoutExport.js | 34 + ...lModuleWithoutExportAccessError.errors.txt | 19 + ...sideLocalModuleWithoutExportAccessError.js | 27 + ...zedModuleInsideTopLevelModuleWithExport.js | 31 + ...ModuleInsideTopLevelModuleWithoutExport.js | 28 + tests/baselines/reference/internalAliasVar.js | 24 + ...rnalAliasVarInsideLocalModuleWithExport.js | 33 + ...lAliasVarInsideLocalModuleWithoutExport.js | 32 + ...lModuleWithoutExportAccessError.errors.txt | 13 + ...sideLocalModuleWithoutExportAccessError.js | 23 + ...lAliasVarInsideTopLevelModuleWithExport.js | 27 + ...iasVarInsideTopLevelModuleWithoutExport.js | 24 + .../internalAliasWithDottedNameEmit.js | 20 + ...leMergedWithClassNotReferencingInstance.js | 29 + ...thClassNotReferencingInstanceNoConflict.js | 24 + ...nstantiatedModuleNotReferencingInstance.js | 21 + ...leMergedWithClassNotReferencingInstance.js | 24 + ...thClassNotReferencingInstanceNoConflict.js | 19 + ...dModuleNotReferencingInstanceNoConflict.js | 16 + .../baselines/reference/intrinsics.errors.txt | 20 + tests/baselines/reference/intrinsics.js | 36 + .../invalidAssignmentsToVoid.errors.txt | 43 + .../reference/invalidAssignmentsToVoid.js | 49 + .../invalidBooleanAssignments.errors.txt | 49 + .../reference/invalidBooleanAssignments.js | 57 + .../reference/invalidConstraint1.errors.txt | 9 + .../baselines/reference/invalidConstraint1.js | 13 + .../invalidDoWhileBreakStatements.js | 64 + .../invalidDoWhileContinueStatements.js | 64 + .../invalidEnumAssignments.errors.txt | 35 + .../reference/invalidEnumAssignments.js | 45 + .../reference/invalidForBreakStatements.js | 62 + .../reference/invalidForContinueStatements.js | 62 + .../reference/invalidForInBreakStatements.js | 63 + .../invalidForInContinueStatements.js | 63 + .../invalidImportAliasIdentifiers.errors.txt | 33 + .../invalidImportAliasIdentifiers.js | 38 + .../invalidInstantiatedModule.errors.txt | 20 + .../reference/invalidInstantiatedModule.js | 34 + ...ModuleWithStatementsOfEveryKind.errors.txt | 121 + .../invalidModuleWithVarStatements.errors.txt | 40 + ...lidMultipleVariableDeclarations.errors.txt | 78 + .../invalidMultipleVariableDeclarations.js | 113 + .../reference/invalidNestedModules.errors.txt | 32 + .../reference/invalidNestedModules.js | 78 + .../invalidNumberAssignments.errors.txt | 48 + .../reference/invalidNumberAssignments.js | 49 + .../invalidReferenceSyntax1.errors.txt | 7 + .../invalidReturnStatements.errors.txt | 27 + .../reference/invalidReturnStatements.js | 59 + tests/baselines/reference/invalidSplice.js | 5 + .../reference/invalidStaticField.errors.txt | 5 + .../baselines/reference/invalidStaticField.js | 19 + .../invalidStringAssignments.errors.txt | 53 + .../reference/invalidStringAssignments.js | 57 + .../reference/invalidSwitchBreakStatement.js | 14 + .../invalidSwitchContinueStatement.js | 14 + .../invalidSymbolInTypeParameter1.errors.txt | 7 + .../invalidSymbolInTypeParameter1.js | 10 + .../invalidThrowStatement.errors.txt | 9 + .../invalidTripleSlashReference.errors.txt | 10 + .../reference/invalidTryStatements.errors.txt | 20 + .../invalidTryStatements2.errors.txt | 20 + tests/baselines/reference/invalidTypeNames.js | 12 + .../reference/invalidTypeOfTarget.errors.txt | 27 + .../invalidUndefinedAssignments.errors.txt | 34 + .../reference/invalidUndefinedAssignments.js | 49 + .../reference/invalidUndefinedValues.js | 68 + .../invalidUnicodeEscapeSequance.errors.txt | 4 + .../invalidUnicodeEscapeSequance2.errors.txt | 4 + .../invalidUnicodeEscapeSequance3.errors.txt | 8 + .../invalidUnicodeEscapeSequance4.errors.txt | 5 + .../invalidVoidAssignments.errors.txt | 58 + .../reference/invalidVoidAssignments.js | 63 + .../reference/invalidVoidValues.errors.txt | 49 + .../baselines/reference/invalidVoidValues.js | 59 + .../reference/invalidWhileBreakStatements.js | 63 + .../invalidWhileContinueStatements.js | 63 + ...onExpressionInFunctionParameter.errors.txt | 7 + ...invocationExpressionInFunctionParameter.js | 12 + ...GenericMethodWithTypeArguments1.errors.txt | 9 + ...okingNonGenericMethodWithTypeArguments1.js | 15 + ...GenericMethodWithTypeArguments2.errors.txt | 11 + ...okingNonGenericMethodWithTypeArguments2.js | 17 + tests/baselines/reference/ipromise2.js | 29 + tests/baselines/reference/ipromise3.js | 19 + tests/baselines/reference/ipromise4.js | 27 + tests/baselines/reference/isLiteral1.js | 5 + tests/baselines/reference/isLiteral2.js | 5 + tests/baselines/reference/keywordField.js | 18 + tests/baselines/reference/knockout.errors.txt | 25 + tests/baselines/reference/knockout.js | 36 + tests/baselines/reference/lambdaASIEmit.js | 15 + .../reference/lambdaArgCrash.errors.txt | 39 + tests/baselines/reference/lambdaArgCrash.js | 63 + tests/baselines/reference/lambdaExpression.js | 12 + .../reference/lambdaParamTypes.errors.txt | 36 + tests/baselines/reference/lambdaParamTypes.js | 37 + .../reference/lambdaPropSelf.errors.txt | 26 + tests/baselines/reference/lambdaPropSelf.js | 47 + .../lastPropertyInLiteralWins.errors.txt | 26 + .../reference/lastPropertyInLiteralWins.js | 34 + .../baselines/reference/libMembers.errors.txt | 22 + tests/baselines/reference/libdtsFix.js | 7 + .../baselines/reference/library_ArraySlice.js | 10 + .../library_DatePrototypeProperties.js | 96 + .../library_ObjectPrototypeProperties.js | 19 + .../reference/library_RegExpExecArraySlice.js | 12 + .../reference/library_StringSlice.js | 11 + tests/baselines/reference/lift.errors.txt | 26 + tests/baselines/reference/lift.js | 47 + tests/baselines/reference/listFailure.js | 89 + .../reference/literals-negative.errors.txt | 14 + .../baselines/reference/literals-negative.js | 21 + tests/baselines/reference/literals.errors.txt | 48 + tests/baselines/reference/literals.js | 68 + tests/baselines/reference/literals1.js | 34 + .../reference/localAliasExportAssignment.js | 24 + .../reference/localImportNameVsGlobalName.js | 36 + .../localVariablesReturnedFromCatchBlocks.js | 18 + .../logicalAndOperatorWithEveryType.js | 240 + .../logicalAndOperatorWithTypeParameters.js | 35 + .../reference/logicalNotExpression1.js | 5 + ...calNotOperatorInvalidOperations.errors.txt | 20 + ...icalNotOperatorWithAnyOtherType.errors.txt | 66 + .../logicalNotOperatorWithAnyOtherType.js | 113 + .../logicalNotOperatorWithBooleanType.js | 72 + .../logicalNotOperatorWithEnumType.js | 44 + .../logicalNotOperatorWithNumberType.js | 88 + .../logicalNotOperatorWithStringType.js | 86 + .../logicalOrExpressionIsContextuallyTyped.js | 10 + ...gicalOrExpressionIsNotContextuallyTyped.js | 15 + .../logicalOrOperatorWithEveryType.js | 242 + .../logicalOrOperatorWithTypeParameters.js | 45 + tests/baselines/reference/m7Bugs.js | 52 + .../matchReturnTypeInAllBranches.errors.txt | 38 + .../reference/matchReturnTypeInAllBranches.js | 60 + ...chingOfObjectLiteralConstraints.errors.txt | 7 + .../matchingOfObjectLiteralConstraints.js | 10 + .../reference/maxConstraints.errors.txt | 13 + tests/baselines/reference/maxConstraints.js | 15 + .../memberAccessMustUseModuleInstances.js | 32 + .../memberAccessOnConstructorType.js | 7 + ...OverloadMixingStaticAndInstance.errors.txt | 36 + ...FunctionOverloadMixingStaticAndInstance.js | 42 + ...erFunctionsWithPrivateOverloads.errors.txt | 58 + .../memberFunctionsWithPrivateOverloads.js | 84 + .../memberFunctionsWithPublicOverloads.js | 69 + ...tionsWithPublicPrivateOverloads.errors.txt | 66 + ...mberFunctionsWithPublicPrivateOverloads.js | 78 + .../reference/memberOverride.errors.txt | 13 + tests/baselines/reference/memberOverride.js | 16 + .../reference/memberScope.errors.txt | 10 + tests/baselines/reference/memberScope.js | 20 + .../reference/memberVariableDeclarations1.js | 50 + .../reference/mergeThreeInterfaces.js | 100 + .../reference/mergeThreeInterfaces2.js | 112 + .../baselines/reference/mergeTwoInterfaces.js | 75 + .../reference/mergeTwoInterfaces2.js | 80 + .../reference/mergedDeclarations1.js | 33 + .../reference/mergedDeclarations2.errors.txt | 13 + .../reference/mergedDeclarations2.js | 25 + .../reference/mergedDeclarations3.errors.txt | 44 + .../reference/mergedDeclarations3.js | 89 + .../reference/mergedDeclarations4.js | 42 + .../reference/mergedEnumDeclarationCodeGen.js | 19 + .../mergedInterfaceFromMultipleFiles1.js | 32 + ...cesWithConflictingPropertyNames.errors.txt | 48 + ...dInterfacesWithConflictingPropertyNames.js | 44 + ...esWithConflictingPropertyNames2.errors.txt | 48 + ...InterfacesWithConflictingPropertyNames2.js | 44 + .../reference/mergedInterfacesWithIndexers.js | 22 + .../mergedInterfacesWithIndexers2.errors.txt | 29 + .../mergedInterfacesWithIndexers2.js | 25 + ...InterfacesWithInheritedPrivates.errors.txt | 35 + .../mergedInterfacesWithInheritedPrivates.js | 46 + ...nterfacesWithInheritedPrivates2.errors.txt | 45 + .../mergedInterfacesWithInheritedPrivates2.js | 67 + ...nterfacesWithInheritedPrivates3.errors.txt | 45 + .../mergedInterfacesWithInheritedPrivates3.js | 77 + .../mergedInterfacesWithMultipleBases.js | 92 + .../mergedInterfacesWithMultipleBases2.js | 133 + .../mergedInterfacesWithMultipleBases3.js | 63 + ...gedInterfacesWithMultipleBases4.errors.txt | 38 + .../mergedInterfacesWithMultipleBases4.js | 62 + .../mergedModuleDeclarationCodeGen.errors.txt | 26 + .../mergedModuleDeclarationCodeGen.js | 42 + .../mergedModuleDeclarationCodeGen2.js | 32 + .../mergedModuleDeclarationCodeGen3.js | 32 + .../mergedModuleDeclarationCodeGen4.js | 50 + .../mergedModuleDeclarationCodeGen5.js | 64 + ...dModuleDeclarationWithSharedExportedVar.js | 19 + .../methodContainingLocalFunction.js | 122 + .../methodSignatureDeclarationEmit1.js | 19 + .../methodSignaturesWithOverloads.errors.txt | 24 + .../methodSignaturesWithOverloads.js | 24 + .../methodSignaturesWithOverloads2.js | 37 + ...matchedClassConstructorVariable.errors.txt | 6 + .../mismatchedClassConstructorVariable.js | 17 + ...citTypeParameterAndArgumentType.errors.txt | 17 + ...hedExplicitTypeParameterAndArgumentType.js | 26 + .../reference/mismatchedGenericArguments1.js | 34 + .../missingImportAfterModuleImport.js | 39 + .../reference/missingReturnStatement.js | 21 + .../reference/missingReturnStatement1.js | 16 + tests/baselines/reference/missingSelf.js | 46 + .../missingTypeArguments1.errors.txt | 75 + .../reference/missingTypeArguments1.js | 122 + .../missingTypeArguments2.errors.txt | 15 + .../reference/missingTypeArguments2.js | 19 + .../reference/missingTypeArguments3.js | 44 + .../mixingFunctionAndAmbientModule1.js | 64 + ...ixingStaticAndInstanceOverloads.errors.txt | 44 + .../mixingStaticAndInstanceOverloads.js | 75 + tests/baselines/reference/modFunctionCrash.js | 12 + tests/baselines/reference/modKeyword.js | 10 + .../moduleAliasAsFunctionArgument.js | 27 + .../reference/moduleAliasInterface.js | 116 + .../moduleAndInterfaceSharingName.js | 13 + .../moduleAndInterfaceSharingName2.errors.txt | 11 + .../moduleAndInterfaceSharingName2.js | 13 + .../moduleAndInterfaceSharingName3.js | 13 + .../moduleAndInterfaceSharingName4.js | 12 + .../moduleAndInterfaceWithSameName.errors.txt | 34 + .../moduleAndInterfaceWithSameName.js | 56 + .../reference/moduleAsBaseType.errors.txt | 11 + tests/baselines/reference/moduleAsBaseType.js | 25 + .../moduleAssignmentCompat1.errors.txt | 21 + .../reference/moduleAssignmentCompat1.js | 46 + .../moduleAssignmentCompat2.errors.txt | 18 + .../reference/moduleAssignmentCompat2.js | 44 + .../moduleAssignmentCompat3.errors.txt | 19 + .../reference/moduleAssignmentCompat3.js | 29 + .../moduleAssignmentCompat4.errors.txt | 21 + .../reference/moduleAssignmentCompat4.js | 46 + .../moduleClassArrayCodeGenTest.errors.txt | 13 + .../reference/moduleClassArrayCodeGenTest.js | 29 + .../baselines/reference/moduleCodeGenTest3.js | 11 + .../baselines/reference/moduleCodeGenTest5.js | 58 + .../baselines/reference/moduleCodegenTest4.js | 13 + .../reference/moduleCrashBug1.errors.txt | 24 + tests/baselines/reference/moduleCrashBug1.js | 33 + .../reference/moduleExports1.errors.txt | 18 + tests/baselines/reference/moduleExports1.js | 38 + .../baselines/reference/moduleIdentifiers.js | 18 + .../reference/moduleImport.errors.txt | 16 + tests/baselines/reference/moduleImport.js | 40 + .../moduleImportedForTypeArgumentPosition.js | 37 + .../moduleInTypePosition1.errors.txt | 12 + .../reference/moduleInTypePosition1.js | 23 + .../moduleKeywordRepeatError.errors.txt | 8 + .../moduleMemberWithoutTypeAnnotation1.js | 118 + .../moduleMemberWithoutTypeAnnotation2.js | 33 + tests/baselines/reference/moduleMerge.js | 49 + .../reference/moduleNewExportBug.errors.txt | 16 + .../baselines/reference/moduleNewExportBug.js | 27 + tests/baselines/reference/moduleNoEmit.js | 10 + .../reference/moduleOuterQualification.js | 15 + .../reference/moduleProperty1.errors.txt | 18 + .../reference/moduleProperty2.errors.txt | 19 + tests/baselines/reference/moduleProperty2.js | 32 + .../reference/moduleRedifinitionErrors.js | 13 + .../reference/moduleReopenedTypeOtherBlock.js | 32 + .../reference/moduleReopenedTypeSameBlock.js | 30 + .../reference/moduleScoping.errors.txt | 23 + tests/baselines/reference/moduleScoping.js | 40 + tests/baselines/reference/moduleScopingBug.js | 49 + .../reference/moduleUnassignedVariable.js | 22 + .../reference/moduleVariableArrayIndexer.js | 13 + tests/baselines/reference/moduleVariables.js | 35 + .../reference/moduleVisibilityTest1.js | 147 + .../moduleVisibilityTest2.errors.txt | 81 + .../reference/moduleVisibilityTest2.js | 148 + .../moduleVisibilityTest3.errors.txt | 33 + .../reference/moduleVisibilityTest3.js | 47 + .../moduleWithNoValuesAsType.errors.txt | 22 + .../reference/moduleWithNoValuesAsType.js | 21 + .../moduleWithStatementsOfEveryKind.js | 162 + .../reference/moduleWithTryStatement1.js | 19 + .../moduleWithValuesAsType.errors.txt | 8 + .../reference/moduleWithValuesAsType.js | 13 + ..._augmentExistingAmbientVariable.errors.txt | 8 + .../module_augmentExistingAmbientVariable.js | 12 + .../module_augmentExistingVariable.errors.txt | 8 + .../module_augmentExistingVariable.js | 13 + .../baselines/reference/moduledecl.errors.txt | 237 + .../baselines/reference/multiCallOverloads.js | 28 + .../multiExtendsSplitInterfaces1.errors.txt | 4 + .../reference/multiExtendsSplitInterfaces1.js | 5 + .../reference/multiExtendsSplitInterfaces2.js | 30 + .../reference/multiImportExport.errors.txt | 26 + .../baselines/reference/multiImportExport.js | 47 + .../reference/multiLineErrors.errors.txt | 29 + tests/baselines/reference/multiLineErrors.js | 33 + .../reference/multiModuleClodule1.js | 48 + .../reference/multiModuleFundule1.js | 30 + ...rfaesWithIncompatibleProperties.errors.txt | 11 + ...BaseInterfaesWithIncompatibleProperties.js | 10 + .../multipleClassPropertyModifiers.errors.txt | 11 + ...pleClassPropertyModifiersErrors.errors.txt | 20 + .../multipleExportAssignments.errors.txt | 21 + .../reference/multipleExportAssignments.js | 21 + ...AssignmentsInAmbientDeclaration.errors.txt | 11 + ...leExportAssignmentsInAmbientDeclaration.js | 9 + .../reference/multipleInheritance.errors.txt | 53 + .../multipleNumericIndexers.errors.txt | 49 + .../reference/multipleNumericIndexers.js | 47 + .../multipleStringIndexers.errors.txt | 44 + .../reference/multipleStringIndexers.js | 46 + tests/baselines/reference/multivar.errors.txt | 49 + tests/baselines/reference/multivar.js | 87 + tests/baselines/reference/mutrec.js | 61 + .../mutuallyRecursiveGenericBaseTypes1.js | 21 + .../mutuallyRecursiveGenericBaseTypes2.js | 35 + tests/baselines/reference/nameCollision.js | 95 + .../reference/nameCollisions.errors.txt | 64 + tests/baselines/reference/nameCollisions.js | 111 + .../reference/nameDelimitedBySlashes.js | 15 + .../nameWithFileExtension.errors.txt | 9 + .../reference/nameWithFileExtension.js | 13 + .../reference/nameWithRelativePaths.js | 44 + ...nctionExpressionAssignedToClassProperty.js | 24 + .../reference/namedFunctionExpressionCall.js | 22 + ...medFunctionExpressionCallErrors.errors.txt | 23 + .../namedFunctionExpressionCallErrors.js | 27 + .../namedFunctionExpressionInModule.js | 15 + tests/baselines/reference/namespaces1.js | 14 + tests/baselines/reference/namespaces2.js | 23 + ...negateOperatorInvalidOperations.errors.txt | 33 + .../negateOperatorWithAnyOtherType.js | 102 + .../negateOperatorWithBooleanType.js | 68 + .../reference/negateOperatorWithEnumType.js | 38 + .../reference/negateOperatorWithNumberType.js | 82 + .../reference/negateOperatorWithStringType.js | 80 + tests/baselines/reference/negativeZero.js | 6 + .../nestedClassDeclaration.errors.txt | 35 + tests/baselines/reference/nestedGenerics.js | 9 + .../baselines/reference/nestedIfStatement.js | 19 + tests/baselines/reference/nestedIndexer.js | 12 + .../nestedInfinitelyExpandedRecursiveTypes.js | 18 + .../reference/nestedModulePrivateAccess.js | 17 + tests/baselines/reference/nestedModules.js | 54 + .../reference/nestedRecursiveLambda.js | 15 + tests/baselines/reference/nestedSelf.js | 27 + tests/baselines/reference/newArrays.js | 33 + .../newExpressionWithCast.errors.txt | 23 + ...arameterConstrainedToOuterTypeParameter.js | 10 + .../newFunctionImplicitAny.errors.txt | 7 + .../reference/newFunctionImplicitAny.js | 10 + .../reference/newMissingIdentifier.errors.txt | 5 + .../reference/newNonReferenceType.errors.txt | 8 + .../reference/newNonReferenceType.js | 8 + .../reference/newOnInstanceSymbol.errors.txt | 6 + .../reference/newOnInstanceSymbol.js | 13 + .../reference/newOperator.errors.txt | 72 + .../reference/newOperatorConformance.js | 106 + .../newOperatorErrorCases.errors.txt | 47 + tests/baselines/reference/noCatchBlock.js | 14 + tests/baselines/reference/noCatchBlock.js.map | 2 + .../reference/noCatchBlock.sourcemap.txt | 53 + ...CollisionThisExpressionAndClassInGlobal.js | 12 + ...xpressionAndLocalVarInAccessors.errors.txt | 52 + ...nThisExpressionAndLocalVarInConstructor.js | 46 + ...sionThisExpressionAndLocalVarInFunction.js | 17 + ...lisionThisExpressionAndLocalVarInLambda.js | 18 + ...lisionThisExpressionAndLocalVarInMethod.js | 44 + ...sionThisExpressionAndLocalVarInProperty.js | 44 + ...noCollisionThisExpressionAndVarInGlobal.js | 7 + ...nThisExpressionInFunctionAndVarInGlobal.js | 18 + .../reference/noConstraintInReturnType1.js | 18 + .../reference/noErrorsInCallback.errors.txt | 13 + .../baselines/reference/noErrorsInCallback.js | 21 + ...AndPrivateMembersWithoutTypeAnnotations.js | 16 + .../reference/noImplicitAnyForIn.errors.txt | 42 + .../baselines/reference/noImplicitAnyForIn.js | 53 + ...oImplicitAnyForMethodParameters.errors.txt | 23 + .../noImplicitAnyForMethodParameters.js | 31 + ...itAnyForwardReferencedInterface.errors.txt | 9 + ...noImplicitAnyForwardReferencedInterface.js | 9 + ...AnyFunctionExpressionAssignment.errors.txt | 17 + ...ImplicitAnyFunctionExpressionAssignment.js | 17 + .../noImplicitAnyFunctions.errors.txt | 34 + .../reference/noImplicitAnyFunctions.js | 35 + .../noImplicitAnyInBareInterface.errors.txt | 12 + .../reference/noImplicitAnyInBareInterface.js | 10 + ...tAnyInContextuallyTypesFunctionParamter.js | 9 + .../noImplicitAnyIndexing.errors.txt | 58 + .../reference/noImplicitAnyIndexing.js | 75 + .../reference/noImplicitAnyModule.errors.txt | 29 + .../reference/noImplicitAnyModule.js | 23 + ...icitAnyParametersInAmbientClass.errors.txt | 155 + .../noImplicitAnyParametersInAmbientClass.js | 95 + ...AnyParametersInAmbientFunctions.errors.txt | 89 + ...ImplicitAnyParametersInAmbientFunctions.js | 47 + ...citAnyParametersInAmbientModule.errors.txt | 91 + .../noImplicitAnyParametersInAmbientModule.js | 49 + ...citAnyParametersInBareFunctions.errors.txt | 89 + .../noImplicitAnyParametersInBareFunctions.js | 89 + .../noImplicitAnyParametersInClass.errors.txt | 181 + .../noImplicitAnyParametersInClass.js | 184 + ...mplicitAnyParametersInInterface.errors.txt | 106 + .../noImplicitAnyParametersInInterface.js | 54 + ...noImplicitAnyParametersInModule.errors.txt | 91 + .../noImplicitAnyParametersInModule.js | 94 + ...AnyReferencingDeclaredInterface.errors.txt | 10 + ...ImplicitAnyReferencingDeclaredInterface.js | 10 + ...mplicitAnyStringIndexerOnObject.errors.txt | 5 + .../noImplicitAnyStringIndexerOnObject.js | 6 + .../noImplicitAnyWithOverloads.errors.txt | 18 + .../reference/noImplicitAnyWithOverloads.js | 17 + tests/baselines/reference/noSelfOnVars.js | 15 + .../noTypeArgumentOnReturnType1.errors.txt | 9 + .../reference/noTypeArgumentOnReturnType1.js | 17 + .../nominalSubtypeCheckOfTypeParameter.js | 21 + .../nominalSubtypeCheckOfTypeParameter2.js | 25 + .../reference/nonArrayRestArgs.errors.txt | 7 + tests/baselines/reference/nonArrayRestArgs.js | 15 + .../nonConflictingRecursiveBaseTypeMembers.js | 12 + .../nonContextuallyTypedLogicalOr.errors.txt | 19 + .../nonContextuallyTypedLogicalOr.js | 22 + ...ExportedElementsOfMergedModules.errors.txt | 19 + .../nonExportedElementsOfMergedModules.js | 43 + ...enericClassExtendingGenericClassWithAny.js | 26 + .../reference/nonInstantiatedModule.js | 81 + tests/baselines/reference/null.js | 41 + .../reference/nullAssignableToEveryType.js | 82 + .../nullAssignedToUndefined.errors.txt | 5 + .../reference/nullAssignedToUndefined.js | 7 + .../nullIsSubtypeOfEverythingButUndefined.js | 181 + .../reference/nullKeyword.errors.txt | 4 + tests/baselines/reference/nullKeyword.js | 5 + tests/baselines/reference/numLit.errors.txt | 9 + tests/baselines/reference/numberAsInLHS.js | 5 + .../reference/numberAssignableToEnum.js | 16 + .../numberOnLeftSideOfInExpression.js | 9 + .../reference/numberPropertyAccess.js | 14 + .../reference/numberToString.errors.txt | 16 + tests/baselines/reference/numberToString.js | 22 + .../reference/numericClassMembers1.errors.txt | 20 + .../reference/numericClassMembers1.js | 39 + .../numericIndexExpressions.errors.txt | 24 + .../reference/numericIndexExpressions.js | 24 + ...rConstrainsPropertyDeclarations.errors.txt | 147 + ...ConstrainsPropertyDeclarations2.errors.txt | 69 + ...cIndexerConstrainsPropertyDeclarations2.js | 85 + .../numericIndexerConstraint.errors.txt | 7 + .../reference/numericIndexerConstraint.js | 12 + .../numericIndexerConstraint1.errors.txt | 8 + .../reference/numericIndexerConstraint1.js | 16 + .../numericIndexerConstraint2.errors.txt | 8 + .../reference/numericIndexerConstraint2.js | 17 + .../reference/numericIndexerConstraint3.js | 38 + .../reference/numericIndexerConstraint4.js | 33 + .../numericIndexerConstraint5.errors.txt | 6 + .../reference/numericIndexerConstraint5.js | 7 + .../numericIndexerTyping1.errors.txt | 17 + .../reference/numericIndexerTyping1.js | 19 + .../numericIndexerTyping2.errors.txt | 17 + .../reference/numericIndexerTyping2.js | 37 + .../reference/numericIndexingResults.js | 101 + .../baselines/reference/numericMethodName1.js | 13 + .../numericNamedPropertyDuplicates.errors.txt | 34 + ...cStringNamedPropertyEquivalence.errors.txt | 32 + .../numericStringNamedPropertyEquivalence.js | 36 + ...onExpressionInFunctionParameter.errors.txt | 11 + ...eationOfElementAccessExpression.errors.txt | 64 + ...objectCreationOfElementAccessExpression.js | 138 + tests/baselines/reference/objectIndexer.js | 26 + .../objectLitArrayDeclNoNew.errors.txt | 32 + .../reference/objectLitGetterSetter.js | 22 + .../objectLitIndexerContextualType.errors.txt | 35 + .../objectLitIndexerContextualType.js | 39 + .../objectLitPropertyScoping.errors.txt | 20 + ...objectLitStructuralTypeMismatch.errors.txt | 6 + .../objectLitStructuralTypeMismatch.js | 6 + .../objectLitTargetTypeCallSite.errors.txt | 8 + .../reference/objectLitTargetTypeCallSite.js | 12 + tests/baselines/reference/objectLiteral1.js | 5 + tests/baselines/reference/objectLiteral2.js | 5 + .../objectLiteralArraySpecialization.js | 13 + .../objectLiteralDeclarationGeneration1.js | 12 + .../reference/objectLiteralErrors.errors.txt | 129 + .../reference/objectLiteralErrors.js | 135 + .../objectLiteralErrorsES3.errors.txt | 15 + ...eralFunctionArgContextualTyping.errors.txt | 22 + ...bjectLiteralFunctionArgContextualTyping.js | 24 + ...ralFunctionArgContextualTyping2.errors.txt | 26 + ...jectLiteralFunctionArgContextualTyping2.js | 24 + .../objectLiteralGettersAndSetters.errors.txt | 152 + .../objectLiteralIndexerErrors.errors.txt | 20 + .../reference/objectLiteralIndexerErrors.js | 22 + .../reference/objectLiteralIndexers.js | 24 + ...bjectLiteralParameterResolution.errors.txt | 29 + .../objectLiteralParameterResolution.js | 29 + ...alReferencingInternalProperties.errors.txt | 4 + ...ectLiteralReferencingInternalProperties.js | 5 + .../reference/objectLiteralWidened.js | 28 + ...alWithGetAccessorInsideFunction.errors.txt | 11 + ...tLiteralWithNumericPropertyName.errors.txt | 14 + .../objectLiteralWithNumericPropertyName.js | 13 + .../reference/objectMembersOnTypes.js | 23 + ...peHidingMembersOfExtendedObject.errors.txt | 71 + ...objectTypeHidingMembersOfExtendedObject.js | 103 + .../objectTypeHidingMembersOfObject.js | 48 + ...MembersOfObjectAssignmentCompat.errors.txt | 37 + ...peHidingMembersOfObjectAssignmentCompat.js | 44 + ...embersOfObjectAssignmentCompat2.errors.txt | 47 + ...eHidingMembersOfObjectAssignmentCompat2.js | 45 + .../reference/objectTypeLiteralSyntax.js | 14 + .../objectTypeLiteralSyntax2.errors.txt | 17 + .../reference/objectTypePropertyAccess.js | 54 + ...ithCallSignatureAppearsToBeFunctionType.js | 26 + ...ignatureHidingMembersOfExtendedFunction.js | 47 + ...ithCallSignatureHidingMembersOfFunction.js | 35 + ...mbersOfFunctionAssignmentCompat.errors.txt | 19 + ...HidingMembersOfFunctionAssignmentCompat.js | 24 + ...ignatureAppearsToBeFunctionType.errors.txt | 23 + ...nstructSignatureAppearsToBeFunctionType.js | 29 + ...ignatureHidingMembersOfExtendedFunction.js | 44 + ...nstructSignatureHidingMembersOfFunction.js | 32 + ...mbersOfFunctionAssignmentCompat.errors.txt | 19 + ...HidingMembersOfFunctionAssignmentCompat.js | 24 + ...ypeWithDuplicateNumericProperty.errors.txt | 57 + .../objectTypeWithDuplicateNumericProperty.js | 47 + .../objectTypeWithNumericProperty.js | 74 + ...ypeWithRecursiveWrappedProperty.errors.txt | 17 + .../objectTypeWithRecursiveWrappedProperty.js | 26 + ...peWithRecursiveWrappedProperty2.errors.txt | 17 + ...objectTypeWithRecursiveWrappedProperty2.js | 26 + ...WrappedPropertyCheckedNominally.errors.txt | 75 + ...ecursiveWrappedPropertyCheckedNominally.js | 96 + ...tringIndexerHidingObjectIndexer.errors.txt | 46 + ...ypeWithStringIndexerHidingObjectIndexer.js | 47 + ...bjectTypeWithStringNamedNumericProperty.js | 216 + ...hStringNamedPropertyOfIllegalCharacters.js | 85 + .../reference/objectTypesIdentity.js | 142 + .../reference/objectTypesIdentity2.js | 111 + .../objectTypesIdentityWithCallSignatures.js | 169 + .../objectTypesIdentityWithCallSignatures2.js | 169 + ...ypesIdentityWithCallSignatures3.errors.txt | 44 + .../objectTypesIdentityWithCallSignatures3.js | 57 + ...yWithCallSignaturesDifferingParamCounts.js | 169 + ...WithCallSignaturesDifferingParamCounts2.js | 63 + ...IdentityWithCallSignaturesWithOverloads.js | 187 + ...sIdentityWithComplexConstraints.errors.txt | 19 + ...jectTypesIdentityWithComplexConstraints.js | 19 + ...ectTypesIdentityWithConstructSignatures.js | 138 + ...ctTypesIdentityWithConstructSignatures2.js | 123 + ...ConstructSignaturesDifferingParamCounts.js | 123 + ...tTypesIdentityWithGenericCallSignatures.js | 169 + ...TypesIdentityWithGenericCallSignatures2.js | 169 + ...ricCallSignaturesDifferingByConstraints.js | 171 + ...gnaturesDifferingByConstraints2.errors.txt | 131 + ...icCallSignaturesDifferingByConstraints2.js | 195 + ...gnaturesDifferingByConstraints3.errors.txt | 140 + ...icCallSignaturesDifferingByConstraints3.js | 214 + ...ericCallSignaturesDifferingByReturnType.js | 171 + ...ricCallSignaturesDifferingByReturnType2.js | 171 + ...lSignaturesDifferingTypeParameterCounts.js | 169 + ...SignaturesDifferingTypeParameterCounts2.js | 58 + ...llSignaturesDifferingTypeParameterNames.js | 169 + ...WithGenericCallSignaturesOptionalParams.js | 171 + ...ithGenericCallSignaturesOptionalParams2.js | 171 + ...ithGenericCallSignaturesOptionalParams3.js | 171 + ...nstructSignaturesDifferingByConstraints.js | 120 + ...gnaturesDifferingByConstraints2.errors.txt | 101 + ...structSignaturesDifferingByConstraints2.js | 141 + ...gnaturesDifferingByConstraints3.errors.txt | 110 + ...structSignaturesDifferingByConstraints3.js | 160 + ...onstructSignaturesDifferingByReturnType.js | 131 + ...nstructSignaturesDifferingByReturnType2.js | 125 + ...tSignaturesDifferingTypeParameterCounts.js | 117 + ...ctSignaturesDifferingTypeParameterNames.js | 117 + ...enericConstructSignaturesOptionalParams.js | 119 + ...nericConstructSignaturesOptionalParams2.js | 119 + ...nericConstructSignaturesOptionalParams3.js | 119 + ...objectTypesIdentityWithNumericIndexers1.js | 208 + ...objectTypesIdentityWithNumericIndexers2.js | 223 + ...objectTypesIdentityWithNumericIndexers3.js | 208 + .../objectTypesIdentityWithOptionality.js | 94 + .../objectTypesIdentityWithPrivates.js | 206 + .../objectTypesIdentityWithPrivates2.js | 73 + .../objectTypesIdentityWithPublics.js | 142 + .../objectTypesIdentityWithStringIndexers.js | 208 + .../objectTypesIdentityWithStringIndexers2.js | 223 + ...jectTypesWithOptionalProperties.errors.txt | 34 + ...ectTypesWithOptionalProperties2.errors.txt | 57 + ...tTypesWithPredefinedTypesAsName.errors.txt | 22 + .../objectTypesWithPredefinedTypesAsName.js | 41 + ...TypesWithPredefinedTypesAsName2.errors.txt | 6 + .../operatorAddNullUndefined.errors.txt | 26 + .../reference/operatorAddNullUndefined.js | 40 + .../optionalAccessorsInInterface1.js | 25 + .../optionalArgsWithDefaultValues.errors.txt | 20 + .../optionalConstructorArgInSuper.js | 36 + ...ptionalFunctionArgAssignability.errors.txt | 15 + .../optionalFunctionArgAssignability.js | 18 + .../optionalParamArgsTest.errors.txt | 169 + .../optionalParamAssignmentCompat.errors.txt | 16 + .../optionalParamAssignmentCompat.js | 17 + .../reference/optionalParamInOverride.js | 32 + .../optionalParamReferencingOtherParams1.js | 11 + ...nalParamReferencingOtherParams2.errors.txt | 8 + .../optionalParamReferencingOtherParams2.js | 15 + ...nalParamReferencingOtherParams3.errors.txt | 7 + .../optionalParamReferencingOtherParams3.js | 13 + .../optionalParamTypeComparison.errors.txt | 14 + .../reference/optionalParamTypeComparison.js | 12 + .../optionalPropertiesInClasses.errors.txt | 21 + .../reference/optionalPropertiesInClasses.js | 35 + .../optionalPropertiesSyntax.errors.txt | 64 + .../optionalPropertiesTest.errors.txt | 53 + .../reference/optionalPropertiesTest.js | 75 + .../reference/optionalSetterParam.errors.txt | 8 + ...attersForSignatureGroupIdentity.errors.txt | 27 + .../orderMattersForSignatureGroupIdentity.js | 33 + tests/baselines/reference/out-flag.js | 32 + tests/baselines/reference/out-flag.js.map | 2 + .../reference/out-flag.sourcemap.txt | 165 + ...erEagerReturnTypeSpecialization.errors.txt | 19 + .../overEagerReturnTypeSpecialization.js | 19 + .../baselines/reference/overload1.errors.txt | 52 + tests/baselines/reference/overload1.js | 83 + tests/baselines/reference/overload2.js | 34 + .../overloadAssignmentCompat.errors.txt | 41 + .../reference/overloadAssignmentCompat.js | 66 + ...rloadBindingAcrossDeclarationBoundaries.js | 41 + ...loadBindingAcrossDeclarationBoundaries2.js | 47 + tests/baselines/reference/overloadCallTest.js | 30 + tests/baselines/reference/overloadCrash.js | 19 + .../overloadEquivalenceWithStatics.js | 19 + .../overloadGenericFunctionWithRestArgs.js | 30 + .../overloadModifiersMustAgree.errors.txt | 26 + .../reference/overloadModifiersMustAgree.js | 27 + ...overloadOnConstAsTypeAnnotation.errors.txt | 8 + .../overloadOnConstConstraintChecks1.js | 73 + .../overloadOnConstConstraintChecks2.js | 44 + .../overloadOnConstConstraintChecks3.js | 46 + ...verloadOnConstConstraintChecks4.errors.txt | 16 + .../overloadOnConstConstraintChecks4.js | 54 + ...rloadOnConstDuplicateOverloads1.errors.txt | 15 + .../overloadOnConstDuplicateOverloads1.js | 17 + ...eWithBadImplementationInDerived.errors.txt | 13 + ...nstInBaseWithBadImplementationInDerived.js | 18 + .../overloadOnConstInCallback1.errors.txt | 12 + .../reference/overloadOnConstInCallback1.js | 23 + ...tLiteralImplementingAnInterface.errors.txt | 10 + ...tInObjectLiteralImplementingAnInterface.js | 10 + .../reference/overloadOnConstInheritance1.js | 12 + .../overloadOnConstInheritance2.errors.txt | 15 + .../reference/overloadOnConstInheritance2.js | 11 + .../overloadOnConstInheritance3.errors.txt | 18 + .../reference/overloadOnConstInheritance3.js | 12 + .../overloadOnConstInheritance4.errors.txt | 16 + .../reference/overloadOnConstInheritance4.js | 19 + ...rloadOnConstNoAnyImplementation.errors.txt | 24 + .../overloadOnConstNoAnyImplementation.js | 30 + ...loadOnConstNoAnyImplementation2.errors.txt | 32 + .../overloadOnConstNoAnyImplementation2.js | 49 + ...nConstNoNonSpecializedSignature.errors.txt | 8 + ...verloadOnConstNoNonSpecializedSignature.js | 15 + ...adOnConstNoStringImplementation.errors.txt | 22 + .../overloadOnConstNoStringImplementation.js | 30 + ...dOnConstNoStringImplementation2.errors.txt | 29 + .../overloadOnConstNoStringImplementation2.js | 48 + ...loadOnConstantsInvalidOverload1.errors.txt | 20 + .../overloadOnConstantsInvalidOverload1.js | 58 + .../reference/overloadOnGenericArity.js | 9 + ...verloadOnGenericClassAndNonGenericClass.js | 54 + .../reference/overloadResolution.errors.txt | 129 + .../baselines/reference/overloadResolution.js | 172 + ...loadResolutionClassConstructors.errors.txt | 138 + .../overloadResolutionClassConstructors.js | 189 + .../overloadResolutionConstructors.errors.txt | 137 + .../overloadResolutionConstructors.js | 171 + ...overloadResolutionOnDefaultConstructor1.js | 16 + .../overloadResolutionOverCTLambda.errors.txt | 5 + .../overloadResolutionOverCTLambda.js | 8 + .../overloadResolutionOverNonCTLambdas.js | 59 + .../overloadResolutionOverNonCTObjectLit.js | 32 + .../overloadResolutionTest1.errors.txt | 32 + .../reference/overloadResolutionTest1.js | 48 + .../reference/overloadResolutionWithAny.js | 34 + tests/baselines/reference/overloadRet.js | 13 + .../reference/overloadReturnTypes.js | 39 + ...CallbacksWithDifferingOptionalityOnArgs.js | 13 + .../overloadedStaticMethodSpecialization.js | 19 + .../overloadingOnConstants1.errors.txt | 38 + .../reference/overloadingOnConstants1.js | 77 + .../overloadingOnConstants2.errors.txt | 36 + .../reference/overloadingOnConstants2.js | 67 + ...dingOnConstantsInImplementation.errors.txt | 12 + .../overloadingOnConstantsInImplementation.js | 9 + ...adingStaticFunctionsInFunctions.errors.txt | 34 + ...nWithConstraintCheckingDeferred.errors.txt | 38 + ...esolutionWithConstraintCheckingDeferred.js | 36 + .../overloadsAndTypeArgumentArity.js | 12 + ...loadsAndTypeArgumentArityErrors.errors.txt | 13 + .../overloadsAndTypeArgumentArityErrors.js | 11 + ...rentContainersDisagreeOnAmbient.errors.txt | 11 + ...sInDifferentContainersDisagreeOnAmbient.js | 17 + .../overloadsWithProvisionalErrors.errors.txt | 17 + .../overloadsWithProvisionalErrors.js | 15 + .../overloadsWithinClasses.errors.txt | 26 + .../reference/overloadsWithinClasses.js | 49 + .../overridingPrivateStaticMembers.errors.txt | 11 + .../overridingPrivateStaticMembers.js | 28 + .../paramPropertiesInSignatures.errors.txt | 22 + .../reference/paramPropertiesInSignatures.js | 20 + ...parameterPropertyInConstructor1.errors.txt | 9 + .../parameterPropertyInConstructor1.js | 9 + ...parameterPropertyInConstructor2.errors.txt | 15 + .../parameterPropertyInConstructor2.js | 21 + ...ameterPropertyInitializerInInitializers.js | 14 + ...meterPropertyOutsideConstructor.errors.txt | 7 + .../parameterPropertyOutsideConstructor.js | 14 + ...ameterPropertyReferencingOtherParameter.js | 15 + .../parameterReferencesOtherParameter1.js | 23 + .../parameterReferencesOtherParameter2.js | 23 + .../parametersWithNoAnnotationAreAny.js | 58 + tests/baselines/reference/parse1.errors.txt | 8 + tests/baselines/reference/parse2.errors.txt | 6 + tests/baselines/reference/parseShortform.js | 14 + .../baselines/reference/parseTypes.errors.txt | 23 + tests/baselines/reference/parseTypes.js | 33 + .../reference/parser0_004152.errors.txt | 82 + .../reference/parser10.1.1-8gs.errors.txt | 21 + tests/baselines/reference/parser10.1.1-8gs.js | 25 + .../reference/parser15.4.4.14-9-2.errors.txt | 29 + .../reference/parser15.4.4.14-9-2.js | 41 + .../reference/parser509534.errors.txt | 17 + tests/baselines/reference/parser509534.js | 22 + .../reference/parser509546.errors.txt | 9 + tests/baselines/reference/parser509546.js | 13 + .../reference/parser509546_1.errors.txt | 9 + tests/baselines/reference/parser509546_1.js | 13 + .../reference/parser509546_2.errors.txt | 11 + tests/baselines/reference/parser509546_2.js | 16 + .../reference/parser509618.errors.txt | 7 + .../reference/parser509630.errors.txt | 9 + .../reference/parser509667.errors.txt | 14 + .../reference/parser509668.errors.txt | 7 + .../reference/parser509669.errors.txt | 6 + tests/baselines/reference/parser509677.js | 5 + .../reference/parser509693.errors.txt | 6 + tests/baselines/reference/parser509693.js | 6 + .../reference/parser509698.errors.txt | 6 + tests/baselines/reference/parser509698.js | 8 + .../reference/parser512084.errors.txt | 5 + .../reference/parser512097.errors.txt | 9 + .../reference/parser512325.errors.txt | 16 + .../reference/parser519458.errors.txt | 7 + .../reference/parser521128.errors.txt | 6 + .../reference/parser536727.errors.txt | 14 + tests/baselines/reference/parser536727.js | 20 + tests/baselines/reference/parser537152.js | 8 + .../reference/parser553699.errors.txt | 11 + tests/baselines/reference/parser553699.js | 23 + .../reference/parser566700.errors.txt | 4 + tests/baselines/reference/parser579071.js | 5 + .../reference/parser585151.errors.txt | 9 + .../reference/parser596700.errors.txt | 8 + .../reference/parser618973.errors.txt | 12 + .../reference/parser630933.errors.txt | 12 + tests/baselines/reference/parser642331.js | 12 + tests/baselines/reference/parser642331_1.js | 15 + tests/baselines/reference/parser643728.js | 8 + .../reference/parser645086_1.errors.txt | 8 + .../reference/parser645086_2.errors.txt | 8 + .../reference/parser645086_3.errors.txt | 8 + .../reference/parser645086_4.errors.txt | 8 + tests/baselines/reference/parser645484.js | 7 + tests/baselines/reference/parser768531.js | 9 + ...parserAccessibilityAfterStatic1.errors.txt | 8 + ...arserAccessibilityAfterStatic10.errors.txt | 8 + .../parserAccessibilityAfterStatic11.js | 15 + .../parserAccessibilityAfterStatic14.js | 15 + .../parserAccessibilityAfterStatic2.js | 13 + .../parserAccessibilityAfterStatic3.js | 14 + .../parserAccessibilityAfterStatic4.js | 13 + .../parserAccessibilityAfterStatic5.js | 13 + ...parserAccessibilityAfterStatic6.errors.txt | 6 + ...parserAccessibilityAfterStatic7.errors.txt | 8 + .../reference/parserAccessors1.errors.txt | 6 + tests/baselines/reference/parserAccessors1.js | 17 + .../reference/parserAccessors10.errors.txt | 10 + tests/baselines/reference/parserAccessors2.js | 17 + .../reference/parserAccessors3.errors.txt | 4 + tests/baselines/reference/parserAccessors3.js | 6 + tests/baselines/reference/parserAccessors4.js | 6 + .../reference/parserAccessors5.errors.txt | 6 + .../reference/parserAccessors6.errors.txt | 6 + .../reference/parserAccessors7.errors.txt | 6 + .../reference/parserAccessors8.errors.txt | 4 + .../reference/parserAccessors9.errors.txt | 4 + .../parserAdditiveExpression1.errors.txt | 6 + .../reference/parserAdditiveExpression1.js | 5 + .../reference/parserAmbiguity1.errors.txt | 6 + tests/baselines/reference/parserAmbiguity1.js | 5 + .../reference/parserAmbiguity2.errors.txt | 10 + tests/baselines/reference/parserAmbiguity2.js | 5 + .../reference/parserAmbiguity3.errors.txt | 10 + tests/baselines/reference/parserAmbiguity3.js | 5 + .../reference/parserArgumentList1.errors.txt | 16 + .../reference/parserArgumentList1.js | 14 + .../parserArrayLiteralExpression1.js | 5 + .../parserArrayLiteralExpression10.js | 5 + .../parserArrayLiteralExpression11.js | 5 + .../parserArrayLiteralExpression12.js | 5 + .../parserArrayLiteralExpression13.js | 5 + .../parserArrayLiteralExpression14.js | 5 + .../parserArrayLiteralExpression15.js | 5 + .../parserArrayLiteralExpression2.js | 5 + .../parserArrayLiteralExpression3.js | 5 + .../parserArrayLiteralExpression4.js | 5 + .../parserArrayLiteralExpression5.js | 5 + .../parserArrayLiteralExpression6.js | 5 + .../parserArrayLiteralExpression7.js | 5 + .../parserArrayLiteralExpression8.js | 5 + .../parserArrayLiteralExpression9.js | 5 + .../parserArrowFunctionExpression1.errors.txt | 4 + .../parserArrowFunctionExpression1.js | 6 + .../parserArrowFunctionExpression2.errors.txt | 8 + .../parserArrowFunctionExpression3.errors.txt | 10 + .../parserArrowFunctionExpression4.errors.txt | 6 + .../parserArrowFunctionExpression4.js | 6 + .../parserAssignmentExpression1.errors.txt | 8 + .../reference/parserAssignmentExpression1.js | 5 + .../reference/parserAstSpans1.errors.txt | 236 + ...serAutomaticSemicolonInsertion1.errors.txt | 20 + .../parserAutomaticSemicolonInsertion1.js | 25 + .../parserBlockStatement1.d.errors.txt | 4 + .../parserBreakStatement1.d.errors.txt | 4 + .../parserCastVersusArrowFunction1.errors.txt | 25 + .../parserCastVersusArrowFunction1.js | 25 + ...rCatchClauseWithTypeAnnotation1.errors.txt | 7 + .../reference/parserClass1.errors.txt | 22 + tests/baselines/reference/parserClass1.js | 35 + .../reference/parserClass2.errors.txt | 20 + tests/baselines/reference/parserClass2.js | 18 + .../parserClassDeclaration1.errors.txt | 11 + .../parserClassDeclaration10.errors.txt | 9 + .../reference/parserClassDeclaration10.js | 12 + .../parserClassDeclaration11.errors.txt | 7 + .../reference/parserClassDeclaration11.js | 14 + .../parserClassDeclaration12.errors.txt | 7 + .../reference/parserClassDeclaration12.js | 12 + .../parserClassDeclaration13.errors.txt | 7 + .../reference/parserClassDeclaration13.js | 14 + .../parserClassDeclaration14.errors.txt | 9 + .../reference/parserClassDeclaration14.js | 12 + .../parserClassDeclaration15.errors.txt | 7 + .../reference/parserClassDeclaration15.js | 12 + .../reference/parserClassDeclaration16.js | 14 + .../reference/parserClassDeclaration17.js | 10 + .../parserClassDeclaration18.errors.txt | 10 + .../reference/parserClassDeclaration19.js | 14 + .../parserClassDeclaration2.errors.txt | 15 + .../reference/parserClassDeclaration20.js | 14 + .../parserClassDeclaration21.errors.txt | 7 + .../reference/parserClassDeclaration21.js | 14 + .../parserClassDeclaration22.errors.txt | 7 + .../reference/parserClassDeclaration22.js | 14 + .../reference/parserClassDeclaration23.js | 10 + .../parserClassDeclaration24.errors.txt | 5 + .../reference/parserClassDeclaration24.js | 10 + .../parserClassDeclaration25.errors.txt | 14 + .../reference/parserClassDeclaration25.js | 17 + .../parserClassDeclaration26.errors.txt | 9 + .../parserClassDeclaration3.errors.txt | 11 + .../parserClassDeclaration4.errors.txt | 11 + .../parserClassDeclaration5.errors.txt | 15 + .../parserClassDeclaration6.errors.txt | 11 + .../parserClassDeclaration7.errors.txt | 7 + .../parserClassDeclaration8.errors.txt | 6 + .../reference/parserClassDeclaration8.js | 11 + .../parserClassDeclaration9.errors.txt | 6 + .../reference/parserClassDeclaration9.js | 11 + .../parserClassDeclarationIndexSignature1.js | 11 + .../parserCommaInTypeMemberList1.errors.txt | 4 + .../parserCommaInTypeMemberList2.errors.txt | 19 + .../parserConditionalExpression1.errors.txt | 16 + .../reference/parserConditionalExpression1.js | 5 + .../parserConstructorAmbiguity1.errors.txt | 4 + .../reference/parserConstructorAmbiguity1.js | 5 + .../parserConstructorAmbiguity2.errors.txt | 4 + .../reference/parserConstructorAmbiguity2.js | 5 + .../parserConstructorAmbiguity3.errors.txt | 6 + .../parserConstructorAmbiguity4.errors.txt | 8 + .../reference/parserConstructorAmbiguity4.js | 5 + .../parserConstructorDeclaration1.js | 11 + .../parserConstructorDeclaration10.errors.txt | 6 + .../parserConstructorDeclaration11.errors.txt | 8 + .../parserConstructorDeclaration2.errors.txt | 6 + .../parserConstructorDeclaration3.errors.txt | 6 + .../parserConstructorDeclaration4.errors.txt | 6 + .../parserConstructorDeclaration5.errors.txt | 6 + .../parserConstructorDeclaration6.errors.txt | 6 + .../parserConstructorDeclaration7.errors.txt | 8 + .../parserConstructorDeclaration8.errors.txt | 9 + .../parserConstructorDeclaration9.errors.txt | 6 + .../parserContinueStatement1.d.errors.txt | 4 + .../parserDebuggerStatement1.d.errors.txt | 4 + .../reference/parserDebuggerStatement1.js | 5 + .../reference/parserDebuggerStatement2.js | 5 + .../reference/parserDoStatement1.d.errors.txt | 8 + .../baselines/reference/parserDoStatement2.js | 8 + .../reference/parserES3Accessors1.errors.txt | 8 + .../reference/parserES3Accessors2.errors.txt | 6 + .../reference/parserES3Accessors3.errors.txt | 6 + .../reference/parserES3Accessors4.errors.txt | 4 + tests/baselines/reference/parserEmptyFile1.js | 4 + ...erEmptyParenthesizedExpression1.errors.txt | 6 + .../parserEmptyStatement1.d.errors.txt | 4 + .../reference/parserEmptyStatement1.js | 11 + .../reference/parserEnum1.errors.txt | 16 + tests/baselines/reference/parserEnum1.js | 18 + .../reference/parserEnum2.errors.txt | 16 + tests/baselines/reference/parserEnum2.js | 18 + .../reference/parserEnum3.errors.txt | 8 + tests/baselines/reference/parserEnum3.js | 10 + .../reference/parserEnum4.errors.txt | 12 + .../reference/parserEnum5.errors.txt | 10 + tests/baselines/reference/parserEnum6.js | 12 + tests/baselines/reference/parserEnum7.js | 12 + .../reference/parserEnumDeclaration1.js | 12 + .../parserEnumDeclaration2.errors.txt | 7 + .../parserEnumDeclaration3.d.errors.txt | 6 + .../reference/parserEnumDeclaration3.js | 6 + .../parserEnumDeclaration4.errors.txt | 5 + .../reference/parserEnumDeclaration5.js | 16 + .../parserEnumDeclaration6.errors.txt | 9 + ...EqualsGreaterThanAfterFunction1.errors.txt | 6 + ...EqualsGreaterThanAfterFunction2.errors.txt | 10 + ...tAccessibilityModifierInModule1.errors.txt | 12 + ...EqualsGreaterThanAfterFunction1.errors.txt | 6 + ...EqualsGreaterThanAfterFunction2.errors.txt | 10 + .../parserErrantSemicolonInClass1.errors.txt | 148 + ...RecoveryArrayLiteralExpression1.errors.txt | 5 + ...RecoveryArrayLiteralExpression2.errors.txt | 7 + ...RecoveryArrayLiteralExpression3.errors.txt | 8 + ...parserErrorRecoveryIfStatement1.errors.txt | 12 + ...parserErrorRecoveryIfStatement2.errors.txt | 14 + ...parserErrorRecoveryIfStatement3.errors.txt | 14 + ...parserErrorRecoveryIfStatement4.errors.txt | 14 + ...parserErrorRecoveryIfStatement5.errors.txt | 22 + ...parserErrorRecoveryIfStatement6.errors.txt | 15 + ...rserErrorRecovery_ArgumentList1.errors.txt | 11 + ...rserErrorRecovery_ArgumentList2.errors.txt | 8 + ...rserErrorRecovery_ArgumentList3.errors.txt | 11 + ...rserErrorRecovery_ArgumentList4.errors.txt | 13 + ...rserErrorRecovery_ArgumentList5.errors.txt | 11 + ...rserErrorRecovery_ArgumentList6.errors.txt | 8 + ...rserErrorRecovery_ArgumentList7.errors.txt | 10 + .../parserErrorRecovery_Block1.errors.txt | 7 + .../parserErrorRecovery_Block2.errors.txt | 7 + .../parserErrorRecovery_Block3.errors.txt | 9 + ...rserErrorRecovery_ClassElement1.errors.txt | 9 + ...rserErrorRecovery_ClassElement2.errors.txt | 9 + ...rserErrorRecovery_ClassElement3.errors.txt | 14 + ...parserErrorRecovery_Expression1.errors.txt | 4 + ...very_ExtendsOrImplementsClause1.errors.txt | 5 + ...very_ExtendsOrImplementsClause2.errors.txt | 7 + ...very_ExtendsOrImplementsClause3.errors.txt | 11 + ...very_ExtendsOrImplementsClause4.errors.txt | 7 + ...very_ExtendsOrImplementsClause5.errors.txt | 13 + ...very_ExtendsOrImplementsClause6.errors.txt | 4 + ...overy_IncompleteMemberVariable1.errors.txt | 31 + ...overy_IncompleteMemberVariable2.errors.txt | 33 + .../parserErrorRecovery_LeftShift1.errors.txt | 8 + ...serErrorRecovery_ModuleElement1.errors.txt | 13 + ...serErrorRecovery_ModuleElement2.errors.txt | 16 + ...serErrorRecovery_ObjectLiteral1.errors.txt | 4 + ...serErrorRecovery_ObjectLiteral2.errors.txt | 7 + ...serErrorRecovery_ObjectLiteral3.errors.txt | 7 + ...serErrorRecovery_ObjectLiteral4.errors.txt | 7 + ...serErrorRecovery_ObjectLiteral5.errors.txt | 5 + ...serErrorRecovery_ParameterList1.errors.txt | 5 + ...serErrorRecovery_ParameterList2.errors.txt | 7 + ...serErrorRecovery_ParameterList3.errors.txt | 5 + ...serErrorRecovery_ParameterList4.errors.txt | 5 + ...serErrorRecovery_ParameterList5.errors.txt | 10 + ...serErrorRecovery_ParameterList6.errors.txt | 12 + ...parserErrorRecovery_SourceUnit1.errors.txt | 8 + ...rErrorRecovery_SwitchStatement1.errors.txt | 14 + ...rErrorRecovery_SwitchStatement2.errors.txt | 11 + ...rserErrorRecovery_VariableList1.errors.txt | 5 + .../parserExportAsFunctionIdentifier.js | 12 + .../parserExportAssignment1.errors.txt | 6 + .../reference/parserExportAssignment1.js | 4 + .../parserExportAssignment2.errors.txt | 6 + .../reference/parserExportAssignment2.js | 4 + .../parserExportAssignment3.errors.txt | 6 + .../parserExportAssignment4.errors.txt | 6 + .../parserExportAssignment5.errors.txt | 6 + .../parserExportAssignment6.errors.txt | 6 + .../reference/parserExportAssignment6.js | 6 + .../parserExportAssignment7.errors.txt | 12 + .../reference/parserExportAssignment7.js | 13 + .../parserExportAssignment8.errors.txt | 11 + .../reference/parserExportAssignment8.js | 13 + .../parserExpressionStatement1.d.errors.txt | 6 + .../parserForInStatement1.d.errors.txt | 7 + .../parserForInStatement2.errors.txt | 7 + .../parserForInStatement3.errors.txt | 7 + .../parserForInStatement4.errors.txt | 5 + .../reference/parserForInStatement4.js | 7 + .../parserForInStatement5.errors.txt | 7 + .../reference/parserForInStatement5.js | 7 + .../parserForInStatement6.errors.txt | 7 + .../parserForInStatement7.errors.txt | 9 + .../parserForStatement1.d.errors.txt | 5 + .../reference/parserForStatement2.errors.txt | 9 + .../reference/parserForStatement2.js | 14 + .../reference/parserForStatement3.errors.txt | 16 + .../reference/parserForStatement3.js | 6 + .../reference/parserForStatement4.errors.txt | 9 + .../reference/parserForStatement4.js | 7 + .../reference/parserForStatement5.errors.txt | 7 + .../reference/parserForStatement5.js | 7 + .../reference/parserForStatement6.errors.txt | 9 + .../reference/parserForStatement6.js | 7 + .../reference/parserForStatement7.errors.txt | 9 + .../reference/parserForStatement7.js | 7 + .../reference/parserForStatement8.errors.txt | 7 + .../reference/parserForStatement8.js | 7 + .../parserFunctionDeclaration1.errors.txt | 6 + .../parserFunctionDeclaration2.d.errors.txt | 7 + .../parserFunctionDeclaration2.errors.txt | 5 + .../parserFunctionDeclaration3.errors.txt | 4 + .../reference/parserFunctionDeclaration3.js | 4 + .../parserFunctionDeclaration4.errors.txt | 5 + .../reference/parserFunctionDeclaration4.js | 7 + .../reference/parserFunctionDeclaration5.js | 7 + .../parserFunctionDeclaration6.errors.txt | 7 + .../reference/parserFunctionDeclaration6.js | 11 + .../parserFunctionDeclaration7.errors.txt | 6 + .../reference/parserFunctionDeclaration7.js | 9 + .../reference/parserFunctionDeclaration8.js | 6 + .../parserFunctionPropertyAssignment1.js | 6 + .../parserFunctionPropertyAssignment2.js | 6 + .../parserFunctionPropertyAssignment3.js | 6 + .../parserFunctionPropertyAssignment4.js | 6 + .../reference/parserFuzz1.errors.txt | 15 + .../reference/parserGenericClass1.js | 10 + .../reference/parserGenericClass2.js | 10 + .../reference/parserGenericConstraint1.js | 10 + .../parserGenericConstraint2.errors.txt | 7 + .../reference/parserGenericConstraint2.js | 10 + .../parserGenericConstraint3.errors.txt | 7 + .../reference/parserGenericConstraint3.js | 10 + .../parserGenericConstraint4.errors.txt | 7 + .../reference/parserGenericConstraint4.js | 10 + .../parserGenericConstraint5.errors.txt | 7 + .../reference/parserGenericConstraint5.js | 10 + .../parserGenericConstraint6.errors.txt | 7 + .../reference/parserGenericConstraint6.js | 10 + .../parserGenericConstraint7.errors.txt | 7 + .../reference/parserGenericConstraint7.js | 10 + ...GenericsInInterfaceDeclaration1.errors.txt | 10 + .../parserGenericsInInterfaceDeclaration1.js | 10 + .../parserGenericsInTypeContexts1.errors.txt | 36 + .../parserGenericsInTypeContexts1.js | 42 + .../parserGenericsInTypeContexts2.errors.txt | 36 + .../parserGenericsInTypeContexts2.js | 42 + ...rGenericsInVariableDeclaration1.errors.txt | 21 + .../parserGenericsInVariableDeclaration1.js | 17 + ...rGetAccessorWithTypeParameters1.errors.txt | 8 + .../parserGreaterThanTokenAmbiguity1.js | 5 + .../parserGreaterThanTokenAmbiguity10.js | 8 + ...rserGreaterThanTokenAmbiguity11.errors.txt | 4 + .../parserGreaterThanTokenAmbiguity11.js | 5 + ...rserGreaterThanTokenAmbiguity12.errors.txt | 4 + ...rserGreaterThanTokenAmbiguity13.errors.txt | 4 + ...rserGreaterThanTokenAmbiguity14.errors.txt | 5 + ...rserGreaterThanTokenAmbiguity15.errors.txt | 7 + .../parserGreaterThanTokenAmbiguity15.js | 8 + ...rserGreaterThanTokenAmbiguity16.errors.txt | 4 + .../parserGreaterThanTokenAmbiguity16.js | 5 + ...rserGreaterThanTokenAmbiguity17.errors.txt | 4 + ...rserGreaterThanTokenAmbiguity18.errors.txt | 4 + ...rserGreaterThanTokenAmbiguity19.errors.txt | 5 + ...arserGreaterThanTokenAmbiguity2.errors.txt | 6 + ...rserGreaterThanTokenAmbiguity20.errors.txt | 7 + .../parserGreaterThanTokenAmbiguity20.js | 8 + ...arserGreaterThanTokenAmbiguity3.errors.txt | 6 + ...arserGreaterThanTokenAmbiguity4.errors.txt | 8 + .../parserGreaterThanTokenAmbiguity5.js | 8 + .../parserGreaterThanTokenAmbiguity6.js | 5 + ...arserGreaterThanTokenAmbiguity7.errors.txt | 4 + ...arserGreaterThanTokenAmbiguity8.errors.txt | 4 + ...arserGreaterThanTokenAmbiguity9.errors.txt | 5 + .../reference/parserIfStatement1.d.errors.txt | 7 + .../reference/parserIfStatement2.errors.txt | 5 + .../baselines/reference/parserIfStatement2.js | 7 + .../parserImportDeclaration1.errors.txt | 4 + .../reference/parserImportDeclaration1.js | 4 + .../reference/parserInExpression1.errors.txt | 4 + .../reference/parserInExpression1.js | 5 + .../parserIndexMemberDeclaration1.js | 11 + .../parserIndexMemberDeclaration10.errors.txt | 8 + .../parserIndexMemberDeclaration2.js | 12 + .../parserIndexMemberDeclaration3.js | 12 + .../parserIndexMemberDeclaration4.js | 11 + .../parserIndexMemberDeclaration5.errors.txt | 6 + .../parserIndexMemberDeclaration6.errors.txt | 6 + .../parserIndexMemberDeclaration7.errors.txt | 6 + .../parserIndexMemberDeclaration8.errors.txt | 6 + .../parserIndexMemberDeclaration9.errors.txt | 6 + .../parserIndexSignature1.errors.txt | 6 + .../parserIndexSignature10.errors.txt | 6 + .../parserIndexSignature11.errors.txt | 12 + .../parserIndexSignature2.errors.txt | 8 + .../parserIndexSignature3.errors.txt | 6 + .../parserIndexSignature4.errors.txt | 8 + .../parserIndexSignature5.errors.txt | 6 + .../parserIndexSignature6.errors.txt | 6 + .../parserIndexSignature7.errors.txt | 6 + .../parserIndexSignature8.errors.txt | 8 + .../parserIndexSignature9.errors.txt | 6 + .../parserInterfaceDeclaration1.errors.txt | 11 + .../parserInterfaceDeclaration2.errors.txt | 13 + .../parserInterfaceDeclaration3.errors.txt | 5 + .../parserInterfaceDeclaration4.errors.txt | 5 + .../parserInterfaceDeclaration5.errors.txt | 5 + .../parserInterfaceDeclaration6.errors.txt | 8 + .../parserInterfaceDeclaration7.errors.txt | 6 + .../reference/parserInterfaceDeclaration7.js | 5 + .../parserInterfaceDeclaration8.errors.txt | 5 + .../reference/parserInterfaceDeclaration8.js | 5 + .../reference/parserInterfaceKeywordInEnum.js | 11 + .../parserInterfaceKeywordInEnum1.js | 14 + ...dentifiersInVariableStatements1.errors.txt | 10 + ...sOffOfObjectCreationExpression1.errors.txt | 4 + ...berAccessOffOfObjectCreationExpression1.js | 5 + .../parserKeywordsAsIdentifierName1.js | 14 + .../parserKeywordsAsIdentifierName2.js | 5 + .../parserLabeledStatement1.d.errors.txt | 7 + ...erAccessAfterPostfixExpression1.errors.txt | 8 + .../parserMemberAccessExpression1.errors.txt | 22 + ...erMemberAccessOffOfGenericType1.errors.txt | 8 + .../parserMemberAccessor1.errors.txt | 7 + .../reference/parserMemberAccessor1.js | 20 + ...arserMemberAccessorDeclaration1.errors.txt | 6 + .../parserMemberAccessorDeclaration1.js | 17 + ...rserMemberAccessorDeclaration10.errors.txt | 8 + ...rserMemberAccessorDeclaration11.errors.txt | 6 + ...rserMemberAccessorDeclaration12.errors.txt | 8 + ...rserMemberAccessorDeclaration13.errors.txt | 6 + ...rserMemberAccessorDeclaration14.errors.txt | 6 + ...rserMemberAccessorDeclaration15.errors.txt | 8 + ...rserMemberAccessorDeclaration16.errors.txt | 6 + ...rserMemberAccessorDeclaration17.errors.txt | 6 + ...rserMemberAccessorDeclaration18.errors.txt | 6 + ...arserMemberAccessorDeclaration2.errors.txt | 6 + .../parserMemberAccessorDeclaration2.js | 17 + ...arserMemberAccessorDeclaration3.errors.txt | 6 + .../parserMemberAccessorDeclaration3.js | 17 + .../parserMemberAccessorDeclaration4.js | 17 + .../parserMemberAccessorDeclaration5.js | 17 + .../parserMemberAccessorDeclaration6.js | 17 + ...arserMemberAccessorDeclaration7.errors.txt | 8 + ...arserMemberAccessorDeclaration8.errors.txt | 8 + ...arserMemberAccessorDeclaration9.errors.txt | 8 + ...arserMemberFunctionDeclaration1.errors.txt | 6 + ...arserMemberFunctionDeclaration2.errors.txt | 6 + ...arserMemberFunctionDeclaration3.errors.txt | 6 + ...arserMemberFunctionDeclaration4.errors.txt | 6 + ...arserMemberFunctionDeclaration5.errors.txt | 6 + ...FunctionDeclarationAmbiguities1.errors.txt | 22 + ...erMemberFunctionDeclarationAmbiguities1.js | 37 + ...arserMemberVariableDeclaration1.errors.txt | 6 + ...arserMemberVariableDeclaration2.errors.txt | 6 + ...arserMemberVariableDeclaration3.errors.txt | 6 + ...arserMemberVariableDeclaration4.errors.txt | 6 + ...arserMemberVariableDeclaration5.errors.txt | 6 + .../reference/parserMethodSignature1.js | 6 + .../reference/parserMethodSignature10.js | 6 + .../reference/parserMethodSignature11.js | 6 + .../reference/parserMethodSignature12.js | 6 + .../reference/parserMethodSignature2.js | 6 + .../reference/parserMethodSignature3.js | 6 + .../reference/parserMethodSignature4.js | 6 + .../reference/parserMethodSignature5.js | 6 + .../reference/parserMethodSignature6.js | 6 + .../reference/parserMethodSignature7.js | 6 + .../reference/parserMethodSignature8.js | 6 + .../reference/parserMethodSignature9.js | 6 + .../parserMissingLambdaOpenBrace1.errors.txt | 29 + .../reference/parserMissingToken1.errors.txt | 6 + .../reference/parserMissingToken2.errors.txt | 6 + ...serModifierOnPropertySignature1.errors.txt | 7 + .../parserModifierOnPropertySignature2.js | 8 + ...rserModifierOnStatementInBlock1.errors.txt | 11 + ...rserModifierOnStatementInBlock2.errors.txt | 9 + ...rserModifierOnStatementInBlock3.errors.txt | 12 + ...rserModifierOnStatementInBlock4.errors.txt | 13 + .../reference/parserModule1.errors.txt | 64 + tests/baselines/reference/parserModule1.js | 60 + .../parserModuleDeclaration1.d.errors.txt | 5 + .../parserModuleDeclaration1.errors.txt | 6 + .../reference/parserModuleDeclaration1.js | 5 + .../parserModuleDeclaration10.errors.txt | 8 + .../reference/parserModuleDeclaration10.js | 6 + .../reference/parserModuleDeclaration11.js | 12 + .../reference/parserModuleDeclaration12.js | 5 + .../parserModuleDeclaration2.d.errors.txt | 5 + .../reference/parserModuleDeclaration2.js | 5 + .../parserModuleDeclaration3.errors.txt | 7 + .../parserModuleDeclaration4.d.errors.txt | 9 + .../reference/parserModuleDeclaration4.js | 9 + .../parserModuleDeclaration5.errors.txt | 9 + .../reference/parserModuleDeclaration6.js | 5 + .../reference/parserModuleDeclaration7.js | 5 + .../reference/parserModuleDeclaration8.js | 5 + .../reference/parserModuleDeclaration9.js | 5 + ...IOnCallAfterFunctionExpression1.errors.txt | 9 + ...rserNoASIOnCallAfterFunctionExpression1.js | 8 + .../reference/parserNotHexLiteral1.errors.txt | 11 + .../reference/parserNotHexLiteral1.js | 12 + .../reference/parserNotRegex1.errors.txt | 9 + tests/baselines/reference/parserNotRegex1.js | 10 + .../parserObjectCreation1.errors.txt | 5 + .../reference/parserObjectCreation1.js | 5 + .../parserObjectCreation2.errors.txt | 4 + .../reference/parserObjectCreation2.js | 5 + ...rserObjectCreationArrayLiteral1.errors.txt | 6 + ...rserObjectCreationArrayLiteral2.errors.txt | 4 + .../parserObjectCreationArrayLiteral2.js | 5 + ...rserObjectCreationArrayLiteral3.errors.txt | 6 + ...rserObjectCreationArrayLiteral4.errors.txt | 4 + .../parserObjectCreationArrayLiteral4.js | 5 + .../reference/parserObjectLiterals1.js | 5 + .../baselines/reference/parserObjectType1.js | 5 + .../baselines/reference/parserObjectType2.js | 5 + .../baselines/reference/parserObjectType3.js | 8 + .../baselines/reference/parserObjectType4.js | 8 + .../reference/parserObjectType5.errors.txt | 9 + .../reference/parserObjectType6.errors.txt | 9 + .../parserOptionalTypeMembers1.errors.txt | 17 + .../reference/parserOptionalTypeMembers1.js | 11 + .../parserOverloadOnConstants1.errors.txt | 15 + .../reference/parserOverloadOnConstants1.js | 9 + .../reference/parserParameterList1.errors.txt | 6 + .../parserParameterList10.errors.txt | 8 + .../parserParameterList11.errors.txt | 4 + .../parserParameterList12.errors.txt | 5 + .../parserParameterList13.errors.txt | 6 + .../reference/parserParameterList13.js | 6 + .../parserParameterList14.errors.txt | 6 + .../reference/parserParameterList14.js | 6 + .../parserParameterList15.errors.txt | 7 + .../reference/parserParameterList15.js | 7 + .../parserParameterList16.errors.txt | 9 + .../reference/parserParameterList16.js | 14 + .../parserParameterList17.errors.txt | 9 + .../reference/parserParameterList17.js | 12 + .../reference/parserParameterList2.errors.txt | 6 + .../reference/parserParameterList3.errors.txt | 6 + .../reference/parserParameterList4.errors.txt | 5 + .../reference/parserParameterList4.js | 7 + .../reference/parserParameterList5.errors.txt | 7 + .../reference/parserParameterList5.js | 7 + .../reference/parserParameterList6.errors.txt | 7 + .../reference/parserParameterList6.js | 12 + .../reference/parserParameterList7.errors.txt | 10 + .../reference/parserParameterList7.js | 14 + .../reference/parserParameterList8.errors.txt | 12 + .../reference/parserParameterList8.js | 8 + .../reference/parserParameterList9.errors.txt | 6 + ...parserPostfixPostfixExpression1.errors.txt | 10 + .../parserPostfixUnaryExpression1.errors.txt | 10 + .../reference/parserPropertySignature1.js | 6 + .../reference/parserPropertySignature10.js | 6 + .../reference/parserPropertySignature11.js | 6 + .../reference/parserPropertySignature12.js | 6 + .../reference/parserPropertySignature2.js | 6 + .../reference/parserPropertySignature3.js | 6 + .../reference/parserPropertySignature4.js | 6 + .../reference/parserPropertySignature5.js | 6 + .../reference/parserPropertySignature6.js | 6 + .../reference/parserPropertySignature7.js | 6 + .../reference/parserPropertySignature8.js | 6 + .../reference/parserPropertySignature9.js | 6 + .../reference/parserPublicBreak1.errors.txt | 5 + .../reference/parserRealSource1.errors.txt | 157 + .../reference/parserRealSource10.errors.txt | 1140 ++ .../reference/parserRealSource11.errors.txt | 3395 ++++ .../reference/parserRealSource12.errors.txt | 949 ++ .../reference/parserRealSource13.errors.txt | 379 + .../reference/parserRealSource14.errors.txt | 896 + .../reference/parserRealSource2.errors.txt | 274 + .../reference/parserRealSource3.errors.txt | 122 + .../reference/parserRealSource4.errors.txt | 300 + .../reference/parserRealSource5.errors.txt | 87 + .../reference/parserRealSource6.errors.txt | 344 + .../reference/parserRealSource7.errors.txt | 1440 ++ .../reference/parserRealSource8.errors.txt | 733 + .../reference/parserRealSource9.errors.txt | 276 + .../parserRegularExpression1.errors.txt | 4 + .../reference/parserRegularExpression1.js | 5 + .../parserRegularExpression2.errors.txt | 10 + .../parserRegularExpression3.errors.txt | 4 + .../reference/parserRegularExpression3.js | 5 + .../parserRegularExpression4.errors.txt | 36 + .../reference/parserRegularExpression4.js | 6 + .../parserRegularExpression5.errors.txt | 6 + .../reference/parserRegularExpression5.js | 6 + ...gularExpressionDivideAmbiguity1.errors.txt | 7 + ...parserRegularExpressionDivideAmbiguity1.js | 6 + ...gularExpressionDivideAmbiguity2.errors.txt | 6 + ...parserRegularExpressionDivideAmbiguity2.js | 5 + ...gularExpressionDivideAmbiguity3.errors.txt | 4 + ...parserRegularExpressionDivideAmbiguity3.js | 6 + ...gularExpressionDivideAmbiguity4.errors.txt | 8 + ...gularExpressionDivideAmbiguity5.errors.txt | 8 + ...parserRegularExpressionDivideAmbiguity5.js | 5 + .../parserReturnStatement1.d.errors.txt | 4 + .../reference/parserReturnStatement1.js | 5 + .../reference/parserReturnStatement2.js | 9 + .../reference/parserReturnStatement3.js | 9 + .../parserReturnStatement4.errors.txt | 4 + .../reference/parserS12.11_A3_T4.errors.txt | 31 + .../reference/parserS7.2_A1.5_T2.errors.txt | 29 + .../baselines/reference/parserS7.2_A1.5_T2.js | 35 + .../reference/parserS7.3_A1.1_T2.errors.txt | 23 + .../baselines/reference/parserS7.3_A1.1_T2.js | 27 + .../reference/parserS7.6.1.1_A1.10.js | 17 + .../reference/parserS7.6_A4.2_T1.errors.txt | 212 + .../baselines/reference/parserS7.6_A4.2_T1.js | 280 + .../reference/parserS7.9_A5.7_T1.errors.txt | 24 + .../baselines/reference/parserS7.9_A5.7_T1.js | 26 + .../reference/parserSbp_7.9_A9_T3.js | 23 + ...rSetAccessorWithTypeAnnotation1.errors.txt | 7 + ...rSetAccessorWithTypeParameters1.errors.txt | 6 + .../reference/parserSkippedTokens1.errors.txt | 4 + .../parserSkippedTokens10.errors.txt | 9 + .../parserSkippedTokens11.errors.txt | 8 + .../parserSkippedTokens12.errors.txt | 8 + .../parserSkippedTokens13.errors.txt | 4 + .../parserSkippedTokens14.errors.txt | 10 + .../parserSkippedTokens15.errors.txt | 9 + .../parserSkippedTokens16.errors.txt | 27 + .../parserSkippedTokens17.errors.txt | 10 + .../parserSkippedTokens18.errors.txt | 10 + .../parserSkippedTokens19.errors.txt | 4 + .../reference/parserSkippedTokens2.errors.txt | 6 + .../parserSkippedTokens20.errors.txt | 8 + .../reference/parserSkippedTokens3.errors.txt | 6 + .../reference/parserSkippedTokens4.errors.txt | 4 + .../reference/parserSkippedTokens5.errors.txt | 4 + .../reference/parserSkippedTokens6.errors.txt | 4 + .../reference/parserSkippedTokens7.errors.txt | 4 + .../reference/parserSkippedTokens8.errors.txt | 5 + .../reference/parserSkippedTokens9.errors.txt | 5 + ...sNotAMemberVariableDeclaration1.errors.txt | 22 + ...atementIsNotAMemberVariableDeclaration1.js | 18 + .../reference/parserStrictMode1.errors.txt | 13 + .../baselines/reference/parserStrictMode1.js | 11 + .../baselines/reference/parserStrictMode10.js | 9 + .../baselines/reference/parserStrictMode11.js | 9 + .../reference/parserStrictMode12.errors.txt | 5 + .../baselines/reference/parserStrictMode13.js | 13 + .../reference/parserStrictMode14.errors.txt | 6 + .../baselines/reference/parserStrictMode14.js | 9 + .../parserStrictMode15-negative.errors.txt | 7 + .../reference/parserStrictMode15-negative.js | 7 + .../reference/parserStrictMode15.errors.txt | 5 + .../baselines/reference/parserStrictMode15.js | 7 + .../baselines/reference/parserStrictMode16.js | 13 + .../reference/parserStrictMode2.errors.txt | 14 + .../baselines/reference/parserStrictMode2.js | 13 + .../parserStrictMode3-negative.errors.txt | 4 + .../reference/parserStrictMode3-negative.js | 5 + .../reference/parserStrictMode3.errors.txt | 5 + .../baselines/reference/parserStrictMode3.js | 7 + .../reference/parserStrictMode4.errors.txt | 5 + .../baselines/reference/parserStrictMode4.js | 7 + .../reference/parserStrictMode5.errors.txt | 5 + .../baselines/reference/parserStrictMode5.js | 7 + .../parserStrictMode6-negative.errors.txt | 4 + .../reference/parserStrictMode6-negative.js | 5 + .../reference/parserStrictMode6.errors.txt | 5 + .../baselines/reference/parserStrictMode6.js | 7 + .../reference/parserStrictMode7.errors.txt | 5 + .../baselines/reference/parserStrictMode7.js | 7 + .../reference/parserStrictMode8.errors.txt | 6 + .../baselines/reference/parserStrictMode8.js | 9 + .../baselines/reference/parserStrictMode9.js | 9 + .../parserSuperExpression1.errors.txt | 18 + .../reference/parserSuperExpression1.js | 38 + .../parserSuperExpression2.errors.txt | 10 + .../parserSuperExpression3.errors.txt | 8 + .../reference/parserSuperExpression3.js | 16 + .../parserSuperExpression4.errors.txt | 18 + .../reference/parserSuperExpression4.js | 38 + .../parserSwitchStatement1.d.errors.txt | 7 + .../reference/parserSyntaxWalker.generated.js | 282 + ...parserTernaryAndCommaOperators1.errors.txt | 9 + .../parserTernaryAndCommaOperators1.js | 6 + .../parserThrowStatement1.d.errors.txt | 6 + .../parserTryStatement1.d.errors.txt | 7 + ...tionInObjectCreationExpression1.errors.txt | 8 + .../reference/parserTypeQuery1.errors.txt | 4 + tests/baselines/reference/parserTypeQuery1.js | 5 + .../reference/parserTypeQuery2.errors.txt | 4 + tests/baselines/reference/parserTypeQuery2.js | 5 + .../reference/parserTypeQuery3.errors.txt | 6 + .../reference/parserTypeQuery4.errors.txt | 6 + .../reference/parserTypeQuery5.errors.txt | 4 + tests/baselines/reference/parserTypeQuery5.js | 5 + .../reference/parserTypeQuery6.errors.txt | 4 + tests/baselines/reference/parserTypeQuery6.js | 5 + .../reference/parserTypeQuery7.errors.txt | 4 + tests/baselines/reference/parserTypeQuery7.js | 5 + .../reference/parserTypeQuery8.errors.txt | 10 + .../reference/parserTypeQuery9.errors.txt | 5 + tests/baselines/reference/parserTypeQuery9.js | 6 + .../parserUnaryExpression1.errors.txt | 4 + .../reference/parserUnaryExpression1.js | 5 + .../parserUnaryExpression2.errors.txt | 4 + .../reference/parserUnaryExpression2.js | 6 + .../parserUnaryExpression3.errors.txt | 4 + .../reference/parserUnaryExpression3.js | 5 + .../parserUnaryExpression4.errors.txt | 4 + .../reference/parserUnaryExpression4.js | 5 + .../parserUnaryExpression5.errors.txt | 6 + .../reference/parserUnaryExpression5.js | 5 + .../reference/parserUnaryExpression6.js | 4 + .../parserUnaryExpression7.errors.txt | 6 + .../reference/parserUnaryExpression7.js | 5 + ...nfinishedTypeNameBeforeKeyword1.errors.txt | 14 + .../reference/parserUnicode1.errors.txt | 17 + tests/baselines/reference/parserUnicode1.js | 24 + tests/baselines/reference/parserUnicode2.js | 5 + tests/baselines/reference/parserUnicode3.js | 10 + .../parserUnicodeWhitespaceCharacter1.js | 7 + .../parserUnterminatedGeneric1.errors.txt | 9 + .../parserUnterminatedGeneric2.errors.txt | 55 + ...serUsingConstructorAsIdentifier.errors.txt | 54 + .../parserUsingConstructorAsIdentifier.js | 83 + .../parserVariableDeclaration1.errors.txt | 14 + .../reference/parserVariableDeclaration1.js | 9 + .../parserVariableDeclaration10.errors.txt | 4 + .../reference/parserVariableDeclaration11.js | 5 + .../parserVariableDeclaration2.errors.txt | 14 + .../reference/parserVariableDeclaration2.js | 19 + .../parserVariableDeclaration3.errors.txt | 13 + .../reference/parserVariableDeclaration3.js | 12 + .../parserVariableDeclaration4.errors.txt | 6 + .../parserVariableDeclaration5.errors.txt | 4 + .../parserVariableDeclaration6.errors.txt | 4 + .../reference/parserVariableDeclaration7.js | 5 + .../parserVariableDeclaration8.errors.txt | 4 + .../reference/parserVariableDeclaration9.js | 5 + .../parserVariableStatement1.d.errors.txt | 6 + .../reference/parserVariableStatement1.js | 7 + .../parserVariableStatement2.d.errors.txt | 4 + .../reference/parserVariableStatement2.js | 7 + .../reference/parserVariableStatement3.js | 8 + .../reference/parserVariableStatement4.js | 8 + .../reference/parserVoidExpression1.js | 5 + .../parserWhileStatement1.d.errors.txt | 7 + .../parserWithStatement1.d.errors.txt | 7 + .../reference/parserWithStatement2.js | 7 + .../parserX_ArrowFunction1.errors.txt | 12 + .../parserX_ArrowFunction2.errors.txt | 8 + .../parserX_ArrowFunction3.errors.txt | 10 + .../reference/parserX_ArrowFunction4.js | 8 + .../parserX_TypeArgumentList1.errors.txt | 12 + ...rser_breakInIterationOrSwitchStatement1.js | 9 + ...rser_breakInIterationOrSwitchStatement2.js | 10 + ...rser_breakInIterationOrSwitchStatement3.js | 9 + ...akInIterationOrSwitchStatement4.errors.txt | 6 + ...rser_breakInIterationOrSwitchStatement4.js | 9 + ...r_breakNotInIterationOrSwitchStatement1.js | 5 + ...r_breakNotInIterationOrSwitchStatement2.js | 13 + .../reference/parser_breakTarget1.js | 6 + .../reference/parser_breakTarget2.js | 10 + .../reference/parser_breakTarget3.js | 11 + .../reference/parser_breakTarget4.js | 11 + .../reference/parser_breakTarget5.js | 18 + .../reference/parser_breakTarget6.js | 9 + .../parser_continueInIterationStatement1.js | 9 + .../parser_continueInIterationStatement2.js | 10 + .../parser_continueInIterationStatement3.js | 9 + ...r_continueInIterationStatement4.errors.txt | 6 + .../parser_continueInIterationStatement4.js | 9 + .../reference/parser_continueLabel.js | 9 + ...parser_continueNotInIterationStatement1.js | 5 + ...parser_continueNotInIterationStatement2.js | 13 + ...parser_continueNotInIterationStatement3.js | 11 + ...parser_continueNotInIterationStatement4.js | 15 + .../reference/parser_continueTarget1.js | 6 + .../reference/parser_continueTarget2.js | 10 + .../reference/parser_continueTarget3.js | 11 + .../reference/parser_continueTarget4.js | 11 + .../reference/parser_continueTarget5.js | 18 + .../reference/parser_continueTarget6.js | 9 + .../reference/parser_duplicateLabel1.js | 9 + .../reference/parser_duplicateLabel2.js | 13 + .../reference/parser_duplicateLabel3.js | 17 + .../reference/parser_duplicateLabel4.js | 14 + .../reference/parserharness.errors.txt | 2304 +++ .../reference/parserindenter.errors.txt | 998 ++ .../reference/parservoidInQualifiedName0.js | 5 + .../parservoidInQualifiedName1.errors.txt | 6 + .../parservoidInQualifiedName2.errors.txt | 8 + .../reference/partiallyAmbientClodule.js | 12 + .../reference/partiallyAmbientFundule.js | 9 + .../plusOperatorInvalidOperations.errors.txt | 13 + .../plusOperatorWithAnyOtherType.errors.txt | 63 + .../reference/plusOperatorWithAnyOtherType.js | 109 + .../reference/plusOperatorWithBooleanType.js | 68 + .../reference/plusOperatorWithEnumType.js | 40 + .../reference/plusOperatorWithNumberType.js | 82 + .../reference/plusOperatorWithStringType.js | 80 + ...refixIncrementAsOperandOfPlusExpression.js | 11 + .../prespecializedGenericMembers1.js | 40 + .../primaryExpressionMods.errors.txt | 17 + .../reference/primaryExpressionMods.js | 25 + .../primitiveConstraints1.errors.txt | 11 + .../reference/primitiveConstraints1.js | 15 + .../primitiveConstraints2.errors.txt | 14 + .../reference/primitiveConstraints2.js | 23 + .../reference/primitiveMembers.errors.txt | 44 + .../primitiveTypeAsClassName.errors.txt | 4 + .../reference/primitiveTypeAsClassName.js | 9 + .../primitiveTypeAsInterfaceName.errors.txt | 4 + .../reference/primitiveTypeAsInterfaceName.js | 4 + ...itiveTypeAsInterfaceNameGeneric.errors.txt | 4 + .../primitiveTypeAsInterfaceNameGeneric.js | 4 + .../reference/primitiveTypeAsmoduleName.js | 4 + .../primitiveTypeAssignment.errors.txt | 13 + .../reference/primitiveTypeAssignment.js | 12 + .../reference/primtiveTypesAreIdentical.js | 52 + .../privacyCheckAnonymousFunctionParameter.js | 32 + ...privacyCheckAnonymousFunctionParameter2.js | 33 + ...lbackOfInterfaceMethodWithTypeParameter.js | 12 + ...rtAssignmentOnExportedGenericInterface1.js | 13 + ...rtAssignmentOnExportedGenericInterface2.js | 26 + ...nalModuleExportAssignmentOfGenericClass.js | 24 + ...arameterReferenceInConstructorParameter.js | 28 + .../privacyCheckTypeOfFunction.errors.txt | 8 + .../reference/privacyCheckTypeOfFunction.js | 12 + .../privacyCheckTypeOfInvisibleModuleError.js | 19 + ...rivacyCheckTypeOfInvisibleModuleNoError.js | 22 + tests/baselines/reference/privacyClass.js | 427 + tests/baselines/reference/privacyFunc.js | 421 + .../reference/privacyGetter.errors.txt | 304 + tests/baselines/reference/privacyGloClass.js | 193 + tests/baselines/reference/privacyGloFunc.js | 985 ++ .../reference/privacyGloGetter.errors.txt | 129 + .../reference/privacyGloImport.errors.txt | 211 + .../reference/privacyGloInterface.js | 145 + tests/baselines/reference/privacyGloVar.js | 157 + .../reference/privacyImport.errors.txt | 573 + tests/baselines/reference/privacyInterface.js | 312 + ...yLocalInternalReferenceImportWithExport.js | 293 + ...calInternalReferenceImportWithoutExport.js | 295 + ...tExternalModuleImportWithExport.errors.txt | 57 + ...elAmbientExternalModuleImportWithExport.js | 74 + ...ternalModuleImportWithoutExport.errors.txt | 49 + ...mbientExternalModuleImportWithoutExport.js | 77 + ...pLevelInternalReferenceImportWithExport.js | 198 + ...velInternalReferenceImportWithoutExport.js | 198 + .../privacyTypeParameterOfFunction.errors.txt | 136 + .../privacyTypeParameterOfFunction.js | 242 + .../privacyTypeParametersOfClass.errors.txt | 47 + .../reference/privacyTypeParametersOfClass.js | 108 + ...rivacyTypeParametersOfInterface.errors.txt | 62 + .../privacyTypeParametersOfInterface.js | 83 + tests/baselines/reference/privacyVar.js | 339 + .../reference/privateAccessInSubclass1.js | 33 + ...ssPropertyAccessibleWithinClass.errors.txt | 48 + .../reference/privateIndexer.errors.txt | 20 + .../reference/privateIndexer2.errors.txt | 38 + ...vateInstanceMemberAccessibility.errors.txt | 26 + .../reference/privateInstanceVisibility.js | 67 + .../privateInterfaceProperties.errors.txt | 13 + .../reference/privateInterfaceProperties.js | 22 + .../privatePropertyUsingObjectType.js | 20 + ...rivateStaticMemberAccessibility.errors.txt | 13 + .../privateStaticMemberAccessibility.js | 31 + ...ateStaticNotAccessibleInClodule.errors.txt | 13 + .../privateStaticNotAccessibleInClodule.js | 22 + ...teStaticNotAccessibleInClodule2.errors.txt | 17 + .../privateStaticNotAccessibleInClodule2.js | 39 + .../reference/privateVisibility.errors.txt | 33 + .../baselines/reference/privateVisibility.js | 61 + tests/baselines/reference/privateVisibles.js | 22 + .../project/baseline/amd/baseline.json | 18 + .../reference/project/baseline/amd/decl.js | 7 + .../reference/project/baseline/amd/emit.js | 3 + .../project/baseline/node/baseline.json | 18 + .../reference/project/baseline/node/decl.js | 5 + .../reference/project/baseline/node/emit.js | 2 + .../project/baseline2/amd/baseline2.json | 18 + .../reference/project/baseline2/amd/decl.js | 7 + .../project/baseline2/amd/dont_emit.js | 3 + .../project/baseline2/node/baseline2.json | 18 + .../reference/project/baseline2/node/decl.js | 5 + .../project/baseline2/node/dont_emit.js | 1 + .../project/baseline3/amd/baseline3.json | 16 + .../project/baseline3/amd/nestedModule.js | 10 + .../project/baseline3/node/baseline3.json | 16 + .../project/baseline3/node/nestedModule.js | 8 + .../amd/cantFindTheModule.errors.txt | 3 + .../amd/cantFindTheModule.json | 14 + .../node/cantFindTheModule.errors.txt | 3 + .../node/cantFindTheModule.json | 14 + .../amd/circularReferencing.json | 16 + .../node/circularReferencing.json | 16 + .../amd/circularReferencing2.json | 19 + .../node/circularReferencing2.json | 19 + .../amd/declarationsCascadingImports.json | 20 + .../declarationsCascadingImports/amd/m4.d.ts | 4 + .../declarationsCascadingImports/amd/m4.js | 14 + .../amd/useModule.d.ts | 0 .../amd/useModule.js | 0 .../node/declarationsCascadingImports.json | 20 + .../declarationsCascadingImports/node/m4.d.ts | 4 + .../declarationsCascadingImports/node/m4.js | 12 + .../node/useModule.d.ts | 0 .../node/useModule.js | 0 .../amd/declarationsGlobalImport.json | 20 + .../declarationsGlobalImport/amd/glo_m4.d.ts | 4 + .../declarationsGlobalImport/amd/glo_m4.js | 14 + .../amd/useModule.d.ts | 3 + .../declarationsGlobalImport/amd/useModule.js | 5 + .../node/declarationsGlobalImport.json | 20 + .../declarationsGlobalImport/node/glo_m4.d.ts | 4 + .../declarationsGlobalImport/node/glo_m4.js | 12 + .../node/useModule.d.ts | 3 + .../node/useModule.js | 4 + .../amd/declarationsImportedInPrivate.json | 20 + .../amd/private_m4.d.ts | 4 + .../amd/private_m4.js | 14 + .../amd/useModule.d.ts | 6 + .../amd/useModule.js | 9 + .../node/declarationsImportedInPrivate.json | 20 + .../node/private_m4.d.ts | 4 + .../node/private_m4.js | 12 + .../node/useModule.d.ts | 6 + .../node/useModule.js | 8 + .../declarationsImportedUseInFunction.json | 20 + .../amd/fncOnly_m4.d.ts | 4 + .../amd/fncOnly_m4.js | 14 + .../amd/useModule.d.ts | 1 + .../amd/useModule.js | 3 + .../declarationsImportedUseInFunction.json | 20 + .../node/fncOnly_m4.d.ts | 4 + .../node/fncOnly_m4.js | 12 + .../node/useModule.d.ts | 1 + .../node/useModule.js | 2 + ...ionsIndirectImportShouldResultInError.json | 19 + .../amd/m4.js | 14 + .../amd/m5.js | 6 + .../amd/useModule.js | 8 + ...ionsIndirectImportShouldResultInError.json | 19 + .../node/m4.js | 12 + .../node/m5.js | 5 + .../node/useModule.js | 7 + .../amd/declarationsMultipleTimesImport.json | 20 + .../amd/m4.d.ts | 4 + .../declarationsMultipleTimesImport/amd/m4.js | 14 + .../amd/useModule.d.ts | 14 + .../amd/useModule.js | 17 + .../node/declarationsMultipleTimesImport.json | 20 + .../node/m4.d.ts | 4 + .../node/m4.js | 12 + .../node/useModule.d.ts | 14 + .../node/useModule.js | 17 + ...clarationsMultipleTimesMultipleImport.json | 23 + .../amd/m4.d.ts | 4 + .../amd/m4.js | 14 + .../amd/m5.d.ts | 1 + .../amd/m5.js | 6 + .../amd/useModule.d.ts | 12 + .../amd/useModule.js | 15 + ...clarationsMultipleTimesMultipleImport.json | 23 + .../node/m4.d.ts | 4 + .../node/m4.js | 12 + .../node/m5.d.ts | 1 + .../node/m5.js | 5 + .../node/useModule.d.ts | 12 + .../node/useModule.js | 15 + .../amd/declarationsSimpleImport.json | 20 + .../declarationsSimpleImport/amd/m4.d.ts | 4 + .../declarationsSimpleImport/amd/m4.js | 14 + .../amd/useModule.d.ts | 11 + .../declarationsSimpleImport/amd/useModule.js | 14 + .../node/declarationsSimpleImport.json | 20 + .../declarationsSimpleImport/node/m4.d.ts | 4 + .../declarationsSimpleImport/node/m4.js | 12 + .../node/useModule.d.ts | 11 + .../node/useModule.js | 13 + .../declareExportAdded/amd/consumer.js | 1 + .../amd/declareExportAdded.json | 16 + .../declareExportAdded/node/consumer.js | 1 + .../node/declareExportAdded.json | 16 + .../amd/declareVariableCollision.errors.txt | 1 + .../amd/declareVariableCollision.json | 16 + .../node/declareVariableCollision.errors.txt | 1 + .../node/declareVariableCollision.json | 16 + .../amd/extReferencingExtAndInt.json | 18 + .../node/extReferencingExtAndInt.json | 18 + .../amd/intReferencingExtAndInt.errors.txt | 1 + .../amd/intReferencingExtAndInt.json | 12 + .../node/intReferencingExtAndInt.errors.txt | 1 + .../node/intReferencingExtAndInt.json | 12 + ...ootAbsolutePathMixedSubfolderNoOutdir.json | 29 + ...tePathMixedSubfolderNoOutdir.sourcemap.txt | 518 + .../amd/ref/m1.d.ts | 0 .../amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + .../amd/ref/m2.d.ts | 6 + .../amd/ref/m2.js | 15 + .../amd/ref/m2.js.map | 1 + .../amd/test.d.ts | 2 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + ...ootAbsolutePathMixedSubfolderNoOutdir.json | 29 + ...tePathMixedSubfolderNoOutdir.sourcemap.txt | 517 + .../node/ref/m1.d.ts | 0 .../node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + .../node/ref/m2.d.ts | 6 + .../node/ref/m2.js | 13 + .../node/ref/m2.js.map | 1 + .../node/test.d.ts | 2 + .../node/test.js | 11 + .../node/test.js.map | 1 + ...hMixedSubfolderSpecifyOutputDirectory.json | 30 + ...folderSpecifyOutputDirectory.sourcemap.txt | 518 + .../amd/outdir/simple/ref/m1.d.ts | 0 .../amd/outdir/simple/ref/m1.js | 11 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/ref/m2.d.ts | 6 + .../amd/outdir/simple/ref/m2.js | 15 + .../amd/outdir/simple/ref/m2.js.map | 1 + .../amd/outdir/simple/test.d.ts | 2 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...hMixedSubfolderSpecifyOutputDirectory.json | 30 + ...folderSpecifyOutputDirectory.sourcemap.txt | 517 + .../node/outdir/simple/ref/m1.d.ts | 0 .../node/outdir/simple/ref/m1.js | 11 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/ref/m2.d.ts | 6 + .../node/outdir/simple/ref/m2.js | 13 + .../node/outdir/simple/ref/m2.js.map | 1 + .../node/outdir/simple/test.d.ts | 2 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 1 + .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + ...tePathMixedSubfolderSpecifyOutputFile.json | 27 + ...edSubfolderSpecifyOutputFile.sourcemap.txt | 512 + .../amd/ref/m2.d.ts | 6 + .../amd/ref/m2.js | 15 + .../amd/ref/m2.js.map | 1 + .../node/bin/test.d.ts | 1 + .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + ...tePathMixedSubfolderSpecifyOutputFile.json | 27 + ...edSubfolderSpecifyOutputFile.sourcemap.txt | 511 + .../node/ref/m2.d.ts | 6 + .../node/ref/m2.js | 13 + .../node/ref/m2.js.map | 1 + .../amd/bin/outAndOutDirFile.d.ts | 1 + .../amd/bin/outAndOutDirFile.js | 21 + .../amd/bin/outAndOutDirFile.js.map | 1 + ...erSpecifyOutputFileAndOutputDirectory.json | 28 + ...OutputFileAndOutputDirectory.sourcemap.txt | 512 + .../amd/outdir/outAndOutDirFolder/ref/m2.d.ts | 6 + .../amd/outdir/outAndOutDirFolder/ref/m2.js | 15 + .../outdir/outAndOutDirFolder/ref/m2.js.map | 1 + .../node/bin/outAndOutDirFile.d.ts | 1 + .../node/bin/outAndOutDirFile.js | 21 + .../node/bin/outAndOutDirFile.js.map | 1 + ...erSpecifyOutputFileAndOutputDirectory.json | 28 + ...OutputFileAndOutputDirectory.sourcemap.txt | 511 + .../outdir/outAndOutDirFolder/ref/m2.d.ts | 6 + .../node/outdir/outAndOutDirFolder/ref/m2.js | 13 + .../outdir/outAndOutDirFolder/ref/m2.js.map | 1 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 15 + .../amd/diskFile2.d.ts | 6 + ...AbsolutePathModuleMultifolderNoOutdir.json | 29 + ...athModuleMultifolderNoOutdir.sourcemap.txt | 652 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + .../amd/test.d.ts | 8 + .../amd/test.js | 17 + .../amd/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 13 + .../node/diskFile2.d.ts | 6 + ...AbsolutePathModuleMultifolderNoOutdir.json | 29 + ...athModuleMultifolderNoOutdir.sourcemap.txt | 683 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 8 + .../node/test.js | 17 + .../node/test.js.map | 1 + ...duleMultifolderSpecifyOutputDirectory.json | 30 + ...folderSpecifyOutputDirectory.sourcemap.txt | 652 + .../outputdir_module_multifolder/ref/m1.d.ts | 6 + .../outputdir_module_multifolder/ref/m1.js | 15 + .../ref/m1.js.map | 1 + .../outputdir_module_multifolder/test.d.ts | 8 + .../outputdir_module_multifolder/test.js | 17 + .../outputdir_module_multifolder/test.js.map | 1 + .../outputdir_module_multifolder_ref/m2.d.ts | 6 + .../outputdir_module_multifolder_ref/m2.js | 15 + .../m2.js.map | 1 + ...duleMultifolderSpecifyOutputDirectory.json | 30 + ...folderSpecifyOutputDirectory.sourcemap.txt | 683 + .../outputdir_module_multifolder/ref/m1.d.ts | 6 + .../outputdir_module_multifolder/ref/m1.js | 13 + .../ref/m1.js.map | 1 + .../outputdir_module_multifolder/test.d.ts | 8 + .../outputdir_module_multifolder/test.js | 17 + .../outputdir_module_multifolder/test.js.map | 1 + .../outputdir_module_multifolder_ref/m2.d.ts | 6 + .../outputdir_module_multifolder_ref/m2.js | 13 + .../m2.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 15 + .../amd/diskFile2.d.ts | 6 + ...athModuleMultifolderSpecifyOutputFile.json | 33 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 658 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + .../amd/test.d.ts | 8 + .../amd/test.js | 17 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 13 + .../node/diskFile2.d.ts | 6 + ...athModuleMultifolderSpecifyOutputFile.json | 33 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 689 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 8 + .../node/test.js | 17 + .../node/test.js.map | 1 + .../amd/m1.d.ts | 6 + .../amd/m1.js | 15 + .../amd/m1.js.map | 1 + ...pRootAbsolutePathModuleSimpleNoOutdir.json | 25 + ...lutePathModuleSimpleNoOutdir.sourcemap.txt | 425 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/m1.d.ts | 6 + .../node/m1.js | 13 + .../node/m1.js.map | 1 + ...pRootAbsolutePathModuleSimpleNoOutdir.json | 25 + ...lutePathModuleSimpleNoOutdir.sourcemap.txt | 439 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + ...athModuleSimpleSpecifyOutputDirectory.json | 26 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 425 + .../amd/outdir/simple/m1.d.ts | 6 + .../amd/outdir/simple/m1.js | 15 + .../amd/outdir/simple/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 7 + .../amd/outdir/simple/test.js | 16 + .../amd/outdir/simple/test.js.map | 1 + ...athModuleSimpleSpecifyOutputDirectory.json | 26 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 439 + .../node/outdir/simple/m1.d.ts | 6 + .../node/outdir/simple/m1.js | 13 + .../node/outdir/simple/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 7 + .../node/outdir/simple/test.js | 15 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + .../amd/m1.d.ts | 6 + .../amd/m1.js | 15 + .../amd/m1.js.map | 1 + ...lutePathModuleSimpleSpecifyOutputFile.json | 29 + ...oduleSimpleSpecifyOutputFile.sourcemap.txt | 431 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + .../node/m1.d.ts | 6 + .../node/m1.js | 13 + .../node/m1.js.map | 1 + ...lutePathModuleSimpleSpecifyOutputFile.json | 29 + ...oduleSimpleSpecifyOutputFile.sourcemap.txt | 445 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + ...otAbsolutePathModuleSubfolderNoOutdir.json | 25 + ...ePathModuleSubfolderNoOutdir.sourcemap.txt | 425 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + ...otAbsolutePathModuleSubfolderNoOutdir.json | 25 + ...ePathModuleSubfolderNoOutdir.sourcemap.txt | 439 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + ...ModuleSubfolderSpecifyOutputDirectory.json | 26 + ...folderSpecifyOutputDirectory.sourcemap.txt | 425 + .../amd/outdir/simple/ref/m1.d.ts | 6 + .../amd/outdir/simple/ref/m1.js | 15 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 7 + .../amd/outdir/simple/test.js | 16 + .../amd/outdir/simple/test.js.map | 1 + ...ModuleSubfolderSpecifyOutputDirectory.json | 26 + ...folderSpecifyOutputDirectory.sourcemap.txt | 439 + .../node/outdir/simple/ref/m1.d.ts | 6 + .../node/outdir/simple/ref/m1.js | 13 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 7 + .../node/outdir/simple/test.js | 15 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + ...ePathModuleSubfolderSpecifyOutputFile.json | 29 + ...leSubfolderSpecifyOutputFile.sourcemap.txt | 431 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + ...ePathModuleSubfolderSpecifyOutputFile.json | 29 + ...leSubfolderSpecifyOutputFile.sourcemap.txt | 445 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 11 + .../amd/diskFile2.d.ts | 0 ...apRootAbsolutePathMultifolderNoOutdir.json | 29 + ...olutePathMultifolderNoOutdir.sourcemap.txt | 483 + .../amd/ref/m1.d.ts | 0 .../amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + .../amd/test.d.ts | 2 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 11 + .../node/diskFile2.d.ts | 0 ...apRootAbsolutePathMultifolderNoOutdir.json | 29 + ...olutePathMultifolderNoOutdir.sourcemap.txt | 483 + .../node/ref/m1.d.ts | 0 .../node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 2 + .../node/test.js | 11 + .../node/test.js.map | 1 + ...PathMultifolderSpecifyOutputDirectory.json | 30 + ...folderSpecifyOutputDirectory.sourcemap.txt | 483 + .../simple/outputdir_multifolder/ref/m1.d.ts | 0 .../simple/outputdir_multifolder/ref/m1.js | 11 + .../outputdir_multifolder/ref/m1.js.map | 1 + .../simple/outputdir_multifolder/test.d.ts | 2 + .../simple/outputdir_multifolder/test.js | 11 + .../simple/outputdir_multifolder/test.js.map | 1 + .../simple/outputdir_multifolder_ref/m2.d.ts | 0 .../simple/outputdir_multifolder_ref/m2.js | 11 + .../outputdir_multifolder_ref/m2.js.map | 1 + ...PathMultifolderSpecifyOutputDirectory.json | 30 + ...folderSpecifyOutputDirectory.sourcemap.txt | 483 + .../simple/outputdir_multifolder/ref/m1.d.ts | 0 .../simple/outputdir_multifolder/ref/m1.js | 11 + .../outputdir_multifolder/ref/m1.js.map | 1 + .../simple/outputdir_multifolder/test.d.ts | 2 + .../simple/outputdir_multifolder/test.js | 11 + .../simple/outputdir_multifolder/test.js.map | 1 + .../simple/outputdir_multifolder_ref/m2.d.ts | 0 .../simple/outputdir_multifolder_ref/m2.js | 11 + .../outputdir_multifolder_ref/m2.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 31 + .../amd/bin/test.js.map | 1 + ...olutePathMultifolderSpecifyOutputFile.json | 24 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 471 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 31 + .../node/bin/test.js.map | 1 + ...olutePathMultifolderSpecifyOutputFile.json | 24 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 471 + .../amd/m1.d.ts | 0 .../amd/m1.js | 11 + .../amd/m1.js.map | 1 + .../mapRootAbsolutePathSimpleNoOutdir.json | 25 + ...otAbsolutePathSimpleNoOutdir.sourcemap.txt | 322 + .../amd/test.d.ts | 1 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/m1.d.ts | 0 .../node/m1.js | 11 + .../node/m1.js.map | 1 + .../mapRootAbsolutePathSimpleNoOutdir.json | 25 + ...otAbsolutePathSimpleNoOutdir.sourcemap.txt | 322 + .../node/test.d.ts | 1 + .../node/test.js | 11 + .../node/test.js.map | 1 + ...olutePathSimpleSpecifyOutputDirectory.json | 26 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 322 + .../amd/outdir/simple/m1.d.ts | 0 .../amd/outdir/simple/m1.js | 11 + .../amd/outdir/simple/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 1 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...olutePathSimpleSpecifyOutputDirectory.json | 26 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 322 + .../node/outdir/simple/m1.d.ts | 0 .../node/outdir/simple/m1.js | 11 + .../node/outdir/simple/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 1 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + ...otAbsolutePathSimpleSpecifyOutputFile.json | 23 + ...ePathSimpleSpecifyOutputFile.sourcemap.txt | 316 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + ...otAbsolutePathSimpleSpecifyOutputFile.json | 23 + ...ePathSimpleSpecifyOutputFile.sourcemap.txt | 316 + ...mapRootAbsolutePathSingleFileNoOutdir.json | 21 + ...solutePathSingleFileNoOutdir.sourcemap.txt | 161 + .../amd/test.d.ts | 0 .../amd/test.js | 11 + .../amd/test.js.map | 1 + ...mapRootAbsolutePathSingleFileNoOutdir.json | 21 + ...solutePathSingleFileNoOutdir.sourcemap.txt | 161 + .../node/test.d.ts | 0 .../node/test.js | 11 + .../node/test.js.map | 1 + ...ePathSingleFileSpecifyOutputDirectory.json | 22 + ...leFileSpecifyOutputDirectory.sourcemap.txt | 161 + .../amd/outdir/simple/test.d.ts | 0 .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...ePathSingleFileSpecifyOutputDirectory.json | 22 + ...leFileSpecifyOutputDirectory.sourcemap.txt | 161 + .../node/outdir/simple/test.d.ts | 0 .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 11 + .../amd/bin/test.js.map | 1 + ...solutePathSingleFileSpecifyOutputFile.json | 22 + ...hSingleFileSpecifyOutputFile.sourcemap.txt | 161 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 11 + .../node/bin/test.js.map | 1 + ...solutePathSingleFileSpecifyOutputFile.json | 22 + ...hSingleFileSpecifyOutputFile.sourcemap.txt | 161 + .../mapRootAbsolutePathSubfolderNoOutdir.json | 25 + ...bsolutePathSubfolderNoOutdir.sourcemap.txt | 322 + .../amd/ref/m1.d.ts | 0 .../amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + .../amd/test.d.ts | 1 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + .../mapRootAbsolutePathSubfolderNoOutdir.json | 25 + ...bsolutePathSubfolderNoOutdir.sourcemap.txt | 322 + .../node/ref/m1.d.ts | 0 .../node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 1 + .../node/test.js | 11 + .../node/test.js.map | 1 + ...tePathSubfolderSpecifyOutputDirectory.json | 26 + ...folderSpecifyOutputDirectory.sourcemap.txt | 322 + .../amd/outdir/simple/ref/m1.d.ts | 0 .../amd/outdir/simple/ref/m1.js | 11 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 1 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...tePathSubfolderSpecifyOutputDirectory.json | 26 + ...folderSpecifyOutputDirectory.sourcemap.txt | 322 + .../node/outdir/simple/ref/m1.d.ts | 0 .../node/outdir/simple/ref/m1.js | 11 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 1 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + ...bsolutePathSubfolderSpecifyOutputFile.json | 23 + ...thSubfolderSpecifyOutputFile.sourcemap.txt | 316 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + ...bsolutePathSubfolderSpecifyOutputFile.json | 23 + ...thSubfolderSpecifyOutputFile.sourcemap.txt | 316 + ...ootRelativePathMixedSubfolderNoOutdir.json | 28 + ...vePathMixedSubfolderNoOutdir.sourcemap.txt | 518 + .../amd/ref/m1.d.ts | 0 .../amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + .../amd/ref/m2.d.ts | 6 + .../amd/ref/m2.js | 15 + .../amd/ref/m2.js.map | 1 + .../amd/test.d.ts | 2 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + ...ootRelativePathMixedSubfolderNoOutdir.json | 28 + ...vePathMixedSubfolderNoOutdir.sourcemap.txt | 517 + .../node/ref/m1.d.ts | 0 .../node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + .../node/ref/m2.d.ts | 6 + .../node/ref/m2.js | 13 + .../node/ref/m2.js.map | 1 + .../node/test.d.ts | 2 + .../node/test.js | 11 + .../node/test.js.map | 1 + ...hMixedSubfolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 518 + .../amd/outdir/simple/ref/m1.d.ts | 0 .../amd/outdir/simple/ref/m1.js | 11 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/ref/m2.d.ts | 6 + .../amd/outdir/simple/ref/m2.js | 15 + .../amd/outdir/simple/ref/m2.js.map | 1 + .../amd/outdir/simple/test.d.ts | 2 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...hMixedSubfolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 517 + .../node/outdir/simple/ref/m1.d.ts | 0 .../node/outdir/simple/ref/m1.js | 11 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/ref/m2.d.ts | 6 + .../node/outdir/simple/ref/m2.js | 13 + .../node/outdir/simple/ref/m2.js.map | 1 + .../node/outdir/simple/test.d.ts | 2 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 1 + .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + ...vePathMixedSubfolderSpecifyOutputFile.json | 26 + ...edSubfolderSpecifyOutputFile.sourcemap.txt | 512 + .../amd/ref/m2.d.ts | 6 + .../amd/ref/m2.js | 15 + .../amd/ref/m2.js.map | 1 + .../node/bin/test.d.ts | 1 + .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + ...vePathMixedSubfolderSpecifyOutputFile.json | 26 + ...edSubfolderSpecifyOutputFile.sourcemap.txt | 511 + .../node/ref/m2.d.ts | 6 + .../node/ref/m2.js | 13 + .../node/ref/m2.js.map | 1 + .../amd/bin/outAndOutDirFile.d.ts | 1 + .../amd/bin/outAndOutDirFile.js | 21 + .../amd/bin/outAndOutDirFile.js.map | 1 + ...erSpecifyOutputFileAndOutputDirectory.json | 27 + ...OutputFileAndOutputDirectory.sourcemap.txt | 512 + .../amd/outdir/outAndOutDirFolder/ref/m2.d.ts | 6 + .../amd/outdir/outAndOutDirFolder/ref/m2.js | 15 + .../outdir/outAndOutDirFolder/ref/m2.js.map | 1 + .../node/bin/outAndOutDirFile.d.ts | 1 + .../node/bin/outAndOutDirFile.js | 21 + .../node/bin/outAndOutDirFile.js.map | 1 + ...erSpecifyOutputFileAndOutputDirectory.json | 27 + ...OutputFileAndOutputDirectory.sourcemap.txt | 511 + .../outdir/outAndOutDirFolder/ref/m2.d.ts | 6 + .../node/outdir/outAndOutDirFolder/ref/m2.js | 13 + .../outdir/outAndOutDirFolder/ref/m2.js.map | 1 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 15 + .../amd/diskFile2.d.ts | 6 + ...RelativePathModuleMultifolderNoOutdir.json | 28 + ...athModuleMultifolderNoOutdir.sourcemap.txt | 652 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + .../amd/test.d.ts | 8 + .../amd/test.js | 17 + .../amd/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 13 + .../node/diskFile2.d.ts | 6 + ...RelativePathModuleMultifolderNoOutdir.json | 28 + ...athModuleMultifolderNoOutdir.sourcemap.txt | 683 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 8 + .../node/test.js | 17 + .../node/test.js.map | 1 + ...duleMultifolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 652 + .../outputdir_module_multifolder/ref/m1.d.ts | 6 + .../outputdir_module_multifolder/ref/m1.js | 15 + .../ref/m1.js.map | 1 + .../outputdir_module_multifolder/test.d.ts | 8 + .../outputdir_module_multifolder/test.js | 17 + .../outputdir_module_multifolder/test.js.map | 1 + .../outputdir_module_multifolder_ref/m2.d.ts | 6 + .../outputdir_module_multifolder_ref/m2.js | 15 + .../m2.js.map | 1 + ...duleMultifolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 683 + .../outputdir_module_multifolder/ref/m1.d.ts | 6 + .../outputdir_module_multifolder/ref/m1.js | 13 + .../ref/m1.js.map | 1 + .../outputdir_module_multifolder/test.d.ts | 8 + .../outputdir_module_multifolder/test.js | 17 + .../outputdir_module_multifolder/test.js.map | 1 + .../outputdir_module_multifolder_ref/m2.d.ts | 6 + .../outputdir_module_multifolder_ref/m2.js | 13 + .../m2.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 15 + .../amd/diskFile2.d.ts | 6 + ...athModuleMultifolderSpecifyOutputFile.json | 32 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 658 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + .../amd/test.d.ts | 8 + .../amd/test.js | 17 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 13 + .../node/diskFile2.d.ts | 6 + ...athModuleMultifolderSpecifyOutputFile.json | 32 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 689 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 8 + .../node/test.js | 17 + .../node/test.js.map | 1 + .../amd/m1.d.ts | 6 + .../amd/m1.js | 15 + .../amd/m1.js.map | 1 + ...pRootRelativePathModuleSimpleNoOutdir.json | 24 + ...tivePathModuleSimpleNoOutdir.sourcemap.txt | 425 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/m1.d.ts | 6 + .../node/m1.js | 13 + .../node/m1.js.map | 1 + ...pRootRelativePathModuleSimpleNoOutdir.json | 24 + ...tivePathModuleSimpleNoOutdir.sourcemap.txt | 439 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + ...athModuleSimpleSpecifyOutputDirectory.json | 25 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 425 + .../amd/outdir/simple/m1.d.ts | 6 + .../amd/outdir/simple/m1.js | 15 + .../amd/outdir/simple/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 7 + .../amd/outdir/simple/test.js | 16 + .../amd/outdir/simple/test.js.map | 1 + ...athModuleSimpleSpecifyOutputDirectory.json | 25 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 439 + .../node/outdir/simple/m1.d.ts | 6 + .../node/outdir/simple/m1.js | 13 + .../node/outdir/simple/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 7 + .../node/outdir/simple/test.js | 15 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + .../amd/m1.d.ts | 6 + .../amd/m1.js | 15 + .../amd/m1.js.map | 1 + ...tivePathModuleSimpleSpecifyOutputFile.json | 28 + ...oduleSimpleSpecifyOutputFile.sourcemap.txt | 431 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + .../node/m1.d.ts | 6 + .../node/m1.js | 13 + .../node/m1.js.map | 1 + ...tivePathModuleSimpleSpecifyOutputFile.json | 28 + ...oduleSimpleSpecifyOutputFile.sourcemap.txt | 445 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + ...otRelativePathModuleSubfolderNoOutdir.json | 24 + ...ePathModuleSubfolderNoOutdir.sourcemap.txt | 425 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + ...otRelativePathModuleSubfolderNoOutdir.json | 24 + ...ePathModuleSubfolderNoOutdir.sourcemap.txt | 439 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + ...ModuleSubfolderSpecifyOutputDirectory.json | 25 + ...folderSpecifyOutputDirectory.sourcemap.txt | 425 + .../amd/outdir/simple/ref/m1.d.ts | 6 + .../amd/outdir/simple/ref/m1.js | 15 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 7 + .../amd/outdir/simple/test.js | 16 + .../amd/outdir/simple/test.js.map | 1 + ...ModuleSubfolderSpecifyOutputDirectory.json | 25 + ...folderSpecifyOutputDirectory.sourcemap.txt | 439 + .../node/outdir/simple/ref/m1.d.ts | 6 + .../node/outdir/simple/ref/m1.js | 13 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 7 + .../node/outdir/simple/test.js | 15 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + ...ePathModuleSubfolderSpecifyOutputFile.json | 28 + ...leSubfolderSpecifyOutputFile.sourcemap.txt | 431 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + ...ePathModuleSubfolderSpecifyOutputFile.json | 28 + ...leSubfolderSpecifyOutputFile.sourcemap.txt | 445 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 11 + .../amd/diskFile2.d.ts | 0 ...apRootRelativePathMultifolderNoOutdir.json | 28 + ...ativePathMultifolderNoOutdir.sourcemap.txt | 483 + .../amd/ref/m1.d.ts | 0 .../amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + .../amd/test.d.ts | 2 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 11 + .../node/diskFile2.d.ts | 0 ...apRootRelativePathMultifolderNoOutdir.json | 28 + ...ativePathMultifolderNoOutdir.sourcemap.txt | 483 + .../node/ref/m1.d.ts | 0 .../node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 2 + .../node/test.js | 11 + .../node/test.js.map | 1 + ...PathMultifolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 483 + .../simple/outputdir_multifolder/ref/m1.d.ts | 0 .../simple/outputdir_multifolder/ref/m1.js | 11 + .../outputdir_multifolder/ref/m1.js.map | 1 + .../simple/outputdir_multifolder/test.d.ts | 2 + .../simple/outputdir_multifolder/test.js | 11 + .../simple/outputdir_multifolder/test.js.map | 1 + .../simple/outputdir_multifolder_ref/m2.d.ts | 0 .../simple/outputdir_multifolder_ref/m2.js | 11 + .../outputdir_multifolder_ref/m2.js.map | 1 + ...PathMultifolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 483 + .../simple/outputdir_multifolder/ref/m1.d.ts | 0 .../simple/outputdir_multifolder/ref/m1.js | 11 + .../outputdir_multifolder/ref/m1.js.map | 1 + .../simple/outputdir_multifolder/test.d.ts | 2 + .../simple/outputdir_multifolder/test.js | 11 + .../simple/outputdir_multifolder/test.js.map | 1 + .../simple/outputdir_multifolder_ref/m2.d.ts | 0 .../simple/outputdir_multifolder_ref/m2.js | 11 + .../outputdir_multifolder_ref/m2.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 31 + .../amd/bin/test.js.map | 1 + ...ativePathMultifolderSpecifyOutputFile.json | 23 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 471 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 31 + .../node/bin/test.js.map | 1 + ...ativePathMultifolderSpecifyOutputFile.json | 23 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 471 + .../amd/m1.d.ts | 0 .../amd/m1.js | 11 + .../amd/m1.js.map | 1 + .../mapRootRelativePathSimpleNoOutdir.json | 24 + ...otRelativePathSimpleNoOutdir.sourcemap.txt | 322 + .../amd/test.d.ts | 1 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/m1.d.ts | 0 .../node/m1.js | 11 + .../node/m1.js.map | 1 + .../mapRootRelativePathSimpleNoOutdir.json | 24 + ...otRelativePathSimpleNoOutdir.sourcemap.txt | 322 + .../node/test.d.ts | 1 + .../node/test.js | 11 + .../node/test.js.map | 1 + ...ativePathSimpleSpecifyOutputDirectory.json | 25 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 322 + .../amd/outdir/simple/m1.d.ts | 0 .../amd/outdir/simple/m1.js | 11 + .../amd/outdir/simple/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 1 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...ativePathSimpleSpecifyOutputDirectory.json | 25 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 322 + .../node/outdir/simple/m1.d.ts | 0 .../node/outdir/simple/m1.js | 11 + .../node/outdir/simple/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 1 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + ...otRelativePathSimpleSpecifyOutputFile.json | 22 + ...ePathSimpleSpecifyOutputFile.sourcemap.txt | 316 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + ...otRelativePathSimpleSpecifyOutputFile.json | 22 + ...ePathSimpleSpecifyOutputFile.sourcemap.txt | 316 + ...mapRootRelativePathSingleFileNoOutdir.json | 20 + ...lativePathSingleFileNoOutdir.sourcemap.txt | 161 + .../amd/test.d.ts | 0 .../amd/test.js | 11 + .../amd/test.js.map | 1 + ...mapRootRelativePathSingleFileNoOutdir.json | 20 + ...lativePathSingleFileNoOutdir.sourcemap.txt | 161 + .../node/test.d.ts | 0 .../node/test.js | 11 + .../node/test.js.map | 1 + ...ePathSingleFileSpecifyOutputDirectory.json | 21 + ...leFileSpecifyOutputDirectory.sourcemap.txt | 161 + .../amd/outdir/simple/test.d.ts | 0 .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...ePathSingleFileSpecifyOutputDirectory.json | 21 + ...leFileSpecifyOutputDirectory.sourcemap.txt | 161 + .../node/outdir/simple/test.d.ts | 0 .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 11 + .../amd/bin/test.js.map | 1 + ...lativePathSingleFileSpecifyOutputFile.json | 21 + ...hSingleFileSpecifyOutputFile.sourcemap.txt | 161 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 11 + .../node/bin/test.js.map | 1 + ...lativePathSingleFileSpecifyOutputFile.json | 21 + ...hSingleFileSpecifyOutputFile.sourcemap.txt | 161 + .../mapRootRelativePathSubfolderNoOutdir.json | 24 + ...elativePathSubfolderNoOutdir.sourcemap.txt | 322 + .../amd/ref/m1.d.ts | 0 .../amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + .../amd/test.d.ts | 1 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + .../mapRootRelativePathSubfolderNoOutdir.json | 24 + ...elativePathSubfolderNoOutdir.sourcemap.txt | 322 + .../node/ref/m1.d.ts | 0 .../node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 1 + .../node/test.js | 11 + .../node/test.js.map | 1 + ...vePathSubfolderSpecifyOutputDirectory.json | 25 + ...folderSpecifyOutputDirectory.sourcemap.txt | 322 + .../amd/outdir/simple/ref/m1.d.ts | 0 .../amd/outdir/simple/ref/m1.js | 11 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 1 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...vePathSubfolderSpecifyOutputDirectory.json | 25 + ...folderSpecifyOutputDirectory.sourcemap.txt | 322 + .../node/outdir/simple/ref/m1.d.ts | 0 .../node/outdir/simple/ref/m1.js | 11 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 1 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + ...elativePathSubfolderSpecifyOutputFile.json | 22 + ...thSubfolderSpecifyOutputFile.sourcemap.txt | 316 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + ...elativePathSubfolderSpecifyOutputFile.json | 22 + ...thSubfolderSpecifyOutputFile.sourcemap.txt | 316 + ...SourceRootWithNoSourceMapOption.errors.txt | 2 + ...apRootSourceRootWithNoSourceMapOption.json | 15 + ...SourceRootWithNoSourceMapOption.errors.txt | 2 + ...apRootSourceRootWithNoSourceMapOption.json | 15 + .../mapRootWithNoSourceMapOption.errors.txt | 1 + .../amd/mapRootWithNoSourceMapOption.json | 14 + .../mapRootWithNoSourceMapOption.errors.txt | 1 + .../node/mapRootWithNoSourceMapOption.json | 14 + .../amd/maprootUrlMixedSubfolderNoOutdir.json | 28 + ...ootUrlMixedSubfolderNoOutdir.sourcemap.txt | 518 + .../amd/ref/m1.d.ts | 0 .../amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + .../amd/ref/m2.d.ts | 6 + .../amd/ref/m2.js | 15 + .../amd/ref/m2.js.map | 1 + .../amd/test.d.ts | 2 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + .../maprootUrlMixedSubfolderNoOutdir.json | 28 + ...ootUrlMixedSubfolderNoOutdir.sourcemap.txt | 517 + .../node/ref/m1.d.ts | 0 .../node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + .../node/ref/m2.d.ts | 6 + .../node/ref/m2.js | 13 + .../node/ref/m2.js.map | 1 + .../node/test.d.ts | 2 + .../node/test.js | 11 + .../node/test.js.map | 1 + ...lMixedSubfolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 518 + .../amd/outdir/simple/ref/m1.d.ts | 0 .../amd/outdir/simple/ref/m1.js | 11 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/ref/m2.d.ts | 6 + .../amd/outdir/simple/ref/m2.js | 15 + .../amd/outdir/simple/ref/m2.js.map | 1 + .../amd/outdir/simple/test.d.ts | 2 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...lMixedSubfolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 517 + .../node/outdir/simple/ref/m1.d.ts | 0 .../node/outdir/simple/ref/m1.js | 11 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/ref/m2.d.ts | 6 + .../node/outdir/simple/ref/m2.js | 13 + .../node/outdir/simple/ref/m2.js.map | 1 + .../node/outdir/simple/test.d.ts | 2 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 1 + .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + ...ootUrlMixedSubfolderSpecifyOutputFile.json | 26 + ...edSubfolderSpecifyOutputFile.sourcemap.txt | 512 + .../amd/ref/m2.d.ts | 6 + .../amd/ref/m2.js | 15 + .../amd/ref/m2.js.map | 1 + .../node/bin/test.d.ts | 1 + .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + ...ootUrlMixedSubfolderSpecifyOutputFile.json | 26 + ...edSubfolderSpecifyOutputFile.sourcemap.txt | 511 + .../node/ref/m2.d.ts | 6 + .../node/ref/m2.js | 13 + .../node/ref/m2.js.map | 1 + .../amd/bin/outAndOutDirFile.d.ts | 1 + .../amd/bin/outAndOutDirFile.js | 21 + .../amd/bin/outAndOutDirFile.js.map | 1 + ...erSpecifyOutputFileAndOutputDirectory.json | 27 + ...OutputFileAndOutputDirectory.sourcemap.txt | 512 + .../amd/outdir/outAndOutDirFolder/ref/m2.d.ts | 6 + .../amd/outdir/outAndOutDirFolder/ref/m2.js | 15 + .../outdir/outAndOutDirFolder/ref/m2.js.map | 1 + .../node/bin/outAndOutDirFile.d.ts | 1 + .../node/bin/outAndOutDirFile.js | 21 + .../node/bin/outAndOutDirFile.js.map | 1 + ...erSpecifyOutputFileAndOutputDirectory.json | 27 + ...OutputFileAndOutputDirectory.sourcemap.txt | 511 + .../outdir/outAndOutDirFolder/ref/m2.d.ts | 6 + .../node/outdir/outAndOutDirFolder/ref/m2.js | 13 + .../outdir/outAndOutDirFolder/ref/m2.js.map | 1 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 15 + .../amd/diskFile2.d.ts | 6 + .../maprootUrlModuleMultifolderNoOutdir.json | 28 + ...UrlModuleMultifolderNoOutdir.sourcemap.txt | 652 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + .../amd/test.d.ts | 8 + .../amd/test.js | 17 + .../amd/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 13 + .../node/diskFile2.d.ts | 6 + .../maprootUrlModuleMultifolderNoOutdir.json | 28 + ...UrlModuleMultifolderNoOutdir.sourcemap.txt | 683 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 8 + .../node/test.js | 17 + .../node/test.js.map | 1 + ...duleMultifolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 652 + .../outputdir_module_multifolder/ref/m1.d.ts | 6 + .../outputdir_module_multifolder/ref/m1.js | 15 + .../ref/m1.js.map | 1 + .../outputdir_module_multifolder/test.d.ts | 8 + .../outputdir_module_multifolder/test.js | 17 + .../outputdir_module_multifolder/test.js.map | 1 + .../outputdir_module_multifolder_ref/m2.d.ts | 6 + .../outputdir_module_multifolder_ref/m2.js | 15 + .../m2.js.map | 1 + ...duleMultifolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 683 + .../outputdir_module_multifolder/ref/m1.d.ts | 6 + .../outputdir_module_multifolder/ref/m1.js | 13 + .../ref/m1.js.map | 1 + .../outputdir_module_multifolder/test.d.ts | 8 + .../outputdir_module_multifolder/test.js | 17 + .../outputdir_module_multifolder/test.js.map | 1 + .../outputdir_module_multifolder_ref/m2.d.ts | 6 + .../outputdir_module_multifolder_ref/m2.js | 13 + .../m2.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 15 + .../amd/diskFile2.d.ts | 6 + ...UrlModuleMultifolderSpecifyOutputFile.json | 32 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 658 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + .../amd/test.d.ts | 8 + .../amd/test.js | 17 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 13 + .../node/diskFile2.d.ts | 6 + ...UrlModuleMultifolderSpecifyOutputFile.json | 32 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 689 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 8 + .../node/test.js | 17 + .../node/test.js.map | 1 + .../amd/m1.d.ts | 6 + .../maprootUrlModuleSimpleNoOutdir/amd/m1.js | 15 + .../amd/m1.js.map | 1 + .../amd/maprootUrlModuleSimpleNoOutdir.json | 24 + ...prootUrlModuleSimpleNoOutdir.sourcemap.txt | 425 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/m1.d.ts | 6 + .../maprootUrlModuleSimpleNoOutdir/node/m1.js | 13 + .../node/m1.js.map | 1 + .../node/maprootUrlModuleSimpleNoOutdir.json | 24 + ...prootUrlModuleSimpleNoOutdir.sourcemap.txt | 439 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + ...UrlModuleSimpleSpecifyOutputDirectory.json | 25 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 425 + .../amd/outdir/simple/m1.d.ts | 6 + .../amd/outdir/simple/m1.js | 15 + .../amd/outdir/simple/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 7 + .../amd/outdir/simple/test.js | 16 + .../amd/outdir/simple/test.js.map | 1 + ...UrlModuleSimpleSpecifyOutputDirectory.json | 25 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 439 + .../node/outdir/simple/m1.d.ts | 6 + .../node/outdir/simple/m1.js | 13 + .../node/outdir/simple/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 7 + .../node/outdir/simple/test.js | 15 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + .../amd/m1.d.ts | 6 + .../amd/m1.js | 15 + .../amd/m1.js.map | 1 + ...prootUrlModuleSimpleSpecifyOutputFile.json | 28 + ...oduleSimpleSpecifyOutputFile.sourcemap.txt | 431 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + .../node/m1.d.ts | 6 + .../node/m1.js | 13 + .../node/m1.js.map | 1 + ...prootUrlModuleSimpleSpecifyOutputFile.json | 28 + ...oduleSimpleSpecifyOutputFile.sourcemap.txt | 445 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + .../maprootUrlModuleSubfolderNoOutdir.json | 24 + ...otUrlModuleSubfolderNoOutdir.sourcemap.txt | 425 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../maprootUrlModuleSubfolderNoOutdir.json | 24 + ...otUrlModuleSubfolderNoOutdir.sourcemap.txt | 439 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + ...ModuleSubfolderSpecifyOutputDirectory.json | 25 + ...folderSpecifyOutputDirectory.sourcemap.txt | 425 + .../amd/outdir/simple/ref/m1.d.ts | 6 + .../amd/outdir/simple/ref/m1.js | 15 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 7 + .../amd/outdir/simple/test.js | 16 + .../amd/outdir/simple/test.js.map | 1 + ...ModuleSubfolderSpecifyOutputDirectory.json | 25 + ...folderSpecifyOutputDirectory.sourcemap.txt | 439 + .../node/outdir/simple/ref/m1.d.ts | 6 + .../node/outdir/simple/ref/m1.js | 13 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 7 + .../node/outdir/simple/test.js | 15 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + ...otUrlModuleSubfolderSpecifyOutputFile.json | 28 + ...leSubfolderSpecifyOutputFile.sourcemap.txt | 431 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + ...otUrlModuleSubfolderSpecifyOutputFile.json | 28 + ...leSubfolderSpecifyOutputFile.sourcemap.txt | 445 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 11 + .../amd/diskFile2.d.ts | 0 .../amd/maprootUrlMultifolderNoOutdir.json | 28 + ...aprootUrlMultifolderNoOutdir.sourcemap.txt | 483 + .../amd/ref/m1.d.ts | 0 .../amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + .../amd/test.d.ts | 2 + .../maprootUrlMultifolderNoOutdir/amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 11 + .../node/diskFile2.d.ts | 0 .../node/maprootUrlMultifolderNoOutdir.json | 28 + ...aprootUrlMultifolderNoOutdir.sourcemap.txt | 483 + .../node/ref/m1.d.ts | 0 .../node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 2 + .../node/test.js | 11 + .../node/test.js.map | 1 + ...tUrlMultifolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 483 + .../simple/outputdir_multifolder/ref/m1.d.ts | 0 .../simple/outputdir_multifolder/ref/m1.js | 11 + .../outputdir_multifolder/ref/m1.js.map | 1 + .../simple/outputdir_multifolder/test.d.ts | 2 + .../simple/outputdir_multifolder/test.js | 11 + .../simple/outputdir_multifolder/test.js.map | 1 + .../simple/outputdir_multifolder_ref/m2.d.ts | 0 .../simple/outputdir_multifolder_ref/m2.js | 11 + .../outputdir_multifolder_ref/m2.js.map | 1 + ...tUrlMultifolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 483 + .../simple/outputdir_multifolder/ref/m1.d.ts | 0 .../simple/outputdir_multifolder/ref/m1.js | 11 + .../outputdir_multifolder/ref/m1.js.map | 1 + .../simple/outputdir_multifolder/test.d.ts | 2 + .../simple/outputdir_multifolder/test.js | 11 + .../simple/outputdir_multifolder/test.js.map | 1 + .../simple/outputdir_multifolder_ref/m2.d.ts | 0 .../simple/outputdir_multifolder_ref/m2.js | 11 + .../outputdir_multifolder_ref/m2.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 31 + .../amd/bin/test.js.map | 1 + ...aprootUrlMultifolderSpecifyOutputFile.json | 23 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 471 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 31 + .../node/bin/test.js.map | 1 + ...aprootUrlMultifolderSpecifyOutputFile.json | 23 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 471 + .../maprootUrlSimpleNoOutdir/amd/m1.d.ts | 0 .../maprootUrlSimpleNoOutdir/amd/m1.js | 11 + .../maprootUrlSimpleNoOutdir/amd/m1.js.map | 1 + .../amd/maprootUrlSimpleNoOutdir.json | 24 + .../maprootUrlSimpleNoOutdir.sourcemap.txt | 322 + .../maprootUrlSimpleNoOutdir/amd/test.d.ts | 1 + .../maprootUrlSimpleNoOutdir/amd/test.js | 11 + .../maprootUrlSimpleNoOutdir/amd/test.js.map | 1 + .../maprootUrlSimpleNoOutdir/node/m1.d.ts | 0 .../maprootUrlSimpleNoOutdir/node/m1.js | 11 + .../maprootUrlSimpleNoOutdir/node/m1.js.map | 1 + .../node/maprootUrlSimpleNoOutdir.json | 24 + .../maprootUrlSimpleNoOutdir.sourcemap.txt | 322 + .../maprootUrlSimpleNoOutdir/node/test.d.ts | 1 + .../maprootUrlSimpleNoOutdir/node/test.js | 11 + .../maprootUrlSimpleNoOutdir/node/test.js.map | 1 + ...aprootUrlSimpleSpecifyOutputDirectory.json | 25 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 322 + .../amd/outdir/simple/m1.d.ts | 0 .../amd/outdir/simple/m1.js | 11 + .../amd/outdir/simple/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 1 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...aprootUrlSimpleSpecifyOutputDirectory.json | 25 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 322 + .../node/outdir/simple/m1.d.ts | 0 .../node/outdir/simple/m1.js | 11 + .../node/outdir/simple/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 1 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + .../maprootUrlSimpleSpecifyOutputFile.json | 22 + ...otUrlSimpleSpecifyOutputFile.sourcemap.txt | 316 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + .../maprootUrlSimpleSpecifyOutputFile.json | 22 + ...otUrlSimpleSpecifyOutputFile.sourcemap.txt | 316 + .../amd/maprootUrlSingleFileNoOutdir.json | 20 + ...maprootUrlSingleFileNoOutdir.sourcemap.txt | 161 + .../amd/test.d.ts | 0 .../maprootUrlSingleFileNoOutdir/amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/maprootUrlSingleFileNoOutdir.json | 20 + ...maprootUrlSingleFileNoOutdir.sourcemap.txt | 161 + .../node/test.d.ts | 0 .../maprootUrlSingleFileNoOutdir/node/test.js | 11 + .../node/test.js.map | 1 + ...otUrlSingleFileSpecifyOutputDirectory.json | 21 + ...leFileSpecifyOutputDirectory.sourcemap.txt | 161 + .../amd/outdir/simple/test.d.ts | 0 .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...otUrlSingleFileSpecifyOutputDirectory.json | 21 + ...leFileSpecifyOutputDirectory.sourcemap.txt | 161 + .../node/outdir/simple/test.d.ts | 0 .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 11 + .../amd/bin/test.js.map | 1 + ...maprootUrlSingleFileSpecifyOutputFile.json | 21 + ...lSingleFileSpecifyOutputFile.sourcemap.txt | 161 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 11 + .../node/bin/test.js.map | 1 + ...maprootUrlSingleFileSpecifyOutputFile.json | 21 + ...lSingleFileSpecifyOutputFile.sourcemap.txt | 161 + .../amd/maprootUrlSubfolderNoOutdir.json | 24 + .../maprootUrlSubfolderNoOutdir.sourcemap.txt | 322 + .../amd/ref/m1.d.ts | 0 .../maprootUrlSubfolderNoOutdir/amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + .../maprootUrlSubfolderNoOutdir/amd/test.d.ts | 1 + .../maprootUrlSubfolderNoOutdir/amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/maprootUrlSubfolderNoOutdir.json | 24 + .../maprootUrlSubfolderNoOutdir.sourcemap.txt | 322 + .../node/ref/m1.d.ts | 0 .../node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 1 + .../maprootUrlSubfolderNoOutdir/node/test.js | 11 + .../node/test.js.map | 1 + ...ootUrlSubfolderSpecifyOutputDirectory.json | 25 + ...folderSpecifyOutputDirectory.sourcemap.txt | 322 + .../amd/outdir/simple/ref/m1.d.ts | 0 .../amd/outdir/simple/ref/m1.js | 11 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 1 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...ootUrlSubfolderSpecifyOutputDirectory.json | 25 + ...folderSpecifyOutputDirectory.sourcemap.txt | 322 + .../node/outdir/simple/ref/m1.d.ts | 0 .../node/outdir/simple/ref/m1.js | 11 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 1 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + .../maprootUrlSubfolderSpecifyOutputFile.json | 22 + ...rlSubfolderSpecifyOutputFile.sourcemap.txt | 316 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + .../maprootUrlSubfolderSpecifyOutputFile.json | 22 + ...rlSubfolderSpecifyOutputFile.sourcemap.txt | 316 + ...rlsourcerootUrlMixedSubfolderNoOutdir.json | 29 + ...ootUrlMixedSubfolderNoOutdir.sourcemap.txt | 518 + .../amd/ref/m1.d.ts | 0 .../amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + .../amd/ref/m2.d.ts | 6 + .../amd/ref/m2.js | 15 + .../amd/ref/m2.js.map | 1 + .../amd/test.d.ts | 2 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + ...rlsourcerootUrlMixedSubfolderNoOutdir.json | 29 + ...ootUrlMixedSubfolderNoOutdir.sourcemap.txt | 517 + .../node/ref/m1.d.ts | 0 .../node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + .../node/ref/m2.d.ts | 6 + .../node/ref/m2.js | 13 + .../node/ref/m2.js.map | 1 + .../node/test.d.ts | 2 + .../node/test.js | 11 + .../node/test.js.map | 1 + ...lMixedSubfolderSpecifyOutputDirectory.json | 30 + ...folderSpecifyOutputDirectory.sourcemap.txt | 518 + .../amd/outdir/simple/ref/m1.d.ts | 0 .../amd/outdir/simple/ref/m1.js | 11 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/ref/m2.d.ts | 6 + .../amd/outdir/simple/ref/m2.js | 15 + .../amd/outdir/simple/ref/m2.js.map | 1 + .../amd/outdir/simple/test.d.ts | 2 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...lMixedSubfolderSpecifyOutputDirectory.json | 30 + ...folderSpecifyOutputDirectory.sourcemap.txt | 517 + .../node/outdir/simple/ref/m1.d.ts | 0 .../node/outdir/simple/ref/m1.js | 11 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/ref/m2.d.ts | 6 + .../node/outdir/simple/ref/m2.js | 13 + .../node/outdir/simple/ref/m2.js.map | 1 + .../node/outdir/simple/test.d.ts | 2 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 1 + .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + ...ootUrlMixedSubfolderSpecifyOutputFile.json | 27 + ...edSubfolderSpecifyOutputFile.sourcemap.txt | 512 + .../amd/ref/m2.d.ts | 6 + .../amd/ref/m2.js | 15 + .../amd/ref/m2.js.map | 1 + .../node/bin/test.d.ts | 1 + .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + ...ootUrlMixedSubfolderSpecifyOutputFile.json | 27 + ...edSubfolderSpecifyOutputFile.sourcemap.txt | 511 + .../node/ref/m2.d.ts | 6 + .../node/ref/m2.js | 13 + .../node/ref/m2.js.map | 1 + .../amd/bin/outAndOutDirFile.d.ts | 1 + .../amd/bin/outAndOutDirFile.js | 21 + .../amd/bin/outAndOutDirFile.js.map | 1 + ...erSpecifyOutputFileAndOutputDirectory.json | 28 + ...OutputFileAndOutputDirectory.sourcemap.txt | 512 + .../amd/outdir/outAndOutDirFolder/ref/m2.d.ts | 6 + .../amd/outdir/outAndOutDirFolder/ref/m2.js | 15 + .../outdir/outAndOutDirFolder/ref/m2.js.map | 1 + .../node/bin/outAndOutDirFile.d.ts | 1 + .../node/bin/outAndOutDirFile.js | 21 + .../node/bin/outAndOutDirFile.js.map | 1 + ...erSpecifyOutputFileAndOutputDirectory.json | 28 + ...OutputFileAndOutputDirectory.sourcemap.txt | 511 + .../outdir/outAndOutDirFolder/ref/m2.d.ts | 6 + .../node/outdir/outAndOutDirFolder/ref/m2.js | 13 + .../outdir/outAndOutDirFolder/ref/m2.js.map | 1 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 15 + .../amd/diskFile2.d.ts | 6 + ...ourcerootUrlModuleMultifolderNoOutdir.json | 29 + ...UrlModuleMultifolderNoOutdir.sourcemap.txt | 652 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + .../amd/test.d.ts | 8 + .../amd/test.js | 17 + .../amd/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 13 + .../node/diskFile2.d.ts | 6 + ...ourcerootUrlModuleMultifolderNoOutdir.json | 29 + ...UrlModuleMultifolderNoOutdir.sourcemap.txt | 683 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 8 + .../node/test.js | 17 + .../node/test.js.map | 1 + ...duleMultifolderSpecifyOutputDirectory.json | 30 + ...folderSpecifyOutputDirectory.sourcemap.txt | 652 + .../outputdir_module_multifolder/ref/m1.d.ts | 6 + .../outputdir_module_multifolder/ref/m1.js | 15 + .../ref/m1.js.map | 1 + .../outputdir_module_multifolder/test.d.ts | 8 + .../outputdir_module_multifolder/test.js | 17 + .../outputdir_module_multifolder/test.js.map | 1 + .../outputdir_module_multifolder_ref/m2.d.ts | 6 + .../outputdir_module_multifolder_ref/m2.js | 15 + .../m2.js.map | 1 + ...duleMultifolderSpecifyOutputDirectory.json | 30 + ...folderSpecifyOutputDirectory.sourcemap.txt | 683 + .../outputdir_module_multifolder/ref/m1.d.ts | 6 + .../outputdir_module_multifolder/ref/m1.js | 13 + .../ref/m1.js.map | 1 + .../outputdir_module_multifolder/test.d.ts | 8 + .../outputdir_module_multifolder/test.js | 17 + .../outputdir_module_multifolder/test.js.map | 1 + .../outputdir_module_multifolder_ref/m2.d.ts | 6 + .../outputdir_module_multifolder_ref/m2.js | 13 + .../m2.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 15 + .../amd/diskFile2.d.ts | 6 + ...UrlModuleMultifolderSpecifyOutputFile.json | 33 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 658 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + .../amd/test.d.ts | 8 + .../amd/test.js | 17 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 13 + .../node/diskFile2.d.ts | 6 + ...UrlModuleMultifolderSpecifyOutputFile.json | 33 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 689 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 8 + .../node/test.js | 17 + .../node/test.js.map | 1 + .../amd/m1.d.ts | 6 + .../amd/m1.js | 15 + .../amd/m1.js.map | 1 + ...tUrlsourcerootUrlModuleSimpleNoOutdir.json | 25 + ...erootUrlModuleSimpleNoOutdir.sourcemap.txt | 425 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/m1.d.ts | 6 + .../node/m1.js | 13 + .../node/m1.js.map | 1 + ...tUrlsourcerootUrlModuleSimpleNoOutdir.json | 25 + ...erootUrlModuleSimpleNoOutdir.sourcemap.txt | 439 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + ...UrlModuleSimpleSpecifyOutputDirectory.json | 26 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 425 + .../amd/outdir/simple/m1.d.ts | 6 + .../amd/outdir/simple/m1.js | 15 + .../amd/outdir/simple/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 7 + .../amd/outdir/simple/test.js | 16 + .../amd/outdir/simple/test.js.map | 1 + ...UrlModuleSimpleSpecifyOutputDirectory.json | 26 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 439 + .../node/outdir/simple/m1.d.ts | 6 + .../node/outdir/simple/m1.js | 13 + .../node/outdir/simple/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 7 + .../node/outdir/simple/test.js | 15 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + .../amd/m1.d.ts | 6 + .../amd/m1.js | 15 + .../amd/m1.js.map | 1 + ...erootUrlModuleSimpleSpecifyOutputFile.json | 29 + ...oduleSimpleSpecifyOutputFile.sourcemap.txt | 431 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + .../node/m1.d.ts | 6 + .../node/m1.js | 13 + .../node/m1.js.map | 1 + ...erootUrlModuleSimpleSpecifyOutputFile.json | 29 + ...oduleSimpleSpecifyOutputFile.sourcemap.txt | 445 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + ...lsourcerootUrlModuleSubfolderNoOutdir.json | 25 + ...otUrlModuleSubfolderNoOutdir.sourcemap.txt | 425 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + ...lsourcerootUrlModuleSubfolderNoOutdir.json | 25 + ...otUrlModuleSubfolderNoOutdir.sourcemap.txt | 439 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + ...ModuleSubfolderSpecifyOutputDirectory.json | 26 + ...folderSpecifyOutputDirectory.sourcemap.txt | 425 + .../amd/outdir/simple/ref/m1.d.ts | 6 + .../amd/outdir/simple/ref/m1.js | 15 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 7 + .../amd/outdir/simple/test.js | 16 + .../amd/outdir/simple/test.js.map | 1 + ...ModuleSubfolderSpecifyOutputDirectory.json | 26 + ...folderSpecifyOutputDirectory.sourcemap.txt | 439 + .../node/outdir/simple/ref/m1.d.ts | 6 + .../node/outdir/simple/ref/m1.js | 13 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 7 + .../node/outdir/simple/test.js | 15 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + ...otUrlModuleSubfolderSpecifyOutputFile.json | 29 + ...leSubfolderSpecifyOutputFile.sourcemap.txt | 431 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + ...otUrlModuleSubfolderSpecifyOutputFile.json | 29 + ...leSubfolderSpecifyOutputFile.sourcemap.txt | 445 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 11 + .../amd/diskFile2.d.ts | 0 ...otUrlsourcerootUrlMultifolderNoOutdir.json | 29 + ...cerootUrlMultifolderNoOutdir.sourcemap.txt | 483 + .../amd/ref/m1.d.ts | 0 .../amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + .../amd/test.d.ts | 2 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 11 + .../node/diskFile2.d.ts | 0 ...otUrlsourcerootUrlMultifolderNoOutdir.json | 29 + ...cerootUrlMultifolderNoOutdir.sourcemap.txt | 483 + .../node/ref/m1.d.ts | 0 .../node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 2 + .../node/test.js | 11 + .../node/test.js.map | 1 + ...tUrlMultifolderSpecifyOutputDirectory.json | 30 + ...folderSpecifyOutputDirectory.sourcemap.txt | 483 + .../simple/outputdir_multifolder/ref/m1.d.ts | 0 .../simple/outputdir_multifolder/ref/m1.js | 11 + .../outputdir_multifolder/ref/m1.js.map | 1 + .../simple/outputdir_multifolder/test.d.ts | 2 + .../simple/outputdir_multifolder/test.js | 11 + .../simple/outputdir_multifolder/test.js.map | 1 + .../simple/outputdir_multifolder_ref/m2.d.ts | 0 .../simple/outputdir_multifolder_ref/m2.js | 11 + .../outputdir_multifolder_ref/m2.js.map | 1 + ...tUrlMultifolderSpecifyOutputDirectory.json | 30 + ...folderSpecifyOutputDirectory.sourcemap.txt | 483 + .../simple/outputdir_multifolder/ref/m1.d.ts | 0 .../simple/outputdir_multifolder/ref/m1.js | 11 + .../outputdir_multifolder/ref/m1.js.map | 1 + .../simple/outputdir_multifolder/test.d.ts | 2 + .../simple/outputdir_multifolder/test.js | 11 + .../simple/outputdir_multifolder/test.js.map | 1 + .../simple/outputdir_multifolder_ref/m2.d.ts | 0 .../simple/outputdir_multifolder_ref/m2.js | 11 + .../outputdir_multifolder_ref/m2.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 31 + .../amd/bin/test.js.map | 1 + ...cerootUrlMultifolderSpecifyOutputFile.json | 24 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 471 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 31 + .../node/bin/test.js.map | 1 + ...cerootUrlMultifolderSpecifyOutputFile.json | 24 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 471 + .../amd/m1.d.ts | 0 .../amd/m1.js | 11 + .../amd/m1.js.map | 1 + ...maprootUrlsourcerootUrlSimpleNoOutdir.json | 25 + ...lsourcerootUrlSimpleNoOutdir.sourcemap.txt | 322 + .../amd/test.d.ts | 1 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/m1.d.ts | 0 .../node/m1.js | 11 + .../node/m1.js.map | 1 + ...maprootUrlsourcerootUrlSimpleNoOutdir.json | 25 + ...lsourcerootUrlSimpleNoOutdir.sourcemap.txt | 322 + .../node/test.d.ts | 1 + .../node/test.js | 11 + .../node/test.js.map | 1 + ...cerootUrlSimpleSpecifyOutputDirectory.json | 26 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 322 + .../amd/outdir/simple/m1.d.ts | 0 .../amd/outdir/simple/m1.js | 11 + .../amd/outdir/simple/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 1 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...cerootUrlSimpleSpecifyOutputDirectory.json | 26 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 322 + .../node/outdir/simple/m1.d.ts | 0 .../node/outdir/simple/m1.js | 11 + .../node/outdir/simple/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 1 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + ...lsourcerootUrlSimpleSpecifyOutputFile.json | 23 + ...otUrlSimpleSpecifyOutputFile.sourcemap.txt | 316 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + ...lsourcerootUrlSimpleSpecifyOutputFile.json | 23 + ...otUrlSimpleSpecifyOutputFile.sourcemap.txt | 316 + ...ootUrlsourcerootUrlSingleFileNoOutdir.json | 21 + ...rcerootUrlSingleFileNoOutdir.sourcemap.txt | 161 + .../amd/test.d.ts | 0 .../amd/test.js | 11 + .../amd/test.js.map | 1 + ...ootUrlsourcerootUrlSingleFileNoOutdir.json | 21 + ...rcerootUrlSingleFileNoOutdir.sourcemap.txt | 161 + .../node/test.d.ts | 0 .../node/test.js | 11 + .../node/test.js.map | 1 + ...otUrlSingleFileSpecifyOutputDirectory.json | 22 + ...leFileSpecifyOutputDirectory.sourcemap.txt | 161 + .../amd/outdir/simple/test.d.ts | 0 .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...otUrlSingleFileSpecifyOutputDirectory.json | 22 + ...leFileSpecifyOutputDirectory.sourcemap.txt | 161 + .../node/outdir/simple/test.d.ts | 0 .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 11 + .../amd/bin/test.js.map | 1 + ...rcerootUrlSingleFileSpecifyOutputFile.json | 22 + ...lSingleFileSpecifyOutputFile.sourcemap.txt | 161 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 11 + .../node/bin/test.js.map | 1 + ...rcerootUrlSingleFileSpecifyOutputFile.json | 22 + ...lSingleFileSpecifyOutputFile.sourcemap.txt | 161 + ...rootUrlsourcerootUrlSubfolderNoOutdir.json | 25 + ...urcerootUrlSubfolderNoOutdir.sourcemap.txt | 322 + .../amd/ref/m1.d.ts | 0 .../amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + .../amd/test.d.ts | 1 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + ...rootUrlsourcerootUrlSubfolderNoOutdir.json | 25 + ...urcerootUrlSubfolderNoOutdir.sourcemap.txt | 322 + .../node/ref/m1.d.ts | 0 .../node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + .../node/test.d.ts | 1 + .../node/test.js | 11 + .../node/test.js.map | 1 + ...ootUrlSubfolderSpecifyOutputDirectory.json | 26 + ...folderSpecifyOutputDirectory.sourcemap.txt | 322 + .../amd/outdir/simple/ref/m1.d.ts | 0 .../amd/outdir/simple/ref/m1.js | 11 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 1 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...ootUrlSubfolderSpecifyOutputDirectory.json | 26 + ...folderSpecifyOutputDirectory.sourcemap.txt | 322 + .../node/outdir/simple/ref/m1.d.ts | 0 .../node/outdir/simple/ref/m1.js | 11 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 1 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + ...urcerootUrlSubfolderSpecifyOutputFile.json | 23 + ...rlSubfolderSpecifyOutputFile.sourcemap.txt | 316 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + ...urcerootUrlSubfolderSpecifyOutputFile.json | 23 + ...rlSubfolderSpecifyOutputFile.sourcemap.txt | 316 + .../amd/moduleIdentifier.json | 17 + .../node/moduleIdentifier.json | 17 + .../amd/moduleMergingOrdering1.json | 17 + .../node/moduleMergingOrdering1.json | 17 + .../amd/moduleMergingOrdering2.json | 17 + .../node/moduleMergingOrdering2.json | 17 + .../amd/multipleLevelsModuleResolution.json | 20 + .../node/multipleLevelsModuleResolution.json | 20 + .../nestedDeclare/amd/nestedDeclare.json | 14 + .../nestedDeclare/node/nestedDeclare.json | 14 + .../nestedLocalModuleSimpleCase.errors.txt | 1 + .../amd/nestedLocalModuleSimpleCase.json | 12 + .../nestedLocalModuleSimpleCase.errors.txt | 1 + .../node/nestedLocalModuleSimpleCase.json | 12 + ...calModuleWithRecursiveTypecheck.errors.txt | 1 + ...stedLocalModuleWithRecursiveTypecheck.json | 12 + ...calModuleWithRecursiveTypecheck.errors.txt | 1 + ...stedLocalModuleWithRecursiveTypecheck.json | 12 + .../amd/nestedReferenceTags.json | 18 + .../node/nestedReferenceTags.json | 18 + .../noDefaultLib/amd/noDefaultLib.errors.txt | 9 + .../noDefaultLib/amd/noDefaultLib.json | 13 + .../noDefaultLib/node/noDefaultLib.errors.txt | 9 + .../noDefaultLib/node/noDefaultLib.json | 13 + .../project/nonRelative/amd/consume.js | 8 + .../reference/project/nonRelative/amd/decl.js | 6 + .../project/nonRelative/amd/lib/bar/a.js | 5 + .../project/nonRelative/amd/lib/foo/a.js | 5 + .../project/nonRelative/amd/lib/foo/b.js | 5 + .../project/nonRelative/amd/nonRelative.json | 23 + .../project/nonRelative/node/consume.js | 9 + .../project/nonRelative/node/decl.js | 4 + .../project/nonRelative/node/lib/bar/a.js | 3 + .../project/nonRelative/node/lib/foo/a.js | 3 + .../project/nonRelative/node/lib/foo/b.js | 3 + .../project/nonRelative/node/nonRelative.json | 23 + .../amd/outMixedSubfolderNoOutdir.json | 23 + .../outMixedSubfolderNoOutdir/amd/ref/m1.d.ts | 0 .../outMixedSubfolderNoOutdir/amd/ref/m1.js | 10 + .../outMixedSubfolderNoOutdir/amd/ref/m2.d.ts | 6 + .../outMixedSubfolderNoOutdir/amd/ref/m2.js | 14 + .../outMixedSubfolderNoOutdir/amd/test.d.ts | 2 + .../outMixedSubfolderNoOutdir/amd/test.js | 10 + .../node/outMixedSubfolderNoOutdir.json | 23 + .../node/ref/m1.d.ts | 0 .../outMixedSubfolderNoOutdir/node/ref/m1.js | 10 + .../node/ref/m2.d.ts | 6 + .../outMixedSubfolderNoOutdir/node/ref/m2.js | 12 + .../outMixedSubfolderNoOutdir/node/test.d.ts | 2 + .../outMixedSubfolderNoOutdir/node/test.js | 10 + ...tMixedSubfolderSpecifyOutputDirectory.json | 24 + .../amd/outdir/simple/ref/m1.d.ts | 0 .../amd/outdir/simple/ref/m1.js | 10 + .../amd/outdir/simple/ref/m2.d.ts | 6 + .../amd/outdir/simple/ref/m2.js | 14 + .../amd/outdir/simple/test.d.ts | 2 + .../amd/outdir/simple/test.js | 10 + ...tMixedSubfolderSpecifyOutputDirectory.json | 24 + .../node/outdir/simple/ref/m1.d.ts | 0 .../node/outdir/simple/ref/m1.js | 10 + .../node/outdir/simple/ref/m2.d.ts | 6 + .../node/outdir/simple/ref/m2.js | 12 + .../node/outdir/simple/test.d.ts | 2 + .../node/outdir/simple/test.js | 10 + .../amd/bin/test.d.ts | 1 + .../amd/bin/test.js | 20 + .../outMixedSubfolderSpecifyOutputFile.json | 22 + .../amd/ref/m2.d.ts | 6 + .../amd/ref/m2.js | 14 + .../node/bin/test.d.ts | 1 + .../node/bin/test.js | 20 + .../outMixedSubfolderSpecifyOutputFile.json | 22 + .../node/ref/m2.d.ts | 6 + .../node/ref/m2.js | 12 + .../amd/bin/outAndOutDirFile.d.ts | 1 + .../amd/bin/outAndOutDirFile.js | 20 + ...erSpecifyOutputFileAndOutputDirectory.json | 23 + .../amd/outdir/outAndOutDirFolder/ref/m2.d.ts | 6 + .../amd/outdir/outAndOutDirFolder/ref/m2.js | 14 + .../node/bin/outAndOutDirFile.d.ts | 1 + .../node/bin/outAndOutDirFile.js | 20 + ...erSpecifyOutputFileAndOutputDirectory.json | 23 + .../outdir/outAndOutDirFolder/ref/m2.d.ts | 6 + .../node/outdir/outAndOutDirFolder/ref/m2.js | 12 + .../amd/diskFile0.js | 14 + .../amd/diskFile1.d.ts | 6 + .../amd/outModuleMultifolderNoOutdir.json | 23 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 14 + .../amd/test.d.ts | 8 + .../outModuleMultifolderNoOutdir/amd/test.js | 16 + .../node/diskFile0.js | 12 + .../node/diskFile1.d.ts | 6 + .../node/outModuleMultifolderNoOutdir.json | 23 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 12 + .../node/test.d.ts | 8 + .../outModuleMultifolderNoOutdir/node/test.js | 16 + ...duleMultifolderSpecifyOutputDirectory.json | 24 + .../outputdir_module_multifolder/ref/m1.d.ts | 6 + .../outputdir_module_multifolder/ref/m1.js | 14 + .../outputdir_module_multifolder/test.d.ts | 8 + .../outputdir_module_multifolder/test.js | 16 + .../outputdir_module_multifolder_ref/m2.d.ts | 6 + .../outputdir_module_multifolder_ref/m2.js | 14 + ...duleMultifolderSpecifyOutputDirectory.json | 24 + .../outputdir_module_multifolder/ref/m1.d.ts | 6 + .../outputdir_module_multifolder/ref/m1.js | 12 + .../outputdir_module_multifolder/test.d.ts | 8 + .../outputdir_module_multifolder/test.js | 16 + .../outputdir_module_multifolder_ref/m2.d.ts | 6 + .../outputdir_module_multifolder_ref/m2.js | 12 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 0 .../amd/diskFile0.js | 14 + .../amd/diskFile1.d.ts | 6 + ...outModuleMultifolderSpecifyOutputFile.json | 26 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 14 + .../amd/test.d.ts | 8 + .../amd/test.js | 16 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 0 .../node/diskFile0.js | 12 + .../node/diskFile1.d.ts | 6 + ...outModuleMultifolderSpecifyOutputFile.json | 26 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 12 + .../node/test.d.ts | 8 + .../node/test.js | 16 + .../outModuleSimpleNoOutdir/amd/m1.d.ts | 6 + .../project/outModuleSimpleNoOutdir/amd/m1.js | 14 + .../amd/outModuleSimpleNoOutdir.json | 20 + .../outModuleSimpleNoOutdir/amd/test.d.ts | 7 + .../outModuleSimpleNoOutdir/amd/test.js | 15 + .../outModuleSimpleNoOutdir/node/m1.d.ts | 6 + .../outModuleSimpleNoOutdir/node/m1.js | 12 + .../node/outModuleSimpleNoOutdir.json | 20 + .../outModuleSimpleNoOutdir/node/test.d.ts | 7 + .../outModuleSimpleNoOutdir/node/test.js | 14 + ...outModuleSimpleSpecifyOutputDirectory.json | 21 + .../amd/outdir/simple/m1.d.ts | 6 + .../amd/outdir/simple/m1.js | 14 + .../amd/outdir/simple/test.d.ts | 7 + .../amd/outdir/simple/test.js | 15 + ...outModuleSimpleSpecifyOutputDirectory.json | 21 + .../node/outdir/simple/m1.d.ts | 6 + .../node/outdir/simple/m1.js | 12 + .../node/outdir/simple/test.d.ts | 7 + .../node/outdir/simple/test.js | 14 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 0 .../amd/m1.d.ts | 6 + .../amd/m1.js | 14 + .../amd/outModuleSimpleSpecifyOutputFile.json | 23 + .../amd/test.d.ts | 7 + .../amd/test.js | 15 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 0 .../node/m1.d.ts | 6 + .../node/m1.js | 12 + .../outModuleSimpleSpecifyOutputFile.json | 23 + .../node/test.d.ts | 7 + .../node/test.js | 14 + .../amd/outModuleSubfolderNoOutdir.json | 20 + .../amd/ref/m1.d.ts | 6 + .../outModuleSubfolderNoOutdir/amd/ref/m1.js | 14 + .../outModuleSubfolderNoOutdir/amd/test.d.ts | 7 + .../outModuleSubfolderNoOutdir/amd/test.js | 15 + .../node/outModuleSubfolderNoOutdir.json | 20 + .../node/ref/m1.d.ts | 6 + .../outModuleSubfolderNoOutdir/node/ref/m1.js | 12 + .../outModuleSubfolderNoOutdir/node/test.d.ts | 7 + .../outModuleSubfolderNoOutdir/node/test.js | 14 + ...ModuleSubfolderSpecifyOutputDirectory.json | 21 + .../amd/outdir/simple/ref/m1.d.ts | 6 + .../amd/outdir/simple/ref/m1.js | 14 + .../amd/outdir/simple/test.d.ts | 7 + .../amd/outdir/simple/test.js | 15 + ...ModuleSubfolderSpecifyOutputDirectory.json | 21 + .../node/outdir/simple/ref/m1.d.ts | 6 + .../node/outdir/simple/ref/m1.js | 12 + .../node/outdir/simple/test.d.ts | 7 + .../node/outdir/simple/test.js | 14 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 0 .../outModuleSubfolderSpecifyOutputFile.json | 23 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 14 + .../amd/test.d.ts | 7 + .../amd/test.js | 15 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 0 .../outModuleSubfolderSpecifyOutputFile.json | 23 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 12 + .../node/test.d.ts | 7 + .../node/test.js | 14 + .../outMultifolderNoOutdir/amd/diskFile0.js | 10 + .../outMultifolderNoOutdir/amd/diskFile1.d.ts | 0 .../amd/outMultifolderNoOutdir.json | 23 + .../outMultifolderNoOutdir/amd/ref/m1.d.ts | 0 .../outMultifolderNoOutdir/amd/ref/m1.js | 10 + .../outMultifolderNoOutdir/amd/test.d.ts | 2 + .../outMultifolderNoOutdir/amd/test.js | 10 + .../outMultifolderNoOutdir/node/diskFile0.js | 10 + .../node/diskFile1.d.ts | 0 .../node/outMultifolderNoOutdir.json | 23 + .../outMultifolderNoOutdir/node/ref/m1.d.ts | 0 .../outMultifolderNoOutdir/node/ref/m1.js | 10 + .../outMultifolderNoOutdir/node/test.d.ts | 2 + .../outMultifolderNoOutdir/node/test.js | 10 + .../outMultifolderSpecifyOutputDirectory.json | 24 + .../simple/outputdir_multifolder/ref/m1.d.ts | 0 .../simple/outputdir_multifolder/ref/m1.js | 10 + .../simple/outputdir_multifolder/test.d.ts | 2 + .../simple/outputdir_multifolder/test.js | 10 + .../simple/outputdir_multifolder_ref/m2.d.ts | 0 .../simple/outputdir_multifolder_ref/m2.js | 10 + .../outMultifolderSpecifyOutputDirectory.json | 24 + .../simple/outputdir_multifolder/ref/m1.d.ts | 0 .../simple/outputdir_multifolder/ref/m1.js | 10 + .../simple/outputdir_multifolder/test.d.ts | 2 + .../simple/outputdir_multifolder/test.js | 10 + .../simple/outputdir_multifolder_ref/m2.d.ts | 0 .../simple/outputdir_multifolder_ref/m2.js | 10 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 30 + .../amd/outMultifolderSpecifyOutputFile.json | 20 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 30 + .../node/outMultifolderSpecifyOutputFile.json | 20 + .../project/outSimpleNoOutdir/amd/m1.d.ts | 0 .../project/outSimpleNoOutdir/amd/m1.js | 10 + .../amd/outSimpleNoOutdir.json | 20 + .../project/outSimpleNoOutdir/amd/test.d.ts | 1 + .../project/outSimpleNoOutdir/amd/test.js | 10 + .../project/outSimpleNoOutdir/node/m1.d.ts | 0 .../project/outSimpleNoOutdir/node/m1.js | 10 + .../node/outSimpleNoOutdir.json | 20 + .../project/outSimpleNoOutdir/node/test.d.ts | 1 + .../project/outSimpleNoOutdir/node/test.js | 10 + .../amd/outSimpleSpecifyOutputDirectory.json | 21 + .../amd/outdir/simple/m1.d.ts | 0 .../amd/outdir/simple/m1.js | 10 + .../amd/outdir/simple/test.d.ts | 1 + .../amd/outdir/simple/test.js | 10 + .../node/outSimpleSpecifyOutputDirectory.json | 21 + .../node/outdir/simple/m1.d.ts | 0 .../node/outdir/simple/m1.js | 10 + .../node/outdir/simple/test.d.ts | 1 + .../node/outdir/simple/test.js | 10 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 20 + .../amd/outSimpleSpecifyOutputFile.json | 19 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 20 + .../node/outSimpleSpecifyOutputFile.json | 19 + .../amd/outSingleFileNoOutdir.json | 17 + .../outSingleFileNoOutdir/amd/test.d.ts | 0 .../project/outSingleFileNoOutdir/amd/test.js | 10 + .../node/outSingleFileNoOutdir.json | 17 + .../outSingleFileNoOutdir/node/test.d.ts | 0 .../outSingleFileNoOutdir/node/test.js | 10 + .../outSingleFileSpecifyOutputDirectory.json | 18 + .../amd/outdir/simple/test.d.ts | 0 .../amd/outdir/simple/test.js | 10 + .../outSingleFileSpecifyOutputDirectory.json | 18 + .../node/outdir/simple/test.d.ts | 0 .../node/outdir/simple/test.js | 10 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 10 + .../amd/outSingleFileSpecifyOutputFile.json | 18 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 10 + .../node/outSingleFileSpecifyOutputFile.json | 18 + .../amd/outSubfolderNoOutdir.json | 20 + .../outSubfolderNoOutdir/amd/ref/m1.d.ts | 0 .../outSubfolderNoOutdir/amd/ref/m1.js | 10 + .../outSubfolderNoOutdir/amd/test.d.ts | 1 + .../project/outSubfolderNoOutdir/amd/test.js | 10 + .../node/outSubfolderNoOutdir.json | 20 + .../outSubfolderNoOutdir/node/ref/m1.d.ts | 0 .../outSubfolderNoOutdir/node/ref/m1.js | 10 + .../outSubfolderNoOutdir/node/test.d.ts | 1 + .../project/outSubfolderNoOutdir/node/test.js | 10 + .../outSubfolderSpecifyOutputDirectory.json | 21 + .../amd/outdir/simple/ref/m1.d.ts | 0 .../amd/outdir/simple/ref/m1.js | 10 + .../amd/outdir/simple/test.d.ts | 1 + .../amd/outdir/simple/test.js | 10 + .../outSubfolderSpecifyOutputDirectory.json | 21 + .../node/outdir/simple/ref/m1.d.ts | 0 .../node/outdir/simple/ref/m1.js | 10 + .../node/outdir/simple/test.d.ts | 1 + .../node/outdir/simple/test.js | 10 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 20 + .../amd/outSubfolderSpecifyOutputFile.json | 19 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 20 + .../node/outSubfolderSpecifyOutputFile.json | 19 + ...dModuleDeclarationsInsideModule.errors.txt | 2 + ...mportedModuleDeclarationsInsideModule.json | 13 + ...dModuleDeclarationsInsideModule.errors.txt | 2 + ...mportedModuleDeclarationsInsideModule.json | 13 + ...arationsInsideNonExportedModule.errors.txt | 2 + ...leDeclarationsInsideNonExportedModule.json | 12 + ...arationsInsideNonExportedModule.errors.txt | 2 + ...leDeclarationsInsideNonExportedModule.json | 12 + ...leImportStatementInParentModule.errors.txt | 2 + ...edModuleImportStatementInParentModule.json | 12 + ...leImportStatementInParentModule.errors.txt | 2 + ...edModuleImportStatementInParentModule.json | 12 + ...yCheckOnImportedModuleSimpleReference.json | 18 + ...yCheckOnImportedModuleSimpleReference.json | 18 + ...heckOnIndirectTypeFromTheExternalType.json | 18 + ...heckOnIndirectTypeFromTheExternalType.json | 18 + .../reference/project/prologueEmit/amd/out.js | 25 + .../prologueEmit/amd/prologueEmit.json | 18 + .../project/prologueEmit/node/out.js | 25 + .../prologueEmit/node/prologueEmit.json | 18 + .../amd/li'b/class'A.d.ts | 0 .../amd/li'b/class'A.js | 11 + .../amd/m'ain.d.ts | 1 + .../amd/m'ain.js | 13 + .../amd/quotesInFileAndDirectoryNames.json | 20 + .../node/li'b/class'A.d.ts | 0 .../node/li'b/class'A.js | 11 + .../node/m'ain.d.ts | 1 + .../node/m'ain.js | 13 + .../node/quotesInFileAndDirectoryNames.json | 20 + .../relativeGlobal/amd/relativeGlobal.json | 17 + .../relativeGlobal/node/relativeGlobal.json | 17 + .../amd/relativeGlobalRef.json | 15 + .../node/relativeGlobalRef.json | 15 + .../relativeNested/amd/relativeNested.json | 19 + .../relativeNested/node/relativeNested.json | 19 + .../amd/relativeNestedRef.json | 15 + .../node/relativeNestedRef.json | 15 + .../relativePaths/amd/relativePaths.json | 18 + .../relativePaths/node/relativePaths.json | 18 + .../amd/ref/m1.d.ts | 0 .../amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + .../amd/ref/m2.d.ts | 6 + .../amd/ref/m2.js | 15 + .../amd/ref/m2.js.map | 1 + ...ootAbsolutePathMixedSubfolderNoOutdir.json | 29 + ...tePathMixedSubfolderNoOutdir.sourcemap.txt | 518 + .../amd/test.d.ts | 2 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/ref/m1.d.ts | 0 .../node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + .../node/ref/m2.d.ts | 6 + .../node/ref/m2.js | 13 + .../node/ref/m2.js.map | 1 + ...ootAbsolutePathMixedSubfolderNoOutdir.json | 29 + ...tePathMixedSubfolderNoOutdir.sourcemap.txt | 517 + .../node/test.d.ts | 2 + .../node/test.js | 11 + .../node/test.js.map | 1 + .../amd/outdir/simple/ref/m1.d.ts | 0 .../amd/outdir/simple/ref/m1.js | 11 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/ref/m2.d.ts | 6 + .../amd/outdir/simple/ref/m2.js | 15 + .../amd/outdir/simple/ref/m2.js.map | 1 + .../amd/outdir/simple/test.d.ts | 2 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...hMixedSubfolderSpecifyOutputDirectory.json | 30 + ...folderSpecifyOutputDirectory.sourcemap.txt | 518 + .../node/outdir/simple/ref/m1.d.ts | 0 .../node/outdir/simple/ref/m1.js | 11 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/ref/m2.d.ts | 6 + .../node/outdir/simple/ref/m2.js | 13 + .../node/outdir/simple/ref/m2.js.map | 1 + .../node/outdir/simple/test.d.ts | 2 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + ...hMixedSubfolderSpecifyOutputDirectory.json | 30 + ...folderSpecifyOutputDirectory.sourcemap.txt | 517 + .../amd/bin/test.d.ts | 1 + .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + .../amd/ref/m2.d.ts | 6 + .../amd/ref/m2.js | 15 + .../amd/ref/m2.js.map | 1 + ...tePathMixedSubfolderSpecifyOutputFile.json | 27 + ...edSubfolderSpecifyOutputFile.sourcemap.txt | 512 + .../node/bin/test.d.ts | 1 + .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + .../node/ref/m2.d.ts | 6 + .../node/ref/m2.js | 13 + .../node/ref/m2.js.map | 1 + ...tePathMixedSubfolderSpecifyOutputFile.json | 27 + ...edSubfolderSpecifyOutputFile.sourcemap.txt | 511 + .../amd/bin/outAndOutDirFile.d.ts | 1 + .../amd/bin/outAndOutDirFile.js | 21 + .../amd/bin/outAndOutDirFile.js.map | 1 + .../amd/outdir/outAndOutDirFolder/ref/m2.d.ts | 6 + .../amd/outdir/outAndOutDirFolder/ref/m2.js | 15 + .../outdir/outAndOutDirFolder/ref/m2.js.map | 1 + ...erSpecifyOutputFileAndOutputDirectory.json | 28 + ...OutputFileAndOutputDirectory.sourcemap.txt | 512 + .../node/bin/outAndOutDirFile.d.ts | 1 + .../node/bin/outAndOutDirFile.js | 21 + .../node/bin/outAndOutDirFile.js.map | 1 + .../outdir/outAndOutDirFolder/ref/m2.d.ts | 6 + .../node/outdir/outAndOutDirFolder/ref/m2.js | 13 + .../outdir/outAndOutDirFolder/ref/m2.js.map | 1 + ...erSpecifyOutputFileAndOutputDirectory.json | 28 + ...OutputFileAndOutputDirectory.sourcemap.txt | 511 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 15 + .../amd/diskFile2.d.ts | 6 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + ...AbsolutePathModuleMultifolderNoOutdir.json | 29 + ...athModuleMultifolderNoOutdir.sourcemap.txt | 652 + .../amd/test.d.ts | 8 + .../amd/test.js | 17 + .../amd/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 13 + .../node/diskFile2.d.ts | 6 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + ...AbsolutePathModuleMultifolderNoOutdir.json | 29 + ...athModuleMultifolderNoOutdir.sourcemap.txt | 683 + .../node/test.d.ts | 8 + .../node/test.js | 17 + .../node/test.js.map | 1 + .../outputdir_module_multifolder/ref/m1.d.ts | 6 + .../outputdir_module_multifolder/ref/m1.js | 15 + .../ref/m1.js.map | 1 + .../outputdir_module_multifolder/test.d.ts | 8 + .../outputdir_module_multifolder/test.js | 17 + .../outputdir_module_multifolder/test.js.map | 1 + .../outputdir_module_multifolder_ref/m2.d.ts | 6 + .../outputdir_module_multifolder_ref/m2.js | 15 + .../m2.js.map | 1 + ...duleMultifolderSpecifyOutputDirectory.json | 30 + ...folderSpecifyOutputDirectory.sourcemap.txt | 652 + .../outputdir_module_multifolder/ref/m1.d.ts | 6 + .../outputdir_module_multifolder/ref/m1.js | 13 + .../ref/m1.js.map | 1 + .../outputdir_module_multifolder/test.d.ts | 8 + .../outputdir_module_multifolder/test.js | 17 + .../outputdir_module_multifolder/test.js.map | 1 + .../outputdir_module_multifolder_ref/m2.d.ts | 6 + .../outputdir_module_multifolder_ref/m2.js | 13 + .../m2.js.map | 1 + ...duleMultifolderSpecifyOutputDirectory.json | 30 + ...folderSpecifyOutputDirectory.sourcemap.txt | 683 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 15 + .../amd/diskFile2.d.ts | 6 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + ...athModuleMultifolderSpecifyOutputFile.json | 33 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 658 + .../amd/test.d.ts | 8 + .../amd/test.js | 17 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 13 + .../node/diskFile2.d.ts | 6 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + ...athModuleMultifolderSpecifyOutputFile.json | 33 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 689 + .../node/test.d.ts | 8 + .../node/test.js | 17 + .../node/test.js.map | 1 + .../amd/m1.d.ts | 6 + .../amd/m1.js | 15 + .../amd/m1.js.map | 1 + ...eRootAbsolutePathModuleSimpleNoOutdir.json | 25 + ...lutePathModuleSimpleNoOutdir.sourcemap.txt | 425 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/m1.d.ts | 6 + .../node/m1.js | 13 + .../node/m1.js.map | 1 + ...eRootAbsolutePathModuleSimpleNoOutdir.json | 25 + ...lutePathModuleSimpleNoOutdir.sourcemap.txt | 439 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + .../amd/outdir/simple/m1.d.ts | 6 + .../amd/outdir/simple/m1.js | 15 + .../amd/outdir/simple/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 7 + .../amd/outdir/simple/test.js | 16 + .../amd/outdir/simple/test.js.map | 1 + ...athModuleSimpleSpecifyOutputDirectory.json | 26 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 425 + .../node/outdir/simple/m1.d.ts | 6 + .../node/outdir/simple/m1.js | 13 + .../node/outdir/simple/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 7 + .../node/outdir/simple/test.js | 15 + .../node/outdir/simple/test.js.map | 1 + ...athModuleSimpleSpecifyOutputDirectory.json | 26 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 439 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + .../amd/m1.d.ts | 6 + .../amd/m1.js | 15 + .../amd/m1.js.map | 1 + ...lutePathModuleSimpleSpecifyOutputFile.json | 29 + ...oduleSimpleSpecifyOutputFile.sourcemap.txt | 431 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + .../node/m1.d.ts | 6 + .../node/m1.js | 13 + .../node/m1.js.map | 1 + ...lutePathModuleSimpleSpecifyOutputFile.json | 29 + ...oduleSimpleSpecifyOutputFile.sourcemap.txt | 445 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + ...otAbsolutePathModuleSubfolderNoOutdir.json | 25 + ...ePathModuleSubfolderNoOutdir.sourcemap.txt | 425 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + ...otAbsolutePathModuleSubfolderNoOutdir.json | 25 + ...ePathModuleSubfolderNoOutdir.sourcemap.txt | 439 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + .../amd/outdir/simple/ref/m1.d.ts | 6 + .../amd/outdir/simple/ref/m1.js | 15 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 7 + .../amd/outdir/simple/test.js | 16 + .../amd/outdir/simple/test.js.map | 1 + ...ModuleSubfolderSpecifyOutputDirectory.json | 26 + ...folderSpecifyOutputDirectory.sourcemap.txt | 425 + .../node/outdir/simple/ref/m1.d.ts | 6 + .../node/outdir/simple/ref/m1.js | 13 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 7 + .../node/outdir/simple/test.js | 15 + .../node/outdir/simple/test.js.map | 1 + ...ModuleSubfolderSpecifyOutputDirectory.json | 26 + ...folderSpecifyOutputDirectory.sourcemap.txt | 439 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + ...ePathModuleSubfolderSpecifyOutputFile.json | 29 + ...leSubfolderSpecifyOutputFile.sourcemap.txt | 431 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + ...ePathModuleSubfolderSpecifyOutputFile.json | 29 + ...leSubfolderSpecifyOutputFile.sourcemap.txt | 445 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 11 + .../amd/diskFile2.d.ts | 0 .../amd/ref/m1.d.ts | 0 .../amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + ...ceRootAbsolutePathMultifolderNoOutdir.json | 29 + ...olutePathMultifolderNoOutdir.sourcemap.txt | 483 + .../amd/test.d.ts | 2 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 11 + .../node/diskFile2.d.ts | 0 .../node/ref/m1.d.ts | 0 .../node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + ...ceRootAbsolutePathMultifolderNoOutdir.json | 29 + ...olutePathMultifolderNoOutdir.sourcemap.txt | 483 + .../node/test.d.ts | 2 + .../node/test.js | 11 + .../node/test.js.map | 1 + .../simple/outputdir_multifolder/ref/m1.d.ts | 0 .../simple/outputdir_multifolder/ref/m1.js | 11 + .../outputdir_multifolder/ref/m1.js.map | 1 + .../simple/outputdir_multifolder/test.d.ts | 2 + .../simple/outputdir_multifolder/test.js | 11 + .../simple/outputdir_multifolder/test.js.map | 1 + .../simple/outputdir_multifolder_ref/m2.d.ts | 0 .../simple/outputdir_multifolder_ref/m2.js | 11 + .../outputdir_multifolder_ref/m2.js.map | 1 + ...PathMultifolderSpecifyOutputDirectory.json | 30 + ...folderSpecifyOutputDirectory.sourcemap.txt | 483 + .../simple/outputdir_multifolder/ref/m1.d.ts | 0 .../simple/outputdir_multifolder/ref/m1.js | 11 + .../outputdir_multifolder/ref/m1.js.map | 1 + .../simple/outputdir_multifolder/test.d.ts | 2 + .../simple/outputdir_multifolder/test.js | 11 + .../simple/outputdir_multifolder/test.js.map | 1 + .../simple/outputdir_multifolder_ref/m2.d.ts | 0 .../simple/outputdir_multifolder_ref/m2.js | 11 + .../outputdir_multifolder_ref/m2.js.map | 1 + ...PathMultifolderSpecifyOutputDirectory.json | 30 + ...folderSpecifyOutputDirectory.sourcemap.txt | 483 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 31 + .../amd/bin/test.js.map | 1 + ...olutePathMultifolderSpecifyOutputFile.json | 24 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 471 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 31 + .../node/bin/test.js.map | 1 + ...olutePathMultifolderSpecifyOutputFile.json | 24 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 471 + .../amd/m1.d.ts | 0 .../amd/m1.js | 11 + .../amd/m1.js.map | 1 + .../sourceRootAbsolutePathSimpleNoOutdir.json | 25 + ...otAbsolutePathSimpleNoOutdir.sourcemap.txt | 322 + .../amd/test.d.ts | 1 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/m1.d.ts | 0 .../node/m1.js | 11 + .../node/m1.js.map | 1 + .../sourceRootAbsolutePathSimpleNoOutdir.json | 25 + ...otAbsolutePathSimpleNoOutdir.sourcemap.txt | 322 + .../node/test.d.ts | 1 + .../node/test.js | 11 + .../node/test.js.map | 1 + .../amd/outdir/simple/m1.d.ts | 0 .../amd/outdir/simple/m1.js | 11 + .../amd/outdir/simple/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 1 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...olutePathSimpleSpecifyOutputDirectory.json | 26 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 322 + .../node/outdir/simple/m1.d.ts | 0 .../node/outdir/simple/m1.js | 11 + .../node/outdir/simple/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 1 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + ...olutePathSimpleSpecifyOutputDirectory.json | 26 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 322 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + ...otAbsolutePathSimpleSpecifyOutputFile.json | 23 + ...ePathSimpleSpecifyOutputFile.sourcemap.txt | 316 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + ...otAbsolutePathSimpleSpecifyOutputFile.json | 23 + ...ePathSimpleSpecifyOutputFile.sourcemap.txt | 316 + ...rceRootAbsolutePathSingleFileNoOutdir.json | 21 + ...solutePathSingleFileNoOutdir.sourcemap.txt | 161 + .../amd/test.d.ts | 0 .../amd/test.js | 11 + .../amd/test.js.map | 1 + ...rceRootAbsolutePathSingleFileNoOutdir.json | 21 + ...solutePathSingleFileNoOutdir.sourcemap.txt | 161 + .../node/test.d.ts | 0 .../node/test.js | 11 + .../node/test.js.map | 1 + .../amd/outdir/simple/test.d.ts | 0 .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...ePathSingleFileSpecifyOutputDirectory.json | 22 + ...leFileSpecifyOutputDirectory.sourcemap.txt | 161 + .../node/outdir/simple/test.d.ts | 0 .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + ...ePathSingleFileSpecifyOutputDirectory.json | 22 + ...leFileSpecifyOutputDirectory.sourcemap.txt | 161 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 11 + .../amd/bin/test.js.map | 1 + ...solutePathSingleFileSpecifyOutputFile.json | 22 + ...hSingleFileSpecifyOutputFile.sourcemap.txt | 161 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 11 + .../node/bin/test.js.map | 1 + ...solutePathSingleFileSpecifyOutputFile.json | 22 + ...hSingleFileSpecifyOutputFile.sourcemap.txt | 161 + .../amd/ref/m1.d.ts | 0 .../amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + ...urceRootAbsolutePathSubfolderNoOutdir.json | 25 + ...bsolutePathSubfolderNoOutdir.sourcemap.txt | 322 + .../amd/test.d.ts | 1 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/ref/m1.d.ts | 0 .../node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + ...urceRootAbsolutePathSubfolderNoOutdir.json | 25 + ...bsolutePathSubfolderNoOutdir.sourcemap.txt | 322 + .../node/test.d.ts | 1 + .../node/test.js | 11 + .../node/test.js.map | 1 + .../amd/outdir/simple/ref/m1.d.ts | 0 .../amd/outdir/simple/ref/m1.js | 11 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 1 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...tePathSubfolderSpecifyOutputDirectory.json | 26 + ...folderSpecifyOutputDirectory.sourcemap.txt | 322 + .../node/outdir/simple/ref/m1.d.ts | 0 .../node/outdir/simple/ref/m1.js | 11 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 1 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + ...tePathSubfolderSpecifyOutputDirectory.json | 26 + ...folderSpecifyOutputDirectory.sourcemap.txt | 322 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + ...bsolutePathSubfolderSpecifyOutputFile.json | 23 + ...thSubfolderSpecifyOutputFile.sourcemap.txt | 316 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + ...bsolutePathSubfolderSpecifyOutputFile.json | 23 + ...thSubfolderSpecifyOutputFile.sourcemap.txt | 316 + .../amd/ref/m1.d.ts | 0 .../amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + .../amd/ref/m2.d.ts | 6 + .../amd/ref/m2.js | 15 + .../amd/ref/m2.js.map | 1 + ...ootRelativePathMixedSubfolderNoOutdir.json | 28 + ...vePathMixedSubfolderNoOutdir.sourcemap.txt | 518 + .../amd/test.d.ts | 2 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/ref/m1.d.ts | 0 .../node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + .../node/ref/m2.d.ts | 6 + .../node/ref/m2.js | 13 + .../node/ref/m2.js.map | 1 + ...ootRelativePathMixedSubfolderNoOutdir.json | 28 + ...vePathMixedSubfolderNoOutdir.sourcemap.txt | 517 + .../node/test.d.ts | 2 + .../node/test.js | 11 + .../node/test.js.map | 1 + .../amd/outdir/simple/ref/m1.d.ts | 0 .../amd/outdir/simple/ref/m1.js | 11 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/ref/m2.d.ts | 6 + .../amd/outdir/simple/ref/m2.js | 15 + .../amd/outdir/simple/ref/m2.js.map | 1 + .../amd/outdir/simple/test.d.ts | 2 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...hMixedSubfolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 518 + .../node/outdir/simple/ref/m1.d.ts | 0 .../node/outdir/simple/ref/m1.js | 11 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/ref/m2.d.ts | 6 + .../node/outdir/simple/ref/m2.js | 13 + .../node/outdir/simple/ref/m2.js.map | 1 + .../node/outdir/simple/test.d.ts | 2 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + ...hMixedSubfolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 517 + .../amd/bin/test.d.ts | 1 + .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + .../amd/ref/m2.d.ts | 6 + .../amd/ref/m2.js | 15 + .../amd/ref/m2.js.map | 1 + ...vePathMixedSubfolderSpecifyOutputFile.json | 26 + ...edSubfolderSpecifyOutputFile.sourcemap.txt | 512 + .../node/bin/test.d.ts | 1 + .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + .../node/ref/m2.d.ts | 6 + .../node/ref/m2.js | 13 + .../node/ref/m2.js.map | 1 + ...vePathMixedSubfolderSpecifyOutputFile.json | 26 + ...edSubfolderSpecifyOutputFile.sourcemap.txt | 511 + .../amd/bin/outAndOutDirFile.d.ts | 1 + .../amd/bin/outAndOutDirFile.js | 21 + .../amd/bin/outAndOutDirFile.js.map | 1 + .../amd/outdir/outAndOutDirFolder/ref/m2.d.ts | 6 + .../amd/outdir/outAndOutDirFolder/ref/m2.js | 15 + .../outdir/outAndOutDirFolder/ref/m2.js.map | 1 + ...erSpecifyOutputFileAndOutputDirectory.json | 27 + ...OutputFileAndOutputDirectory.sourcemap.txt | 512 + .../node/bin/outAndOutDirFile.d.ts | 1 + .../node/bin/outAndOutDirFile.js | 21 + .../node/bin/outAndOutDirFile.js.map | 1 + .../outdir/outAndOutDirFolder/ref/m2.d.ts | 6 + .../node/outdir/outAndOutDirFolder/ref/m2.js | 13 + .../outdir/outAndOutDirFolder/ref/m2.js.map | 1 + ...erSpecifyOutputFileAndOutputDirectory.json | 27 + ...OutputFileAndOutputDirectory.sourcemap.txt | 511 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 15 + .../amd/diskFile2.d.ts | 6 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + ...RelativePathModuleMultifolderNoOutdir.json | 28 + ...athModuleMultifolderNoOutdir.sourcemap.txt | 652 + .../amd/test.d.ts | 8 + .../amd/test.js | 17 + .../amd/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 13 + .../node/diskFile2.d.ts | 6 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + ...RelativePathModuleMultifolderNoOutdir.json | 28 + ...athModuleMultifolderNoOutdir.sourcemap.txt | 683 + .../node/test.d.ts | 8 + .../node/test.js | 17 + .../node/test.js.map | 1 + .../outputdir_module_multifolder/ref/m1.d.ts | 6 + .../outputdir_module_multifolder/ref/m1.js | 15 + .../ref/m1.js.map | 1 + .../outputdir_module_multifolder/test.d.ts | 8 + .../outputdir_module_multifolder/test.js | 17 + .../outputdir_module_multifolder/test.js.map | 1 + .../outputdir_module_multifolder_ref/m2.d.ts | 6 + .../outputdir_module_multifolder_ref/m2.js | 15 + .../m2.js.map | 1 + ...duleMultifolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 652 + .../outputdir_module_multifolder/ref/m1.d.ts | 6 + .../outputdir_module_multifolder/ref/m1.js | 13 + .../ref/m1.js.map | 1 + .../outputdir_module_multifolder/test.d.ts | 8 + .../outputdir_module_multifolder/test.js | 17 + .../outputdir_module_multifolder/test.js.map | 1 + .../outputdir_module_multifolder_ref/m2.d.ts | 6 + .../outputdir_module_multifolder_ref/m2.js | 13 + .../m2.js.map | 1 + ...duleMultifolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 683 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 15 + .../amd/diskFile2.d.ts | 6 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + ...athModuleMultifolderSpecifyOutputFile.json | 32 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 658 + .../amd/test.d.ts | 8 + .../amd/test.js | 17 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 13 + .../node/diskFile2.d.ts | 6 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + ...athModuleMultifolderSpecifyOutputFile.json | 32 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 689 + .../node/test.d.ts | 8 + .../node/test.js | 17 + .../node/test.js.map | 1 + .../amd/m1.d.ts | 6 + .../amd/m1.js | 15 + .../amd/m1.js.map | 1 + ...eRootRelativePathModuleSimpleNoOutdir.json | 24 + ...tivePathModuleSimpleNoOutdir.sourcemap.txt | 425 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/m1.d.ts | 6 + .../node/m1.js | 13 + .../node/m1.js.map | 1 + ...eRootRelativePathModuleSimpleNoOutdir.json | 24 + ...tivePathModuleSimpleNoOutdir.sourcemap.txt | 439 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + .../amd/outdir/simple/m1.d.ts | 6 + .../amd/outdir/simple/m1.js | 15 + .../amd/outdir/simple/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 7 + .../amd/outdir/simple/test.js | 16 + .../amd/outdir/simple/test.js.map | 1 + ...athModuleSimpleSpecifyOutputDirectory.json | 25 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 425 + .../node/outdir/simple/m1.d.ts | 6 + .../node/outdir/simple/m1.js | 13 + .../node/outdir/simple/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 7 + .../node/outdir/simple/test.js | 15 + .../node/outdir/simple/test.js.map | 1 + ...athModuleSimpleSpecifyOutputDirectory.json | 25 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 439 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + .../amd/m1.d.ts | 6 + .../amd/m1.js | 15 + .../amd/m1.js.map | 1 + ...tivePathModuleSimpleSpecifyOutputFile.json | 28 + ...oduleSimpleSpecifyOutputFile.sourcemap.txt | 431 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + .../node/m1.d.ts | 6 + .../node/m1.js | 13 + .../node/m1.js.map | 1 + ...tivePathModuleSimpleSpecifyOutputFile.json | 28 + ...oduleSimpleSpecifyOutputFile.sourcemap.txt | 445 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + ...otRelativePathModuleSubfolderNoOutdir.json | 24 + ...ePathModuleSubfolderNoOutdir.sourcemap.txt | 425 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + ...otRelativePathModuleSubfolderNoOutdir.json | 24 + ...ePathModuleSubfolderNoOutdir.sourcemap.txt | 439 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + .../amd/outdir/simple/ref/m1.d.ts | 6 + .../amd/outdir/simple/ref/m1.js | 15 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 7 + .../amd/outdir/simple/test.js | 16 + .../amd/outdir/simple/test.js.map | 1 + ...ModuleSubfolderSpecifyOutputDirectory.json | 25 + ...folderSpecifyOutputDirectory.sourcemap.txt | 425 + .../node/outdir/simple/ref/m1.d.ts | 6 + .../node/outdir/simple/ref/m1.js | 13 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 7 + .../node/outdir/simple/test.js | 15 + .../node/outdir/simple/test.js.map | 1 + ...ModuleSubfolderSpecifyOutputDirectory.json | 25 + ...folderSpecifyOutputDirectory.sourcemap.txt | 439 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + ...ePathModuleSubfolderSpecifyOutputFile.json | 28 + ...leSubfolderSpecifyOutputFile.sourcemap.txt | 431 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + ...ePathModuleSubfolderSpecifyOutputFile.json | 28 + ...leSubfolderSpecifyOutputFile.sourcemap.txt | 445 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 11 + .../amd/diskFile2.d.ts | 0 .../amd/ref/m1.d.ts | 0 .../amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + ...ceRootRelativePathMultifolderNoOutdir.json | 28 + ...ativePathMultifolderNoOutdir.sourcemap.txt | 483 + .../amd/test.d.ts | 2 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 11 + .../node/diskFile2.d.ts | 0 .../node/ref/m1.d.ts | 0 .../node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + ...ceRootRelativePathMultifolderNoOutdir.json | 28 + ...ativePathMultifolderNoOutdir.sourcemap.txt | 483 + .../node/test.d.ts | 2 + .../node/test.js | 11 + .../node/test.js.map | 1 + .../simple/outputdir_multifolder/ref/m1.d.ts | 0 .../simple/outputdir_multifolder/ref/m1.js | 11 + .../outputdir_multifolder/ref/m1.js.map | 1 + .../simple/outputdir_multifolder/test.d.ts | 2 + .../simple/outputdir_multifolder/test.js | 11 + .../simple/outputdir_multifolder/test.js.map | 1 + .../simple/outputdir_multifolder_ref/m2.d.ts | 0 .../simple/outputdir_multifolder_ref/m2.js | 11 + .../outputdir_multifolder_ref/m2.js.map | 1 + ...PathMultifolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 483 + .../simple/outputdir_multifolder/ref/m1.d.ts | 0 .../simple/outputdir_multifolder/ref/m1.js | 11 + .../outputdir_multifolder/ref/m1.js.map | 1 + .../simple/outputdir_multifolder/test.d.ts | 2 + .../simple/outputdir_multifolder/test.js | 11 + .../simple/outputdir_multifolder/test.js.map | 1 + .../simple/outputdir_multifolder_ref/m2.d.ts | 0 .../simple/outputdir_multifolder_ref/m2.js | 11 + .../outputdir_multifolder_ref/m2.js.map | 1 + ...PathMultifolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 483 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 31 + .../amd/bin/test.js.map | 1 + ...ativePathMultifolderSpecifyOutputFile.json | 23 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 471 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 31 + .../node/bin/test.js.map | 1 + ...ativePathMultifolderSpecifyOutputFile.json | 23 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 471 + .../amd/m1.d.ts | 0 .../amd/m1.js | 11 + .../amd/m1.js.map | 1 + .../sourceRootRelativePathSimpleNoOutdir.json | 24 + ...otRelativePathSimpleNoOutdir.sourcemap.txt | 322 + .../amd/test.d.ts | 1 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/m1.d.ts | 0 .../node/m1.js | 11 + .../node/m1.js.map | 1 + .../sourceRootRelativePathSimpleNoOutdir.json | 24 + ...otRelativePathSimpleNoOutdir.sourcemap.txt | 322 + .../node/test.d.ts | 1 + .../node/test.js | 11 + .../node/test.js.map | 1 + .../amd/outdir/simple/m1.d.ts | 0 .../amd/outdir/simple/m1.js | 11 + .../amd/outdir/simple/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 1 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...ativePathSimpleSpecifyOutputDirectory.json | 25 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 322 + .../node/outdir/simple/m1.d.ts | 0 .../node/outdir/simple/m1.js | 11 + .../node/outdir/simple/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 1 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + ...ativePathSimpleSpecifyOutputDirectory.json | 25 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 322 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + ...otRelativePathSimpleSpecifyOutputFile.json | 22 + ...ePathSimpleSpecifyOutputFile.sourcemap.txt | 316 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + ...otRelativePathSimpleSpecifyOutputFile.json | 22 + ...ePathSimpleSpecifyOutputFile.sourcemap.txt | 316 + ...rceRootRelativePathSingleFileNoOutdir.json | 20 + ...lativePathSingleFileNoOutdir.sourcemap.txt | 161 + .../amd/test.d.ts | 0 .../amd/test.js | 11 + .../amd/test.js.map | 1 + ...rceRootRelativePathSingleFileNoOutdir.json | 20 + ...lativePathSingleFileNoOutdir.sourcemap.txt | 161 + .../node/test.d.ts | 0 .../node/test.js | 11 + .../node/test.js.map | 1 + .../amd/outdir/simple/test.d.ts | 0 .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...ePathSingleFileSpecifyOutputDirectory.json | 21 + ...leFileSpecifyOutputDirectory.sourcemap.txt | 161 + .../node/outdir/simple/test.d.ts | 0 .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + ...ePathSingleFileSpecifyOutputDirectory.json | 21 + ...leFileSpecifyOutputDirectory.sourcemap.txt | 161 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 11 + .../amd/bin/test.js.map | 1 + ...lativePathSingleFileSpecifyOutputFile.json | 21 + ...hSingleFileSpecifyOutputFile.sourcemap.txt | 161 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 11 + .../node/bin/test.js.map | 1 + ...lativePathSingleFileSpecifyOutputFile.json | 21 + ...hSingleFileSpecifyOutputFile.sourcemap.txt | 161 + .../amd/ref/m1.d.ts | 0 .../amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + ...urceRootRelativePathSubfolderNoOutdir.json | 24 + ...elativePathSubfolderNoOutdir.sourcemap.txt | 322 + .../amd/test.d.ts | 1 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/ref/m1.d.ts | 0 .../node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + ...urceRootRelativePathSubfolderNoOutdir.json | 24 + ...elativePathSubfolderNoOutdir.sourcemap.txt | 322 + .../node/test.d.ts | 1 + .../node/test.js | 11 + .../node/test.js.map | 1 + .../amd/outdir/simple/ref/m1.d.ts | 0 .../amd/outdir/simple/ref/m1.js | 11 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 1 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...vePathSubfolderSpecifyOutputDirectory.json | 25 + ...folderSpecifyOutputDirectory.sourcemap.txt | 322 + .../node/outdir/simple/ref/m1.d.ts | 0 .../node/outdir/simple/ref/m1.js | 11 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 1 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + ...vePathSubfolderSpecifyOutputDirectory.json | 25 + ...folderSpecifyOutputDirectory.sourcemap.txt | 322 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + ...elativePathSubfolderSpecifyOutputFile.json | 22 + ...thSubfolderSpecifyOutputFile.sourcemap.txt | 316 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + ...elativePathSubfolderSpecifyOutputFile.json | 22 + ...thSubfolderSpecifyOutputFile.sourcemap.txt | 316 + ...sourceRootWithNoSourceMapOption.errors.txt | 1 + .../amd/sourceRootWithNoSourceMapOption.json | 14 + ...sourceRootWithNoSourceMapOption.errors.txt | 1 + .../node/sourceRootWithNoSourceMapOption.json | 14 + .../amd/ref/m1.d.ts | 0 .../amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + .../amd/ref/m2.d.ts | 6 + .../amd/ref/m2.js | 15 + .../amd/ref/m2.js.map | 1 + .../amd/sourcemapMixedSubfolderNoOutdir.json | 27 + ...rcemapMixedSubfolderNoOutdir.sourcemap.txt | 518 + .../amd/test.d.ts | 2 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/ref/m1.d.ts | 0 .../node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + .../node/ref/m2.d.ts | 6 + .../node/ref/m2.js | 13 + .../node/ref/m2.js.map | 1 + .../node/sourcemapMixedSubfolderNoOutdir.json | 27 + ...rcemapMixedSubfolderNoOutdir.sourcemap.txt | 517 + .../node/test.d.ts | 2 + .../node/test.js | 11 + .../node/test.js.map | 1 + .../amd/outdir/simple/ref/m1.d.ts | 0 .../amd/outdir/simple/ref/m1.js | 11 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/ref/m2.d.ts | 6 + .../amd/outdir/simple/ref/m2.js | 15 + .../amd/outdir/simple/ref/m2.js.map | 1 + .../amd/outdir/simple/test.d.ts | 2 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...pMixedSubfolderSpecifyOutputDirectory.json | 28 + ...folderSpecifyOutputDirectory.sourcemap.txt | 518 + .../node/outdir/simple/ref/m1.d.ts | 0 .../node/outdir/simple/ref/m1.js | 11 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/ref/m2.d.ts | 6 + .../node/outdir/simple/ref/m2.js | 13 + .../node/outdir/simple/ref/m2.js.map | 1 + .../node/outdir/simple/test.d.ts | 2 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + ...pMixedSubfolderSpecifyOutputDirectory.json | 28 + ...folderSpecifyOutputDirectory.sourcemap.txt | 517 + .../amd/bin/test.d.ts | 1 + .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + .../amd/ref/m2.d.ts | 6 + .../amd/ref/m2.js | 15 + .../amd/ref/m2.js.map | 1 + ...rcemapMixedSubfolderSpecifyOutputFile.json | 25 + ...edSubfolderSpecifyOutputFile.sourcemap.txt | 512 + .../node/bin/test.d.ts | 1 + .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + .../node/ref/m2.d.ts | 6 + .../node/ref/m2.js | 13 + .../node/ref/m2.js.map | 1 + ...rcemapMixedSubfolderSpecifyOutputFile.json | 25 + ...edSubfolderSpecifyOutputFile.sourcemap.txt | 511 + .../amd/bin/outAndOutDirFile.d.ts | 1 + .../amd/bin/outAndOutDirFile.js | 21 + .../amd/bin/outAndOutDirFile.js.map | 1 + .../amd/outdir/outAndOutDirFolder/ref/m2.d.ts | 6 + .../amd/outdir/outAndOutDirFolder/ref/m2.js | 15 + .../outdir/outAndOutDirFolder/ref/m2.js.map | 1 + ...erSpecifyOutputFileAndOutputDirectory.json | 26 + ...OutputFileAndOutputDirectory.sourcemap.txt | 512 + .../node/bin/outAndOutDirFile.d.ts | 1 + .../node/bin/outAndOutDirFile.js | 21 + .../node/bin/outAndOutDirFile.js.map | 1 + .../outdir/outAndOutDirFolder/ref/m2.d.ts | 6 + .../node/outdir/outAndOutDirFolder/ref/m2.js | 13 + .../outdir/outAndOutDirFolder/ref/m2.js.map | 1 + ...erSpecifyOutputFileAndOutputDirectory.json | 26 + ...OutputFileAndOutputDirectory.sourcemap.txt | 511 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 15 + .../amd/diskFile2.d.ts | 6 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + .../sourcemapModuleMultifolderNoOutdir.json | 27 + ...mapModuleMultifolderNoOutdir.sourcemap.txt | 652 + .../amd/test.d.ts | 8 + .../amd/test.js | 17 + .../amd/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 13 + .../node/diskFile2.d.ts | 6 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + .../sourcemapModuleMultifolderNoOutdir.json | 27 + ...mapModuleMultifolderNoOutdir.sourcemap.txt | 683 + .../node/test.d.ts | 8 + .../node/test.js | 17 + .../node/test.js.map | 1 + .../outputdir_module_multifolder/ref/m1.d.ts | 6 + .../outputdir_module_multifolder/ref/m1.js | 15 + .../ref/m1.js.map | 1 + .../outputdir_module_multifolder/test.d.ts | 8 + .../outputdir_module_multifolder/test.js | 17 + .../outputdir_module_multifolder/test.js.map | 1 + .../outputdir_module_multifolder_ref/m2.d.ts | 6 + .../outputdir_module_multifolder_ref/m2.js | 15 + .../m2.js.map | 1 + ...duleMultifolderSpecifyOutputDirectory.json | 28 + ...folderSpecifyOutputDirectory.sourcemap.txt | 652 + .../outputdir_module_multifolder/ref/m1.d.ts | 6 + .../outputdir_module_multifolder/ref/m1.js | 13 + .../ref/m1.js.map | 1 + .../outputdir_module_multifolder/test.d.ts | 8 + .../outputdir_module_multifolder/test.js | 17 + .../outputdir_module_multifolder/test.js.map | 1 + .../outputdir_module_multifolder_ref/m2.d.ts | 6 + .../outputdir_module_multifolder_ref/m2.js | 13 + .../m2.js.map | 1 + ...duleMultifolderSpecifyOutputDirectory.json | 28 + ...folderSpecifyOutputDirectory.sourcemap.txt | 683 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 15 + .../amd/diskFile2.d.ts | 6 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + ...mapModuleMultifolderSpecifyOutputFile.json | 31 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 658 + .../amd/test.d.ts | 8 + .../amd/test.js | 17 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 13 + .../node/diskFile2.d.ts | 6 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + ...mapModuleMultifolderSpecifyOutputFile.json | 31 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 689 + .../node/test.d.ts | 8 + .../node/test.js | 17 + .../node/test.js.map | 1 + .../sourcemapModuleSimpleNoOutdir/amd/m1.d.ts | 6 + .../sourcemapModuleSimpleNoOutdir/amd/m1.js | 15 + .../amd/m1.js.map | 1 + .../amd/sourcemapModuleSimpleNoOutdir.json | 23 + ...ourcemapModuleSimpleNoOutdir.sourcemap.txt | 425 + .../amd/test.d.ts | 7 + .../sourcemapModuleSimpleNoOutdir/amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/m1.d.ts | 6 + .../sourcemapModuleSimpleNoOutdir/node/m1.js | 13 + .../node/m1.js.map | 1 + .../node/sourcemapModuleSimpleNoOutdir.json | 23 + ...ourcemapModuleSimpleNoOutdir.sourcemap.txt | 439 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + .../amd/outdir/simple/m1.d.ts | 6 + .../amd/outdir/simple/m1.js | 15 + .../amd/outdir/simple/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 7 + .../amd/outdir/simple/test.js | 16 + .../amd/outdir/simple/test.js.map | 1 + ...mapModuleSimpleSpecifyOutputDirectory.json | 24 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 425 + .../node/outdir/simple/m1.d.ts | 6 + .../node/outdir/simple/m1.js | 13 + .../node/outdir/simple/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 7 + .../node/outdir/simple/test.js | 15 + .../node/outdir/simple/test.js.map | 1 + ...mapModuleSimpleSpecifyOutputDirectory.json | 24 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 439 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + .../amd/m1.d.ts | 6 + .../amd/m1.js | 15 + .../amd/m1.js.map | 1 + ...ourcemapModuleSimpleSpecifyOutputFile.json | 27 + ...oduleSimpleSpecifyOutputFile.sourcemap.txt | 431 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + .../node/m1.d.ts | 6 + .../node/m1.js | 13 + .../node/m1.js.map | 1 + ...ourcemapModuleSimpleSpecifyOutputFile.json | 27 + ...oduleSimpleSpecifyOutputFile.sourcemap.txt | 445 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + .../amd/sourcemapModuleSubfolderNoOutdir.json | 23 + ...cemapModuleSubfolderNoOutdir.sourcemap.txt | 425 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + .../sourcemapModuleSubfolderNoOutdir.json | 23 + ...cemapModuleSubfolderNoOutdir.sourcemap.txt | 439 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + .../amd/outdir/simple/ref/m1.d.ts | 6 + .../amd/outdir/simple/ref/m1.js | 15 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 7 + .../amd/outdir/simple/test.js | 16 + .../amd/outdir/simple/test.js.map | 1 + ...ModuleSubfolderSpecifyOutputDirectory.json | 24 + ...folderSpecifyOutputDirectory.sourcemap.txt | 425 + .../node/outdir/simple/ref/m1.d.ts | 6 + .../node/outdir/simple/ref/m1.js | 13 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 7 + .../node/outdir/simple/test.js | 15 + .../node/outdir/simple/test.js.map | 1 + ...ModuleSubfolderSpecifyOutputDirectory.json | 24 + ...folderSpecifyOutputDirectory.sourcemap.txt | 439 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + ...cemapModuleSubfolderSpecifyOutputFile.json | 27 + ...leSubfolderSpecifyOutputFile.sourcemap.txt | 431 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + ...cemapModuleSubfolderSpecifyOutputFile.json | 27 + ...leSubfolderSpecifyOutputFile.sourcemap.txt | 445 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 11 + .../amd/diskFile2.d.ts | 0 .../amd/ref/m1.d.ts | 0 .../amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + .../amd/sourcemapMultifolderNoOutdir.json | 27 + ...sourcemapMultifolderNoOutdir.sourcemap.txt | 483 + .../amd/test.d.ts | 2 + .../sourcemapMultifolderNoOutdir/amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 11 + .../node/diskFile2.d.ts | 0 .../node/ref/m1.d.ts | 0 .../node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + .../node/sourcemapMultifolderNoOutdir.json | 27 + ...sourcemapMultifolderNoOutdir.sourcemap.txt | 483 + .../node/test.d.ts | 2 + .../sourcemapMultifolderNoOutdir/node/test.js | 11 + .../node/test.js.map | 1 + .../simple/outputdir_multifolder/ref/m1.d.ts | 0 .../simple/outputdir_multifolder/ref/m1.js | 11 + .../outputdir_multifolder/ref/m1.js.map | 1 + .../simple/outputdir_multifolder/test.d.ts | 2 + .../simple/outputdir_multifolder/test.js | 11 + .../simple/outputdir_multifolder/test.js.map | 1 + .../simple/outputdir_multifolder_ref/m2.d.ts | 0 .../simple/outputdir_multifolder_ref/m2.js | 11 + .../outputdir_multifolder_ref/m2.js.map | 1 + ...emapMultifolderSpecifyOutputDirectory.json | 28 + ...folderSpecifyOutputDirectory.sourcemap.txt | 483 + .../simple/outputdir_multifolder/ref/m1.d.ts | 0 .../simple/outputdir_multifolder/ref/m1.js | 11 + .../outputdir_multifolder/ref/m1.js.map | 1 + .../simple/outputdir_multifolder/test.d.ts | 2 + .../simple/outputdir_multifolder/test.js | 11 + .../simple/outputdir_multifolder/test.js.map | 1 + .../simple/outputdir_multifolder_ref/m2.d.ts | 0 .../simple/outputdir_multifolder_ref/m2.js | 11 + .../outputdir_multifolder_ref/m2.js.map | 1 + ...emapMultifolderSpecifyOutputDirectory.json | 28 + ...folderSpecifyOutputDirectory.sourcemap.txt | 483 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 31 + .../amd/bin/test.js.map | 1 + ...sourcemapMultifolderSpecifyOutputFile.json | 22 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 471 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 31 + .../node/bin/test.js.map | 1 + ...sourcemapMultifolderSpecifyOutputFile.json | 22 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 471 + .../sourcemapSimpleNoOutdir/amd/m1.d.ts | 0 .../project/sourcemapSimpleNoOutdir/amd/m1.js | 11 + .../sourcemapSimpleNoOutdir/amd/m1.js.map | 1 + .../amd/sourcemapSimpleNoOutdir.json | 23 + .../amd/sourcemapSimpleNoOutdir.sourcemap.txt | 322 + .../sourcemapSimpleNoOutdir/amd/test.d.ts | 1 + .../sourcemapSimpleNoOutdir/amd/test.js | 11 + .../sourcemapSimpleNoOutdir/amd/test.js.map | 1 + .../sourcemapSimpleNoOutdir/node/m1.d.ts | 0 .../sourcemapSimpleNoOutdir/node/m1.js | 11 + .../sourcemapSimpleNoOutdir/node/m1.js.map | 1 + .../node/sourcemapSimpleNoOutdir.json | 23 + .../sourcemapSimpleNoOutdir.sourcemap.txt | 322 + .../sourcemapSimpleNoOutdir/node/test.d.ts | 1 + .../sourcemapSimpleNoOutdir/node/test.js | 11 + .../sourcemapSimpleNoOutdir/node/test.js.map | 1 + .../amd/outdir/simple/m1.d.ts | 0 .../amd/outdir/simple/m1.js | 11 + .../amd/outdir/simple/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 1 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...sourcemapSimpleSpecifyOutputDirectory.json | 24 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 322 + .../node/outdir/simple/m1.d.ts | 0 .../node/outdir/simple/m1.js | 11 + .../node/outdir/simple/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 1 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + ...sourcemapSimpleSpecifyOutputDirectory.json | 24 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 322 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + .../amd/sourcemapSimpleSpecifyOutputFile.json | 21 + ...cemapSimpleSpecifyOutputFile.sourcemap.txt | 316 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + .../sourcemapSimpleSpecifyOutputFile.json | 21 + ...cemapSimpleSpecifyOutputFile.sourcemap.txt | 316 + .../amd/sourcemapSingleFileNoOutdir.json | 19 + .../sourcemapSingleFileNoOutdir.sourcemap.txt | 161 + .../sourcemapSingleFileNoOutdir/amd/test.d.ts | 0 .../sourcemapSingleFileNoOutdir/amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/sourcemapSingleFileNoOutdir.json | 19 + .../sourcemapSingleFileNoOutdir.sourcemap.txt | 161 + .../node/test.d.ts | 0 .../sourcemapSingleFileNoOutdir/node/test.js | 11 + .../node/test.js.map | 1 + .../amd/outdir/simple/test.d.ts | 0 .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...cemapSingleFileSpecifyOutputDirectory.json | 20 + ...leFileSpecifyOutputDirectory.sourcemap.txt | 161 + .../node/outdir/simple/test.d.ts | 0 .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + ...cemapSingleFileSpecifyOutputDirectory.json | 20 + ...leFileSpecifyOutputDirectory.sourcemap.txt | 161 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 11 + .../amd/bin/test.js.map | 1 + .../sourcemapSingleFileSpecifyOutputFile.json | 20 + ...pSingleFileSpecifyOutputFile.sourcemap.txt | 161 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 11 + .../node/bin/test.js.map | 1 + .../sourcemapSingleFileSpecifyOutputFile.json | 20 + ...pSingleFileSpecifyOutputFile.sourcemap.txt | 161 + .../amd/ref/m1.d.ts | 0 .../sourcemapSubfolderNoOutdir/amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + .../amd/sourcemapSubfolderNoOutdir.json | 23 + .../sourcemapSubfolderNoOutdir.sourcemap.txt | 322 + .../sourcemapSubfolderNoOutdir/amd/test.d.ts | 1 + .../sourcemapSubfolderNoOutdir/amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/ref/m1.d.ts | 0 .../sourcemapSubfolderNoOutdir/node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + .../node/sourcemapSubfolderNoOutdir.json | 23 + .../sourcemapSubfolderNoOutdir.sourcemap.txt | 322 + .../sourcemapSubfolderNoOutdir/node/test.d.ts | 1 + .../sourcemapSubfolderNoOutdir/node/test.js | 11 + .../node/test.js.map | 1 + .../amd/outdir/simple/ref/m1.d.ts | 0 .../amd/outdir/simple/ref/m1.js | 11 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 1 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...rcemapSubfolderSpecifyOutputDirectory.json | 24 + ...folderSpecifyOutputDirectory.sourcemap.txt | 322 + .../node/outdir/simple/ref/m1.d.ts | 0 .../node/outdir/simple/ref/m1.js | 11 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 1 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + ...rcemapSubfolderSpecifyOutputDirectory.json | 24 + ...folderSpecifyOutputDirectory.sourcemap.txt | 322 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + .../sourcemapSubfolderSpecifyOutputFile.json | 21 + ...apSubfolderSpecifyOutputFile.sourcemap.txt | 316 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + .../sourcemapSubfolderSpecifyOutputFile.json | 21 + ...apSubfolderSpecifyOutputFile.sourcemap.txt | 316 + .../amd/ref/m1.d.ts | 0 .../amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + .../amd/ref/m2.d.ts | 6 + .../amd/ref/m2.js | 15 + .../amd/ref/m2.js.map | 1 + .../sourcerootUrlMixedSubfolderNoOutdir.json | 28 + ...ootUrlMixedSubfolderNoOutdir.sourcemap.txt | 518 + .../amd/test.d.ts | 2 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/ref/m1.d.ts | 0 .../node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + .../node/ref/m2.d.ts | 6 + .../node/ref/m2.js | 13 + .../node/ref/m2.js.map | 1 + .../sourcerootUrlMixedSubfolderNoOutdir.json | 28 + ...ootUrlMixedSubfolderNoOutdir.sourcemap.txt | 517 + .../node/test.d.ts | 2 + .../node/test.js | 11 + .../node/test.js.map | 1 + .../amd/outdir/simple/ref/m1.d.ts | 0 .../amd/outdir/simple/ref/m1.js | 11 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/ref/m2.d.ts | 6 + .../amd/outdir/simple/ref/m2.js | 15 + .../amd/outdir/simple/ref/m2.js.map | 1 + .../amd/outdir/simple/test.d.ts | 2 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...lMixedSubfolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 518 + .../node/outdir/simple/ref/m1.d.ts | 0 .../node/outdir/simple/ref/m1.js | 11 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/ref/m2.d.ts | 6 + .../node/outdir/simple/ref/m2.js | 13 + .../node/outdir/simple/ref/m2.js.map | 1 + .../node/outdir/simple/test.d.ts | 2 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + ...lMixedSubfolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 517 + .../amd/bin/test.d.ts | 1 + .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + .../amd/ref/m2.d.ts | 6 + .../amd/ref/m2.js | 15 + .../amd/ref/m2.js.map | 1 + ...ootUrlMixedSubfolderSpecifyOutputFile.json | 26 + ...edSubfolderSpecifyOutputFile.sourcemap.txt | 512 + .../node/bin/test.d.ts | 1 + .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + .../node/ref/m2.d.ts | 6 + .../node/ref/m2.js | 13 + .../node/ref/m2.js.map | 1 + ...ootUrlMixedSubfolderSpecifyOutputFile.json | 26 + ...edSubfolderSpecifyOutputFile.sourcemap.txt | 511 + .../amd/bin/outAndOutDirFile.d.ts | 1 + .../amd/bin/outAndOutDirFile.js | 21 + .../amd/bin/outAndOutDirFile.js.map | 1 + .../amd/outdir/outAndOutDirFolder/ref/m2.d.ts | 6 + .../amd/outdir/outAndOutDirFolder/ref/m2.js | 15 + .../outdir/outAndOutDirFolder/ref/m2.js.map | 1 + ...erSpecifyOutputFileAndOutputDirectory.json | 27 + ...OutputFileAndOutputDirectory.sourcemap.txt | 512 + .../node/bin/outAndOutDirFile.d.ts | 1 + .../node/bin/outAndOutDirFile.js | 21 + .../node/bin/outAndOutDirFile.js.map | 1 + .../outdir/outAndOutDirFolder/ref/m2.d.ts | 6 + .../node/outdir/outAndOutDirFolder/ref/m2.js | 13 + .../outdir/outAndOutDirFolder/ref/m2.js.map | 1 + ...erSpecifyOutputFileAndOutputDirectory.json | 27 + ...OutputFileAndOutputDirectory.sourcemap.txt | 511 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 15 + .../amd/diskFile2.d.ts | 6 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + ...ourcerootUrlModuleMultifolderNoOutdir.json | 28 + ...UrlModuleMultifolderNoOutdir.sourcemap.txt | 652 + .../amd/test.d.ts | 8 + .../amd/test.js | 17 + .../amd/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 13 + .../node/diskFile2.d.ts | 6 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + ...ourcerootUrlModuleMultifolderNoOutdir.json | 28 + ...UrlModuleMultifolderNoOutdir.sourcemap.txt | 683 + .../node/test.d.ts | 8 + .../node/test.js | 17 + .../node/test.js.map | 1 + .../outputdir_module_multifolder/ref/m1.d.ts | 6 + .../outputdir_module_multifolder/ref/m1.js | 15 + .../ref/m1.js.map | 1 + .../outputdir_module_multifolder/test.d.ts | 8 + .../outputdir_module_multifolder/test.js | 17 + .../outputdir_module_multifolder/test.js.map | 1 + .../outputdir_module_multifolder_ref/m2.d.ts | 6 + .../outputdir_module_multifolder_ref/m2.js | 15 + .../m2.js.map | 1 + ...duleMultifolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 652 + .../outputdir_module_multifolder/ref/m1.d.ts | 6 + .../outputdir_module_multifolder/ref/m1.js | 13 + .../ref/m1.js.map | 1 + .../outputdir_module_multifolder/test.d.ts | 8 + .../outputdir_module_multifolder/test.js | 17 + .../outputdir_module_multifolder/test.js.map | 1 + .../outputdir_module_multifolder_ref/m2.d.ts | 6 + .../outputdir_module_multifolder_ref/m2.js | 13 + .../m2.js.map | 1 + ...duleMultifolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 683 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 15 + .../amd/diskFile2.d.ts | 6 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + ...UrlModuleMultifolderSpecifyOutputFile.json | 32 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 658 + .../amd/test.d.ts | 8 + .../amd/test.js | 17 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 13 + .../node/diskFile2.d.ts | 6 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + ...UrlModuleMultifolderSpecifyOutputFile.json | 32 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 689 + .../node/test.d.ts | 8 + .../node/test.js | 17 + .../node/test.js.map | 1 + .../amd/m1.d.ts | 6 + .../amd/m1.js | 15 + .../amd/m1.js.map | 1 + .../sourcerootUrlModuleSimpleNoOutdir.json | 24 + ...erootUrlModuleSimpleNoOutdir.sourcemap.txt | 425 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/m1.d.ts | 6 + .../node/m1.js | 13 + .../node/m1.js.map | 1 + .../sourcerootUrlModuleSimpleNoOutdir.json | 24 + ...erootUrlModuleSimpleNoOutdir.sourcemap.txt | 439 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + .../amd/outdir/simple/m1.d.ts | 6 + .../amd/outdir/simple/m1.js | 15 + .../amd/outdir/simple/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 7 + .../amd/outdir/simple/test.js | 16 + .../amd/outdir/simple/test.js.map | 1 + ...UrlModuleSimpleSpecifyOutputDirectory.json | 25 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 425 + .../node/outdir/simple/m1.d.ts | 6 + .../node/outdir/simple/m1.js | 13 + .../node/outdir/simple/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 7 + .../node/outdir/simple/test.js | 15 + .../node/outdir/simple/test.js.map | 1 + ...UrlModuleSimpleSpecifyOutputDirectory.json | 25 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 439 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + .../amd/m1.d.ts | 6 + .../amd/m1.js | 15 + .../amd/m1.js.map | 1 + ...erootUrlModuleSimpleSpecifyOutputFile.json | 28 + ...oduleSimpleSpecifyOutputFile.sourcemap.txt | 431 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + .../node/m1.d.ts | 6 + .../node/m1.js | 13 + .../node/m1.js.map | 1 + ...erootUrlModuleSimpleSpecifyOutputFile.json | 28 + ...oduleSimpleSpecifyOutputFile.sourcemap.txt | 445 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + .../sourcerootUrlModuleSubfolderNoOutdir.json | 24 + ...otUrlModuleSubfolderNoOutdir.sourcemap.txt | 425 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + .../sourcerootUrlModuleSubfolderNoOutdir.json | 24 + ...otUrlModuleSubfolderNoOutdir.sourcemap.txt | 439 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + .../amd/outdir/simple/ref/m1.d.ts | 6 + .../amd/outdir/simple/ref/m1.js | 15 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 7 + .../amd/outdir/simple/test.js | 16 + .../amd/outdir/simple/test.js.map | 1 + ...ModuleSubfolderSpecifyOutputDirectory.json | 25 + ...folderSpecifyOutputDirectory.sourcemap.txt | 425 + .../node/outdir/simple/ref/m1.d.ts | 6 + .../node/outdir/simple/ref/m1.js | 13 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 7 + .../node/outdir/simple/test.js | 15 + .../node/outdir/simple/test.js.map | 1 + ...ModuleSubfolderSpecifyOutputDirectory.json | 25 + ...folderSpecifyOutputDirectory.sourcemap.txt | 439 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 1 + .../amd/bin/test.js.map | 1 + .../amd/ref/m1.d.ts | 6 + .../amd/ref/m1.js | 15 + .../amd/ref/m1.js.map | 1 + ...otUrlModuleSubfolderSpecifyOutputFile.json | 28 + ...leSubfolderSpecifyOutputFile.sourcemap.txt | 431 + .../amd/test.d.ts | 7 + .../amd/test.js | 16 + .../amd/test.js.map | 1 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 1 + .../node/bin/test.js.map | 1 + .../node/ref/m1.d.ts | 6 + .../node/ref/m1.js | 13 + .../node/ref/m1.js.map | 1 + ...otUrlModuleSubfolderSpecifyOutputFile.json | 28 + ...leSubfolderSpecifyOutputFile.sourcemap.txt | 445 + .../node/test.d.ts | 7 + .../node/test.js | 15 + .../node/test.js.map | 1 + .../amd/diskFile0.js.map | 1 + .../amd/diskFile1.js | 11 + .../amd/diskFile2.d.ts | 0 .../amd/ref/m1.d.ts | 0 .../amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + .../amd/sourcerootUrlMultifolderNoOutdir.json | 28 + ...cerootUrlMultifolderNoOutdir.sourcemap.txt | 483 + .../amd/test.d.ts | 2 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/diskFile0.js.map | 1 + .../node/diskFile1.js | 11 + .../node/diskFile2.d.ts | 0 .../node/ref/m1.d.ts | 0 .../node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + .../sourcerootUrlMultifolderNoOutdir.json | 28 + ...cerootUrlMultifolderNoOutdir.sourcemap.txt | 483 + .../node/test.d.ts | 2 + .../node/test.js | 11 + .../node/test.js.map | 1 + .../simple/outputdir_multifolder/ref/m1.d.ts | 0 .../simple/outputdir_multifolder/ref/m1.js | 11 + .../outputdir_multifolder/ref/m1.js.map | 1 + .../simple/outputdir_multifolder/test.d.ts | 2 + .../simple/outputdir_multifolder/test.js | 11 + .../simple/outputdir_multifolder/test.js.map | 1 + .../simple/outputdir_multifolder_ref/m2.d.ts | 0 .../simple/outputdir_multifolder_ref/m2.js | 11 + .../outputdir_multifolder_ref/m2.js.map | 1 + ...tUrlMultifolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 483 + .../simple/outputdir_multifolder/ref/m1.d.ts | 0 .../simple/outputdir_multifolder/ref/m1.js | 11 + .../outputdir_multifolder/ref/m1.js.map | 1 + .../simple/outputdir_multifolder/test.d.ts | 2 + .../simple/outputdir_multifolder/test.js | 11 + .../simple/outputdir_multifolder/test.js.map | 1 + .../simple/outputdir_multifolder_ref/m2.d.ts | 0 .../simple/outputdir_multifolder_ref/m2.js | 11 + .../outputdir_multifolder_ref/m2.js.map | 1 + ...tUrlMultifolderSpecifyOutputDirectory.json | 29 + ...folderSpecifyOutputDirectory.sourcemap.txt | 483 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 31 + .../amd/bin/test.js.map | 1 + ...cerootUrlMultifolderSpecifyOutputFile.json | 23 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 471 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 31 + .../node/bin/test.js.map | 1 + ...cerootUrlMultifolderSpecifyOutputFile.json | 23 + ...MultifolderSpecifyOutputFile.sourcemap.txt | 471 + .../sourcerootUrlSimpleNoOutdir/amd/m1.d.ts | 0 .../sourcerootUrlSimpleNoOutdir/amd/m1.js | 11 + .../sourcerootUrlSimpleNoOutdir/amd/m1.js.map | 1 + .../amd/sourcerootUrlSimpleNoOutdir.json | 24 + .../sourcerootUrlSimpleNoOutdir.sourcemap.txt | 322 + .../sourcerootUrlSimpleNoOutdir/amd/test.d.ts | 1 + .../sourcerootUrlSimpleNoOutdir/amd/test.js | 11 + .../amd/test.js.map | 1 + .../sourcerootUrlSimpleNoOutdir/node/m1.d.ts | 0 .../sourcerootUrlSimpleNoOutdir/node/m1.js | 11 + .../node/m1.js.map | 1 + .../node/sourcerootUrlSimpleNoOutdir.json | 24 + .../sourcerootUrlSimpleNoOutdir.sourcemap.txt | 322 + .../node/test.d.ts | 1 + .../sourcerootUrlSimpleNoOutdir/node/test.js | 11 + .../node/test.js.map | 1 + .../amd/outdir/simple/m1.d.ts | 0 .../amd/outdir/simple/m1.js | 11 + .../amd/outdir/simple/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 1 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...cerootUrlSimpleSpecifyOutputDirectory.json | 25 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 322 + .../node/outdir/simple/m1.d.ts | 0 .../node/outdir/simple/m1.js | 11 + .../node/outdir/simple/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 1 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + ...cerootUrlSimpleSpecifyOutputDirectory.json | 25 + ...SimpleSpecifyOutputDirectory.sourcemap.txt | 322 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + .../sourcerootUrlSimpleSpecifyOutputFile.json | 22 + ...otUrlSimpleSpecifyOutputFile.sourcemap.txt | 316 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + .../sourcerootUrlSimpleSpecifyOutputFile.json | 22 + ...otUrlSimpleSpecifyOutputFile.sourcemap.txt | 316 + .../amd/sourcerootUrlSingleFileNoOutdir.json | 20 + ...rcerootUrlSingleFileNoOutdir.sourcemap.txt | 161 + .../amd/test.d.ts | 0 .../amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/sourcerootUrlSingleFileNoOutdir.json | 20 + ...rcerootUrlSingleFileNoOutdir.sourcemap.txt | 161 + .../node/test.d.ts | 0 .../node/test.js | 11 + .../node/test.js.map | 1 + .../amd/outdir/simple/test.d.ts | 0 .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...otUrlSingleFileSpecifyOutputDirectory.json | 21 + ...leFileSpecifyOutputDirectory.sourcemap.txt | 161 + .../node/outdir/simple/test.d.ts | 0 .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + ...otUrlSingleFileSpecifyOutputDirectory.json | 21 + ...leFileSpecifyOutputDirectory.sourcemap.txt | 161 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 11 + .../amd/bin/test.js.map | 1 + ...rcerootUrlSingleFileSpecifyOutputFile.json | 21 + ...lSingleFileSpecifyOutputFile.sourcemap.txt | 161 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 11 + .../node/bin/test.js.map | 1 + ...rcerootUrlSingleFileSpecifyOutputFile.json | 21 + ...lSingleFileSpecifyOutputFile.sourcemap.txt | 161 + .../amd/ref/m1.d.ts | 0 .../amd/ref/m1.js | 11 + .../amd/ref/m1.js.map | 1 + .../amd/sourcerootUrlSubfolderNoOutdir.json | 24 + ...urcerootUrlSubfolderNoOutdir.sourcemap.txt | 322 + .../amd/test.d.ts | 1 + .../amd/test.js | 11 + .../amd/test.js.map | 1 + .../node/ref/m1.d.ts | 0 .../node/ref/m1.js | 11 + .../node/ref/m1.js.map | 1 + .../node/sourcerootUrlSubfolderNoOutdir.json | 24 + ...urcerootUrlSubfolderNoOutdir.sourcemap.txt | 322 + .../node/test.d.ts | 1 + .../node/test.js | 11 + .../node/test.js.map | 1 + .../amd/outdir/simple/ref/m1.d.ts | 0 .../amd/outdir/simple/ref/m1.js | 11 + .../amd/outdir/simple/ref/m1.js.map | 1 + .../amd/outdir/simple/test.d.ts | 1 + .../amd/outdir/simple/test.js | 11 + .../amd/outdir/simple/test.js.map | 1 + ...ootUrlSubfolderSpecifyOutputDirectory.json | 25 + ...folderSpecifyOutputDirectory.sourcemap.txt | 322 + .../node/outdir/simple/ref/m1.d.ts | 0 .../node/outdir/simple/ref/m1.js | 11 + .../node/outdir/simple/ref/m1.js.map | 1 + .../node/outdir/simple/test.d.ts | 1 + .../node/outdir/simple/test.js | 11 + .../node/outdir/simple/test.js.map | 1 + ...ootUrlSubfolderSpecifyOutputDirectory.json | 25 + ...folderSpecifyOutputDirectory.sourcemap.txt | 322 + .../amd/bin/test.d.ts | 0 .../amd/bin/test.js | 21 + .../amd/bin/test.js.map | 1 + ...urcerootUrlSubfolderSpecifyOutputFile.json | 22 + ...rlSubfolderSpecifyOutputFile.sourcemap.txt | 316 + .../node/bin/test.d.ts | 0 .../node/bin/test.js | 21 + .../node/bin/test.js.map | 1 + ...urcerootUrlSubfolderSpecifyOutputFile.json | 22 + ...rlSubfolderSpecifyOutputFile.sourcemap.txt | 316 + .../amd/commands.js | 2 + .../amd/fs.js | 17 + .../amd/server.js | 2 + .../visibilityOfTypeUsedAcrossModules.json | 19 + .../node/commands.js | 0 .../node/fs.js | 15 + .../node/server.js | 0 .../visibilityOfTypeUsedAcrossModules.json | 19 + ...ibilityOfTypeUsedAcrossModules2.errors.txt | 2 + .../visibilityOfTypeUsedAcrossModules2.json | 12 + ...ibilityOfTypeUsedAcrossModules2.errors.txt | 2 + .../visibilityOfTypeUsedAcrossModules2.json | 12 + tests/baselines/reference/promiseChaining.js | 25 + .../reference/promiseChaining1.errors.txt | 13 + tests/baselines/reference/promiseChaining1.js | 24 + .../reference/promiseChaining2.errors.txt | 13 + tests/baselines/reference/promiseChaining2.js | 24 + tests/baselines/reference/promiseIdentity.js | 28 + .../reference/promiseIdentity2.errors.txt | 14 + tests/baselines/reference/promiseIdentity2.js | 16 + .../reference/promiseIdentityWithAny.js | 15 + .../promiseIdentityWithAny2.errors.txt | 27 + .../reference/promiseIdentityWithAny2.js | 29 + .../promiseIdentityWithConstraints.js | 15 + .../reference/promisePermutations.errors.txt | 218 + .../reference/promisePermutations.js | 279 + .../reference/promisePermutations2.errors.txt | 223 + .../reference/promisePermutations2.js | 278 + .../reference/promisePermutations3.errors.txt | 223 + .../reference/promisePermutations3.js | 278 + tests/baselines/reference/promiseTest.js | 23 + .../reference/promiseTypeInference.js | 15 + tests/baselines/reference/promises.js | 9 + .../reference/promisesWithConstraints.js | 32 + .../propagationOfPromiseInitialization.js | 24 + tests/baselines/reference/properties.js | 33 + tests/baselines/reference/properties.js.map | 2 + .../reference/properties.sourcemap.txt | 174 + .../propertiesAndIndexers.errors.txt | 106 + .../reference/propertiesAndIndexers.js | 73 + .../reference/propertyAccess.errors.txt | 153 + tests/baselines/reference/propertyAccess.js | 207 + .../reference/propertyAccess1.errors.txt | 6 + tests/baselines/reference/propertyAccess1.js | 9 + .../reference/propertyAccess2.errors.txt | 5 + tests/baselines/reference/propertyAccess2.js | 7 + .../reference/propertyAccess3.errors.txt | 5 + tests/baselines/reference/propertyAccess3.js | 7 + .../reference/propertyAccess4.errors.txt | 4 + tests/baselines/reference/propertyAccess4.js | 5 + .../reference/propertyAccess5.errors.txt | 4 + tests/baselines/reference/propertyAccess5.js | 5 + tests/baselines/reference/propertyAccess6.js | 7 + tests/baselines/reference/propertyAccess7.js | 7 + ...rtyAccessOnTypeParameterWithConstraints.js | 61 + ...tyAccessOnTypeParameterWithConstraints2.js | 140 + ...OnTypeParameterWithConstraints3.errors.txt | 69 + ...tyAccessOnTypeParameterWithConstraints3.js | 114 + ...OnTypeParameterWithConstraints4.errors.txt | 41 + ...tyAccessOnTypeParameterWithConstraints4.js | 60 + ...OnTypeParameterWithConstraints5.errors.txt | 57 + ...tyAccessOnTypeParameterWithConstraints5.js | 96 + ...AccessOnTypeParameterWithoutConstraints.js | 58 + .../propertyAccessibility1.errors.txt | 9 + .../reference/propertyAccessibility1.js | 17 + .../reference/propertyAccessibility2.js | 15 + ...propertyAndAccessorWithSameName.errors.txt | 36 + ...propertyAndFunctionWithSameName.errors.txt | 16 + .../propertyAndFunctionWithSameName.js | 29 + .../reference/propertyAssignment.errors.txt | 23 + ...ertyIdentityWithPrivacyMismatch.errors.txt | 30 + .../propertyIdentityWithPrivacyMismatch.js | 47 + .../propertyNameWithoutTypeAnnotation.js | 37 + .../propertyNamedPrototype.errors.txt | 7 + .../reference/propertyNamedPrototype.js | 12 + .../reference/propertyNamesOfReservedWords.js | 361 + .../propertyNamesWithStringLiteral.js | 31 + .../reference/propertyOrdering.errors.txt | 32 + tests/baselines/reference/propertyOrdering.js | 47 + .../reference/propertyOrdering2.errors.txt | 11 + .../baselines/reference/propertyOrdering2.js | 21 + ...opertyParameterWithQuestionMark.errors.txt | 16 + .../propertyParameterWithQuestionMark.js | 22 + .../reference/propertySignatures.errors.txt | 25 + .../baselines/reference/propertySignatures.js | 33 + .../reference/propertyWrappedInTry.errors.txt | 38 + .../protoAsIndexInIndexExpression.js | 39 + .../reference/protoAssignment.errors.txt | 18 + tests/baselines/reference/protoAssignment.js | 21 + tests/baselines/reference/protoInIndexer.js | 14 + ...prototypeInstantiatedWithBaseConstraint.js | 14 + .../prototypeOnConstructorFunctions.js | 15 + .../baselines/reference/prototypes.errors.txt | 7 + tests/baselines/reference/prototypes.js | 12 + .../reference/publicIndexer.errors.txt | 20 + ...lementedAsPrivateInDerivedClass.errors.txt | 11 + ...emberImplementedAsPrivateInDerivedClass.js | 15 + .../qualifiedModuleLocals.errors.txt | 13 + .../reference/qualifiedModuleLocals.js | 23 + ...arations-entity-names-referencing-a-var.js | 18 + ...-does-not-affect-class-heritage.errors.txt | 9 + ...solution-does-not-affect-class-heritage.js | 26 + tests/baselines/reference/qualify.errors.txt | 83 + tests/baselines/reference/qualify.js | 107 + .../reference/quotedAccessorName1.errors.txt | 6 + .../reference/quotedAccessorName2.errors.txt | 6 + .../reference/quotedFunctionName1.js | 13 + .../reference/quotedFunctionName2.js | 13 + .../quotedModuleNameMustBeAmbient.errors.txt | 6 + .../quotedModuleNameMustBeAmbient.js | 6 + .../reference/quotedPropertyName1.js | 12 + .../reference/quotedPropertyName2.js | 12 + .../reference/quotedPropertyName3.js | 20 + .../raiseErrorOnParameterProperty.errors.txt | 10 + .../raiseErrorOnParameterProperty.js | 17 + .../baselines/reference/randomSemicolons1.js | 11 + .../reference/reassignStaticProp.errors.txt | 14 + .../baselines/reference/reassignStaticProp.js | 20 + .../reference/reboundBaseClassSymbol.js | 12 + .../reboundIdentifierOnImportAlias.js | 18 + tests/baselines/reference/rectype.js | 28 + tests/baselines/reference/recur1.js | 16 + .../reference/recursiveBaseCheck.errors.txt | 21 + .../baselines/reference/recursiveBaseCheck.js | 20 + .../reference/recursiveBaseCheck2.errors.txt | 17 + .../reference/recursiveBaseCheck2.js | 16 + .../reference/recursiveBaseCheck3.errors.txt | 9 + .../reference/recursiveBaseCheck3.js | 28 + .../reference/recursiveBaseCheck4.errors.txt | 7 + .../reference/recursiveBaseCheck4.js | 19 + .../reference/recursiveBaseCheck5.errors.txt | 9 + .../reference/recursiveBaseCheck5.js | 13 + .../reference/recursiveBaseCheck6.errors.txt | 7 + .../reference/recursiveBaseCheck6.js | 19 + .../recursiveBaseConstructorCreation1.js | 30 + .../recursiveBaseConstructorCreation2.js | 18 + ...cursiveBaseConstructorCreation3.errors.txt | 15 + .../recursiveBaseConstructorCreation3.js | 15 + ...ssInstantiationsWithDefaultConstructors.js | 37 + .../recursiveClassReferenceTest.errors.txt | 111 + .../reference/recursiveClassReferenceTest.js | 211 + .../recursiveClassReferenceTest.js.map | 2 + .../recursiveClassReferenceTest.sourcemap.txt | 2144 +++ .../reference/recursiveCloduleReference.js | 28 + .../reference/recursiveComplicatedClasses.js | 72 + ...rtAssignmentAndFindAliasedType1.errors.txt | 17 + ...siveExportAssignmentAndFindAliasedType1.js | 31 + ...rtAssignmentAndFindAliasedType2.errors.txt | 21 + ...siveExportAssignmentAndFindAliasedType2.js | 35 + ...rtAssignmentAndFindAliasedType3.errors.txt | 25 + ...siveExportAssignmentAndFindAliasedType3.js | 39 + ...rtAssignmentAndFindAliasedType4.errors.txt | 14 + ...siveExportAssignmentAndFindAliasedType4.js | 32 + ...rtAssignmentAndFindAliasedType5.errors.txt | 18 + ...siveExportAssignmentAndFindAliasedType5.js | 40 + ...rtAssignmentAndFindAliasedType6.errors.txt | 22 + ...siveExportAssignmentAndFindAliasedType6.js | 48 + ...siveExportAssignmentAndFindAliasedType7.js | 50 + .../recursiveFunctionTypes.errors.txt | 66 + .../reference/recursiveFunctionTypes.js | 86 + .../reference/recursiveFunctionTypes1.js | 13 + .../reference/recursiveGenericMethodcall.js | 12 + .../recursiveGenericSignatureInstantiation.js | 10 + ...recursiveGenericSignatureInstantiation2.js | 4 + .../recursiveGenericTypeHierarchy.errors.txt | 12 + .../recursiveGenericTypeHierarchy.js | 6 + .../recursiveGetterAccess.errors.txt | 8 + .../recursiveIdenticalAssignment.errors.txt | 14 + .../reference/recursiveIdenticalAssignment.js | 16 + .../recursiveIdenticalOverloadResolution.js | 31 + .../reference/recursiveInference1.js | 9 + .../recursiveInferenceBug.errors.txt | 14 + .../reference/recursiveInheritance.errors.txt | 15 + .../reference/recursiveInheritance.js | 11 + .../reference/recursiveInheritance2.js | 24 + .../recursiveInheritance3.errors.txt | 12 + .../reference/recursiveInheritance3.js | 20 + .../recursiveInheritanceGeneric.errors.txt | 8 + .../reference/recursiveInheritanceGeneric.js | 6 + .../reference/recursiveInitializer.js | 34 + tests/baselines/reference/recursiveMods.js | 52 + .../recursiveNamedLambdaCall.errors.txt | 30 + .../reference/recursiveNamedLambdaCall.js | 37 + .../reference/recursiveObjectLiteral.js | 5 + .../reference/recursiveProperties.js | 34 + tests/baselines/reference/recursiveReturns.js | 32 + ...veSpecializationOfExtendedTypeWithError.js | 9 + ...rsiveSpecializationOfSignatures.errors.txt | 9 + .../reference/recursiveTypeIdentity.js | 15 + ...ecursiveTypeInGenericConstraint.errors.txt | 16 + .../recursiveTypeInGenericConstraint.js | 32 + ...onstraintReferenceLacksTypeArgs.errors.txt | 4 + ...rameterConstraintReferenceLacksTypeArgs.js | 9 + .../recursiveTypeParameterReferenceError1.js | 34 + .../recursiveTypeParameterReferenceError2.js | 15 + .../reference/recursiveTypes1.errors.txt | 18 + tests/baselines/reference/recursiveTypes1.js | 16 + ...veTypesUsedAsFunctionParameters.errors.txt | 46 + .../recursiveTypesUsedAsFunctionParameters.js | 73 + ...sivelySpecializedConstructorDeclaration.js | 64 + .../redeclarationOfVarWithGenericType.js | 7 + .../reference/redefineArray.errors.txt | 5 + tests/baselines/reference/redefineArray.js | 7 + .../relativePathMustResolve.errors.txt | 9 + .../reference/relativePathMustResolve.js | 13 + .../relativePathToDeclarationFile.errors.txt | 29 + .../relativePathToDeclarationFile.js | 35 + .../baselines/reference/reorderProperties.js | 24 + .../reference/requireEmitSemicolon.js | 48 + .../requireOfAnEmptyFile1.errors.txt | 9 + .../reference/requireOfAnEmptyFile1.js | 12 + tests/baselines/reference/reservedWords.js | 33 + ...lassDeclarationWhenInBaseTypeResolution.js | 7408 ++++++++ .../restArgAssignmentCompat.errors.txt | 15 + .../reference/restArgAssignmentCompat.js | 24 + .../reference/restArgMissingName.errors.txt | 5 + .../reference/restParamAsOptional.errors.txt | 7 + .../restParameterAssignmentCompatibility.js | 59 + .../restParameterNoTypeAnnotation.js | 16 + .../reference/restParameterNotLast.errors.txt | 4 + ...eterWithoutAnnotationIsAnyArray.errors.txt | 33 + tests/baselines/reference/restParameters.js | 34 + .../restParametersOfNonArrayTypes.errors.txt | 60 + .../restParametersOfNonArrayTypes2.errors.txt | 125 + ...ametersWithArrayTypeAnnotations.errors.txt | 65 + .../restParamsWithNonRestParams.errors.txt | 9 + .../reference/restParamsWithNonRestParams.js | 30 + .../reference/returnInConstructor1.errors.txt | 75 + .../reference/returnInConstructor1.js | 145 + tests/baselines/reference/returnStatement1.js | 15 + tests/baselines/reference/returnStatements.js | 83 + .../reference/returnTypeParameter.errors.txt | 5 + .../reference/returnTypeParameter.js | 10 + .../returnTypeParameterWithModules.js | 43 + .../returnTypeTypeArguments.errors.txt | 151 + .../reference/returnTypeTypeArguments.js | 165 + .../reference/returnValueInSetter.errors.txt | 12 + .../reference/reuseInnerModuleMember.js | 23 + ...verseInferenceInContextualInstantiation.js | 12 + .../reversedRecusiveTypeInstantiation.js | 15 + .../reference/scanner10.1.1-8gs.errors.txt | 21 + .../baselines/reference/scanner10.1.1-8gs.js | 25 + .../scannerAdditiveExpression1.errors.txt | 6 + .../reference/scannerAdditiveExpression1.js | 5 + .../reference/scannerClass2.errors.txt | 20 + tests/baselines/reference/scannerClass2.js | 18 + .../reference/scannerES3NumericLiteral1.js | 5 + .../reference/scannerES3NumericLiteral2.js | 5 + .../reference/scannerES3NumericLiteral3.js | 5 + .../scannerES3NumericLiteral4.errors.txt | 4 + .../reference/scannerES3NumericLiteral5.js | 5 + .../scannerES3NumericLiteral6.errors.txt | 4 + .../reference/scannerES3NumericLiteral7.js | 5 + .../reference/scannerEnum1.errors.txt | 10 + tests/baselines/reference/scannerEnum1.js | 12 + .../scannerImportDeclaration1.errors.txt | 4 + .../reference/scannerImportDeclaration1.js | 4 + .../reference/scannerNumericLiteral1.js | 5 + .../reference/scannerNumericLiteral2.js | 5 + .../reference/scannerNumericLiteral3.js | 5 + .../scannerNumericLiteral4.errors.txt | 4 + .../reference/scannerNumericLiteral5.js | 5 + .../scannerNumericLiteral6.errors.txt | 4 + .../reference/scannerNumericLiteral7.js | 5 + .../reference/scannerS7.2_A1.5_T2.errors.txt | 29 + .../reference/scannerS7.2_A1.5_T2.js | 35 + .../reference/scannerS7.3_A1.1_T2.errors.txt | 23 + .../reference/scannerS7.3_A1.1_T2.js | 27 + .../baselines/reference/scannerS7.4_A2_T2.js | 17 + .../reference/scannerS7.6_A4.2_T1.errors.txt | 212 + .../reference/scannerS7.6_A4.2_T1.js | 280 + .../scannerS7.8.3_A6.1_T1.errors.txt | 18 + .../scannerS7.8.4_A7.1_T4.errors.txt | 18 + ...ringLiteralWithContainingNullCharacter1.js | Bin 0 -> 138 bytes .../scannerStringLiterals.errors.txt | 16 + ...scannerUnexpectedNullCharacter1.errors.txt | Bin 0 -> 265 bytes .../scannerUnicodeEscapeInKeyword1.js | 5 + .../reference/scannertest1.errors.txt | 57 + ...xtendedClassInsidePublicMethod2.errors.txt | 13 + ...peCheckExtendedClassInsidePublicMethod2.js | 34 + ...xtendedClassInsideStaticMethod1.errors.txt | 15 + ...peCheckExtendedClassInsideStaticMethod1.js | 34 + .../scopeCheckInsidePublicMethod1.errors.txt | 9 + .../scopeCheckInsidePublicMethod1.js | 17 + .../scopeCheckInsideStaticMethod1.errors.txt | 15 + .../scopeCheckInsideStaticMethod1.js | 23 + .../reference/scopeResolutionIdentifiers.js | 78 + .../baselines/reference/scopeTests.errors.txt | 15 + tests/baselines/reference/scopeTests.js | 35 + .../reference/scopingInCatchBlocks.errors.txt | 13 + .../reference/scopingInCatchBlocks.js | 27 + tests/baselines/reference/selfInCallback.js | 25 + tests/baselines/reference/selfInLambdas.js | 76 + tests/baselines/reference/selfRef.errors.txt | 23 + tests/baselines/reference/selfRef.js | 39 + ...fReferencesInFunctionParameters.errors.txt | 22 + .../selfReferencesInFunctionParameters.js | 34 + .../semicolonsInModuleDeclarations.errors.txt | 11 + .../reference/separate1-1.errors.txt | 4 + tests/baselines/reference/separate1-1.js | 5 + tests/baselines/reference/separate1-2.js | 12 + .../reference/setterBeforeGetter.errors.txt | 17 + .../reference/setterWithReturn.errors.txt | 17 + .../reference/shadowPrivateMembers.errors.txt | 7 + .../reference/shadowPrivateMembers.js | 28 + .../shadowedInternalModule.errors.txt | 36 + .../reference/shadowedInternalModule.js | 57 + .../sigantureIsSubTypeIfTheyAreIdentical.js | 19 + ...tionParameterReferencedInObjectLiteral1.js | 6 + ...slashBeforeVariableDeclaration1.errors.txt | 4 + .../baselines/reference/sourceMap-Comment1.js | 5 + .../reference/sourceMap-Comment1.js.map | 2 + .../sourceMap-Comment1.sourcemap.txt | 7 + .../reference/sourceMap-EmptyFile1.js | 5 + .../reference/sourceMap-EmptyFile1.js.map | 2 + .../sourceMap-EmptyFile1.sourcemap.txt | 7 + .../reference/sourceMap-FileWithComments.js | 62 + .../sourceMap-FileWithComments.js.map | 2 + .../sourceMap-FileWithComments.sourcemap.txt | 574 + ...-InterfacePrecedingVariableDeclaration1.js | 8 + ...erfacePrecedingVariableDeclaration1.js.map | 2 + ...recedingVariableDeclaration1.sourcemap.txt | 34 + .../baselines/reference/sourceMap-NewLine1.js | 6 + .../reference/sourceMap-NewLine1.js.map | 2 + .../sourceMap-NewLine1.sourcemap.txt | 7 + .../reference/sourceMap-SemiColon1.js | 7 + .../reference/sourceMap-SemiColon1.js.map | 2 + .../sourceMap-SemiColon1.sourcemap.txt | 20 + .../reference/sourceMap-SingleSpace1.js | 5 + .../reference/sourceMap-SingleSpace1.js.map | 2 + .../sourceMap-SingleSpace1.sourcemap.txt | 7 + .../sourceMap-StringLiteralWithNewLine.js | 25 + .../sourceMap-StringLiteralWithNewLine.js.map | 2 + ...Map-StringLiteralWithNewLine.sourcemap.txt | 161 + .../reference/sourceMapSample.errors.txt | 38 + tests/baselines/reference/sourceMapSample.js | 76 + .../reference/sourceMapSample.js.map | 2 + .../reference/sourceMapSample.sourcemap.txt | 969 ++ .../reference/sourceMapValidationClass.js | 49 + .../reference/sourceMapValidationClass.js.map | 2 + .../sourceMapValidationClass.sourcemap.txt | 394 + ...apValidationClassWithDefaultConstructor.js | 15 + ...lidationClassWithDefaultConstructor.js.map | 2 + ...nClassWithDefaultConstructor.sourcemap.txt | 108 + ...aultConstructorAndCapturedThisStatement.js | 16 + ...ConstructorAndCapturedThisStatement.js.map | 2 + ...ctorAndCapturedThisStatement.sourcemap.txt | 136 + ...sWithDefaultConstructorAndExtendsClause.js | 31 + ...hDefaultConstructorAndExtendsClause.js.map | 2 + ...tConstructorAndExtendsClause.sourcemap.txt | 202 + .../reference/sourceMapValidationClasses.js | 77 + .../sourceMapValidationClasses.js.map | 2 + .../sourceMapValidationClasses.sourcemap.txt | 974 ++ .../reference/sourceMapValidationDebugger.js | 6 + .../sourceMapValidationDebugger.js.map | 2 + .../sourceMapValidationDebugger.sourcemap.txt | 23 + .../reference/sourceMapValidationDo.js | 19 + .../reference/sourceMapValidationDo.js.map | 2 + .../sourceMapValidationDo.sourcemap.txt | 139 + .../sourceMapValidationEnums.errors.txt | 16 + .../reference/sourceMapValidationEnums.js | 33 + .../reference/sourceMapValidationEnums.js.map | 2 + .../sourceMapValidationEnums.sourcemap.txt | 258 + .../sourceMapValidationExportAssignment.js | 16 + ...sourceMapValidationExportAssignment.js.map | 2 + ...apValidationExportAssignment.sourcemap.txt | 90 + ...ceMapValidationExportAssignmentCommonjs.js | 14 + ...pValidationExportAssignmentCommonjs.js.map | 2 + ...tionExportAssignmentCommonjs.sourcemap.txt | 89 + .../sourceMapValidationFor.errors.txt | 38 + .../reference/sourceMapValidationFor.js | 66 + .../reference/sourceMapValidationFor.js.map | 2 + .../sourceMapValidationFor.sourcemap.txt | 738 + .../sourceMapValidationForIn.errors.txt | 23 + .../reference/sourceMapValidationForIn.js | 30 + .../reference/sourceMapValidationForIn.js.map | 2 + .../sourceMapValidationForIn.sourcemap.txt | 306 + .../sourceMapValidationFunctionExpressions.js | 18 + ...rceMapValidationFunctionExpressions.js.map | 2 + ...alidationFunctionExpressions.sourcemap.txt | 159 + ...MapValidationFunctionPropertyAssignment.js | 7 + ...alidationFunctionPropertyAssignment.js.map | 2 + ...onFunctionPropertyAssignment.sourcemap.txt | 55 + .../reference/sourceMapValidationFunctions.js | 39 + .../sourceMapValidationFunctions.js.map | 2 + ...sourceMapValidationFunctions.sourcemap.txt | 327 + .../reference/sourceMapValidationIfElse.js | 39 + .../sourceMapValidationIfElse.js.map | 2 + .../sourceMapValidationIfElse.sourcemap.txt | 344 + .../reference/sourceMapValidationImport.js | 25 + .../sourceMapValidationImport.js.map | 2 + .../sourceMapValidationImport.sourcemap.txt | 265 + .../reference/sourceMapValidationLabeled.js | 7 + .../sourceMapValidationLabeled.js.map | 2 + .../sourceMapValidationLabeled.sourcemap.txt | 39 + .../reference/sourceMapValidationModule.js | 33 + .../sourceMapValidationModule.js.map | 2 + .../sourceMapValidationModule.sourcemap.txt | 332 + .../sourceMapValidationStatements.js | 175 + .../sourceMapValidationStatements.js.map | 2 + ...ourceMapValidationStatements.sourcemap.txt | 1546 ++ .../reference/sourceMapValidationSwitch.js | 59 + .../sourceMapValidationSwitch.js.map | 2 + .../sourceMapValidationSwitch.sourcemap.txt | 390 + .../sourceMapValidationTryCatchFinally.js | 45 + .../sourceMapValidationTryCatchFinally.js.map | 2 + ...MapValidationTryCatchFinally.sourcemap.txt | 360 + .../reference/sourceMapValidationVariables.js | 12 + .../sourceMapValidationVariables.js.map | 2 + ...sourceMapValidationVariables.sourcemap.txt | 108 + .../reference/sourceMapValidationWhile.js | 19 + .../reference/sourceMapValidationWhile.js.map | 2 + .../sourceMapValidationWhile.sourcemap.txt | 131 + .../sourceMapValidationWithComments.js | 43 + .../sourceMapValidationWithComments.js.map | 2 + ...rceMapValidationWithComments.sourcemap.txt | 316 + .../sourcemapValidationDuplicateNames.js | 26 + .../sourcemapValidationDuplicateNames.js.map | 2 + ...emapValidationDuplicateNames.sourcemap.txt | 270 + .../reference/specializationError.js | 13 + .../specializationOfExportedClass.js | 21 + ...specializationsShouldNotAffectEachOther.js | 33 + .../baselines/reference/specializeVarArgs1.js | 30 + .../specializedInheritedConstructors1.js | 47 + .../specializedLambdaTypeArguments.js | 15 + ...lizedOverloadWithRestParameters.errors.txt | 17 + .../specializedOverloadWithRestParameters.js | 43 + ...edSignatureAsCallbackParameter1.errors.txt | 15 + ...pecializedSignatureAsCallbackParameter1.js | 16 + ...ubtypeOfNonSpecializedSignature.errors.txt | 91 + ...reIsNotSubtypeOfNonSpecializedSignature.js | 95 + ...atureIsSubtypeOfNonSpecializedSignature.js | 110 + ...eOverloadReturnTypeWithIndexers.errors.txt | 19 + ...SignatureOverloadReturnTypeWithIndexers.js | 19 + .../reference/staticAndMemberFunctions.js | 16 + .../staticAndNonStaticPropertiesSameName.js | 19 + .../staticClassMemberError.errors.txt | 19 + .../reference/staticClassMemberError.js | 28 + .../reference/staticClassProps.errors.txt | 13 + tests/baselines/reference/staticFactory1.js | 45 + .../reference/staticGetter1.errors.txt | 10 + tests/baselines/reference/staticGetter2.js | 19 + .../staticGetterAndSetter.errors.txt | 10 + .../reference/staticIndexer.errors.txt | 6 + .../reference/staticIndexers.errors.txt | 20 + .../baselines/reference/staticInheritance.js | 38 + .../reference/staticInstanceResolution.js | 29 + .../reference/staticInstanceResolution2.js | 26 + .../reference/staticInstanceResolution3.js | 27 + .../staticInstanceResolution4.errors.txt | 8 + .../reference/staticInstanceResolution4.js | 16 + .../staticInstanceResolution5.errors.txt | 17 + .../reference/staticInstanceResolution5.js | 27 + .../staticInterfaceAssignmentCompat.js | 24 + .../staticMemberAccessOffDerivedType1.js | 34 + ...gnsToConstructorFunctionMembers.errors.txt | 16 + ...mberAssignsToConstructorFunctionMembers.js | 31 + .../staticMemberExportAccess.errors.txt | 27 + .../reference/staticMemberExportAccess.js | 45 + .../reference/staticMemberInitialization.js | 17 + ...cMemberOfAnotherClassAssignment.errors.txt | 38 + ...AndPublicMemberOfAnotherClassAssignment.js | 54 + .../staticMemberWithStringAndNumberNames.js | 28 + ...cMembersUsingClassTypeParameter.errors.txt | 28 + .../staticMembersUsingClassTypeParameter.js | 39 + ...cMethodReferencingTypeArgument1.errors.txt | 23 + .../staticMethodReferencingTypeArgument1.js | 36 + ...sReferencingClassTypeParameters.errors.txt | 6 + ...icMethodsReferencingClassTypeParameters.js | 14 + .../staticModifierAlreadySeen.errors.txt | 9 + .../staticMustPrecedePublic.errors.txt | 10 + .../reference/staticOffOfInstance1.errors.txt | 9 + .../reference/staticOffOfInstance1.js | 19 + .../reference/staticOffOfInstance2.errors.txt | 11 + .../reference/staticOffOfInstance2.js | 22 + .../reference/staticPropSuper.errors.txt | 48 + tests/baselines/reference/staticPropSuper.js | 82 + .../staticPropertyAndFunctionWithSameName.js | 24 + .../staticPropertyNotInClassType.errors.txt | 62 + .../staticPrototypeProperty.errors.txt | 12 + .../reference/staticPrototypeProperty.js | 22 + .../staticPrototypePropertyOnClass.js | 45 + .../reference/staticVisibility.errors.txt | 52 + tests/baselines/reference/statics.errors.txt | 36 + tests/baselines/reference/statics.js | 65 + .../reference/staticsInAFunction.errors.txt | 35 + .../staticsInConstructorBodies.errors.txt | 11 + .../staticsNotInScopeInClodule.errors.txt | 10 + .../reference/staticsNotInScopeInClodule.js | 20 + tests/baselines/reference/stradac.js | 19 + tests/baselines/reference/strictMode1.js | 25 + tests/baselines/reference/strictMode2.js | 13 + tests/baselines/reference/strictMode3.js | 36 + tests/baselines/reference/strictMode4.js | 14 + .../strictModeInConstructor.errors.txt | 72 + .../reference/strictModeInConstructor.js | 130 + .../stringHasStringValuedNumericIndexer.js | 5 + .../stringIndexerAndConstructor.errors.txt | 18 + .../reference/stringIndexerAndConstructor.js | 23 + .../stringIndexerAndConstructor1.errors.txt | 7 + .../reference/stringIndexerAndConstructor1.js | 7 + .../stringIndexerAssignments1.errors.txt | 14 + .../reference/stringIndexerAssignments1.js | 14 + .../stringIndexerAssignments2.errors.txt | 28 + .../reference/stringIndexerAssignments2.js | 43 + ...rConstrainsPropertyDeclarations.errors.txt | 175 + ...ConstrainsPropertyDeclarations2.errors.txt | 60 + ...gIndexerConstrainsPropertyDeclarations2.js | 76 + .../reference/stringIndexingResults.js | 60 + .../stringLiteralObjectLiteralDeclaration1.js | 14 + ...iteralPropertyNameWithLineContinuation1.js | 10 + .../reference/stringLiteralType.errors.txt | 9 + ...ingLiteralTypeIsSubtypeOfString.errors.txt | 126 + .../stringLiteralTypeIsSubtypeOfString.js | 204 + ...TypesInImplementationSignatures.errors.txt | 49 + ...gLiteralTypesInImplementationSignatures.js | 51 + ...ypesInImplementationSignatures2.errors.txt | 54 + ...LiteralTypesInImplementationSignatures2.js | 48 + .../reference/stringLiteralsErrors.errors.txt | 63 + .../reference/stringNamedPropertyAccess.js | 42 + .../stringNamedPropertyDuplicates.errors.txt | 34 + .../baselines/reference/stringPropCodeGen.js | 23 + .../reference/stringPropertyAccess.js | 14 + .../stringPropertyAccessWithError.errors.txt | 5 + .../stringPropertyAccessWithError.js | 7 + tests/baselines/reference/structural1.js | 22 + .../structuralTypeInDeclareFileForModule.js | 14 + tests/baselines/reference/styleOptions.js | 13 + tests/baselines/reference/subtypesOfAny.js | 165 + .../subtypesOfTypeParameter.errors.txt | 184 + .../reference/subtypesOfTypeParameter.js | 219 + ...sOfTypeParameterWithConstraints.errors.txt | 396 + .../subtypesOfTypeParameterWithConstraints.js | 384 + ...OfTypeParameterWithConstraints2.errors.txt | 216 + ...subtypesOfTypeParameterWithConstraints2.js | 303 + ...OfTypeParameterWithConstraints3.errors.txt | 30 + ...subtypesOfTypeParameterWithConstraints3.js | 26 + ...OfTypeParameterWithConstraints4.errors.txt | 126 + ...subtypesOfTypeParameterWithConstraints4.js | 174 + ...rameterWithRecursiveConstraints.errors.txt | 368 + ...OfTypeParameterWithRecursiveConstraints.js | 339 + .../reference/subtypingTransitivity.js | 53 + .../reference/subtypingWithCallSignatures.js | 21 + .../reference/subtypingWithCallSignatures2.js | 298 + .../reference/subtypingWithCallSignatures3.js | 216 + .../reference/subtypingWithCallSignatures4.js | 196 + .../subtypingWithCallSignaturesA.errors.txt | 5 + .../reference/subtypingWithCallSignaturesA.js | 6 + ...ignaturesWithOptionalParameters.errors.txt | 94 + ...ithCallSignaturesWithOptionalParameters.js | 88 + ...allSignaturesWithRestParameters.errors.txt | 200 + ...ingWithCallSignaturesWithRestParameters.js | 136 + ...aturesWithSpecializedSignatures.errors.txt | 86 + ...CallSignaturesWithSpecializedSignatures.js | 83 + .../subtypingWithConstructSignatures.js | 29 + .../subtypingWithConstructSignatures2.js | 285 + .../subtypingWithConstructSignatures3.js | 208 + .../subtypingWithConstructSignatures4.js | 195 + .../subtypingWithConstructSignatures5.js | 83 + .../subtypingWithConstructSignatures6.js | 85 + ...ignaturesWithOptionalParameters.errors.txt | 94 + ...nstructSignaturesWithOptionalParameters.js | 88 + ...aturesWithSpecializedSignatures.errors.txt | 86 + ...ructSignaturesWithSpecializedSignatures.js | 83 + ...ignaturesWithOptionalParameters.errors.txt | 288 + ...ricCallSignaturesWithOptionalParameters.js | 266 + ...ignaturesWithOptionalParameters.errors.txt | 288 + ...nstructSignaturesWithOptionalParameters.js | 266 + .../subtypingWithNumericIndexer.errors.txt | 48 + .../reference/subtypingWithNumericIndexer.js | 103 + .../subtypingWithNumericIndexer2.errors.txt | 64 + .../reference/subtypingWithNumericIndexer2.js | 46 + .../subtypingWithNumericIndexer3.errors.txt | 64 + .../reference/subtypingWithNumericIndexer3.js | 114 + .../subtypingWithNumericIndexer4.errors.txt | 45 + .../reference/subtypingWithNumericIndexer4.js | 70 + .../subtypingWithNumericIndexer5.errors.txt | 61 + .../reference/subtypingWithNumericIndexer5.js | 84 + .../subtypingWithObjectMembers.errors.txt | 98 + .../reference/subtypingWithObjectMembers.js | 170 + .../subtypingWithObjectMembers2.errors.txt | 105 + .../reference/subtypingWithObjectMembers2.js | 77 + .../subtypingWithObjectMembers3.errors.txt | 104 + .../reference/subtypingWithObjectMembers3.js | 76 + .../reference/subtypingWithObjectMembers4.js | 90 + .../subtypingWithObjectMembers5.errors.txt | 72 + .../reference/subtypingWithObjectMembers5.js | 101 + ...gWithObjectMembersAccessibility.errors.txt | 43 + ...subtypingWithObjectMembersAccessibility.js | 90 + ...WithObjectMembersAccessibility2.errors.txt | 80 + ...ubtypingWithObjectMembersAccessibility2.js | 160 + .../subtypingWithObjectMembersOptionality.js | 85 + ...ngWithObjectMembersOptionality2.errors.txt | 45 + .../subtypingWithObjectMembersOptionality2.js | 39 + .../subtypingWithObjectMembersOptionality3.js | 39 + .../subtypingWithObjectMembersOptionality4.js | 39 + .../subtypingWithOptionalProperties.js | 19 + .../subtypingWithStringIndexer.errors.txt | 49 + .../reference/subtypingWithStringIndexer.js | 104 + .../subtypingWithStringIndexer2.errors.txt | 64 + .../reference/subtypingWithStringIndexer2.js | 46 + .../subtypingWithStringIndexer3.errors.txt | 64 + .../reference/subtypingWithStringIndexer3.js | 114 + .../subtypingWithStringIndexer4.errors.txt | 45 + .../reference/subtypingWithStringIndexer4.js | 70 + tests/baselines/reference/super.errors.txt | 40 + tests/baselines/reference/super.js | 89 + tests/baselines/reference/super1.errors.txt | 75 + tests/baselines/reference/super1.js | 170 + tests/baselines/reference/super2.js | 124 + .../reference/superAccess.errors.txt | 20 + tests/baselines/reference/superAccess.js | 42 + .../reference/superAccess2.errors.txt | 51 + .../reference/superAccessInFatArrow1.js | 51 + .../reference/superCallArgsMustMatch.js | 46 + .../superCallAssignResult.errors.txt | 13 + .../reference/superCallAssignResult.js | 32 + ...allFromClassThatDerivesFromGenericType1.js | 27 + ...allFromClassThatDerivesFromGenericType2.js | 26 + ...CallInConstructorWithNoBaseType.errors.txt | 16 + .../superCallInConstructorWithNoBaseType.js | 27 + .../superCallInNonStaticMethod.errors.txt | 55 + .../superCallInStaticMethod.errors.txt | 51 + .../superCallOutsideConstructor.errors.txt | 29 + .../reference/superCallOutsideConstructor.js | 53 + tests/baselines/reference/superCalls.js | 70 + .../superCallsInConstructor.errors.txt | 25 + .../reference/superCallsInConstructor.js | 59 + .../reference/superErrors.errors.txt | 84 + .../baselines/reference/superInCatchBlock1.js | 43 + .../superInConstructorParam1.errors.txt | 16 + .../reference/superInConstructorParam1.js | 34 + .../reference/superInLambdas.errors.txt | 76 + .../reference/superPropertyAccess.errors.txt | 53 + .../reference/superPropertyAccess1.errors.txt | 38 + .../reference/superPropertyAccess2.errors.txt | 40 + .../superPropertyAccessNoError.errors.txt | 69 + .../superWithGenericSpecialization.js | 38 + .../baselines/reference/superWithGenerics.js | 27 + .../superWithTypeArgument.errors.txt | 14 + .../superWithTypeArgument2.errors.txt | 14 + .../superWithTypeArgument3.errors.txt | 16 + ...ect-literal-getters-and-setters.errors.txt | 42 + .../switchAssignmentCompat.errors.txt | 9 + .../reference/switchAssignmentCompat.js | 18 + .../reference/switchBreakStatements.js | 100 + tests/baselines/reference/switchCases.js | 12 + ...itchCasesExpressionTypeMismatch.errors.txt | 25 + .../switchCasesExpressionTypeMismatch.js | 47 + .../baselines/reference/switchFallThroughs.js | 37 + tests/baselines/reference/switchStatements.js | 137 + tests/baselines/reference/targetTypeArgs.js | 41 + .../reference/targetTypeBaseCalls.errors.txt | 25 + .../reference/targetTypeBaseCalls.js | 49 + tests/baselines/reference/targetTypeCalls.js | 32 + .../reference/targetTypeCastTest.errors.txt | 26 + .../baselines/reference/targetTypeCastTest.js | 39 + .../reference/targetTypeObjectLiteral.js | 20 + .../reference/targetTypeObjectLiteralToAny.js | 20 + .../reference/targetTypeTest1.errors.txt | 79 + tests/baselines/reference/targetTypeTest1.js | 105 + tests/baselines/reference/targetTypeTest2.js | 21 + .../reference/targetTypeTest3.errors.txt | 15 + tests/baselines/reference/targetTypeTest3.js | 21 + .../reference/targetTypeVoidFunc.errors.txt | 10 + .../baselines/reference/targetTypeVoidFunc.js | 19 + .../reference/targetTypingOnFunctions.js | 12 + .../reference/ternaryExpressionSourceMap.js | 9 + .../ternaryExpressionSourceMap.js.map | 2 + .../ternaryExpressionSourceMap.sourcemap.txt | 84 + .../reference/testTypings.errors.txt | 16 + tests/baselines/reference/testTypings.js | 16 + .../reference/thisBinding.errors.txt | 24 + tests/baselines/reference/thisBinding.js | 46 + tests/baselines/reference/thisBinding2.js | 47 + tests/baselines/reference/thisCapture1.js | 25 + ...CallExpressionWithTypeArguments.errors.txt | 7 + ...essionInCallExpressionWithTypeArguments.js | 18 + .../thisExpressionInIndexExpression.js | 10 + .../thisExpressionOfGenericObject.js | 17 + .../reference/thisInAccessors.errors.txt | 43 + ...rowFunctionInStaticInitializer1.errors.txt | 11 + ...thisInArrowFunctionInStaticInitializer1.js | 22 + .../thisInConstructorParameter1.errors.txt | 7 + .../reference/thisInConstructorParameter1.js | 13 + .../thisInConstructorParameter2.errors.txt | 16 + .../reference/thisInConstructorParameter2.js | 30 + .../reference/thisInGenericStaticMembers.js | 51 + .../reference/thisInInnerFunctions.js | 40 + .../thisInInstanceMemberInitializer.js | 23 + .../thisInInvalidContexts.errors.txt | 63 + ...InInvalidContextsExternalModule.errors.txt | 67 + tests/baselines/reference/thisInLambda.js | 45 + .../reference/thisInModule.errors.txt | 7 + tests/baselines/reference/thisInModule.js | 12 + .../reference/thisInModuleFunction1.js | 17 + .../reference/thisInObjectLiterals.js | 36 + .../reference/thisInOuterClassBody.errors.txt | 27 + .../reference/thisInOuterClassBody.js | 41 + .../thisInPropertyBoundDeclarations.js | 138 + .../reference/thisInStaticMethod1.js | 20 + .../reference/thisInStatics.errors.txt | 13 + .../reference/thisInSuperCall.errors.txt | 27 + tests/baselines/reference/thisInSuperCall.js | 59 + .../reference/thisInSuperCall1.errors.txt | 13 + tests/baselines/reference/thisInSuperCall1.js | 32 + .../reference/thisInSuperCall2.errors.txt | 22 + tests/baselines/reference/thisInSuperCall2.js | 48 + .../reference/thisInSuperCall3.errors.txt | 15 + tests/baselines/reference/thisInSuperCall3.js | 34 + .../reference/thisKeyword.errors.txt | 6 + tests/baselines/reference/thisKeyword.js | 10 + ...eferencedInFunctionInsideArrowFunction1.js | 17 + .../thisWhenTypeCheckFails.errors.txt | 11 + .../reference/thisWhenTypeCheckFails.js | 22 + ...side-enum-should-not-be-allowed.errors.txt | 14 + .../this_inside-enum-should-not-be-allowed.js | 23 + ...ect-literal-getters-and-setters.errors.txt | 21 + .../reference/throwInEnclosingStatements.js | 94 + tests/baselines/reference/throwStatements.js | 166 + .../reference/toStringOnPrimitives.js | 11 + ...ArgumentsInGenericFunctionTypedArgument.js | 28 + .../tooManyTypeParameters1.errors.txt | 20 + .../reference/tooManyTypeParameters1.js | 27 + tests/baselines/reference/topLevel.js | 52 + .../reference/topLevelAmbientModule.js | 17 + tests/baselines/reference/topLevelExports.js | 15 + .../baselines/reference/topLevelFileModule.js | 20 + .../topLevelFileModuleMissing.errors.txt | 9 + .../reference/topLevelFileModuleMissing.js | 13 + .../reference/topLevelLambda.errors.txt | 7 + tests/baselines/reference/topLevelLambda.js | 14 + tests/baselines/reference/topLevelLambda2.js | 10 + tests/baselines/reference/topLevelLambda3.js | 8 + tests/baselines/reference/topLevelLambda4.js | 8 + ...opLevelModuleDeclarationAndFile.errors.txt | 17 + .../topLevelModuleDeclarationAndFile.js | 25 + ...ommaInHeterogenousArrayLiteral1.errors.txt | 14 + ...railingCommaInHeterogenousArrayLiteral1.js | 23 + ...trailingSeparatorInFunctionCall.errors.txt | 14 + .../transitiveTypeArgumentInference1.js | 23 + tests/baselines/reference/tryCatchFinally.js | 22 + tests/baselines/reference/tryStatements.js | 31 + .../twoAccessorsWithSameName.errors.txt | 61 + .../twoAccessorsWithSameName2.errors.txt | 33 + ...cesDifferingByTypeParameterName.errors.txt | 72 + ...cInterfacesDifferingByTypeParameterName.js | 64 + ...esDifferingByTypeParameterName2.errors.txt | 54 + ...InterfacesDifferingByTypeParameterName2.js | 48 + ...erfacesWithDifferentConstraints.errors.txt | 48 + ...nericInterfacesWithDifferentConstraints.js | 44 + ...ithTheSameNameButDifferentArity.errors.txt | 48 + ...erfacesWithTheSameNameButDifferentArity.js | 44 + ...woInterfacesDifferentRootModule.errors.txt | 34 + .../twoInterfacesDifferentRootModule.js | 41 + ...oInterfacesDifferentRootModule2.errors.txt | 46 + .../twoInterfacesDifferentRootModule2.js | 58 + ...oMergedInterfacesWithDifferingOverloads.js | 59 + ...MergedInterfacesWithDifferingOverloads2.js | 46 + ...eAnnotationBestCommonTypeInArrayLiteral.js | 39 + tests/baselines/reference/typeArgInference.js | 28 + .../baselines/reference/typeArgInference2.js | 21 + .../typeArgInference2WithError.errors.txt | 10 + .../reference/typeArgInference2WithError.js | 11 + .../reference/typeArgInferenceWithNull.js | 24 + ...peArgumentConstraintResolution1.errors.txt | 18 + .../typeArgumentConstraintResolution1.js | 22 + .../reference/typeArgumentInference.js | 175 + ...entInferenceConstructSignatures.errors.txt | 155 + ...ypeArgumentInferenceConstructSignatures.js | 203 + .../typeArgumentInferenceErrors.errors.txt | 25 + .../reference/typeArgumentInferenceErrors.js | 31 + .../typeArgumentInferenceOrdering.js | 27 + ...tInferenceTransitiveConstraints.errors.txt | 15 + ...eArgumentInferenceTransitiveConstraints.js | 16 + ...mentInferenceWithConstraintAsCommonRoot.js | 16 + ...rgumentInferenceWithConstraints.errors.txt | 132 + .../typeArgumentInferenceWithConstraints.js | 185 + .../typeArgumentsInFunctionExpressions.js | 22 + ...OnFunctionsWithNoTypeParameters.errors.txt | 14 + ...rgumentsOnFunctionsWithNoTypeParameters.js | 16 + ...ouldDisallowNonGenericOverloads.errors.txt | 16 + ...umentsShouldDisallowNonGenericOverloads.js | 21 + ...eAssertionToGenericFunctionType.errors.txt | 11 + .../typeAssertionToGenericFunctionType.js | 17 + .../reference/typeAssertions.errors.txt | 53 + tests/baselines/reference/typeAssertions.js | 89 + ...pressionWithUndefinedCallResolutionData.js | 27 + .../typeCheckTypeArgument.errors.txt | 28 + .../reference/typeCheckTypeArgument.js | 35 + ...InsideFunctionExpressionInArray.errors.txt | 16 + ...CheckingInsideFunctionExpressionInArray.js | 16 + .../typeConstraintsWithConstructSignatures.js | 26 + .../typeIdentityConsidersBrands.errors.txt | 38 + .../reference/typeIdentityConsidersBrands.js | 67 + .../baselines/reference/typeInfer1.errors.txt | 19 + tests/baselines/reference/typeInfer1.js | 27 + .../typeInferenceConflictingCandidates.js | 7 + .../reference/typeInferenceFixEarly.js | 7 + .../typeInferenceReturnTypeCallback.js | 45 + .../typeInferenceWithTypeAnnotation.js | 7 + .../reference/typeLiteralCallback.js | 21 + .../baselines/reference/typeMatch1.errors.txt | 32 + tests/baselines/reference/typeMatch1.js | 49 + .../baselines/reference/typeMatch2.errors.txt | 66 + tests/baselines/reference/typeMatch2.js | 105 + .../baselines/reference/typeName1.errors.txt | 72 + tests/baselines/reference/typeName1.js | 50 + .../typeOfEnumAndVarRedeclarations.errors.txt | 13 + .../typeOfEnumAndVarRedeclarations.js | 25 + .../reference/typeOfOnTypeArg.errors.txt | 11 + tests/baselines/reference/typeOfOnTypeArg.js | 15 + .../reference/typeOfOperator1.errors.txt | 6 + tests/baselines/reference/typeOfOperator1.js | 9 + tests/baselines/reference/typeOfPrototype.js | 17 + tests/baselines/reference/typeOfSuperCall.js | 29 + .../baselines/reference/typeOfThis.errors.txt | 194 + .../reference/typeOfThisInAccessor.errors.txt | 42 + ...ypeOfThisInConstructorParamList.errors.txt | 9 + .../typeOfThisInConstructorParamList.js | 15 + .../typeOfThisInFunctionExpression.js | 88 + .../typeOfThisInInstanceMember.errors.txt | 36 + .../typeOfThisInInstanceMember2.errors.txt | 38 + .../reference/typeOfThisInMemberFunctions.js | 67 + .../reference/typeOfThisInStaticMembers.js | 63 + .../typeOfThisInStaticMembers2.errors.txt | 12 + .../reference/typeOfThisInStaticMembers2.js | 22 + .../reference/typeOfThisInStatics.errors.txt | 13 + .../typeParamExtendsOtherTypeParam.errors.txt | 35 + .../typeParamExtendsOtherTypeParam.js | 53 + .../typeParameterAndArgumentOfSameName1.js | 11 + ...ypeParameterArgumentEquivalence.errors.txt | 16 + .../typeParameterArgumentEquivalence.js | 16 + ...peParameterArgumentEquivalence2.errors.txt | 16 + .../typeParameterArgumentEquivalence2.js | 16 + ...peParameterArgumentEquivalence3.errors.txt | 14 + .../typeParameterArgumentEquivalence3.js | 16 + ...peParameterArgumentEquivalence4.errors.txt | 14 + .../typeParameterArgumentEquivalence4.js | 16 + ...peParameterArgumentEquivalence5.errors.txt | 16 + .../typeParameterArgumentEquivalence5.js | 16 + .../typeParameterAsBaseClass.errors.txt | 7 + .../reference/typeParameterAsBaseClass.js | 23 + .../typeParameterAsBaseType.errors.txt | 19 + .../reference/typeParameterAsBaseType.js | 33 + .../reference/typeParameterAsElementType.js | 11 + .../reference/typeParameterAsTypeArgument.js | 40 + ...ameterAsTypeParameterConstraint.errors.txt | 31 + .../typeParameterAsTypeParameterConstraint.js | 46 + ...meterAsTypeParameterConstraint2.errors.txt | 23 + ...typeParameterAsTypeParameterConstraint2.js | 34 + ...erAsTypeParameterConstraintTransitively.js | 47 + ...rAsTypeParameterConstraintTransitively2.js | 45 + .../typeParameterAssignability.errors.txt | 11 + .../reference/typeParameterAssignability.js | 13 + .../typeParameterAssignability2.errors.txt | 167 + .../reference/typeParameterAssignability2.js | 129 + .../typeParameterAssignability3.errors.txt | 34 + .../reference/typeParameterAssignability3.js | 53 + .../typeParameterAssignmentCompat1.errors.txt | 32 + .../typeParameterAssignmentCompat1.js | 39 + ...ameterAssignmentWithConstraints.errors.txt | 10 + .../typeParameterAssignmentWithConstraints.js | 13 + ...rameterCompatibilityAccrossDeclarations.js | 43 + ...arameterConstrainedToOuterTypeParameter.js | 15 + ...rameterConstrainedToOuterTypeParameter2.js | 15 + .../typeParameterConstraints1.errors.txt | 26 + ...eterDirectlyConstrainedToItself.errors.txt | 39 + ...ypeParameterDirectlyConstrainedToItself.js | 40 + ...peParameterExplicitlyExtendsAny.errors.txt | 18 + .../typeParameterExplicitlyExtendsAny.js | 24 + ...ypeParameterHasSelfAsConstraint.errors.txt | 10 + .../typeParameterHasSelfAsConstraint.js | 11 + ...erIndirectlyConstrainedToItself.errors.txt | 75 + ...eParameterIndirectlyConstrainedToItself.js | 45 + .../typeParameterOrderReversal.errors.txt | 18 + .../reference/typeParameterOrderReversal.js | 23 + .../typeParameterUsedAsConstraint.errors.txt | 116 + .../typeParameterUsedAsConstraint.js | 98 + ...erUsedAsTypeParameterConstraint.errors.txt | 68 + ...eParameterUsedAsTypeParameterConstraint.js | 58 + ...rUsedAsTypeParameterConstraint2.errors.txt | 93 + ...ParameterUsedAsTypeParameterConstraint2.js | 107 + ...ParameterUsedAsTypeParameterConstraint3.js | 53 + ...rUsedAsTypeParameterConstraint4.errors.txt | 104 + ...ParameterUsedAsTypeParameterConstraint4.js | 97 + ...ameterWithInvalidConstraintType.errors.txt | 13 + .../typeParameterWithInvalidConstraintType.js | 25 + .../typeParametersAreIdenticalToThemselves.js | 113 + .../typeParametersAvailableInNestedScope.js | 43 + .../typeParametersAvailableInNestedScope2.js | 21 + ...typeParametersInStaticAccessors.errors.txt | 13 + .../typeParametersInStaticMethods.errors.txt | 9 + .../typeParametersInStaticMethods.js | 14 + ...ypeParametersInStaticProperties.errors.txt | 6 + .../typeParametersInStaticProperties.js | 11 + .../typeParametersShouldNotBeEqual.errors.txt | 13 + .../typeParametersShouldNotBeEqual.js | 18 + ...typeParametersShouldNotBeEqual2.errors.txt | 25 + .../typeParametersShouldNotBeEqual2.js | 26 + ...typeParametersShouldNotBeEqual3.errors.txt | 13 + .../typeParametersShouldNotBeEqual3.js | 18 + .../reference/typeQueryOnClass.errors.txt | 69 + tests/baselines/reference/typeResolution.js | 269 + .../baselines/reference/typeResolution.js.map | 2 + .../reference/typeResolution.sourcemap.txt | 3069 ++++ tests/baselines/reference/typeVal.js | 13 + .../reference/typeValueConflict1.errors.txt | 14 + .../baselines/reference/typeValueConflict1.js | 40 + .../reference/typeValueConflict2.errors.txt | 21 + .../baselines/reference/typeValueConflict2.js | 57 + .../typecheckCommaExpression.errors.txt | 6 + .../reference/typecheckCommaExpression.js | 5 + .../reference/typecheckIfCondition.errors.txt | 12 + .../reference/typecheckIfCondition.js | 15 + .../reference/typedGenericPrototypeMember.js | 17 + .../typeofANonExportedType.errors.txt | 54 + .../reference/typeofANonExportedType.js | 106 + .../typeofAmbientExternalModules.errors.txt | 23 + .../reference/typeofAmbientExternalModules.js | 41 + .../reference/typeofAnExportedType.errors.txt | 54 + .../reference/typeofAnExportedType.js | 109 + .../reference/typeofClass.errors.txt | 16 + tests/baselines/reference/typeofClass.js | 25 + tests/baselines/reference/typeofClass2.js | 53 + .../typeofClassWithPrivates.errors.txt | 13 + .../reference/typeofClassWithPrivates.js | 21 + tests/baselines/reference/typeofEnum.js | 17 + .../typeofExternalModules.errors.txt | 21 + .../reference/typeofExternalModules.js | 39 + .../typeofInObjectLiteralType.errors.txt | 4 + .../reference/typeofInObjectLiteralType.js | 5 + tests/baselines/reference/typeofInterface.js | 15 + .../typeofInternalModules.errors.txt | 37 + .../reference/typeofInternalModules.js | 50 + .../reference/typeofModuleWithoutExports.js | 21 + ...typeofOperatorInvalidOperations.errors.txt | 14 + .../typeofOperatorWithAnyOtherType.errors.txt | 81 + .../typeofOperatorWithAnyOtherType.js | 140 + .../typeofOperatorWithBooleanType.js | 94 + .../reference/typeofOperatorWithEnumType.js | 57 + .../reference/typeofOperatorWithNumberType.js | 110 + .../reference/typeofOperatorWithStringType.js | 110 + .../reference/typeofProperty.errors.txt | 61 + tests/baselines/reference/typeofProperty.js | 75 + .../reference/typeofSimple.errors.txt | 17 + tests/baselines/reference/typeofSimple.js | 22 + .../reference/typeofTypeParameter.errors.txt | 8 + .../reference/typeofTypeParameter.js | 13 + tests/baselines/reference/typeofUndefined.js | 11 + .../reference/typeofUnknownSymbol.errors.txt | 6 + .../reference/typeofUnknownSymbol.js | 7 + ...yExternalModuleStillHasInstance.errors.txt | 22 + ...typesOnlyExternalModuleStillHasInstance.js | 27 + ...ypesWithDuplicateTypeParameters.errors.txt | 21 + .../typesWithDuplicateTypeParameters.js | 25 + .../reference/typesWithOptionalProperty.js | 46 + .../typesWithPrivateConstructor.errors.txt | 27 + .../typesWithPublicConstructor.errors.txt | 21 + .../reference/typesWithPublicConstructor.js | 33 + .../typesWithSpecializedCallSignatures.js | 89 + ...typesWithSpecializedConstructSignatures.js | 83 + tests/baselines/reference/unaryOperators1.js | 9 + tests/baselines/reference/unaryPlus.js | 26 + .../reference/uncaughtCompilerError1.js | 28 + .../uncaughtCompilerError2.errors.txt | 7 + .../reference/undeclaredBase.errors.txt | 6 + tests/baselines/reference/undeclaredBase.js | 23 + .../reference/undeclaredMethod.errors.txt | 16 + tests/baselines/reference/undeclaredMethod.js | 30 + .../undeclaredModuleError.errors.txt | 27 + .../reference/undeclaredModuleError.js | 38 + .../reference/undeclaredVarEmit.errors.txt | 4 + .../baselines/reference/undeclaredVarEmit.js | 5 + .../reference/undefinedArgumentInference.js | 15 + .../undefinedAssignableToEveryType.js | 81 + .../reference/undefinedInferentialTyping.js | 12 + .../undefinedIsSubtypeOfEverything.js | 308 + ...SymbolReferencedInArrayLiteral1.errors.txt | 15 + ...ndefinedSymbolReferencedInArrayLiteral1.js | 16 + .../undefinedTypeArgument1.errors.txt | 4 + .../reference/undefinedTypeArgument1.js | 5 + .../undefinedTypeArgument2.errors.txt | 10 + .../reference/undefinedTypeArgument2.js | 8 + .../baselines/reference/underscoreMapFirst.js | 69 + tests/baselines/reference/underscoreTest1.js | 1096 ++ ...xpectedStatementBlockTerminator.errors.txt | 10 + .../unexportedInstanceClassVariables.js | 32 + .../unicodeIdentifierName2.errors.txt | 12 + .../reference/unicodeIdentifierNames.js | 8 + ...nknownSymbolInGenericReturnType.errors.txt | 15 + .../unknownSymbolInGenericReturnType.js | 27 + ...unknownSymbolOffContextualType1.errors.txt | 26 + .../unknownSymbolOffContextualType1.js | 41 + .../reference/unknownSymbols1.errors.txt | 59 + tests/baselines/reference/unknownSymbols1.js | 78 + .../reference/unknownSymbols2.errors.txt | 51 + tests/baselines/reference/unknownSymbols2.js | 61 + .../reference/unknownTypeArgOnCall.errors.txt | 11 + .../reference/unknownTypeArgOnCall.js | 21 + .../reference/unknownTypeErrors.errors.txt | 4 + .../baselines/reference/unknownTypeErrors.js | 5 + .../unqualifiedCallToClassStatic1.errors.txt | 9 + .../unqualifiedCallToClassStatic1.js | 17 + .../unresolvedTypeAssertionSymbol.errors.txt | 7 + .../unresolvedTypeAssertionSymbol.js | 9 + .../unspecializedConstraints.errors.txt | 162 + .../reference/unspecializedConstraints.js | 323 + ...unterminatedRegexAtEndOfSource1.errors.txt | 6 + ...atedStringLiteralWithBackslash1.errors.txt | 4 + .../untypedArgumentInLambdaExpression.js | 12 + ...unctionCallsWithTypeParameters1.errors.txt | 65 + ...untypedFunctionCallsWithTypeParameters1.js | 87 + .../reference/unusedImportDeclaration.js | 29 + ...ngModuleWithExportImportInValuePosition.js | 42 + .../reference/validBooleanAssignments.js | 14 + .../reference/validEnumAssignments.js | 52 + .../validMultipleVariableDeclarations.js | 74 + .../reference/validNullAssignments.errors.txt | 41 + .../reference/validNullAssignments.js | 65 + .../reference/validNumberAssignments.js | 24 + .../reference/validRegexp.errors.txt | 22 + .../reference/validStringAssignments.js | 14 + .../reference/validUndefinedAssignments.js | 46 + .../reference/validUndefinedValues.js | 7 + .../reference/validUseOfThisInSuper.js | 32 + .../reference/validVoidAssignments.js | 15 + tests/baselines/reference/validVoidValues.js | 9 + .../varAndFunctionShareName.errors.txt | 5 + .../reference/varAndFunctionShareName.js | 8 + ...arArgConstructorMemberParameter.errors.txt | 15 + .../reference/varArgParamTypeCheck.js | 44 + .../varArgWithNoParamName.errors.txt | 4 + .../reference/varArgsOnConstructorTypes.js | 53 + tests/baselines/reference/varAsID.errors.txt | 24 + tests/baselines/reference/varBlock.errors.txt | 80 + .../varInFunctionInVarInitializer.js | 12 + ...thImportInDifferentPartOfModule.errors.txt | 10 + ...flictsWithImportInDifferentPartOfModule.js | 19 + tests/baselines/reference/vararg.errors.txt | 55 + tests/baselines/reference/vararg.js | 89 + tests/baselines/reference/vardecl.js | 173 + .../reference/variableDeclarator1.js | 11 + ...rResolvedDuringContextualTyping.errors.txt | 132 + ...eclaratorResolvedDuringContextualTyping.js | 163 + tests/baselines/reference/visSyntax.js | 24 + .../visibilityOfCrossModuleTypeUsage.js | 33 + .../reference/voidArrayLit.errors.txt | 8 + tests/baselines/reference/voidArrayLit.js | 16 + .../voidAsNonAmbiguousReturnType.errors.txt | 14 + .../reference/voidAsNonAmbiguousReturnType.js | 24 + tests/baselines/reference/voidAsOperator.js | 16 + tests/baselines/reference/voidConstructor.js | 6 + .../reference/voidFunctionAssignmentCompat.js | 62 + tests/baselines/reference/voidOperator1.js | 9 + .../voidOperatorInvalidOperations.errors.txt | 14 + .../voidOperatorWithAnyOtherType.errors.txt | 67 + .../reference/voidOperatorWithAnyOtherType.js | 113 + .../reference/voidOperatorWithBooleanType.js | 72 + .../reference/voidOperatorWithEnumType.js | 46 + .../reference/voidOperatorWithNumberType.js | 88 + .../reference/voidOperatorWithStringType.js | 86 + .../reference/voidReturnLambdaValue.js | 9 + .../reference/whileBreakStatements.js | 72 + .../reference/whileContinueStatements.js | 93 + .../reference/widenToAny1.errors.txt | 9 + tests/baselines/reference/widenToAny1.js | 13 + .../reference/widenToAny2.errors.txt | 8 + tests/baselines/reference/widenToAny2.js | 12 + .../reference/widenedTypes.errors.txt | 44 + tests/baselines/reference/widenedTypes.js | 44 + tests/baselines/reference/widenedTypes1.js | 19 + .../reference/withExportDecl.errors.txt | 61 + tests/baselines/reference/withImportDecl.js | 88 + .../reference/withStatement.errors.txt | 17 + tests/baselines/reference/withStatement.js | 22 + .../reference/withStatementErrors.errors.txt | 27 + .../reference/withStatementNestedScope.js | 18 + .../reference/withStatements.errors.txt | 10 + tests/baselines/reference/withStatements.js | 13 + tests/baselines/reference/witness.errors.txt | 157 + tests/baselines/reference/witness.js | 257 + .../wrappedAndRecursiveConstraints.js | 31 + ...wrappedAndRecursiveConstraints2.errors.txt | 9 + .../wrappedAndRecursiveConstraints2.js | 16 + .../wrappedAndRecursiveConstraints3.js | 34 + ...wrappedAndRecursiveConstraints4.errors.txt | 16 + .../wrappedAndRecursiveConstraints4.js | 32 + .../wrappedRecursiveGenericType.errors.txt | 20 + .../reference/wrappedRecursiveGenericType.js | 22 + tests/cases/compiler/2dArrays.ts | 15 + .../compiler/ArrowFunctionExpression1.ts | 1 + tests/cases/compiler/ClassDeclaration10.ts | 4 + tests/cases/compiler/ClassDeclaration11.ts | 4 + tests/cases/compiler/ClassDeclaration13.ts | 4 + tests/cases/compiler/ClassDeclaration14.ts | 4 + tests/cases/compiler/ClassDeclaration15.ts | 4 + tests/cases/compiler/ClassDeclaration21.ts | 4 + tests/cases/compiler/ClassDeclaration22.ts | 4 + tests/cases/compiler/ClassDeclaration24.ts | 2 + tests/cases/compiler/ClassDeclaration25.ts | 8 + tests/cases/compiler/ClassDeclaration8.ts | 3 + tests/cases/compiler/ClassDeclaration9.ts | 3 + tests/cases/compiler/ExportAssignment7.ts | 4 + tests/cases/compiler/ExportAssignment8.ts | 4 + tests/cases/compiler/FunctionDeclaration3.ts | 1 + tests/cases/compiler/FunctionDeclaration4.ts | 2 + tests/cases/compiler/FunctionDeclaration6.ts | 4 + tests/cases/compiler/FunctionDeclaration7.ts | 3 + tests/cases/compiler/InterfaceDeclaration8.ts | 2 + .../compiler/MemberAccessorDeclaration15.ts | 3 + tests/cases/compiler/ParameterList13.ts | 3 + tests/cases/compiler/ParameterList4.ts | 2 + tests/cases/compiler/ParameterList5.ts | 2 + tests/cases/compiler/ParameterList6.ts | 4 + tests/cases/compiler/ParameterList7.ts | 5 + tests/cases/compiler/ParameterList8.ts | 5 + tests/cases/compiler/acceptableAlias1.ts | 7 + .../accessOverriddenBaseClassMember1.ts | 14 + .../accessorParameterAccessibilityModifier.ts | 6 + .../cases/compiler/accessorWithInitializer.ts | 6 + tests/cases/compiler/accessorWithRestParam.ts | 6 + tests/cases/compiler/accessorsEmit.ts | 15 + .../compiler/accessorsInAmbientContext.ts | 19 + .../compiler/accessorsNotAllowedInES3.ts | 6 + .../accessors_spec_section-4.5_error-cases.ts | 13 + .../accessors_spec_section-4.5_inference.ts | 24 + .../addMoreCallSignaturesToBaseSignature.ts | 10 + .../addMoreCallSignaturesToBaseSignature2.ts | 10 + .../addMoreOverloadsToBaseSignature.ts | 7 + tests/cases/compiler/aliasAssignments.ts | 12 + tests/cases/compiler/aliasBug.ts | 20 + tests/cases/compiler/aliasErrors.ts | 29 + .../cases/compiler/aliasInaccessibleModule.ts | 5 + .../compiler/aliasInaccessibleModule2.ts | 9 + .../compiler/aliasOnMergedModuleInterface.ts | 20 + .../compiler/aliasUsageInAccessorsOfClass.ts | 27 + tests/cases/compiler/aliasUsageInArray.ts | 21 + .../aliasUsageInFunctionExpression.ts | 20 + .../compiler/aliasUsageInGenericFunction.ts | 23 + .../compiler/aliasUsageInIndexerOfClass.ts | 26 + .../compiler/aliasUsageInObjectLiteral.ts | 21 + .../compiler/aliasUsageInOrExpression.ts | 24 + ...aliasUsageInTypeArgumentOfExtendsClause.ts | 24 + .../compiler/aliasUsageInVarAssignment.ts | 20 + tests/cases/compiler/aliasUsedAsNameValue.ts | 17 + ...aceExportAssignmentUsedInVarInitializer.ts | 10 + .../ambientClassDeclarationWithExtends.ts | 2 + .../ambientClassOverloadForFunction.ts | 2 + .../ambientEnumElementInitializer1.ts | 3 + .../ambientEnumElementInitializer2.ts | 3 + .../ambientEnumElementInitializer3.ts | 3 + .../ambientEnumElementInitializer4.ts | 3 + .../ambientEnumElementInitializer5.ts | 3 + .../ambientEnumElementInitializer6.ts | 5 + ...ntExternalModuleInAnotherExternalModule.ts | 12 + .../compiler/ambientExternalModuleReopen.ts | 6 + ...rnalModuleWithInternalImportDeclaration.ts | 18 + ...leWithRelativeExternalImportDeclaration.ts | 10 + ...entExternalModuleWithRelativeModuleName.ts | 7 + ...lModuleWithoutInternalImportDeclaration.ts | 17 + tests/cases/compiler/ambientFundule.ts | 3 + tests/cases/compiler/ambientGetters.ts | 9 + tests/cases/compiler/ambientModuleExports.ts | 19 + ...ntModuleWithClassDeclarationWithExtends.ts | 4 + tests/cases/compiler/ambientModules.ts | 2 + tests/cases/compiler/ambientWithStatements.ts | 27 + .../ambiguousCallsWhereReturnTypesAgree.ts | 27 + .../compiler/ambiguousGenericAssertion1.ts | 4 + tests/cases/compiler/ambiguousOverload.ts | 11 + .../compiler/ambiguousOverloadResolution.ts | 8 + tests/cases/compiler/amdDependencyComment1.ts | 5 + tests/cases/compiler/amdDependencyComment2.ts | 5 + tests/cases/compiler/anonterface.ts | 13 + tests/cases/compiler/anonymousModules.ts | 13 + .../compiler/anyAsReturnTypeForNewOnCall.ts | 13 + tests/cases/compiler/anyDeclare.ts | 5 + tests/cases/compiler/anyIdenticalToItself.ts | 12 + .../anyInferenceAnonymousFunctions.ts | 17 + .../cases/compiler/anyIsAssignableToObject.ts | 7 + tests/cases/compiler/anyIsAssignableToVoid.ts | 7 + tests/cases/compiler/anyPlusAny1.ts | 3 + tests/cases/compiler/argsInScope.ts | 10 + tests/cases/compiler/arguments.ts | 3 + ...gumentsBindsToFunctionScopeArgumentList.ts | 4 + .../argumentsUsedInObjectLiteralProperty.ts | 7 + tests/cases/compiler/arithAssignTyping.ts | 14 + .../compiler/arithmeticOnInvalidTypes.ts | 6 + .../compiler/arithmeticOnInvalidTypes2.ts | 7 + tests/cases/compiler/arrayAssignmentTest1.ts | 85 + tests/cases/compiler/arrayAssignmentTest2.ts | 58 + tests/cases/compiler/arrayAssignmentTest3.ts | 13 + tests/cases/compiler/arrayAssignmentTest4.ts | 25 + tests/cases/compiler/arrayAssignmentTest5.ts | 32 + tests/cases/compiler/arrayAssignmentTest6.ts | 19 + tests/cases/compiler/arrayAugment.ts | 7 + tests/cases/compiler/arrayBestCommonTypes.ts | 52 + tests/cases/compiler/arrayCast.ts | 6 + tests/cases/compiler/arrayConcat2.ts | 7 + tests/cases/compiler/arrayConcatMap.ts | 2 + tests/cases/compiler/arrayConstructors1.ts | 9 + tests/cases/compiler/arrayLiteral1.ts | 1 + tests/cases/compiler/arrayLiteral2.ts | 1 + ...yLiteralAndArrayConstructorEquivalence1.ts | 12 + .../compiler/arrayLiteralContextualType.ts | 29 + .../arrayLiteralInNonVarArgParameter.ts | 3 + .../compiler/arrayLiteralTypeInference.ts | 50 + tests/cases/compiler/arrayOfExportedClass.ts | 23 + .../compiler/arrayReferenceWithoutTypeArgs.ts | 3 + tests/cases/compiler/arraySigChecking.ts | 31 + ...arrayTypeInSignatureOfInterfaceAndClass.ts | 25 + tests/cases/compiler/arrayconcat.ts | 28 + .../arrowFunctionInConstructorArgument1.ts | 4 + .../arrowFunctionInExpressionStatement1.ts | 1 + .../arrowFunctionInExpressionStatement2.ts | 3 + tests/cases/compiler/asiArith.ts | 33 + tests/cases/compiler/asiInES6Classes.ts | 21 + .../compiler/assertInWrapSomeTypeParameter.ts | 5 + tests/cases/compiler/assign1.ts | 8 + .../assignLambdaToNominalSubtypeOfFunction.ts | 8 + tests/cases/compiler/assignToEnum.ts | 6 + tests/cases/compiler/assignToExistingClass.ts | 14 + tests/cases/compiler/assignToFn.ts | 9 + tests/cases/compiler/assignToInvalidLHS.ts | 4 + tests/cases/compiler/assignToModule.ts | 2 + ...assignToObjectTypeWithPrototypeProperty.ts | 3 + tests/cases/compiler/assignToPrototype1.ts | 6 + tests/cases/compiler/assignmentCompat1.ts | 5 + tests/cases/compiler/assignmentCompatBug2.ts | 38 + tests/cases/compiler/assignmentCompatBug3.ts | 25 + tests/cases/compiler/assignmentCompatBug5.ts | 10 + .../compiler/assignmentCompatForEnums.ts | 13 + ...signmentCompatFunctionsWithOptionalArgs.ts | 5 + ...CompatInterfaceWithStringIndexSignature.ts | 15 + tests/cases/compiler/assignmentCompatOnNew.ts | 5 + .../compiler/assignmentCompatWithOverloads.ts | 30 + .../compiler/assignmentCompatability1.ts | 9 + .../compiler/assignmentCompatability10.ts | 9 + .../compiler/assignmentCompatability11.ts | 9 + .../compiler/assignmentCompatability12.ts | 9 + .../compiler/assignmentCompatability13.ts | 9 + .../compiler/assignmentCompatability14.ts | 9 + .../compiler/assignmentCompatability15.ts | 9 + .../compiler/assignmentCompatability16.ts | 9 + .../compiler/assignmentCompatability17.ts | 9 + .../compiler/assignmentCompatability18.ts | 9 + .../compiler/assignmentCompatability19.ts | 9 + .../compiler/assignmentCompatability2.ts | 9 + .../compiler/assignmentCompatability20.ts | 9 + .../compiler/assignmentCompatability21.ts | 9 + .../compiler/assignmentCompatability22.ts | 9 + .../compiler/assignmentCompatability23.ts | 9 + .../compiler/assignmentCompatability24.ts | 9 + .../compiler/assignmentCompatability25.ts | 9 + .../compiler/assignmentCompatability26.ts | 9 + .../compiler/assignmentCompatability27.ts | 9 + .../compiler/assignmentCompatability28.ts | 9 + .../compiler/assignmentCompatability29.ts | 9 + .../compiler/assignmentCompatability3.ts | 9 + .../compiler/assignmentCompatability30.ts | 9 + .../compiler/assignmentCompatability31.ts | 9 + .../compiler/assignmentCompatability32.ts | 9 + .../compiler/assignmentCompatability33.ts | 9 + .../compiler/assignmentCompatability34.ts | 9 + .../compiler/assignmentCompatability35.ts | 9 + .../compiler/assignmentCompatability36.ts | 9 + .../compiler/assignmentCompatability37.ts | 9 + .../compiler/assignmentCompatability38.ts | 9 + .../compiler/assignmentCompatability39.ts | 9 + .../compiler/assignmentCompatability4.ts | 9 + .../compiler/assignmentCompatability40.ts | 9 + .../compiler/assignmentCompatability41.ts | 9 + .../compiler/assignmentCompatability42.ts | 9 + .../compiler/assignmentCompatability43.ts | 9 + .../compiler/assignmentCompatability5.ts | 9 + .../compiler/assignmentCompatability6.ts | 9 + .../compiler/assignmentCompatability7.ts | 9 + .../compiler/assignmentCompatability8.ts | 9 + .../compiler/assignmentCompatability9.ts | 9 + ...-apply-member-off-of-function-interface.ts | 29 + ...g-call-member-off-of-function-interface.ts | 29 + ...mpatibilityForConstrainedTypeParameters.ts | 7 + .../compiler/assignmentStricterConstraints.ts | 8 + tests/cases/compiler/assignmentToFunction.ts | 10 + tests/cases/compiler/assignmentToObject.ts | 3 + .../compiler/assignmentToObjectAndFunction.ts | 29 + .../assignmentToParenthesizedExpression1.ts | 2 + .../compiler/assignmentToReferenceTypes.ts | 23 + ...entedClassWithPrototypePropertyOnModule.ts | 6 + ...entedTypeAssignmentCompatIndexSignature.ts | 21 + ...ugmentedTypeBracketAccessIndexSignature.ts | 13 + ...augmentedTypeBracketNamedPropertyAccess.ts | 13 + tests/cases/compiler/augmentedTypesClass.ts | 7 + tests/cases/compiler/augmentedTypesClass2.ts | 29 + tests/cases/compiler/augmentedTypesClass2a.ts | 4 + tests/cases/compiler/augmentedTypesClass3.ts | 13 + tests/cases/compiler/augmentedTypesClass4.ts | 3 + tests/cases/compiler/augmentedTypesEnum.ts | 35 + tests/cases/compiler/augmentedTypesEnum2.ts | 19 + tests/cases/compiler/augmentedTypesEnum3.ts | 20 + .../compiler/augmentedTypesExternalModule1.ts | 4 + .../cases/compiler/augmentedTypesFunction.ts | 38 + .../cases/compiler/augmentedTypesInterface.ts | 33 + tests/cases/compiler/augmentedTypesModules.ts | 96 + .../cases/compiler/augmentedTypesModules2.ts | 27 + .../cases/compiler/augmentedTypesModules3.ts | 6 + .../cases/compiler/augmentedTypesModules3b.ts | 17 + .../cases/compiler/augmentedTypesModules4.ts | 21 + tests/cases/compiler/augmentedTypesVar.ts | 35 + .../autoAsiForStaticsInClassDeclaration.ts | 4 + tests/cases/compiler/autoLift2.ts | 30 + tests/cases/compiler/autolift3.ts | 29 + tests/cases/compiler/autolift4.ts | 22 + tests/cases/compiler/autonumberingInEnums.ts | 7 + tests/cases/compiler/avoid.ts | 18 + tests/cases/compiler/badArrayIndex.ts | 1 + tests/cases/compiler/badArraySyntax.ts | 10 + .../compiler/badExternalModuleReference.ts | 6 + tests/cases/compiler/badOverloadError.ts | 3 + tests/cases/compiler/badThisBinding.ts | 13 + tests/cases/compiler/baseCheck.ts | 28 + .../compiler/baseIndexSignatureResolution.ts | 24 + .../compiler/baseTypeAfterDerivedType.ts | 15 + tests/cases/compiler/baseTypeOrderChecking.ts | 35 + .../compiler/baseTypePrivateMemberClash.ts | 8 + tests/cases/compiler/bases.ts | 19 + .../compiler/bestCommonTypeReturnStatement.ts | 12 + .../bestCommonTypeWithContextualTyping.ts | 20 + .../bestCommonTypeWithOptionalProperties.ts | 15 + tests/cases/compiler/binaryArithmatic1.ts | 1 + tests/cases/compiler/binaryArithmatic2.ts | 1 + tests/cases/compiler/binaryArithmatic3.ts | 1 + tests/cases/compiler/binaryArithmatic4.ts | 1 + tests/cases/compiler/bind1.ts | 4 + tests/cases/compiler/bind2.ts | 1 + .../compiler/binopAssignmentShouldHaveType.ts | 18 + tests/cases/compiler/bom-utf16be.ts | Bin 0 -> 24 bytes tests/cases/compiler/bom-utf16le.ts | Bin 0 -> 24 bytes tests/cases/compiler/bom-utf8.ts | 1 + .../breakInIterationOrSwitchStatement1.ts | 3 + .../breakInIterationOrSwitchStatement2.ts | 4 + .../breakInIterationOrSwitchStatement3.ts | 3 + .../breakInIterationOrSwitchStatement4.ts | 3 + .../breakNotInIterationOrSwitchStatement1.ts | 1 + .../breakNotInIterationOrSwitchStatement2.ts | 5 + tests/cases/compiler/breakTarget1.ts | 2 + tests/cases/compiler/breakTarget2.ts | 4 + tests/cases/compiler/breakTarget3.ts | 5 + tests/cases/compiler/breakTarget4.ts | 5 + tests/cases/compiler/breakTarget5.ts | 8 + tests/cases/compiler/breakTarget6.ts | 3 + .../cases/compiler/callConstructAssignment.ts | 8 + ...arameterConstrainedToOuterTypeParameter.ts | 5 + tests/cases/compiler/callOnClass.ts | 3 + tests/cases/compiler/callOnInstance.ts | 10 + .../callOverloadViaElementAccessExpression.ts | 11 + tests/cases/compiler/callOverloads1.ts | 17 + tests/cases/compiler/callOverloads2.ts | 24 + tests/cases/compiler/callOverloads3.ts | 17 + tests/cases/compiler/callOverloads4.ts | 17 + tests/cases/compiler/callOverloads5.ts | 18 + .../compiler/callSignatureFunctionOverload.ts | 13 + ...resShouldBeResolvedBeforeSpecialization.ts | 10 + .../callWithWrongNumberOfTypeArguments.ts | 5 + .../callbackArgsDifferByOptionality.ts | 5 + .../cases/compiler/callbacksDontShareTypes.ts | 18 + .../cannotInvokeNewOnErrorExpression.ts | 5 + .../cannotInvokeNewOnIndexExpression.ts | 1 + .../compiler/castExpressionParentheses.ts | 38 + tests/cases/compiler/castNewObjectBug.ts | 2 + tests/cases/compiler/castParentheses.ts | 11 + tests/cases/compiler/castTest.ts | 31 + tests/cases/compiler/catch.ts | 4 + .../compiler/catchClauseWithTypeAnnotation.ts | 3 + tests/cases/compiler/cf.ts | 56 + tests/cases/compiler/chainedAssignment1.ts | 22 + tests/cases/compiler/chainedAssignment2.ts | 8 + tests/cases/compiler/chainedAssignment3.ts | 21 + .../compiler/chainedAssignmentChecking.ts | 21 + ...arameterConstrainedToOtherTypeParameter.ts | 19 + ...rameterConstrainedToOtherTypeParameter2.ts | 41 + tests/cases/compiler/chainedImportAlias.ts | 13 + ...hainedSpecializationToObjectTypeLiteral.ts | 10 + .../cases/compiler/checkForObjectTooStrict.ts | 30 + tests/cases/compiler/checkInterfaceBases.ts | 14 + tests/cases/compiler/circularModuleImports.ts | 9 + tests/cases/compiler/class1.ts | 2 + tests/cases/compiler/class2.ts | 1 + tests/cases/compiler/classAndInterface1.ts | 2 + tests/cases/compiler/classCannotExtendVar.ts | 6 + ...clarationMergedInModuleWithContinuation.ts | 11 + .../compiler/classExtendingQualifiedName.ts | 7 + .../compiler/classExtendingQualifiedName2.ts | 7 + ...sMergedWithModuleNotReferingConstructor.ts | 13 + ...tendsClauseClassNotReferringConstructor.ts | 5 + tests/cases/compiler/classExtendsInterface.ts | 7 + ...sInterfaceThatExtendsClassWithPrivates1.ts | 14 + .../classExtendsMultipleBaseClasses.ts | 3 + .../classHeritageWithTrailingSeparator.ts | 3 + .../classImplementingInterfaceIndexer.ts | 6 + tests/cases/compiler/classImplementsClass1.ts | 2 + tests/cases/compiler/classImplementsClass2.ts | 13 + tests/cases/compiler/classImplementsClass3.ts | 14 + tests/cases/compiler/classImplementsClass4.ts | 16 + tests/cases/compiler/classImplementsClass5.ts | 17 + tests/cases/compiler/classImplementsClass6.ts | 21 + .../classImplementsImportedInterface.ts | 12 + tests/cases/compiler/classIndexer.ts | 5 + tests/cases/compiler/classIndexer2.ts | 7 + tests/cases/compiler/classIndexer3.ts | 10 + tests/cases/compiler/classIndexer4.ts | 10 + tests/cases/compiler/classInheritence.ts | 2 + .../compiler/classMemberInitializerScoping.ts | 19 + .../classMemberInitializerWithLamdaScoping.ts | 30 + ...classMemberInitializerWithLamdaScoping2.ts | 16 + ...classMemberInitializerWithLamdaScoping3.ts | 16 + ...classMemberInitializerWithLamdaScoping4.ts | 14 + ...classMemberInitializerWithLamdaScoping5.ts | 11 + .../compiler/classMethodWithKeywordName1.ts | 3 + tests/cases/compiler/classOrder1.ts | 10 + tests/cases/compiler/classOrder2.ts | 18 + tests/cases/compiler/classOrderBug.ts | 14 + .../compiler/classOverloadForFunction.ts | 2 + .../compiler/classOverloadForFunction2.ts | 2 + tests/cases/compiler/classSideInheritance1.ts | 15 + tests/cases/compiler/classSideInheritance2.ts | 20 + tests/cases/compiler/classSideInheritance3.ts | 18 + .../compiler/classTypeParametersInStatics.ts | 33 + tests/cases/compiler/classUpdateTests.ts | 113 + .../compiler/classWithMultipleBaseClasses.ts | 24 + ...ssWithOverloadImplementationOfWrongName.ts | 5 + ...sWithOverloadImplementationOfWrongName2.ts | 5 + tests/cases/compiler/classdecl.ts | 94 + tests/cases/compiler/clinterfaces.ts | 25 + .../cloduleAcrossModuleDefinitions.ts | 14 + .../compiler/cloduleAndTypeParameters.ts | 13 + .../cases/compiler/cloduleSplitAcrossFiles.ts | 8 + tests/cases/compiler/cloduleStaticMembers.ts | 11 + tests/cases/compiler/cloduleTest1.ts | 10 + tests/cases/compiler/cloduleTest2.ts | 36 + .../compiler/cloduleWithDuplicateMember1.ts | 15 + .../compiler/cloduleWithDuplicateMember2.ts | 11 + .../compiler/cloduleWithRecursiveReference.ts | 7 + .../cases/compiler/clodulesDerivedClasses.ts | 21 + .../collisionArgumentsArrowFunctions.ts | 16 + .../collisionArgumentsClassConstructor.ts | 86 + .../compiler/collisionArgumentsClassMethod.ts | 48 + .../compiler/collisionArgumentsFunction.ts | 44 + .../collisionArgumentsFunctionExpressions.ts | 34 + .../compiler/collisionArgumentsInType.ts | 14 + .../collisionArgumentsInterfaceMembers.ts | 28 + ...lisionCodeGenEnumWithEnumMemberConflict.ts | 4 + ...lisionCodeGenModuleWithAccessorChildren.ts | 45 + ...ionCodeGenModuleWithConstructorChildren.ts | 23 + ...sionCodeGenModuleWithEnumMemberConflict.ts | 6 + ...lisionCodeGenModuleWithFunctionChildren.ts | 19 + ...ionCodeGenModuleWithMemberClassConflict.ts | 15 + ...odeGenModuleWithMemberInterfaceConflict.ts | 7 + ...ollisionCodeGenModuleWithMemberVariable.ts | 5 + ...ollisionCodeGenModuleWithMethodChildren.ts | 32 + ...ollisionCodeGenModuleWithModuleChildren.ts | 42 + ...llisionCodeGenModuleWithModuleReopening.ts | 29 + ...collisionCodeGenModuleWithPrivateMember.ts | 8 + .../collisionCodeGenModuleWithUnicodeNames.ts | Bin 0 -> 718 bytes .../collisionExportsRequireAndAlias.ts | 19 + .../collisionExportsRequireAndClass.ts | 5 + .../collisionExportsRequireAndEnum.ts | 9 + .../collisionExportsRequireAndFunction.ts | 7 + .../collisionExportsRequireAndModule.ts | 19 + ...onExportsRequireAndUninstantiatedModule.ts | 15 + .../compiler/collisionExportsRequireAndVar.ts | 5 + .../collisionRestParameterArrowFunctions.ts | 13 + .../collisionRestParameterClassConstructor.ts | 66 + .../collisionRestParameterClassMethod.ts | 38 + .../collisionRestParameterFunction.ts | 33 + ...llisionRestParameterFunctionExpressions.ts | 24 + .../compiler/collisionRestParameterInType.ts | 7 + .../collisionRestParameterInterfaceMembers.ts | 21 + .../collisionRestParameterUnderscoreIUsage.ts | 8 + ...llisionSuperAndLocalFunctionInAccessors.ts | 39 + ...isionSuperAndLocalFunctionInConstructor.ts | 24 + .../collisionSuperAndLocalFunctionInMethod.ts | 28 + ...ollisionSuperAndLocalFunctionInProperty.ts | 18 + .../collisionSuperAndLocalVarInAccessors.ts | 32 + .../collisionSuperAndLocalVarInConstructor.ts | 20 + .../collisionSuperAndLocalVarInMethod.ts | 18 + .../collisionSuperAndLocalVarInProperty.ts | 17 + .../collisionSuperAndNameResolution.ts | 11 + .../compiler/collisionSuperAndParameter.ts | 62 + .../compiler/collisionSuperAndParameter1.ts | 9 + ...perAndPropertyNameAsConstuctorParameter.ts | 30 + ...collisionThisExpressionAndAliasInGlobal.ts | 5 + ...onThisExpressionAndAmbientClassInGlobal.ts | 4 + ...sionThisExpressionAndAmbientVarInGlobal.ts | 3 + ...collisionThisExpressionAndClassInGlobal.ts | 3 + .../collisionThisExpressionAndEnumInGlobal.ts | 5 + ...lisionThisExpressionAndFunctionInGlobal.ts | 4 + ...ionThisExpressionAndLocalVarInAccessors.ts | 43 + ...nThisExpressionAndLocalVarInConstructor.ts | 21 + ...sionThisExpressionAndLocalVarInFunction.ts | 7 + ...lisionThisExpressionAndLocalVarInLambda.ts | 9 + ...lisionThisExpressionAndLocalVarInMethod.ts | 18 + ...sionThisExpressionAndLocalVarInProperty.ts | 19 + ...xpressionAndLocalVarWithSuperExperssion.ts | 18 + ...ollisionThisExpressionAndModuleInGlobal.ts | 5 + ...ollisionThisExpressionAndNameResolution.ts | 12 + .../collisionThisExpressionAndParameter.ts | 93 + ...ionAndPropertyNameAsConstuctorParameter.ts | 35 + .../collisionThisExpressionAndVarInGlobal.ts | 2 + tests/cases/compiler/commaOperator1.ts | 5 + .../compiler/commentBeforeStaticMethod1.ts | 8 + .../compiler/commentInEmptyParameterList1.ts | 3 + tests/cases/compiler/commentInMethodCall.ts | 4 + .../cases/compiler/commentOnAmbientClass1.ts | 7 + .../compiler/commentOnAmbientVariable1.ts | 5 + .../compiler/commentOnAmbientVariable2.ts | 7 + .../cases/compiler/commentOnClassAccessor1.ts | 6 + .../cases/compiler/commentOnClassAccessor2.ts | 11 + tests/cases/compiler/commentOnClassMethod1.ts | 8 + .../cases/compiler/commentOnElidedModule1.ts | 7 + .../compiler/commentOnExpressionStatement1.ts | 3 + tests/cases/compiler/commentOnIfStatement1.ts | 5 + .../compiler/commentOnImportStatement1.ts | 5 + .../compiler/commentOnImportStatement2.ts | 4 + .../compiler/commentOnImportStatement3.ts | 6 + tests/cases/compiler/commentOnInterface1.ts | 7 + ...mentOnParenthesizedExpressionOpenParen1.ts | 3 + tests/cases/compiler/commentOnSignature1.ts | 6 + .../commentOnSimpleArrowFunctionBody1.ts | 8 + .../cases/compiler/commentOnStaticMember1.ts | 5 + tests/cases/compiler/commentsAtEndOfFile1.ts | 3 + .../commentsBeforeFunctionExpression1.ts | 4 + .../commentsBeforeVariableStatement1.ts | 4 + tests/cases/compiler/commentsClass.ts | 67 + tests/cases/compiler/commentsClassMembers.ts | 217 + .../cases/compiler/commentsCommentParsing.ts | 157 + .../compiler/commentsDottedModuleName.ts | 11 + tests/cases/compiler/commentsEnums.ts | 14 + .../cases/compiler/commentsExternalModules.ts | 63 + tests/cases/compiler/commentsFunction.ts | 27 + tests/cases/compiler/commentsInheritance.ts | 153 + tests/cases/compiler/commentsInterface.ts | 71 + tests/cases/compiler/commentsModules.ts | 100 + .../compiler/commentsMultiModuleMultiFile.ts | 39 + .../compiler/commentsMultiModuleSingleFile.ts | 27 + .../compiler/commentsOnObjectLiteral1.ts | 8 + .../compiler/commentsOnObjectLiteral2.ts | 13 + .../compiler/commentsOnObjectLiteral3.ts | 19 + .../compiler/commentsOnObjectLiteral4.ts | 10 + .../compiler/commentsOnReturnStatement1.ts | 10 + .../cases/compiler/commentsOnStaticMembers.ts | 21 + tests/cases/compiler/commentsOverloads.ts | 176 + .../compiler/commentsPropertySignature1.ts | 5 + tests/cases/compiler/commentsVarDecl.ts | 46 + .../compiler/commentsVariableStatement1.ts | 5 + .../compiler/commentsdoNotEmitComments.ts | 90 + tests/cases/compiler/commentsemitComments.ts | 90 + .../compiler/complexClassRelationships.ts | 48 + ...catedGenericRecursiveBaseClassReference.ts | 4 + tests/cases/compiler/complicatedPrivacy.ts | 104 + .../compiler/compositeGenericFunction.ts | 6 + tests/cases/compiler/compoundVarDecl1.ts | 3 + tests/cases/compiler/concatClassAndString.ts | 4 + tests/cases/compiler/concatError.ts | 32 + .../cases/compiler/conditionalExpression1.ts | 1 + .../cases/compiler/conditionalExpressions2.ts | 9 + ...cateOverloadsCausedByOverloadResolution.ts | 20 + .../compiler/conflictingMemberTypesInBases.ts | 13 + .../compiler/conflictingTypeAnnotatedVar.ts | 3 + .../compiler/constantOverloadFunction.ts | 12 + .../constantOverloadFunctionNoSubtypeError.ts | 13 + ...nstraintCheckInGenericBaseTypeReference.ts | 19 + tests/cases/compiler/constraintErrors1.ts | 1 + ...constraintPropagationThroughReturnTypes.ts | 8 + ...gTypeParameterFromSameTypeParameterList.ts | 23 + tests/cases/compiler/constraints0.ts | 16 + ...straintsThatReferenceOtherContstraints1.ts | 8 + .../constraintsUsedInPrototypeProperty.ts | 2 + .../constructorArgWithGenericCallSignature.ts | 13 + tests/cases/compiler/constructorArgs.ts | 14 + .../cases/compiler/constructorArgsErrors1.ts | 4 + .../cases/compiler/constructorArgsErrors2.ts | 4 + .../cases/compiler/constructorArgsErrors3.ts | 4 + .../cases/compiler/constructorArgsErrors4.ts | 4 + .../cases/compiler/constructorArgsErrors5.ts | 4 + tests/cases/compiler/constructorAsType.ts | 5 + ...constructorInvocationWithTooFewTypeArgs.ts | 9 + tests/cases/compiler/constructorOverloads1.ts | 20 + tests/cases/compiler/constructorOverloads2.ts | 24 + tests/cases/compiler/constructorOverloads3.ts | 21 + tests/cases/compiler/constructorOverloads4.ts | 11 + tests/cases/compiler/constructorOverloads5.ts | 17 + tests/cases/compiler/constructorOverloads6.ts | 23 + tests/cases/compiler/constructorOverloads7.ts | 24 + tests/cases/compiler/constructorOverloads8.ts | 15 + ...tructorParametersInVariableDeclarations.ts | 16 + ...adowExternalNamesInVariableDeclarations.ts | 13 + .../constructorReturningAPrimitive.ts | 19 + .../compiler/constructorReturnsInvalidType.ts | 8 + .../compiler/constructorStaticParamName.ts | 5 + .../constructorStaticParamNameErrors.ts | 5 + .../constructorTypeWithTypeParameters.ts | 8 + .../constructorsWithSpecializedSignatures.ts | 43 + .../contextualSigInstantiationRestParams.ts | 4 + .../contextualSignatureInstantiation1.ts | 7 + .../contextualSignatureInstantiation2.ts | 5 + ...arameterConstrainedToOuterTypeParameter.ts | 6 + ...tualSignatureInstatiationContravariance.ts | 11 + ...ntextualSignatureInstatiationCovariance.ts | 11 + tests/cases/compiler/contextualTypeAny.ts | 5 + .../contextualTypeAppliedToVarArgs.ts | 15 + .../compiler/contextualTypeArrayReturnType.ts | 19 + tests/cases/compiler/contextualTyping.ts | 231 + tests/cases/compiler/contextualTyping1.ts | 1 + tests/cases/compiler/contextualTyping10.ts | 1 + tests/cases/compiler/contextualTyping11.ts | 1 + tests/cases/compiler/contextualTyping12.ts | 1 + tests/cases/compiler/contextualTyping13.ts | 1 + tests/cases/compiler/contextualTyping14.ts | 1 + tests/cases/compiler/contextualTyping15.ts | 1 + tests/cases/compiler/contextualTyping16.ts | 1 + tests/cases/compiler/contextualTyping17.ts | 1 + tests/cases/compiler/contextualTyping18.ts | 1 + tests/cases/compiler/contextualTyping19.ts | 1 + tests/cases/compiler/contextualTyping2.ts | 1 + tests/cases/compiler/contextualTyping20.ts | 1 + tests/cases/compiler/contextualTyping21.ts | 1 + tests/cases/compiler/contextualTyping22.ts | 1 + tests/cases/compiler/contextualTyping23.ts | 1 + tests/cases/compiler/contextualTyping24.ts | 1 + tests/cases/compiler/contextualTyping25.ts | 1 + tests/cases/compiler/contextualTyping26.ts | 1 + tests/cases/compiler/contextualTyping27.ts | 1 + tests/cases/compiler/contextualTyping28.ts | 1 + tests/cases/compiler/contextualTyping29.ts | 1 + tests/cases/compiler/contextualTyping3.ts | 1 + tests/cases/compiler/contextualTyping30.ts | 1 + tests/cases/compiler/contextualTyping31.ts | 1 + tests/cases/compiler/contextualTyping32.ts | 1 + tests/cases/compiler/contextualTyping33.ts | 1 + tests/cases/compiler/contextualTyping34.ts | 1 + tests/cases/compiler/contextualTyping35.ts | 1 + tests/cases/compiler/contextualTyping36.ts | 1 + tests/cases/compiler/contextualTyping37.ts | 1 + tests/cases/compiler/contextualTyping38.ts | 1 + tests/cases/compiler/contextualTyping39.ts | 1 + tests/cases/compiler/contextualTyping4.ts | 1 + tests/cases/compiler/contextualTyping40.ts | 1 + tests/cases/compiler/contextualTyping41.ts | 1 + tests/cases/compiler/contextualTyping5.ts | 1 + tests/cases/compiler/contextualTyping6.ts | 1 + tests/cases/compiler/contextualTyping7.ts | 1 + tests/cases/compiler/contextualTyping8.ts | 1 + tests/cases/compiler/contextualTyping9.ts | 1 + .../contextualTypingArrayOfLambdas.ts | 13 + .../compiler/contextualTypingOfAccessors.ts | 12 + .../contextualTypingOfArrayLiterals1.ts | 7 + ...contextualTypingOfConditionalExpression.ts | 13 + ...ontextualTypingOfConditionalExpression2.ts | 11 + ...lTypingOfGenericFunctionTypedArguments1.ts | 17 + ...ontextualTypingOfLambdaReturnExpression.ts | 6 + ...ualTypingOfLambdaWithMultipleSignatures.ts | 7 + ...alTypingOfLambdaWithMultipleSignatures2.ts | 6 + .../contextualTypingOfObjectLiterals.ts | 10 + .../contextualTypingOfObjectLiterals2.ts | 5 + ...alTypingTwoInstancesOfSameTypeParameter.ts | 4 + ...ontextualTypingWithFixedTypeParameters1.ts | 3 + ...TypingWithGenericAndNonGenericSignature.ts | 15 + .../contextualTypingWithGenericSignature.ts | 7 + .../compiler/contextuallyTypingOrOperator.ts | 6 + .../compiler/contextuallyTypingOrOperator2.ts | 3 + .../compiler/contextuallyTypingOrOperator3.ts | 3 + .../compiler/continueInIterationStatement1.ts | 3 + .../compiler/continueInIterationStatement2.ts | 4 + .../compiler/continueInIterationStatement3.ts | 3 + .../compiler/continueInIterationStatement4.ts | 3 + tests/cases/compiler/continueLabel.ts | 3 + .../continueNotInIterationStatement1.ts | 1 + .../continueNotInIterationStatement2.ts | 5 + .../continueNotInIterationStatement3.ts | 4 + .../continueNotInIterationStatement4.ts | 6 + tests/cases/compiler/continueTarget1.ts | 2 + tests/cases/compiler/continueTarget2.ts | 4 + tests/cases/compiler/continueTarget3.ts | 5 + tests/cases/compiler/continueTarget4.ts | 5 + tests/cases/compiler/continueTarget5.ts | 8 + tests/cases/compiler/continueTarget6.ts | 3 + tests/cases/compiler/convertKeywords.ts | 3 + tests/cases/compiler/convertKeywordsYes.ts | 305 + tests/cases/compiler/copyrightWithNewLine1.ts | 10 + .../compiler/copyrightWithoutNewLine1.ts | 9 + .../compiler/couldNotSelectGenericOverload.ts | 7 + tests/cases/compiler/covariance1.ts | 16 + .../cases/compiler/crashInResolveInterface.ts | 16 + .../compiler/crashInresolveReturnStatement.ts | 17 + ...urcePropertyIsRelatableToTargetProperty.ts | 9 + .../crashIntypeCheckInvocationExpression.ts | 12 + ...rashIntypeCheckObjectCreationExpression.ts | 8 + .../cases/compiler/crashOnMethodSignatures.ts | 3 + tests/cases/compiler/crashRegressionTest.ts | 24 + tests/cases/compiler/createArray.ts | 15 + tests/cases/compiler/customEventDetail.ts | 5 + tests/cases/compiler/cyclicModuleImport.ts | 18 + tests/cases/compiler/debugger.ts | 6 + tests/cases/compiler/debuggerEmit.ts | 2 + tests/cases/compiler/declFileAccessors.ts | 104 + ...tExternalModuleWithSingleExportedModule.ts | 18 + .../cases/compiler/declFileCallSignatures.ts | 68 + .../declFileClassWithIndexSignature.ts | 5 + ...assWithStaticMethodReturningConstructor.ts | 8 + .../compiler/declFileConstructSignatures.ts | 68 + tests/cases/compiler/declFileConstructors.ts | 100 + .../cases/compiler/declFileEnumUsedAsValue.ts | 8 + tests/cases/compiler/declFileEnums.ts | 36 + ...ileExportAssignmentImportInternalModule.ts | 23 + ...lFileExportAssignmentOfGenericInterface.ts | 13 + .../compiler/declFileExportImportChain.ts | 25 + .../compiler/declFileExportImportChain2.ts | 22 + ...declFileForClassWithMultipleBaseClasses.ts | 28 + ...leForClassWithPrivateOverloadedFunction.ts | 7 + .../compiler/declFileForExportedImport.ts | 12 + .../declFileForFunctionTypeAsTypeParameter.ts | 9 + ...eclFileForInterfaceWithOptionalFunction.ts | 6 + .../declFileForInterfaceWithRestParams.ts | 7 + .../compiler/declFileForTypeParameters.ts | 8 + tests/cases/compiler/declFileForVarList.ts | 4 + tests/cases/compiler/declFileFunctions.ts | 62 + ...ileGenericClassWithGenericExtendedClass.ts | 12 + tests/cases/compiler/declFileGenericType.ts | 40 + tests/cases/compiler/declFileGenericType2.ts | 42 + ...eclFileImportModuleWithExportAssignment.ts | 26 + ...eclFileImportedTypeUseInTypeArgPosition.ts | 13 + .../cases/compiler/declFileIndexSignatures.ts | 38 + .../cases/compiler/declFileInternalAliases.ts | 13 + tests/cases/compiler/declFileMethods.ts | 192 + ...ModuleAssignmentInObjectLiteralProperty.ts | 10 + .../compiler/declFileModuleContinuation.ts | 10 + .../declFileModuleWithPropertyOfTypeModule.ts | 8 + .../declFileObjectLiteralWithAccessors.ts | 12 + .../declFileObjectLiteralWithOnlyGetter.ts | 9 + .../declFileObjectLiteralWithOnlySetter.ts | 10 + .../declFileOptionalInterfaceMethod.ts | 4 + tests/cases/compiler/declFilePrivateStatic.ts | 15 + .../cases/compiler/declFileRegressionTests.ts | 5 + ...RestParametersOfFunctionAndFunctionType.ts | 10 + tests/cases/compiler/declFileTypeofClass.ts | 16 + tests/cases/compiler/declFileTypeofEnum.ts | 15 + .../cases/compiler/declFileTypeofFunction.ts | 34 + .../compiler/declFileTypeofInAnonymousType.ts | 23 + tests/cases/compiler/declFileTypeofModule.ts | 14 + ...lictingWithClassReferredByExtendsClause.ts | 20 + ...dsClauseThatHasItsContainerNameConflict.ts | 19 + ...rnalModuleNameConflictsInExtendsClause1.ts | 12 + ...rnalModuleNameConflictsInExtendsClause2.ts | 15 + ...rnalModuleNameConflictsInExtendsClause3.ts | 15 + tests/cases/compiler/declInput-2.ts | 22 + tests/cases/compiler/declInput.ts | 10 + tests/cases/compiler/declInput3.ts | 10 + tests/cases/compiler/declInput4.ts | 16 + ...it_array-types-from-generic-array-usage.ts | 2 + .../compiler/declarationEmit_nameConflicts.ts | 50 + .../declarationEmit_nameConflicts2.ts | 17 + .../declarationEmit_nameConflicts3.ts | 28 + .../declarationEmit_nameConflictsWithAlias.ts | 8 + tests/cases/compiler/declareAlreadySeen.ts | 8 + .../declareClassInterfaceImplementation.ts | 7 + tests/cases/compiler/declareDottedExtend.ts | 10 + .../cases/compiler/declareDottedModuleName.ts | 11 + ...ExternalModuleWithExportAssignedFundule.ts | 23 + .../compiler/declareFileExportAssignment.ts | 20 + .../cases/compiler/declaredExternalModule.ts | 26 + ...laredExternalModuleWithExportAssignment.ts | 17 + .../decrementAndIncrementOperators.ts | 37 + .../compiler/defaultArgsForwardReferencing.ts | 37 + .../defaultArgsInFunctionExpressions.ts | 31 + .../cases/compiler/defaultArgsInOverloads.ts | 19 + .../defaultBestCommonTypesHaveDecls.ts | 18 + tests/cases/compiler/defaultIndexProps1.ts | 11 + tests/cases/compiler/defaultIndexProps2.ts | 14 + .../defaultValueInConstructorOverload1.ts | 5 + .../defaultValueInFunctionOverload1.ts | 2 + .../compiler/defaultValueInFunctionTypes.ts | 2 + tests/cases/compiler/deleteOperator1.ts | 4 + .../compiler/dependencyViaImportAlias.ts | 10 + tests/cases/compiler/deprecatedBool.ts | 2 + .../derivedClassOverridesPrivateFunction1.ts | 15 + tests/cases/compiler/derivedClasses.ts | 29 + .../compiler/derivedInterfaceCallSignature.ts | 27 + ...edTypeCallingBaseImplWithOptionalParams.ts | 13 + .../derivedTypeIncompatibleSignatures.ts | 31 + .../detachedCommentAtStartOfFunctionBody1.ts | 8 + .../detachedCommentAtStartOfFunctionBody2.ts | 9 + ...tWidenAtObjectLiteralPropertyAssignment.ts | 10 + tests/cases/compiler/doWhileLoop.ts | 2 + .../dontShowCompilerGeneratedMembers.ts | 4 + tests/cases/compiler/dottedModuleName.ts | 18 + tests/cases/compiler/dottedModuleName2.ts | 42 + .../cases/compiler/dottedSymbolResolution1.ts | 25 + .../compiler/duplicateAnonymousInners1.ts | 24 + .../duplicateAnonymousModuleClasses.ts | 55 + .../cases/compiler/duplicateClassElements.ts | 44 + .../compiler/duplicateConstructSignature.ts | 4 + .../compiler/duplicateConstructSignature2.ts | 4 + .../duplicateConstructorOverloadSignature.ts | 5 + .../duplicateConstructorOverloadSignature2.ts | 5 + .../duplicateIdentifierInCatchBlock.ts | 17 + ...ierShouldNotShortCircuitBaseTypeBinding.ts | 19 + ...ateIdentifiersAcrossContainerBoundaries.ts | 51 + .../compiler/duplicateInterfaceMembers1.ts | 4 + tests/cases/compiler/duplicateLabel1.ts | 4 + tests/cases/compiler/duplicateLabel2.ts | 6 + tests/cases/compiler/duplicateLabel3.ts | 8 + tests/cases/compiler/duplicateLabel4.ts | 7 + .../cases/compiler/duplicateLocalVariable1.ts | 344 + .../cases/compiler/duplicateLocalVariable2.ts | 36 + .../cases/compiler/duplicateLocalVariable3.ts | 12 + .../cases/compiler/duplicateLocalVariable4.ts | 6 + .../duplicateObjectLiteralProperty.ts | 17 + .../duplicateOverloadInTypeAugmentation1.ts | 8 + .../compiler/duplicateStringNamedProperty1.ts | 5 + .../duplicateSymbolsExportMatching.ts | 66 + .../compiler/duplicateTypeParameters1.ts | 1 + .../compiler/duplicateTypeParameters2.ts | 4 + .../compiler/duplicateTypeParameters3.ts | 4 + .../compiler/duplicateVariableDeclaration1.ts | 2 + .../compiler/duplicateVariablesByScope.ts | 31 + .../compiler/duplicateVariablesWithAny.ts | 17 + .../duplicateVarsAcrossFileBoundaries.ts | 27 + .../compiler/dynamicModuleTypecheckError.ts | 8 + tests/cases/compiler/emitCommentsOnlyFile.ts | 28 + .../compiler/emitMemberAccessExpression.ts | 23 + tests/cases/compiler/emitPostComments.ts | 29 + tests/cases/compiler/emitPreComments.ts | 30 + .../compiler/emitThisInSuperMethodCall.ts | 26 + tests/cases/compiler/emptyEnum.ts | 2 + tests/cases/compiler/emptyExpr.ts | 1 + tests/cases/compiler/emptyFile-declaration.ts | 4 + tests/cases/compiler/emptyFile-souremap.ts | 4 + tests/cases/compiler/emptyFile.ts | 0 tests/cases/compiler/emptyGenericParamList.ts | 2 + tests/cases/compiler/emptyIndexer.ts | 12 + tests/cases/compiler/emptyMemberAccess.ts | 6 + tests/cases/compiler/emptyTypeArgumentList.ts | 2 + .../compiler/emptyTypeArgumentListWithNew.ts | 2 + tests/cases/compiler/enumAssignmentCompat.ts | 38 + tests/cases/compiler/enumAssignmentCompat2.ts | 37 + tests/cases/compiler/enumBasics1.ts | 37 + tests/cases/compiler/enumCodeGenNewLines1.ts | 5 + .../enumConflictsWithGlobalIdentifier.ts | 5 + tests/cases/compiler/enumDecl1.ts | 9 + .../cases/compiler/enumFromExternalModule.ts | 9 + tests/cases/compiler/enumGenericTypeClash.ts | 2 + .../compiler/enumIdenticalIdentifierValues.ts | 4 + .../cases/compiler/enumIdentifierLiterals.ts | 7 + tests/cases/compiler/enumIndexer.ts | 6 + .../compiler/enumInitializersWithExponents.ts | 9 + tests/cases/compiler/enumMapBackIntoItself.ts | 9 + tests/cases/compiler/enumMemberResolution.ts | 6 + tests/cases/compiler/enumNegativeLiteral1.ts | 3 + tests/cases/compiler/enumNumbering1.ts | 7 + tests/cases/compiler/enumOperations.ts | 15 + tests/cases/compiler/enumPropertyAccess.ts | 14 + .../enumWithParenthesizedInitializer1.ts | 3 + tests/cases/compiler/enumWithPrimitiveName.ts | 3 + .../compiler/enumWithQuotedElementName1.ts | 3 + .../compiler/enumWithQuotedElementName2.ts | 3 + .../cases/compiler/enumWithUnicodeEscape1.ts | 3 + ...umWithoutInitializerAfterComputedMember.ts | 5 + .../enumsWithMultipleDeclarations1.ts | 11 + .../enumsWithMultipleDeclarations2.ts | 11 + .../enumsWithMultipleDeclarations3.ts | 6 + ...rorForwardReferenceForwadingConstructor.ts | 9 + .../errorLocationForInterfaceExtension.ts | 3 + .../errorMessageOnObjectLiteralType.ts | 6 + .../errorOnContextuallyTypedReturnType.ts | 2 + tests/cases/compiler/errorSupression1.ts | 8 + .../compiler/errorTypesAsTypeArguments.ts | 3 + .../compiler/errorsInGenericTypeReference.ts | 71 + .../cases/compiler/errorsOnImportedSymbol.ts | 15 + tests/cases/compiler/es3-amd.ts | 17 + tests/cases/compiler/es3-declaration-amd.ts | 17 + tests/cases/compiler/es3-sourcemap-amd.ts | 16 + tests/cases/compiler/es5-amd.ts | 17 + tests/cases/compiler/es5-declaration-amd.ts | 17 + tests/cases/compiler/es5-souremap-amd.ts | 16 + .../cases/compiler/es6ClassSuperCodegenBug.ts | 12 + tests/cases/compiler/es6ClassTest.ts | 83 + tests/cases/compiler/es6ClassTest2.ts | 157 + tests/cases/compiler/es6ClassTest3.ts | 14 + tests/cases/compiler/es6ClassTest4.ts | 9 + tests/cases/compiler/es6ClassTest5.ts | 11 + tests/cases/compiler/es6ClassTest7.ts | 7 + tests/cases/compiler/es6ClassTest8.ts | 39 + tests/cases/compiler/es6ClassTest9.ts | 2 + tests/cases/compiler/es6DeclOrdering.ts | 15 + tests/cases/compiler/es6MemberScoping.ts | 16 + tests/cases/compiler/escapedIdentifiers.ts | 119 + tests/cases/compiler/exportAlreadySeen.ts | 19 + .../compiler/exportAssignClassAndModule.ts | 18 + .../compiler/exportAssignValueAndType.ts | 14 + .../exportAssignedTypeAsTypeAnnotation.ts | 13 + tests/cases/compiler/exportAssignmentClass.ts | 11 + tests/cases/compiler/exportAssignmentEnum.ts | 16 + tests/cases/compiler/exportAssignmentError.ts | 9 + .../compiler/exportAssignmentFunction.ts | 10 + .../compiler/exportAssignmentInterface.ts | 14 + .../exportAssignmentInternalModule.ts | 12 + ...xportAssignmentOfDeclaredExternalModule.ts | 16 + .../exportAssignmentOfGenericType1.ts | 12 + .../compiler/exportAssignmentVariable.ts | 10 + .../compiler/exportAssignmentWithExports.ts | 4 + ...signmentWithImportStatementPrivacyError.ts | 22 + .../exportAssignmentWithPrivacyError.ts | 17 + .../exportAssignmentWithoutIdentifier1.ts | 8 + tests/cases/compiler/exportDeclareClass1.ts | 10 + tests/cases/compiler/exportEqualCallable.ts | 12 + tests/cases/compiler/exportEqualErrorType.ts | 20 + .../compiler/exportEqualMemberMissing.ts | 20 + tests/cases/compiler/exportEqualNamespaces.ts | 13 + tests/cases/compiler/exportImport.ts | 16 + .../cases/compiler/exportImportAndClodule.ts | 19 + .../compiler/exportImportMultipleFiles.ts | 11 + .../exportImportNonInstantiatedModule.ts | 10 + .../exportImportNonInstantiatedModule2.ts | 16 + tests/cases/compiler/exportPrivateType.ts | 29 + tests/cases/compiler/exportSameNameFuncVar.ts | 4 + tests/cases/compiler/exportVisibility.ts | 9 + ...InterfaceInaccessibleInCallbackInModule.ts | 13 + tests/cases/compiler/exportedVariable1.ts | 3 + .../exportingContainingVisibleType.ts | 10 + tests/cases/compiler/expr.ts | 245 + tests/cases/compiler/extBaseClass1.ts | 18 + tests/cases/compiler/extBaseClass2.ts | 9 + .../extendAndImplementTheSameBaseType.ts | 13 + .../extendAndImplementTheSameBaseType2.ts | 16 + tests/cases/compiler/extendArray.ts | 22 + .../extendBaseClassBeforeItsDeclared.ts | 3 + tests/cases/compiler/extendGenericArray.ts | 6 + tests/cases/compiler/extendGenericArray2.ts | 8 + tests/cases/compiler/extendNonClassSymbol1.ts | 3 + tests/cases/compiler/extendNonClassSymbol2.ts | 5 + .../compiler/extendedInterfaceGenericType.ts | 10 + ...edInterfacesWithDuplicateTypeParameters.ts | 11 + ...xtendingClassFromAliasAndUsageInIndexer.ts | 32 + .../compiler/extendsClauseAlreadySeen.ts | 6 + .../compiler/extendsClauseAlreadySeen2.ts | 6 + tests/cases/compiler/extension.ts | 27 + tests/cases/compiler/externFunc.ts | 3 + tests/cases/compiler/externModule.ts | 38 + tests/cases/compiler/externModuleClobber.ts | 12 + tests/cases/compiler/externSemantics.ts | 3 + tests/cases/compiler/externSyntax.ts | 13 + .../compiler/externalModuleAssignToVar.ts | 25 + .../externalModuleExportingGenericClass.ts | 14 + .../compiler/externalModuleQualification.ts | 11 + ...ceOfImportDeclarationWithExportModifier.ts | 7 + ...ernceResolutionOrderInImportDeclaration.ts | 16 + .../compiler/externalModuleResolution.ts | 16 + .../compiler/externalModuleResolution2.ts | 17 + .../externalModuleWithoutCompilerFlag1.ts | 5 + tests/cases/compiler/fatArrowSelf.ts | 24 + .../cases/compiler/fatArrowfunctionAsType.ts | 5 + tests/cases/compiler/fatarrowfunctions.ts | 44 + .../cases/compiler/fatarrowfunctionsErrors.ts | 12 + ...rowfunctionsInFunctionParameterDefaults.ts | 8 + .../compiler/fatarrowfunctionsInFunctions.ts | 12 + .../compiler/fatarrowfunctionsOptionalArgs.ts | 131 + .../fatarrowfunctionsOptionalArgsErrors1.ts | 8 + .../fatarrowfunctionsOptionalArgsErrors2.ts | 4 + .../compiler/fieldAndGetterWithSameName.ts | 5 + .../fillInMissingTypeArgsOnConstructCalls.ts | 4 + ...eParameterInSignatureWithRestParameters.ts | 2 + tests/cases/compiler/for.ts | 30 + tests/cases/compiler/forIn.ts | 21 + tests/cases/compiler/forIn2.ts | 2 + tests/cases/compiler/forInModule.ts | 5 + tests/cases/compiler/forInStatement1.ts | 3 + tests/cases/compiler/forInStatement2.ts | 3 + tests/cases/compiler/forInStatement3.ts | 5 + tests/cases/compiler/forInStatement4.ts | 3 + tests/cases/compiler/forInStatement5.ts | 4 + tests/cases/compiler/forInStatement6.ts | 4 + tests/cases/compiler/forInStatement7.ts | 4 + tests/cases/compiler/forgottenNew.ts | 5 + tests/cases/compiler/funClodule.ts | 19 + tests/cases/compiler/funcdecl.ts | 72 + .../functionAndPropertyNameConflict.ts | 6 + tests/cases/compiler/functionArgShadowing.ts | 14 + tests/cases/compiler/functionAssignment.ts | 36 + .../cases/compiler/functionAssignmentError.ts | 2 + tests/cases/compiler/functionCall1.ts | 2 + tests/cases/compiler/functionCall10.ts | 5 + tests/cases/compiler/functionCall11.ts | 6 + tests/cases/compiler/functionCall12.ts | 7 + tests/cases/compiler/functionCall13.ts | 6 + tests/cases/compiler/functionCall14.ts | 6 + tests/cases/compiler/functionCall15.ts | 1 + tests/cases/compiler/functionCall16.ts | 7 + tests/cases/compiler/functionCall17.ts | 7 + tests/cases/compiler/functionCall2.ts | 2 + tests/cases/compiler/functionCall3.ts | 2 + tests/cases/compiler/functionCall4.ts | 3 + tests/cases/compiler/functionCall5.ts | 3 + tests/cases/compiler/functionCall6.ts | 5 + tests/cases/compiler/functionCall7.ts | 7 + tests/cases/compiler/functionCall8.ts | 5 + tests/cases/compiler/functionCall9.ts | 6 + ...tionWithArgumentOfTypeFunctionTypeArray.ts | 4 + ...ctionExpressionAndLambdaMatchesFunction.ts | 8 + .../compiler/functionExpressionInWithBlock.ts | 7 + .../functionExpressionReturningItself.ts | 2 + .../functionExpressionShadowedByParams.ts | 12 + .../compiler/functionInIfStatementInModule.ts | 9 + .../compiler/functionMergedWithModule.ts | 14 + tests/cases/compiler/functionOnlyHasThrow.ts | 3 + .../compiler/functionOverloadAmbiguity1.ts | 9 + ...nctionOverloadImplementationOfWrongName.ts | 3 + ...ctionOverloadImplementationOfWrongName2.ts | 3 + tests/cases/compiler/functionOverloads.ts | 4 + tests/cases/compiler/functionOverloads1.ts | 3 + tests/cases/compiler/functionOverloads10.ts | 3 + tests/cases/compiler/functionOverloads11.ts | 2 + tests/cases/compiler/functionOverloads12.ts | 3 + tests/cases/compiler/functionOverloads13.ts | 3 + tests/cases/compiler/functionOverloads14.ts | 3 + tests/cases/compiler/functionOverloads15.ts | 3 + tests/cases/compiler/functionOverloads16.ts | 3 + tests/cases/compiler/functionOverloads17.ts | 2 + tests/cases/compiler/functionOverloads18.ts | 2 + tests/cases/compiler/functionOverloads19.ts | 3 + tests/cases/compiler/functionOverloads2.ts | 4 + tests/cases/compiler/functionOverloads20.ts | 3 + tests/cases/compiler/functionOverloads21.ts | 3 + tests/cases/compiler/functionOverloads22.ts | 3 + tests/cases/compiler/functionOverloads23.ts | 3 + tests/cases/compiler/functionOverloads24.ts | 3 + tests/cases/compiler/functionOverloads25.ts | 4 + tests/cases/compiler/functionOverloads26.ts | 4 + tests/cases/compiler/functionOverloads27.ts | 4 + tests/cases/compiler/functionOverloads28.ts | 4 + tests/cases/compiler/functionOverloads29.ts | 4 + tests/cases/compiler/functionOverloads3.ts | 1 + tests/cases/compiler/functionOverloads30.ts | 4 + tests/cases/compiler/functionOverloads31.ts | 4 + tests/cases/compiler/functionOverloads32.ts | 4 + tests/cases/compiler/functionOverloads33.ts | 4 + tests/cases/compiler/functionOverloads34.ts | 4 + tests/cases/compiler/functionOverloads35.ts | 4 + tests/cases/compiler/functionOverloads36.ts | 4 + tests/cases/compiler/functionOverloads37.ts | 4 + tests/cases/compiler/functionOverloads38.ts | 4 + tests/cases/compiler/functionOverloads39.ts | 4 + tests/cases/compiler/functionOverloads4.ts | 2 + tests/cases/compiler/functionOverloads40.ts | 4 + tests/cases/compiler/functionOverloads41.ts | 4 + tests/cases/compiler/functionOverloads42.ts | 4 + tests/cases/compiler/functionOverloads5.ts | 4 + tests/cases/compiler/functionOverloads6.ts | 5 + tests/cases/compiler/functionOverloads7.ts | 9 + tests/cases/compiler/functionOverloads8.ts | 3 + tests/cases/compiler/functionOverloads9.ts | 3 + .../functionOverloadsOnGenericArity1.ts | 11 + .../functionOverloadsOnGenericArity2.ts | 5 + .../compiler/functionOverloadsOutOfOrder.ts | 15 + ...tionOverloadsRecursiveGenericReturnType.ts | 13 + tests/cases/compiler/functionReturn.ts | 14 + .../cases/compiler/functionReturningItself.ts | 4 + .../functionSignatureAssignmentCompat1.ts | 11 + .../compiler/functionSubtypingOfVarArgs.ts | 13 + .../compiler/functionSubtypingOfVarArgs2.ts | 13 + tests/cases/compiler/functionType.ts | 5 + .../functionTypeArgumentArrayAssignment.ts | 8 + .../functionTypeArgumentAssignmentCompat.ts | 12 + ...nWithAnyReturnTypeAndNoReturnExpression.ts | 4 + .../compiler/functionWithSameNameAsField.ts | 7 + .../compiler/functionWithThrowButNoReturn1.ts | 4 + ...uleExportedClassIsUsedBeforeDeclaration.ts | 9 + ...leOfFunctionWithoutReturnTypeAnnotation.ts | 6 + .../cases/compiler/funduleSplitAcrossFiles.ts | 8 + .../compiler/funduleUsedAcrossFileBoundary.ts | 13 + tests/cases/compiler/fuzzy.ts | 29 + .../compiler/generativeRecursionWithTypeOf.ts | 10 + .../compiler/genericAndNonGenericOverload1.ts | 6 + .../genericArgumentCallSigAssignmentCompat.ts | 19 + tests/cases/compiler/genericArray0.ts | 11 + tests/cases/compiler/genericArray1.ts | 14 + .../cases/compiler/genericArrayAssignment1.ts | 4 + .../genericArrayAssignmentCompatErrors.ts | 20 + .../cases/compiler/genericArrayExtenstions.ts | 4 + tests/cases/compiler/genericArrayMethods1.ts | 1 + .../genericArrayPropertyAssignment.ts | 7 + .../genericArrayWithoutTypeAnnotation.ts | 6 + ...icAssignmentCompatOfFunctionSignatures1.ts | 5 + .../genericAssignmentCompatWithInterfaces1.ts | 18 + .../genericBaseClassLiteralProperty.ts | 12 + .../genericBaseClassLiteralProperty2.ts | 14 + .../genericCallSpecializedToTypeArg.ts | 8 + .../compiler/genericCallWithFixedArguments.ts | 6 + .../genericCallWithNonGenericArgs1.ts | 2 + .../genericCallWithObjectLiteralArguments1.ts | 7 + .../cases/compiler/genericCallWithoutArgs.ts | 4 + ...backInvokedInsideItsContainingFunction1.ts | 16 + .../genericCallbacksAndClassHierarchy.ts | 23 + .../compiler/genericCallsWithoutParens.ts | 8 + tests/cases/compiler/genericChainedCalls.ts | 13 + ...entingGenericInterfaceFromAnotherModule.ts | 7 + ...sInheritsConstructorFromNonGenericClass.ts | 5 + ...cClassPropertyInheritanceSpecialization.ts | 74 + .../compiler/genericClassStaticMethod.ts | 9 + .../compiler/genericClassWithStaticFactory.ts | 141 + ...nericClassWithStaticsUsingTypeArguments.ts | 16 + tests/cases/compiler/genericClasses0.ts | 8 + tests/cases/compiler/genericClasses1.ts | 8 + tests/cases/compiler/genericClasses2.ts | 16 + tests/cases/compiler/genericClasses3.ts | 17 + tests/cases/compiler/genericClasses4.ts | 17 + .../cases/compiler/genericClassesInModule.ts | 10 + .../cases/compiler/genericClassesInModule2.ts | 20 + .../compiler/genericClassesRedeclaration.ts | 77 + .../cases/compiler/genericCloduleInModule.ts | 12 + .../cases/compiler/genericCloduleInModule2.ts | 15 + .../cases/compiler/genericCloneReturnTypes.ts | 25 + .../compiler/genericCloneReturnTypes2.ts | 15 + tests/cases/compiler/genericCombinators2.ts | 16 + tests/cases/compiler/genericConstraint1.ts | 8 + tests/cases/compiler/genericConstraint2.ts | 21 + tests/cases/compiler/genericConstraint3.ts | 3 + .../compiler/genericConstraintDeclaration.ts | 8 + ...genericConstraintOnExtendedBuiltinTypes.ts | 26 + ...enericConstraintOnExtendedBuiltinTypes2.ts | 25 + .../genericConstraintSatisfaction1.ts | 6 + .../genericConstructExpressionWithoutArgs.ts | 9 + ...genericConstructInvocationWithNoTypeArg.ts | 4 + .../genericConstructSignatureInInterface.ts | 6 + .../compiler/genericConstructorFunction1.ts | 15 + .../genericContextualTypingSpecialization.ts | 2 + .../genericDerivedTypeWithSpecializedBase.ts | 11 + .../genericDerivedTypeWithSpecializedBase2.ts | 11 + ...FunctionCallSignatureReturnTypeMismatch.ts | 10 + .../genericFunctionHasFreshTypeArgs.ts | 2 + .../genericFunctionSpecializations1.ts | 5 + .../genericFunctionTypedArgumentsAreFixed.ts | 2 + tests/cases/compiler/genericFunctions0.ts | 4 + tests/cases/compiler/genericFunctions1.ts | 4 + tests/cases/compiler/genericFunctions2.ts | 6 + tests/cases/compiler/genericFunctions3.ts | 8 + ...genericFunctionsWithOptionalParameters1.ts | 10 + ...genericFunctionsWithOptionalParameters2.ts | 10 + ...genericFunctionsWithOptionalParameters3.ts | 14 + .../cases/compiler/genericFunduleInModule.ts | 9 + .../cases/compiler/genericFunduleInModule2.ts | 12 + tests/cases/compiler/genericGetter.ts | 9 + tests/cases/compiler/genericGetter2.ts | 8 + tests/cases/compiler/genericGetter3.ts | 11 + tests/cases/compiler/genericImplements.ts | 20 + tests/cases/compiler/genericInference1.ts | 1 + tests/cases/compiler/genericInference2.ts | 20 + tests/cases/compiler/genericInstanceOf.ts | 11 + .../genericInterfaceFunctionTypeParameter.ts | 7 + .../genericInterfaceImplementation.ts | 15 + .../compiler/genericInterfaceTypeCall.ts | 13 + .../genericInterfacesWithoutTypeArguments.ts | 4 + .../genericLambaArgWithoutTypeArguments.ts | 7 + tests/cases/compiler/genericMemberFunction.ts | 22 + ...ericMergedDeclarationUsingTypeParameter.ts | 5 + ...ricMergedDeclarationUsingTypeParameter2.ts | 5 + .../genericMethodOverspecialization.ts | 25 + tests/cases/compiler/genericNewInterface.ts | 11 + .../genericObjectCreationWithoutTypeArgs.ts | 8 + .../compiler/genericObjectLitReturnType.ts | 10 + .../cases/compiler/genericOfACloduleType1.ts | 12 + .../cases/compiler/genericOfACloduleType2.ts | 15 + .../compiler/genericOverloadSignatures.ts | 30 + .../genericParameterAssignability1.ts | 3 + .../compiler/genericPrototypeProperty.ts | 9 + .../compiler/genericPrototypeProperty2.ts | 15 + .../compiler/genericPrototypeProperty3.ts | 14 + ...ericRecursiveImplicitConstructorErrors1.ts | 13 + ...ericRecursiveImplicitConstructorErrors2.ts | 25 + ...ericRecursiveImplicitConstructorErrors3.ts | 29 + tests/cases/compiler/genericReduce.ts | 13 + tests/cases/compiler/genericRestArgs.ts | 12 + .../compiler/genericReturnTypeFromGetter1.ts | 8 + .../genericReversingTypeParameters.ts | 10 + .../genericReversingTypeParameters2.ts | 9 + .../compiler/genericSignatureInheritance.ts | 5 + .../compiler/genericSignatureInheritance2.ts | 7 + .../genericSpecializationToTypeLiteral1.ts | 28 + .../cases/compiler/genericSpecializations1.ts | 15 + .../cases/compiler/genericSpecializations2.ts | 18 + .../cases/compiler/genericSpecializations3.ts | 35 + .../compiler/genericStaticAnyTypeFunction.ts | 17 + .../compiler/genericTypeArgumentInference1.ts | 15 + .../cases/compiler/genericTypeAssertions1.ts | 4 + .../cases/compiler/genericTypeAssertions2.ts | 13 + .../cases/compiler/genericTypeAssertions3.ts | 2 + .../cases/compiler/genericTypeAssertions4.ts | 25 + .../cases/compiler/genericTypeAssertions5.ts | 25 + .../cases/compiler/genericTypeAssertions6.ts | 24 + .../genericTypeParameterEquivalence2.ts | 58 + .../genericTypeReferencesRequireTypeArgs.ts | 10 + .../genericTypeUsedWithoutTypeArguments1.ts | 2 + .../genericTypeUsedWithoutTypeArguments3.ts | 2 + .../genericTypeWithCallableMembers.ts | 11 + .../genericTypeWithCallableMembers2.ts | 7 + .../compiler/genericTypeWithMultipleBases1.ts | 19 + .../compiler/genericTypeWithMultipleBases2.ts | 18 + .../compiler/genericTypeWithMultipleBases3.ts | 19 + .../genericTypeWithNonGenericBaseMisMatch.ts | 8 + ...ithCallSignatureReturningSpecialization.ts | 6 + .../compiler/genericWithCallSignatures1.ts | 17 + .../genericWithIndexerOfTypeParameterType1.ts | 8 + .../genericWithIndexerOfTypeParameterType2.ts | 14 + .../genericWithOpenTypeParameters1.ts | 10 + tests/cases/compiler/generics0.ts | 8 + tests/cases/compiler/generics1.ts | 14 + tests/cases/compiler/generics1NoError.ts | 11 + tests/cases/compiler/generics2.ts | 21 + tests/cases/compiler/generics2NoError.ts | 18 + tests/cases/compiler/generics3.ts | 8 + tests/cases/compiler/generics4.ts | 7 + tests/cases/compiler/generics4NoError.ts | 6 + tests/cases/compiler/generics5.ts | 11 + .../genericsAndHigherOrderFunctions.ts | 17 + .../compiler/genericsManyTypeParameters.ts | 59 + .../genericsWithDuplicateTypeParameters1.ts | 16 + .../genericsWithoutTypeParameters1.ts | 33 + ...hImpliedReturnTypeAndFunctionClassMerge.ts | 27 + .../cases/compiler/getAndSetAsMemberNames.ts | 20 + .../compiler/getAndSetNotIdenticalType.ts | 6 + .../compiler/getAndSetNotIdenticalType2.ts | 15 + .../compiler/getAndSetNotIdenticalType3.ts | 15 + tests/cases/compiler/getsetReturnTypes.ts | 7 + .../compiler/getterMissingReturnError.ts | 5 + .../cases/compiler/getterSetterNonAccessor.ts | 8 + .../getterThatThrowsShouldNotNeedReturn.ts | 8 + tests/cases/compiler/gettersAndSetters.ts | 39 + .../gettersAndSettersAccessibility.ts | 4 + .../cases/compiler/gettersAndSettersErrors.ts | 15 + .../compiler/gettersAndSettersTypesAgree.ts | 10 + tests/cases/compiler/giant.ts | 683 + tests/cases/compiler/global.ts | 9 + tests/cases/compiler/globalThis.ts | 1 + tests/cases/compiler/globalThisCapture.ts | 7 + tests/cases/compiler/grammarAmbiguities1.ts | 9 + .../heterogeneousArrayAndOverloads.ts | 11 + tests/cases/compiler/hidingCallSignatures.ts | 25 + .../compiler/hidingConstructSignatures.ts | 25 + tests/cases/compiler/hidingIndexSignatures.ts | 12 + tests/cases/compiler/i3.ts | 6 + tests/cases/compiler/icomparable.ts | 12 + tests/cases/compiler/idInProp.ts | 5 + ...tyForSignaturesWithTypeParametersAndAny.ts | 14 + ...ForSignaturesWithTypeParametersSwitched.ts | 2 + tests/cases/compiler/ifElseWithStatements1.ts | 11 + .../cases/compiler/illegalGenericWrapping1.ts | 6 + .../illegalModifiersOnClassElements.ts | 4 + .../illegalSuperCallsInConstructor.ts | 20 + .../cases/compiler/implementArrayInterface.ts | 32 + .../implementClausePrecedingExtends.ts | 2 + .../implementGenericWithMismatchedTypes.ts | 20 + .../implementInterfaceAnyMemberWithVoid.ts | 8 + .../implementPublicPropertyAsPrivate.ts | 6 + .../compiler/implementsClauseAlreadySeen.ts | 6 + tests/cases/compiler/implicitAnyAmbients.ts | 28 + .../implicitAnyAnyReturningFunction.ts | 20 + .../cases/compiler/implicitAnyCastedValue.ts | 79 + ...AnyDeclareFunctionExprWithoutFormalType.ts | 17 + ...icitAnyDeclareFunctionWithoutFormalType.ts | 11 + ...citAnyDeclareFunctionWithoutFormalType2.ts | 17 + .../implicitAnyDeclareMemberWithoutType.ts | 9 + .../implicitAnyDeclareMemberWithoutType2.ts | 9 + ...plicitAnyDeclareTypePropertyWithoutType.ts | 17 + ...itAnyDeclareVariablesWithoutTypeAndInit.ts | 12 + ...tAnyFunctionInvocationWithAnyArguements.ts | 35 + ...nctionOverloadWithImplicitAnyReturnType.ts | 11 + ...mplicitAnyFunctionReturnNullOrUndefined.ts | 24 + .../implicitAnyGenericTypeInference.ts | 9 + tests/cases/compiler/implicitAnyGenerics.ts | 27 + ...itAnyGetAndSetAccessorWithAnyReturnType.ts | 24 + .../implicitAnyInAmbientDeclaration.ts | 11 + .../implicitAnyInAmbientDeclaration2.d.ts | 15 + tests/cases/compiler/implicitAnyInCatch.ts | 14 + ...licitAnyNewExprLackConstructorSignature.ts | 3 + tests/cases/compiler/implicitAnyWidenToAny.ts | 27 + ...sAnExternalModuleInsideAnInternalModule.ts | 12 + .../compiler/importAliasWithDottedName.ts | 12 + tests/cases/compiler/importAnImport.ts | 7 + .../importAndVariableDeclarationConflict1.ts | 6 + .../importAndVariableDeclarationConflict2.ts | 11 + .../importAndVariableDeclarationConflict3.ts | 6 + .../importAndVariableDeclarationConflict4.ts | 6 + tests/cases/compiler/importAsBaseClass.ts | 9 + tests/cases/compiler/importDecl.ts | 82 + ...eclRefereingExternalModuleWithNoResolve.ts | 5 + .../compiler/importDeclWithClassModifiers.ts | 9 + .../compiler/importDeclWithDeclareModifier.ts | 6 + ...DeclWithDeclareModifierInAmbientContext.ts | 8 + .../compiler/importDeclWithExportModifier.ts | 7 + ...clWithExportModifierAndExportAssignment.ts | 7 + ...fierAndExportAssignmentInAmbientContext.ts | 8 + ...tDeclWithExportModifierInAmbientContext.ts | 8 + .../importDeclarationUsedAsTypeQuery.ts | 11 + tests/cases/compiler/importInTypePosition.ts | 20 + tests/cases/compiler/importInsideModule.ts | 9 + .../compiler/importOnAliasedIdentifiers.ts | 10 + .../cases/compiler/importShadowsGlobalName.ts | 10 + .../compiler/importUsedInExtendsList1.ts | 10 + .../import_reference-exported-alias.ts | 20 + .../import_reference-to-type-alias.ts | 16 + ...-referenecing-aliased-type-throug-array.ts | 15 + ...ar-referencing-an-imported-module-alias.ts | 10 + .../compiler/importedModuleAddToGlobal.ts | 16 + .../compiler/importedModuleClassNameClash.ts | 6 + tests/cases/compiler/inOperator.ts | 11 + .../cases/compiler/inOperatorWithFunction.ts | 2 + tests/cases/compiler/inOperatorWithGeneric.ts | 6 + tests/cases/compiler/incompatibleExports1.ts | 17 + tests/cases/compiler/incompatibleExports2.ts | 5 + .../compiler/incompatibleGenericTypes.ts | 10 + tests/cases/compiler/incompatibleTypes.ts | 74 + .../incompleteDottedExpressionAtEOF.ts | 2 + .../compiler/incompleteObjectLiteral1.ts | 2 + .../compiler/incorrectClassOverloadChain.ts | 5 + .../compiler/incrementOnTypeParameter.ts | 8 + tests/cases/compiler/indexClassByNumber.ts | 7 + .../cases/compiler/indexIntoArraySubclass.ts | 4 + tests/cases/compiler/indexIntoEnum.ts | 6 + .../indexSignatureMustHaveTypeAnnotation.ts | 13 + .../cases/compiler/indexSignatureTypeCheck.ts | 18 + .../compiler/indexSignatureTypeCheck2.ts | 14 + ...indexSignatureWithAccessibilityModifier.ts | 7 + .../compiler/indexSignatureWithInitializer.ts | 7 + .../indexSignaturesInferentialTyping.ts | 7 + tests/cases/compiler/indexTypeCheck.ts | 63 + tests/cases/compiler/indexWithoutParamType.ts | 1 + .../cases/compiler/indexWithoutParamType2.ts | 3 + tests/cases/compiler/indexer.ts | 10 + tests/cases/compiler/indexer2.ts | 6 + tests/cases/compiler/indexer2A.ts | 7 + tests/cases/compiler/indexer3.ts | 2 + tests/cases/compiler/indexerA.ts | 10 + tests/cases/compiler/indexerAsOptional.ts | 9 + tests/cases/compiler/indexerAssignability.ts | 10 + tests/cases/compiler/indexerConstraints.ts | 43 + tests/cases/compiler/indexerConstraints2.ts | 28 + .../indexerReturningTypeParameter1.ts | 13 + .../compiler/indexerSignatureWithRestParam.ts | 7 + tests/cases/compiler/indirectSelfReference.ts | 2 + .../compiler/indirectSelfReferenceGeneric.ts | 2 + .../cases/compiler/inferSecondaryParameter.ts | 9 + tests/cases/compiler/inferSetterParamType.ts | 17 + ...eArgumentsInSignatureWithRestParameters.ts | 10 + .../inferentialTypingWithFunctionType.ts | 4 + .../inferentialTypingWithFunctionType2.ts | 4 + ...inferentialTypingWithFunctionTypeNested.ts | 4 + ...ypingWithFunctionTypeSyntacticScenarios.ts | 33 + .../inferentialTypingWithFunctionTypeZip.ts | 4 + ...entialTypingWithObjectLiteralProperties.ts | 5 + .../inferentiallyTypingAnEmptyArray.ts | 17 + .../inferredFunctionReturnTypeIsEmptyType.ts | 8 + ...dingTypeThroughInheritanceInstantiation.ts | 9 + .../compiler/infinitelyExpandingBaseTypes1.ts | 13 + .../compiler/infinitelyExpandingBaseTypes2.ts | 12 + .../compiler/infinitelyExpandingOverloads.ts | 26 + .../infinitelyExpandingTypeAssignability.ts | 10 + .../compiler/infinitelyExpandingTypes1.ts | 23 + .../compiler/infinitelyExpandingTypes2.ts | 15 + .../compiler/infinitelyExpandingTypes3.ts | 18 + .../compiler/infinitelyExpandingTypes4.ts | 22 + .../compiler/infinitelyExpandingTypes5.ts | 13 + .../infinitelyExpandingTypesNonGenericBase.ts | 23 + .../infinitelyGenerativeInheritance1.ts | 8 + .../inheritFromGenericTypeParameter.ts | 2 + ...mePrivatePropertiesFromDifferentOrigins.ts | 11 + ...SameNamePrivatePropertiesFromSameOrigin.ts | 10 + ...eNamePropertiesWithDifferentOptionality.ts | 11 + ...meNamePropertiesWithDifferentVisibility.ts | 11 + tests/cases/compiler/inheritance.ts | 33 + tests/cases/compiler/inheritance1.ts | 61 + ...itanceGrandParentPrivateMemberCollision.ts | 9 + ...tPrivateMemberCollisionWithPublicMember.ts | 9 + ...tPublicMemberCollisionWithPrivateMember.ts | 9 + ...ritanceMemberAccessorOverridingAccessor.ts | 17 + ...heritanceMemberAccessorOverridingMethod.ts | 14 + ...ritanceMemberAccessorOverridingProperty.ts | 12 + ...inheritanceMemberFuncOverridingAccessor.ts | 14 + .../inheritanceMemberFuncOverridingMethod.ts | 11 + ...inheritanceMemberFuncOverridingProperty.ts | 9 + ...ritanceMemberPropertyOverridingAccessor.ts | 13 + ...heritanceMemberPropertyOverridingMethod.ts | 9 + ...ritanceMemberPropertyOverridingProperty.ts | 7 + .../inheritanceOfGenericConstructorMethod1.ts | 6 + .../inheritanceOfGenericConstructorMethod2.ts | 13 + ...ritanceStaticAccessorOverridingAccessor.ts | 17 + ...heritanceStaticAccessorOverridingMethod.ts | 14 + ...ritanceStaticAccessorOverridingProperty.ts | 12 + ...inheritanceStaticFuncOverridingAccessor.ts | 14 + ...eStaticFuncOverridingAccessorOfFuncType.ts | 11 + .../inheritanceStaticFuncOverridingMethod.ts | 11 + ...inheritanceStaticFuncOverridingProperty.ts | 9 + ...eStaticFuncOverridingPropertyOfFuncType.ts | 9 + ...taticFunctionOverridingInstanceProperty.ts | 9 + .../inheritanceStaticMembersCompatible.ts | 7 + .../inheritanceStaticMembersIncompatible.ts | 7 + ...ritanceStaticPropertyOverridingAccessor.ts | 11 + ...heritanceStaticPropertyOverridingMethod.ts | 9 + ...ritanceStaticPropertyOverridingProperty.ts | 7 + .../inheritedConstructorWithRestParams.ts | 14 + .../inheritedConstructorWithRestParams2.ts | 34 + ...nheritedFunctionAssignmentCompatibility.ts | 7 + .../compiler/inheritedGenericCallSignature.ts | 27 + ...ersAndIndexSignaturesFromDifferentBases.ts | 27 + ...rsAndIndexSignaturesFromDifferentBases2.ts | 9 + .../inheritedModuleMembersForClodule.ts | 20 + ...tedStringIndexersFromDifferentBaseTypes.ts | 28 + ...edStringIndexersFromDifferentBaseTypes2.ts | 24 + tests/cases/compiler/innerAliases.ts | 22 + tests/cases/compiler/innerAliases2.ts | 18 + tests/cases/compiler/innerBoundLambdaEmit.ts | 8 + tests/cases/compiler/innerExtern.ts | 12 + tests/cases/compiler/innerFunc.ts | 11 + tests/cases/compiler/innerModExport1.ts | 19 + tests/cases/compiler/innerModExport2.ts | 20 + tests/cases/compiler/innerOverloads.ts | 11 + .../compiler/innerTypeArgumentInference.ts | 4 + .../innerTypeCheckOfLambdaArgument.ts | 12 + .../instanceAndStaticDeclarations1.ts | 12 + .../compiler/instanceOfInExternalModules.ts | 10 + tests/cases/compiler/instanceSubtypeCheck1.ts | 9 + tests/cases/compiler/instanceSubtypeCheck2.ts | 7 + tests/cases/compiler/instanceofOperator.ts | Bin 0 -> 1006 bytes .../instantiateConstraintsToTypeArguments2.ts | 2 + .../compiler/instantiateTypeParameter.ts | 3 + .../instantiatedBaseTypeConstraints.ts | 10 + .../instantiatedBaseTypeConstraints2.ts | 2 + .../instantiatedReturnTypeContravariance.ts | 29 + tests/cases/compiler/intTypeCheck.ts | 203 + .../compiler/interMixingModulesInterfaces0.ts | 15 + .../compiler/interMixingModulesInterfaces1.ts | 15 + .../compiler/interMixingModulesInterfaces2.ts | 15 + .../compiler/interMixingModulesInterfaces3.ts | 15 + .../compiler/interMixingModulesInterfaces4.ts | 15 + .../compiler/interMixingModulesInterfaces5.ts | 15 + tests/cases/compiler/interface0.ts | 5 + .../compiler/interfaceAssignmentCompat.ts | 51 + .../cases/compiler/interfaceContextualType.ts | 21 + tests/cases/compiler/interfaceDeclaration1.ts | 52 + tests/cases/compiler/interfaceDeclaration2.ts | 12 + tests/cases/compiler/interfaceDeclaration3.ts | 55 + tests/cases/compiler/interfaceDeclaration4.ts | 39 + tests/cases/compiler/interfaceDeclaration5.ts | 3 + tests/cases/compiler/interfaceDeclaration6.ts | 7 + .../cases/compiler/interfaceExtendsClass1.ts | 17 + .../interfaceExtendsClassWithPrivate1.ts | 27 + .../interfaceExtendsClassWithPrivate2.ts | 23 + .../compiler/interfaceImplementation1.ts | 45 + .../compiler/interfaceImplementation2.ts | 12 + .../compiler/interfaceImplementation3.ts | 14 + .../compiler/interfaceImplementation4.ts | 12 + .../compiler/interfaceImplementation5.ts | 30 + .../compiler/interfaceImplementation6.ts | 24 + .../compiler/interfaceImplementation7.ts | 9 + .../compiler/interfaceImplementation8.ts | 39 + .../compiler/interfaceInReopenedModule.ts | 10 + tests/cases/compiler/interfaceInheritance.ts | 39 + tests/cases/compiler/interfaceInheritance2.ts | 8 + .../interfaceMayNotBeExtendedWitACall.ts | 5 + .../compiler/interfaceMemberValidation.ts | 11 + .../compiler/interfaceNameAsIdentifier.ts | 12 + tests/cases/compiler/interfaceNaming1.ts | 3 + tests/cases/compiler/interfaceOnly.ts | 5 + .../interfacePropertiesWithSameName1.ts | 12 + .../interfacePropertiesWithSameName2.ts | 30 + .../interfacePropertiesWithSameName3.ts | 7 + tests/cases/compiler/interfaceSubtyping.ts | 8 + .../compiler/interfaceWithImplements1.ts | 4 + .../interfaceWithMultipleDeclarations.ts | 37 + .../compiler/interfaceWithOptionalProperty.ts | 5 + tests/cases/compiler/interfacedecl.ts | 47 + .../interfacedeclWithIndexerErrors.ts | 46 + tests/cases/compiler/internalAliasClass.ts | 10 + ...alAliasClassInsideLocalModuleWithExport.ts | 19 + ...liasClassInsideLocalModuleWithoutExport.ts | 17 + ...sideLocalModuleWithoutExportAccessError.ts | 18 + ...liasClassInsideTopLevelModuleWithExport.ts | 13 + ...sClassInsideTopLevelModuleWithoutExport.ts | 13 + tests/cases/compiler/internalAliasEnum.ts | 13 + ...nalAliasEnumInsideLocalModuleWithExport.ts | 14 + ...AliasEnumInsideLocalModuleWithoutExport.ts | 14 + ...sideLocalModuleWithoutExportAccessError.ts | 15 + ...AliasEnumInsideTopLevelModuleWithExport.ts | 12 + ...asEnumInsideTopLevelModuleWithoutExport.ts | 12 + tests/cases/compiler/internalAliasFunction.ts | 12 + ...liasFunctionInsideLocalModuleWithExport.ts | 13 + ...sFunctionInsideLocalModuleWithoutExport.ts | 13 + ...sideLocalModuleWithoutExportAccessError.ts | 13 + ...sFunctionInsideTopLevelModuleWithExport.ts | 11 + ...nctionInsideTopLevelModuleWithoutExport.ts | 11 + .../internalAliasInitializedModule.ts | 12 + ...alizedModuleInsideLocalModuleWithExport.ts | 13 + ...zedModuleInsideLocalModuleWithoutExport.ts | 13 + ...sideLocalModuleWithoutExportAccessError.ts | 14 + ...zedModuleInsideTopLevelModuleWithExport.ts | 11 + ...ModuleInsideTopLevelModuleWithoutExport.ts | 11 + .../cases/compiler/internalAliasInterface.ts | 10 + ...iasInterfaceInsideLocalModuleWithExport.ts | 11 + ...InterfaceInsideLocalModuleWithoutExport.ts | 11 + ...sideLocalModuleWithoutExportAccessError.ts | 12 + ...InterfaceInsideTopLevelModuleWithExport.ts | 9 + ...erfaceInsideTopLevelModuleWithoutExport.ts | 9 + .../internalAliasUninitializedModule.ts | 14 + ...alizedModuleInsideLocalModuleWithExport.ts | 15 + ...zedModuleInsideLocalModuleWithoutExport.ts | 15 + ...sideLocalModuleWithoutExportAccessError.ts | 17 + ...zedModuleInsideTopLevelModuleWithExport.ts | 13 + ...ModuleInsideTopLevelModuleWithoutExport.ts | 13 + tests/cases/compiler/internalAliasVar.ts | 9 + ...rnalAliasVarInsideLocalModuleWithExport.ts | 10 + ...lAliasVarInsideLocalModuleWithoutExport.ts | 10 + ...sideLocalModuleWithoutExportAccessError.ts | 11 + ...lAliasVarInsideTopLevelModuleWithExport.ts | 9 + ...iasVarInsideTopLevelModuleWithoutExport.ts | 9 + .../internalAliasWithDottedNameEmit.ts | 6 + ...leMergedWithClassNotReferencingInstance.ts | 12 + ...thClassNotReferencingInstanceNoConflict.ts | 11 + ...nstantiatedModuleNotReferencingInstance.ts | 9 + ...leMergedWithClassNotReferencingInstance.ts | 11 + ...thClassNotReferencingInstanceNoConflict.ts | 10 + ...dModuleNotReferencingInstanceNoConflict.ts | 8 + tests/cases/compiler/intrinsics.ts | 16 + tests/cases/compiler/invalidConstraint1.ts | 5 + .../cases/compiler/invalidReferenceSyntax1.ts | 4 + tests/cases/compiler/invalidSplice.ts | 1 + tests/cases/compiler/invalidStaticField.ts | 2 + .../compiler/invalidSymbolInTypeParameter1.ts | 3 + .../compiler/invalidTripleSlashReference.ts | 5 + tests/cases/compiler/invalidTypeNames.ts | 3 + .../compiler/invalidUnicodeEscapeSequance.ts | 1 + .../compiler/invalidUnicodeEscapeSequance2.ts | 1 + .../compiler/invalidUnicodeEscapeSequance3.ts | 1 + .../compiler/invalidUnicodeEscapeSequance4.ts | 2 + ...invocationExpressionInFunctionParameter.ts | 4 + ...okingNonGenericMethodWithTypeArguments1.ts | 5 + ...okingNonGenericMethodWithTypeArguments2.ts | 7 + tests/cases/compiler/ipromise2.ts | 20 + tests/cases/compiler/ipromise3.ts | 11 + tests/cases/compiler/ipromise4.ts | 15 + tests/cases/compiler/isLiteral1.ts | 1 + tests/cases/compiler/isLiteral2.ts | 2 + tests/cases/compiler/keywordField.ts | 9 + tests/cases/compiler/knockout.ts | 21 + tests/cases/compiler/lambdaASIEmit.ts | 9 + tests/cases/compiler/lambdaArgCrash.ts | 33 + tests/cases/compiler/lambdaExpression.ts | 4 + tests/cases/compiler/lambdaParamTypes.ts | 22 + tests/cases/compiler/lambdaPropSelf.ts | 22 + .../compiler/lastPropertyInLiteralWins.ts | 15 + tests/cases/compiler/libMembers.ts | 14 + tests/cases/compiler/libdtsFix.ts | 3 + tests/cases/compiler/library_ArraySlice.ts | 4 + .../library_DatePrototypeProperties.ts | 49 + .../library_ObjectPrototypeProperties.ts | 9 + .../compiler/library_RegExpExecArraySlice.ts | 5 + tests/cases/compiler/library_StringSlice.ts | 4 + tests/cases/compiler/lift.ts | 16 + tests/cases/compiler/listFailure.ts | 41 + tests/cases/compiler/literals-negative.ts | 10 + tests/cases/compiler/literals1.ts | 17 + .../compiler/localAliasExportAssignment.ts | 15 + .../compiler/localImportNameVsGlobalName.ts | 13 + .../localVariablesReturnedFromCatchBlocks.ts | 7 + tests/cases/compiler/logicalNotExpression1.ts | 1 + tests/cases/compiler/m7Bugs.ts | 25 + .../compiler/matchReturnTypeInAllBranches.ts | 35 + .../matchingOfObjectLiteralConstraints.ts | 3 + tests/cases/compiler/maxConstraints.ts | 8 + .../memberAccessMustUseModuleInstances.ts | 13 + .../compiler/memberAccessOnConstructorType.ts | 2 + tests/cases/compiler/memberOverride.ts | 8 + tests/cases/compiler/memberScope.ts | 6 + .../compiler/memberVariableDeclarations1.ts | 27 + tests/cases/compiler/mergedDeclarations1.ts | 16 + tests/cases/compiler/mergedDeclarations2.ts | 10 + tests/cases/compiler/mergedDeclarations3.ts | 39 + tests/cases/compiler/mergedDeclarations4.ts | 18 + .../compiler/mergedEnumDeclarationCodeGen.ts | 7 + .../mergedInterfaceFromMultipleFiles1.ts | 22 + .../mergedModuleDeclarationCodeGen.ts | 15 + .../mergedModuleDeclarationCodeGen2.ts | 8 + .../mergedModuleDeclarationCodeGen3.ts | 8 + .../mergedModuleDeclarationCodeGen4.ts | 16 + .../mergedModuleDeclarationCodeGen5.ts | 18 + ...dModuleDeclarationWithSharedExportedVar.ts | 7 + .../compiler/methodContainingLocalFunction.ts | 51 + .../methodSignatureDeclarationEmit1.ts | 7 + .../mismatchedClassConstructorVariable.ts | 3 + ...hedExplicitTypeParameterAndArgumentType.ts | 12 + .../compiler/mismatchedGenericArguments1.ts | 14 + .../missingImportAfterModuleImport.ts | 23 + .../cases/compiler/missingReturnStatement.ts | 6 + .../cases/compiler/missingReturnStatement1.ts | 5 + tests/cases/compiler/missingSelf.ts | 17 + tests/cases/compiler/missingTypeArguments1.ts | 53 + tests/cases/compiler/missingTypeArguments2.ts | 6 + tests/cases/compiler/missingTypeArguments3.ts | 40 + .../mixingFunctionAndAmbientModule1.ts | 41 + .../mixingStaticAndInstanceOverloads.ts | 35 + tests/cases/compiler/modFunctionCrash.ts | 6 + tests/cases/compiler/modKeyword.ts | 4 + .../compiler/moduleAliasAsFunctionArgument.ts | 13 + tests/cases/compiler/moduleAliasInterface.ts | 54 + .../compiler/moduleAndInterfaceSharingName.ts | 8 + .../moduleAndInterfaceSharingName2.ts | 8 + .../moduleAndInterfaceSharingName3.ts | 8 + .../moduleAndInterfaceSharingName4.ts | 9 + .../moduleAndInterfaceWithSameName.ts | 31 + tests/cases/compiler/moduleAsBaseType.ts | 4 + .../cases/compiler/moduleAssignmentCompat1.ts | 15 + .../cases/compiler/moduleAssignmentCompat2.ts | 13 + .../cases/compiler/moduleAssignmentCompat3.ts | 13 + .../cases/compiler/moduleAssignmentCompat4.ts | 16 + .../compiler/moduleClassArrayCodeGenTest.ts | 10 + tests/cases/compiler/moduleCodeGenTest3.ts | 3 + tests/cases/compiler/moduleCodeGenTest5.ts | 21 + tests/cases/compiler/moduleCodegenTest4.ts | 5 + tests/cases/compiler/moduleCrashBug1.ts | 20 + tests/cases/compiler/moduleExports1.ts | 14 + tests/cases/compiler/moduleIdentifiers.ts | 10 + tests/cases/compiler/moduleImport.ts | 13 + .../moduleImportedForTypeArgumentPosition.ts | 10 + tests/cases/compiler/moduleInTypePosition1.ts | 10 + .../compiler/moduleKeywordRepeatError.ts | 3 + .../moduleMemberWithoutTypeAnnotation1.ts | 45 + .../moduleMemberWithoutTypeAnnotation2.ts | 16 + tests/cases/compiler/moduleMerge.ts | 23 + tests/cases/compiler/moduleNewExportBug.ts | 12 + tests/cases/compiler/moduleNoEmit.ts | 3 + .../compiler/moduleOuterQualification.ts | 9 + tests/cases/compiler/moduleProperty1.ts | 11 + tests/cases/compiler/moduleProperty2.ts | 14 + .../compiler/moduleRedifinitionErrors.ts | 4 + .../compiler/moduleReopenedTypeOtherBlock.ts | 7 + .../compiler/moduleReopenedTypeSameBlock.ts | 5 + tests/cases/compiler/moduleScopingBug.ts | 28 + .../compiler/moduleUnassignedVariable.ts | 7 + .../compiler/moduleVariableArrayIndexer.ts | 4 + tests/cases/compiler/moduleVariables.ts | 16 + tests/cases/compiler/moduleVisibilityTest1.ts | 66 + tests/cases/compiler/moduleVisibilityTest2.ts | 67 + tests/cases/compiler/moduleVisibilityTest3.ts | 25 + .../compiler/moduleWithNoValuesAsType.ts | 15 + .../cases/compiler/moduleWithTryStatement1.ts | 7 + .../cases/compiler/moduleWithValuesAsType.ts | 5 + .../module_augmentExistingAmbientVariable.ts | 5 + .../module_augmentExistingVariable.ts | 5 + tests/cases/compiler/moduledecl.ts | 232 + tests/cases/compiler/multiCallOverloads.ts | 12 + .../compiler/multiExtendsSplitInterfaces1.ts | 1 + .../compiler/multiExtendsSplitInterfaces2.ts | 22 + tests/cases/compiler/multiImportExport.ts | 24 + tests/cases/compiler/multiLineErrors.ts | 21 + tests/cases/compiler/multiModuleClodule1.ts | 18 + tests/cases/compiler/multiModuleFundule1.ts | 12 + ...BaseInterfaesWithIncompatibleProperties.ts | 6 + .../multipleClassPropertyModifiers.ts | 6 + .../multipleClassPropertyModifiersErrors.ts | 9 + .../compiler/multipleExportAssignments.ts | 16 + ...leExportAssignmentsInAmbientDeclaration.ts | 6 + tests/cases/compiler/multipleInheritance.ts | 37 + tests/cases/compiler/multivar.ts | 46 + tests/cases/compiler/mutrec.ts | 41 + .../mutuallyRecursiveGenericBaseTypes1.ts | 15 + .../mutuallyRecursiveGenericBaseTypes2.ts | 9 + tests/cases/compiler/nameCollisions.ts | 47 + ...nctionExpressionAssignedToClassProperty.ts | 13 + .../compiler/namedFunctionExpressionCall.ts | 12 + .../namedFunctionExpressionCallErrors.ts | 16 + .../namedFunctionExpressionInModule.ts | 5 + tests/cases/compiler/namespaces1.ts | 9 + tests/cases/compiler/namespaces2.ts | 7 + tests/cases/compiler/negativeZero.ts | 1 + tests/cases/compiler/nestedGenerics.ts | 5 + tests/cases/compiler/nestedIfStatement.ts | 6 + tests/cases/compiler/nestedIndexer.ts | 5 + .../nestedInfinitelyExpandedRecursiveTypes.ts | 11 + .../compiler/nestedModulePrivateAccess.ts | 6 + tests/cases/compiler/nestedRecursiveLambda.ts | 6 + tests/cases/compiler/nestedSelf.ts | 7 + tests/cases/compiler/newArrays.ts | 12 + tests/cases/compiler/newExpressionWithCast.ts | 14 + ...arameterConstrainedToOuterTypeParameter.ts | 5 + .../cases/compiler/newFunctionImplicitAny.ts | 5 + tests/cases/compiler/newMissingIdentifier.ts | 1 + tests/cases/compiler/newNonReferenceType.ts | 2 + tests/cases/compiler/newOnInstanceSymbol.ts | 3 + tests/cases/compiler/newOperator.ts | 47 + tests/cases/compiler/noCatchBlock.ts | 7 + ...CollisionThisExpressionAndClassInGlobal.ts | 3 + ...ionThisExpressionAndLocalVarInAccessors.ts | 43 + ...nThisExpressionAndLocalVarInConstructor.ts | 21 + ...sionThisExpressionAndLocalVarInFunction.ts | 7 + ...lisionThisExpressionAndLocalVarInLambda.ts | 8 + ...lisionThisExpressionAndLocalVarInMethod.ts | 19 + ...sionThisExpressionAndLocalVarInProperty.ts | 19 + ...noCollisionThisExpressionAndVarInGlobal.ts | 2 + ...nThisExpressionInFunctionAndVarInGlobal.ts | 7 + .../compiler/noConstraintInReturnType1.ts | 4 + tests/cases/compiler/noErrorsInCallback.ts | 8 + ...AndPrivateMembersWithoutTypeAnnotations.ts | 11 + tests/cases/compiler/noImplicitAnyForIn.ts | 32 + .../noImplicitAnyForMethodParameters.ts | 15 + ...noImplicitAnyForwardReferencedInterface.ts | 7 + ...ImplicitAnyFunctionExpressionAssignment.ts | 9 + .../cases/compiler/noImplicitAnyFunctions.ts | 22 + .../compiler/noImplicitAnyInBareInterface.ts | 8 + ...tAnyInContextuallyTypesFunctionParamter.ts | 4 + tests/cases/compiler/noImplicitAnyIndexing.ts | 49 + tests/cases/compiler/noImplicitAnyModule.ts | 20 + .../noImplicitAnyParametersInAmbientClass.ts | 93 + ...ImplicitAnyParametersInAmbientFunctions.ts | 45 + .../noImplicitAnyParametersInAmbientModule.ts | 47 + .../noImplicitAnyParametersInBareFunctions.ts | 45 + .../noImplicitAnyParametersInClass.ts | 93 + .../noImplicitAnyParametersInInterface.ts | 52 + .../noImplicitAnyParametersInModule.ts | 47 + ...ImplicitAnyReferencingDeclaredInterface.ts | 8 + .../noImplicitAnyStringIndexerOnObject.ts | 3 + .../compiler/noImplicitAnyWithOverloads.ts | 10 + tests/cases/compiler/noSelfOnVars.ts | 6 + .../compiler/noTypeArgumentOnReturnType1.ts | 6 + tests/cases/compiler/nonArrayRestArgs.ts | 4 + .../nonConflictingRecursiveBaseTypeMembers.ts | 9 + .../compiler/nonContextuallyTypedLogicalOr.ts | 16 + .../nonExportedElementsOfMergedModules.ts | 15 + ...enericClassExtendingGenericClassWithAny.ts | 5 + tests/cases/compiler/null.ts | 20 + tests/cases/compiler/nullKeyword.ts | 1 + tests/cases/compiler/numLit.ts | 4 + tests/cases/compiler/numberAsInLHS.ts | 1 + .../numberOnLeftSideOfInExpression.ts | 3 + tests/cases/compiler/numberToString.ts | 10 + tests/cases/compiler/numericClassMembers1.ts | 14 + .../cases/compiler/numericIndexExpressions.ts | 15 + .../compiler/numericIndexerConstraint.ts | 4 + .../compiler/numericIndexerConstraint1.ts | 3 + .../compiler/numericIndexerConstraint2.ts | 4 + .../compiler/numericIndexerConstraint3.ts | 12 + .../compiler/numericIndexerConstraint4.ts | 11 + .../compiler/numericIndexerConstraint5.ts | 2 + tests/cases/compiler/numericIndexerTyping1.ts | 12 + tests/cases/compiler/numericIndexerTyping2.ts | 12 + tests/cases/compiler/numericMethodName1.ts | 3 + ...ctCreationExpressionInFunctionParameter.ts | 6 + ...objectCreationOfElementAccessExpression.ts | 54 + tests/cases/compiler/objectIndexer.ts | 15 + .../cases/compiler/objectLitArrayDeclNoNew.ts | 27 + tests/cases/compiler/objectLitGetterSetter.ts | 9 + .../objectLitIndexerContextualType.ts | 22 + .../compiler/objectLitPropertyScoping.ts | 15 + .../objectLitStructuralTypeMismatch.ts | 2 + .../compiler/objectLitTargetTypeCallSite.ts | 5 + tests/cases/compiler/objectLiteral1.ts | 1 + tests/cases/compiler/objectLiteral2.ts | 1 + .../objectLiteralArraySpecialization.ts | 7 + .../objectLiteralDeclarationGeneration1.ts | 2 + ...bjectLiteralFunctionArgContextualTyping.ts | 13 + ...jectLiteralFunctionArgContextualTyping2.ts | 13 + .../compiler/objectLiteralIndexerErrors.ts | 14 + tests/cases/compiler/objectLiteralIndexers.ts | 15 + .../objectLiteralParameterResolution.ts | 15 + ...ectLiteralReferencingInternalProperties.ts | 1 + ...ectLiteralWithGetAccessorInsideFunction.ts | 8 + .../objectLiteralWithNumericPropertyName.ts | 6 + tests/cases/compiler/objectMembersOnTypes.ts | 8 + .../compiler/operatorAddNullUndefined.ts | 17 + .../compiler/optionalAccessorsInInterface1.ts | 15 + .../compiler/optionalArgsWithDefaultValues.ts | 9 + .../compiler/optionalConstructorArgInSuper.ts | 9 + .../optionalFunctionArgAssignability.ts | 7 + tests/cases/compiler/optionalParamArgsTest.ts | 123 + .../compiler/optionalParamAssignmentCompat.ts | 10 + .../cases/compiler/optionalParamInOverride.ts | 6 + .../optionalParamReferencingOtherParams1.ts | 3 + .../optionalParamReferencingOtherParams2.ts | 5 + .../optionalParamReferencingOtherParams3.ts | 4 + .../compiler/optionalParamTypeComparison.ts | 5 + .../compiler/optionalPropertiesInClasses.ts | 17 + .../compiler/optionalPropertiesSyntax.ts | 35 + .../cases/compiler/optionalPropertiesTest.ts | 40 + tests/cases/compiler/optionalSetterParam.ts | 4 + .../orderMattersForSignatureGroupIdentity.ts | 24 + tests/cases/compiler/out-flag.ts | 21 + .../overEagerReturnTypeSpecialization.ts | 14 + tests/cases/compiler/overload1.ts | 38 + tests/cases/compiler/overload2.ts | 15 + .../compiler/overloadAssignmentCompat.ts | 37 + ...rloadBindingAcrossDeclarationBoundaries.ts | 34 + ...loadBindingAcrossDeclarationBoundaries2.ts | 38 + tests/cases/compiler/overloadCallTest.ts | 14 + tests/cases/compiler/overloadCrash.ts | 10 + .../overloadEquivalenceWithStatics.ts | 7 + .../overloadGenericFunctionWithRestArgs.ts | 10 + .../compiler/overloadModifiersMustAgree.ts | 15 + .../overloadOnConstAsTypeAnnotation.ts | 1 + .../overloadOnConstConstraintChecks1.ts | 22 + .../overloadOnConstConstraintChecks2.ts | 11 + .../overloadOnConstConstraintChecks3.ts | 11 + .../overloadOnConstConstraintChecks4.ts | 12 + .../overloadOnConstDuplicateOverloads1.ts | 10 + ...nstInBaseWithBadImplementationInDerived.ts | 8 + .../compiler/overloadOnConstInCallback1.ts | 9 + ...tInObjectLiteralImplementingAnInterface.ts | 5 + .../compiler/overloadOnConstInheritance1.ts | 8 + .../compiler/overloadOnConstInheritance2.ts | 7 + .../compiler/overloadOnConstInheritance3.ts | 8 + .../compiler/overloadOnConstInheritance4.ts | 8 + .../overloadOnConstNoAnyImplementation.ts | 15 + .../overloadOnConstNoAnyImplementation2.ts | 21 + ...verloadOnConstNoNonSpecializedSignature.ts | 4 + .../overloadOnConstNoStringImplementation.ts | 15 + .../overloadOnConstNoStringImplementation2.ts | 20 + .../overloadOnConstantsInvalidOverload1.ts | 11 + .../cases/compiler/overloadOnGenericArity.ts | 5 + ...verloadOnGenericClassAndNonGenericClass.ts | 15 + ...overloadResolutionOnDefaultConstructor1.ts | 5 + .../overloadResolutionOverCTLambda.ts | 2 + .../overloadResolutionOverNonCTLambdas.ts | 23 + .../overloadResolutionOverNonCTObjectLit.ts | 21 + .../cases/compiler/overloadResolutionTest1.ts | 25 + .../compiler/overloadResolutionWithAny.ts | 21 + tests/cases/compiler/overloadRet.ts | 10 + tests/cases/compiler/overloadReturnTypes.ts | 22 + ...CallbacksWithDifferingOptionalityOnArgs.ts | 5 + .../overloadedStaticMethodSpecialization.ts | 7 + .../cases/compiler/overloadingOnConstants1.ts | 25 + .../cases/compiler/overloadingOnConstants2.ts | 27 + .../overloadingOnConstantsInImplementation.ts | 4 + .../overloadingStaticFunctionsInFunctions.ts | 5 + ...esolutionWithConstraintCheckingDeferred.ts | 21 + .../compiler/overloadsAndTypeArgumentArity.ts | 7 + .../overloadsAndTypeArgumentArityErrors.ts | 6 + ...sInDifferentContainersDisagreeOnAmbient.ts | 8 + .../overloadsWithProvisionalErrors.ts | 8 + .../cases/compiler/overloadsWithinClasses.ts | 22 + .../overridingPrivateStaticMembers.ts | 7 + .../compiler/paramPropertiesInSignatures.ts | 11 + .../parameterPropertyInConstructor1.ts | 5 + .../parameterPropertyInConstructor2.ts | 7 + ...ameterPropertyInitializerInInitializers.ts | 3 + .../parameterPropertyOutsideConstructor.ts | 4 + ...ameterPropertyReferencingOtherParameter.ts | 3 + .../parameterReferencesOtherParameter1.ts | 9 + .../parameterReferencesOtherParameter2.ts | 9 + tests/cases/compiler/parse1.ts | 4 + tests/cases/compiler/parse2.ts | 3 + tests/cases/compiler/parseShortform.ts | 11 + tests/cases/compiler/parseTypes.ts | 12 + .../cases/compiler/partiallyAmbientClodule.ts | 4 + .../cases/compiler/partiallyAmbientFundule.ts | 4 + ...refixIncrementAsOperandOfPlusExpression.ts | 4 + .../compiler/prespecializedGenericMembers1.ts | 21 + tests/cases/compiler/primaryExpressionMods.ts | 11 + tests/cases/compiler/primitiveConstraints1.ts | 5 + tests/cases/compiler/primitiveConstraints2.ts | 9 + tests/cases/compiler/primitiveMembers.ts | 30 + .../compiler/primitiveTypeAsClassName.ts | 1 + .../compiler/primitiveTypeAsInterfaceName.ts | 1 + .../primitiveTypeAsInterfaceNameGeneric.ts | 1 + .../compiler/primitiveTypeAsmoduleName.ts | 1 + .../cases/compiler/primitiveTypeAssignment.ts | 5 + .../privacyCheckAnonymousFunctionParameter.ts | 16 + ...privacyCheckAnonymousFunctionParameter2.ts | 15 + ...lbackOfInterfaceMethodWithTypeParameter.ts | 7 + ...rtAssignmentOnExportedGenericInterface1.ts | 9 + ...rtAssignmentOnExportedGenericInterface2.ts | 13 + ...nalModuleExportAssignmentOfGenericClass.ts | 13 + ...arameterReferenceInConstructorParameter.ts | 10 + .../compiler/privacyCheckTypeOfFunction.ts | 4 + .../privacyCheckTypeOfInvisibleModuleError.ts | 7 + ...rivacyCheckTypeOfInvisibleModuleNoError.ts | 8 + tests/cases/compiler/privacyClass.ts | 128 + tests/cases/compiler/privacyFunc.ts | 227 + tests/cases/compiler/privacyGetter.ts | 208 + tests/cases/compiler/privacyGloClass.ts | 59 + tests/cases/compiler/privacyGloFunc.ts | 530 + tests/cases/compiler/privacyGloGetter.ts | 88 + tests/cases/compiler/privacyGloImport.ts | 153 + tests/cases/compiler/privacyGloInterface.ts | 118 + tests/cases/compiler/privacyGloVar.ts | 79 + tests/cases/compiler/privacyImport.ts | 357 + tests/cases/compiler/privacyInterface.ts | 265 + ...yLocalInternalReferenceImportWithExport.ts | 153 + ...calInternalReferenceImportWithoutExport.ts | 153 + ...elAmbientExternalModuleImportWithExport.ts | 45 + ...mbientExternalModuleImportWithoutExport.ts | 45 + ...pLevelInternalReferenceImportWithExport.ts | 99 + ...velInternalReferenceImportWithoutExport.ts | 99 + .../privacyTypeParameterOfFunction.ts | 132 + .../compiler/privacyTypeParametersOfClass.ts | 42 + .../privacyTypeParametersOfInterface.ts | 58 + tests/cases/compiler/privacyVar.ts | 175 + .../compiler/privateAccessInSubclass1.ts | 9 + .../compiler/privateInstanceVisibility.ts | 37 + .../compiler/privateInterfaceProperties.ts | 9 + .../privatePropertyUsingObjectType.ts | 9 + tests/cases/compiler/privateVisibility.ts | 25 + tests/cases/compiler/privateVisibles.ts | 8 + tests/cases/compiler/promiseChaining.ts | 10 + tests/cases/compiler/promiseChaining1.ts | 10 + tests/cases/compiler/promiseChaining2.ts | 10 + tests/cases/compiler/promiseIdentity.ts | 21 + tests/cases/compiler/promiseIdentity2.ts | 11 + .../cases/compiler/promiseIdentityWithAny.ts | 10 + .../cases/compiler/promiseIdentityWithAny2.ts | 22 + .../promiseIdentityWithConstraints.ts | 10 + tests/cases/compiler/promisePermutations.ts | 167 + tests/cases/compiler/promisePermutations2.ts | 166 + tests/cases/compiler/promisePermutations3.ts | 166 + tests/cases/compiler/promiseTest.ts | Bin 0 -> 528 bytes tests/cases/compiler/promiseTypeInference.ts | 10 + tests/cases/compiler/promises.ts | 5 + .../cases/compiler/promisesWithConstraints.ts | 20 + .../propagationOfPromiseInitialization.ts | 13 + tests/cases/compiler/properties.ts | 16 + tests/cases/compiler/propertiesAndIndexers.ts | 51 + tests/cases/compiler/propertyAccess1.ts | 3 + tests/cases/compiler/propertyAccess2.ts | 2 + tests/cases/compiler/propertyAccess3.ts | 2 + tests/cases/compiler/propertyAccess4.ts | 1 + tests/cases/compiler/propertyAccess5.ts | 1 + tests/cases/compiler/propertyAccess6.ts | 2 + tests/cases/compiler/propertyAccess7.ts | 2 + .../cases/compiler/propertyAccessibility1.ts | 5 + .../cases/compiler/propertyAccessibility2.ts | 4 + tests/cases/compiler/propertyAssignment.ts | 16 + .../propertyIdentityWithPrivacyMismatch.ts | 27 + .../propertyNamesWithStringLiteral.ts | 15 + tests/cases/compiler/propertyOrdering.ts | 22 + tests/cases/compiler/propertyOrdering2.ts | 7 + .../propertyParameterWithQuestionMark.ts | 9 + tests/cases/compiler/propertySignatures.ts | 19 + tests/cases/compiler/propertyWrappedInTry.ts | 18 + .../compiler/protoAsIndexInIndexExpression.ts | 19 + tests/cases/compiler/protoAssignment.ts | 14 + tests/cases/compiler/protoInIndexer.ts | 5 + ...prototypeInstantiatedWithBaseConstraint.ts | 5 + .../prototypeOnConstructorFunctions.ts | 9 + tests/cases/compiler/prototypes.ts | 4 + ...emberImplementedAsPrivateInDerivedClass.ts | 6 + tests/cases/compiler/qualifiedModuleLocals.ts | 9 + ...arations-entity-names-referencing-a-var.ts | 10 + ...solution-does-not-affect-class-heritage.ts | 6 + tests/cases/compiler/qualify.ts | 59 + tests/cases/compiler/quotedAccessorName1.ts | 3 + tests/cases/compiler/quotedAccessorName2.ts | 3 + tests/cases/compiler/quotedFunctionName1.ts | 3 + tests/cases/compiler/quotedFunctionName2.ts | 3 + .../compiler/quotedModuleNameMustBeAmbient.ts | 3 + tests/cases/compiler/quotedPropertyName1.ts | 3 + tests/cases/compiler/quotedPropertyName2.ts | 3 + tests/cases/compiler/quotedPropertyName3.ts | 7 + .../compiler/raiseErrorOnParameterProperty.ts | 6 + tests/cases/compiler/randomSemicolons1.ts | 3 + tests/cases/compiler/reassignStaticProp.ts | 10 + .../cases/compiler/reboundBaseClassSymbol.ts | 5 + .../reboundIdentifierOnImportAlias.ts | 7 + tests/cases/compiler/rectype.ts | 12 + tests/cases/compiler/recur1.ts | 6 + tests/cases/compiler/recursiveBaseCheck.ts | 16 + tests/cases/compiler/recursiveBaseCheck2.ts | 12 + tests/cases/compiler/recursiveBaseCheck3.ts | 4 + tests/cases/compiler/recursiveBaseCheck4.ts | 2 + tests/cases/compiler/recursiveBaseCheck5.ts | 4 + tests/cases/compiler/recursiveBaseCheck6.ts | 2 + .../recursiveBaseConstructorCreation1.ts | 5 + .../recursiveBaseConstructorCreation2.ts | 13 + .../recursiveBaseConstructorCreation3.ts | 10 + ...ssInstantiationsWithDefaultConstructors.ts | 8 + .../compiler/recursiveClassReferenceTest.ts | 102 + .../compiler/recursiveCloduleReference.ts | 9 + .../compiler/recursiveComplicatedClasses.ts | 24 + ...siveExportAssignmentAndFindAliasedType1.ts | 16 + ...siveExportAssignmentAndFindAliasedType2.ts | 20 + ...siveExportAssignmentAndFindAliasedType3.ts | 24 + ...siveExportAssignmentAndFindAliasedType4.ts | 13 + ...siveExportAssignmentAndFindAliasedType5.ts | 17 + ...siveExportAssignmentAndFindAliasedType6.ts | 21 + ...siveExportAssignmentAndFindAliasedType7.ts | 22 + .../cases/compiler/recursiveFunctionTypes.ts | 44 + .../cases/compiler/recursiveFunctionTypes1.ts | 3 + .../compiler/recursiveGenericMethodCall.ts | 5 + .../recursiveGenericSignatureInstantiation.ts | 3 + ...recursiveGenericSignatureInstantiation2.ts | 0 .../compiler/recursiveGenericTypeHierarchy.ts | 3 + tests/cases/compiler/recursiveGetterAccess.ts | 4 + .../compiler/recursiveIdenticalAssignment.ts | 10 + .../recursiveIdenticalOverloadResolution.ts | 16 + tests/cases/compiler/recursiveInference1.ts | 2 + tests/cases/compiler/recursiveInferenceBug.ts | 10 + tests/cases/compiler/recursiveInheritance.ts | 7 + tests/cases/compiler/recursiveInheritance2.ts | 13 + tests/cases/compiler/recursiveInheritance3.ts | 8 + .../compiler/recursiveInheritanceGeneric.ts | 3 + tests/cases/compiler/recursiveMods.ts | 23 + .../compiler/recursiveNamedLambdaCall.ts | 19 + .../cases/compiler/recursiveObjectLiteral.ts | 1 + tests/cases/compiler/recursiveProperties.ts | 8 + tests/cases/compiler/recursiveReturns.ts | 15 + ...veSpecializationOfExtendedTypeWithError.ts | 5 + .../recursiveSpecializationOfSignatures.ts | 5 + tests/cases/compiler/recursiveTypeIdentity.ts | 12 + ...rameterConstraintReferenceLacksTypeArgs.ts | 1 + .../recursiveTypeParameterReferenceError1.ts | 16 + .../recursiveTypeParameterReferenceError2.ts | 11 + tests/cases/compiler/recursiveTypes1.ts | 12 + ...sivelySpecializedConstructorDeclaration.ts | 29 + .../redeclarationOfVarWithGenericType.ts | 2 + tests/cases/compiler/redefineArray.ts | 1 + tests/cases/compiler/reorderProperties.ts | 18 + tests/cases/compiler/requireEmitSemicolon.ts | 19 + tests/cases/compiler/requireOfAnEmptyFile1.ts | 7 + tests/cases/compiler/reservedWords.ts | 16 + ...lassDeclarationWhenInBaseTypeResolution.ts | 1019 ++ .../cases/compiler/restArgAssignmentCompat.ts | 8 + tests/cases/compiler/restArgMissingName.ts | 1 + tests/cases/compiler/restParamAsOptional.ts | 2 + .../restParameterAssignmentCompatibility.ts | 26 + .../compiler/restParameterNoTypeAnnotation.ts | 4 + tests/cases/compiler/restParameterNotLast.ts | 1 + tests/cases/compiler/restParameters.ts | 7 + .../compiler/restParamsWithNonRestParams.ts | 6 + tests/cases/compiler/returnInConstructor1.ts | 65 + tests/cases/compiler/returnStatement1.ts | 6 + tests/cases/compiler/returnTypeParameter.ts | 2 + .../returnTypeParameterWithModules.ts | 14 + .../cases/compiler/returnTypeTypeArguments.ts | 75 + tests/cases/compiler/returnValueInSetter.ts | 6 + .../cases/compiler/reuseInnerModuleMember.ts | 14 + ...verseInferenceInContextualInstantiation.ts | 3 + .../reversedRecusiveTypeInstantiation.ts | 9 + ...peCheckExtendedClassInsidePublicMethod2.ts | 8 + ...peCheckExtendedClassInsideStaticMethod1.ts | 8 + .../compiler/scopeCheckInsidePublicMethod1.ts | 6 + .../compiler/scopeCheckInsideStaticMethod1.ts | 10 + tests/cases/compiler/scopeTests.ts | 11 + tests/cases/compiler/scopingInCatchBlocks.ts | 9 + tests/cases/compiler/selfInCallback.ts | 7 + tests/cases/compiler/selfInLambdas.ts | 45 + tests/cases/compiler/selfRef.ts | 17 + .../selfReferencesInFunctionParameters.ts | 13 + .../semicolonsInModuleDeclarations.ts | 7 + tests/cases/compiler/separate1-1.ts | 1 + tests/cases/compiler/separate1-2.ts | 3 + tests/cases/compiler/setterBeforeGetter.ts | 11 + tests/cases/compiler/setterWithReturn.ts | 10 + tests/cases/compiler/shadowPrivateMembers.ts | 2 + .../sigantureIsSubTypeIfTheyAreIdentical.ts | 8 + ...tionParameterReferencedInObjectLiteral1.ts | 1 + .../slashBeforeVariableDeclaration1.ts | 1 + tests/cases/compiler/sourceMap-Comment1.ts | 3 + tests/cases/compiler/sourceMap-EmptyFile1.ts | 2 + .../compiler/sourceMap-FileWithComments.ts | 38 + ...-InterfacePrecedingVariableDeclaration1.ts | 5 + tests/cases/compiler/sourceMap-NewLine1.ts | 3 + tests/cases/compiler/sourceMap-SemiColon1.ts | 3 + .../cases/compiler/sourceMap-SingleSpace1.ts | 3 + .../sourceMap-StringLiteralWithNewLine.ts | 16 + tests/cases/compiler/sourceMapSample.ts | 36 + .../compiler/sourceMapValidationClass.ts | 20 + ...apValidationClassWithDefaultConstructor.ts | 5 + ...aultConstructorAndCapturedThisStatement.ts | 5 + ...sWithDefaultConstructorAndExtendsClause.ts | 8 + .../compiler/sourceMapValidationClasses.ts | 37 + .../compiler/sourceMapValidationDebugger.ts | 2 + tests/cases/compiler/sourceMapValidationDo.ts | 9 + .../compiler/sourceMapValidationEnums.ts | 14 + .../sourceMapValidationExportAssignment.ts | 6 + ...ceMapValidationExportAssignmentCommonjs.ts | 6 + .../cases/compiler/sourceMapValidationFor.ts | 34 + .../compiler/sourceMapValidationForIn.ts | 15 + .../sourceMapValidationFunctionExpressions.ts | 8 + ...MapValidationFunctionPropertyAssignment.ts | 2 + .../compiler/sourceMapValidationFunctions.ts | 14 + .../compiler/sourceMapValidationIfElse.ts | 18 + .../compiler/sourceMapValidationImport.ts | 10 + .../compiler/sourceMapValidationLabeled.ts | 3 + .../compiler/sourceMapValidationModule.ts | 14 + .../compiler/sourceMapValidationStatements.ts | 84 + .../compiler/sourceMapValidationSwitch.ts | 29 + .../sourceMapValidationTryCatchFinally.ts | 22 + .../compiler/sourceMapValidationVariables.ts | 5 + .../compiler/sourceMapValidationWhile.ts | 9 + .../sourceMapValidationWithComments.ts | 22 + .../sourcemapValidationDuplicateNames.ts | 9 + tests/cases/compiler/specializationError.ts | 9 + .../compiler/specializationOfExportedClass.ts | 7 + ...specializationsShouldNotAffectEachOther.ts | 20 + tests/cases/compiler/specializeVarArgs1.ts | 21 + .../specializedInheritedConstructors1.ts | 16 + .../specializedLambdaTypeArguments.ts | 5 + .../specializedOverloadWithRestParameters.ts | 12 + ...pecializedSignatureAsCallbackParameter1.ts | 8 + ...SignatureOverloadReturnTypeWithIndexers.ts | 16 + .../compiler/staticAndMemberFunctions.ts | 4 + .../cases/compiler/staticClassMemberError.ts | 12 + tests/cases/compiler/staticClassProps.ts | 7 + tests/cases/compiler/staticGetter1.ts | 6 + tests/cases/compiler/staticGetter2.ts | 7 + tests/cases/compiler/staticGetterAndSetter.ts | 4 + tests/cases/compiler/staticIndexer.ts | 3 + tests/cases/compiler/staticInheritance.ts | 10 + .../compiler/staticInstanceResolution.ts | 14 + .../compiler/staticInstanceResolution2.ts | 10 + .../compiler/staticInstanceResolution3.ts | 12 + .../compiler/staticInstanceResolution4.ts | 5 + .../compiler/staticInstanceResolution5.ts | 15 + .../staticInterfaceAssignmentCompat.ts | 11 + .../staticMemberAccessOffDerivedType1.ts | 8 + .../compiler/staticMemberExportAccess.ts | 20 + ...AndPublicMemberOfAnotherClassAssignment.ts | 24 + .../staticMemberWithStringAndNumberNames.ts | 12 + .../staticMethodReferencingTypeArgument1.ts | 16 + ...icMethodsReferencingClassTypeParameters.ts | 3 + .../compiler/staticModifierAlreadySeen.ts | 4 + .../cases/compiler/staticMustPrecedePublic.ts | 4 + tests/cases/compiler/staticOffOfInstance1.ts | 6 + tests/cases/compiler/staticOffOfInstance2.ts | 7 + tests/cases/compiler/staticPropSuper.ts | 35 + .../cases/compiler/staticPrototypeProperty.ts | 7 + .../staticPrototypePropertyOnClass.ts | 18 + tests/cases/compiler/staticVisibility.ts | 36 + tests/cases/compiler/statics.ts | 30 + tests/cases/compiler/staticsInAFunction.ts | 5 + .../compiler/staticsInConstructorBodies.ts | 6 + .../compiler/staticsNotInScopeInClodule.ts | 7 + tests/cases/compiler/stradac.ts | 12 + tests/cases/compiler/strictMode1.ts | 3 + tests/cases/compiler/strictMode2.ts | 6 + tests/cases/compiler/strictMode3.ts | 11 + tests/cases/compiler/strictMode4.ts | 4 + .../cases/compiler/strictModeInConstructor.ts | 60 + .../stringHasStringValuedNumericIndexer.ts | 1 + .../compiler/stringIndexerAndConstructor.ts | 13 + .../compiler/stringIndexerAndConstructor1.ts | 4 + .../compiler/stringIndexerAssignments1.ts | 5 + .../compiler/stringIndexerAssignments2.ts | 20 + .../stringLiteralObjectLiteralDeclaration1.ts | 4 + ...iteralPropertyNameWithLineContinuation1.ts | 3 + tests/cases/compiler/stringLiteralsErrors.ts | 28 + tests/cases/compiler/stringPropCodeGen.ts | 12 + tests/cases/compiler/structural1.ts | 11 + .../structuralTypeInDeclareFileForModule.ts | 4 + tests/cases/compiler/styleOptions.ts | 6 + tests/cases/compiler/subtypingTransitivity.ts | 18 + tests/cases/compiler/super.ts | 36 + tests/cases/compiler/super1.ts | 65 + tests/cases/compiler/super2.ts | 49 + tests/cases/compiler/superAccess.ts | 13 + tests/cases/compiler/superAccess2.ts | 24 + .../cases/compiler/superAccessInFatArrow1.ts | 15 + .../cases/compiler/superCallArgsMustMatch.ts | 22 + tests/cases/compiler/superCallAssignResult.ts | 10 + ...allFromClassThatDerivesFromGenericType1.ts | 10 + ...allFromClassThatDerivesFromGenericType2.ts | 9 + .../compiler/superCallInNonStaticMethod.ts | 49 + .../cases/compiler/superCallInStaticMethod.ts | 45 + .../compiler/superCallOutsideConstructor.ts | 21 + .../cases/compiler/superCallsInConstructor.ts | 20 + tests/cases/compiler/superErrors.ts | 51 + tests/cases/compiler/superInCatchBlock1.ts | 12 + .../compiler/superInConstructorParam1.ts | 10 + tests/cases/compiler/superInLambdas.ts | 67 + tests/cases/compiler/superPropertyAccess.ts | 36 + tests/cases/compiler/superPropertyAccess1.ts | 27 + tests/cases/compiler/superPropertyAccess2.ts | 27 + .../superWithGenericSpecialization.ts | 14 + tests/cases/compiler/superWithGenerics.ts | 10 + tests/cases/compiler/superWithTypeArgument.ts | 9 + .../cases/compiler/superWithTypeArgument2.ts | 9 + .../cases/compiler/superWithTypeArgument3.ts | 13 + ...side-object-literal-getters-and-setters.ts | 26 + .../cases/compiler/switchAssignmentCompat.ts | 5 + tests/cases/compiler/switchCases.ts | 4 + .../switchCasesExpressionTypeMismatch.ts | 18 + tests/cases/compiler/switchFallThroughs.ts | 16 + tests/cases/compiler/targetTypeArgs.ts | 13 + tests/cases/compiler/targetTypeBaseCalls.ts | Bin 0 -> 786 bytes tests/cases/compiler/targetTypeCalls.ts | 5 + tests/cases/compiler/targetTypeCastTest.ts | 23 + .../cases/compiler/targetTypeObjectLiteral.ts | 11 + .../compiler/targetTypeObjectLiteralToAny.ts | 9 + tests/cases/compiler/targetTypeTest1.ts | 71 + tests/cases/compiler/targetTypeTest2.ts | 11 + tests/cases/compiler/targetTypeTest3.ts | 11 + tests/cases/compiler/targetTypeVoidFunc.ts | 7 + .../cases/compiler/targetTypingOnFunctions.ts | 3 + .../compiler/ternaryExpressionSourceMap.ts | 4 + tests/cases/compiler/testTypings.ts | 12 + tests/cases/compiler/thisBinding.ts | 21 + tests/cases/compiler/thisBinding2.ts | 20 + tests/cases/compiler/thisCapture1.ts | 9 + ...essionInCallExpressionWithTypeArguments.ts | 3 + .../thisExpressionInIndexExpression.ts | 3 + .../compiler/thisExpressionOfGenericObject.ts | 6 + tests/cases/compiler/thisInAccessors.ts | 30 + ...thisInArrowFunctionInStaticInitializer1.ts | 8 + .../compiler/thisInConstructorParameter1.ts | 4 + .../compiler/thisInConstructorParameter2.ts | 9 + .../compiler/thisInGenericStaticMembers.ts | 25 + tests/cases/compiler/thisInInnerFunctions.ts | 16 + tests/cases/compiler/thisInLambda.ts | 18 + tests/cases/compiler/thisInModule.ts | 4 + tests/cases/compiler/thisInModuleFunction1.ts | 6 + tests/cases/compiler/thisInOuterClassBody.ts | 20 + .../thisInPropertyBoundDeclarations.ts | 67 + tests/cases/compiler/thisInStaticMethod1.ts | 7 + tests/cases/compiler/thisInStatics.ts | 10 + tests/cases/compiler/thisInSuperCall.ts | 22 + tests/cases/compiler/thisInSuperCall1.ts | 9 + tests/cases/compiler/thisInSuperCall2.ts | 18 + tests/cases/compiler/thisInSuperCall3.ts | 11 + tests/cases/compiler/thisKeyword.ts | 3 + ...eferencedInFunctionInsideArrowFunction1.ts | 7 + .../cases/compiler/thisWhenTypeCheckFails.ts | 7 + .../this_inside-enum-should-not-be-allowed.ts | 9 + ...side-object-literal-getters-and-setters.ts | 15 + tests/cases/compiler/toStringOnPrimitives.ts | 4 + ...ArgumentsInGenericFunctionTypedArgument.ts | 15 + .../cases/compiler/tooManyTypeParameters1.ts | 11 + tests/cases/compiler/topLevel.ts | 26 + tests/cases/compiler/topLevelExports.ts | 6 + tests/cases/compiler/topLevelLambda.ts | 3 + tests/cases/compiler/topLevelLambda2.ts | 3 + tests/cases/compiler/topLevelLambda3.ts | 1 + tests/cases/compiler/topLevelLambda4.ts | 2 + ...railingCommaInHeterogenousArrayLiteral1.ts | 8 + .../trailingSeparatorInFunctionCall.ts | 9 + .../transitiveTypeArgumentInference1.ts | 12 + tests/cases/compiler/tryCatchFinally.ts | 5 + ...eAnnotationBestCommonTypeInArrayLiteral.ts | 21 + tests/cases/compiler/typeArgInference.ts | 14 + tests/cases/compiler/typeArgInference2.ts | 12 + .../compiler/typeArgInference2WithError.ts | 7 + .../compiler/typeArgInferenceWithNull.ts | 10 + .../typeArgumentConstraintResolution1.ts | 11 + .../compiler/typeArgumentInferenceOrdering.ts | 14 + ...mentInferenceWithConstraintAsCommonRoot.ts | 7 + .../typeArgumentsInFunctionExpressions.ts | 10 + ...rgumentsOnFunctionsWithNoTypeParameters.ts | 6 + ...umentsShouldDisallowNonGenericOverloads.ts | 11 + .../typeAssertionToGenericFunctionType.ts | 6 + ...pressionWithUndefinedCallResolutionData.ts | 11 + tests/cases/compiler/typeCheckTypeArgument.ts | 15 + ...CheckingInsideFunctionExpressionInArray.ts | 6 + .../typeConstraintsWithConstructSignatures.ts | 11 + .../compiler/typeIdentityConsidersBrands.ts | 31 + tests/cases/compiler/typeInfer1.ts | 13 + .../typeInferenceConflictingCandidates.ts | 3 + tests/cases/compiler/typeInferenceFixEarly.ts | 3 + .../typeInferenceReturnTypeCallback.ts | 21 + .../typeInferenceWithTypeAnnotation.ts | 3 + tests/cases/compiler/typeLiteralCallback.ts | 13 + tests/cases/compiler/typeMatch1.ts | 22 + tests/cases/compiler/typeMatch2.ts | 43 + tests/cases/compiler/typeName1.ts | 26 + .../typeOfEnumAndVarRedeclarations.ts | 10 + tests/cases/compiler/typeOfOnTypeArg.ts | 7 + tests/cases/compiler/typeOfOperator1.ts | 3 + tests/cases/compiler/typeOfPrototype.ts | 5 + tests/cases/compiler/typeOfSuperCall.ts | 8 + tests/cases/compiler/typeOfThisInStatics.ts | 9 + .../typeParamExtendsOtherTypeParam.ts | 29 + .../typeParameterAndArgumentOfSameName1.ts | 4 + .../typeParameterArgumentEquivalence.ts | 6 + .../typeParameterArgumentEquivalence2.ts | 6 + .../typeParameterArgumentEquivalence3.ts | 6 + .../typeParameterArgumentEquivalence4.ts | 6 + .../typeParameterArgumentEquivalence5.ts | 6 + .../compiler/typeParameterAsBaseClass.ts | 2 + .../compiler/typeParameterAsElementType.ts | 4 + .../typeParameterAssignmentCompat1.ts | 19 + .../typeParameterAssignmentWithConstraints.ts | 5 + ...rameterCompatibilityAccrossDeclarations.ts | 22 + ...arameterConstrainedToOuterTypeParameter.ts | 10 + ...rameterConstrainedToOuterTypeParameter2.ts | 10 + .../compiler/typeParameterConstraints1.ts | 13 + .../typeParameterExplicitlyExtendsAny.ts | 11 + .../typeParameterHasSelfAsConstraint.ts | 4 + .../compiler/typeParameterOrderReversal.ts | 12 + .../typeParameterWithInvalidConstraintType.ts | 10 + .../typeParametersInStaticAccessors.ts | 4 + .../compiler/typeParametersInStaticMethods.ts | 4 + .../typeParametersInStaticProperties.ts | 3 + .../typeParametersShouldNotBeEqual.ts | 7 + .../typeParametersShouldNotBeEqual2.ts | 11 + .../typeParametersShouldNotBeEqual3.ts | 7 + tests/cases/compiler/typeResolution.ts | 111 + tests/cases/compiler/typeVal.ts | 7 + tests/cases/compiler/typeValueConflict1.ts | 10 + tests/cases/compiler/typeValueConflict2.ts | 17 + .../compiler/typecheckCommaExpression.ts | 1 + tests/cases/compiler/typecheckIfCondition.ts | 6 + .../compiler/typedGenericPrototypeMember.ts | 5 + .../compiler/typeofAmbientExternalModules.ts | 18 + tests/cases/compiler/typeofClass.ts | 11 + tests/cases/compiler/typeofEnum.ts | 7 + tests/cases/compiler/typeofExternalModules.ts | 16 + .../compiler/typeofInObjectLiteralType.ts | 1 + tests/cases/compiler/typeofInterface.ts | 9 + tests/cases/compiler/typeofInternalModules.ts | 23 + tests/cases/compiler/typeofProperty.ts | 47 + tests/cases/compiler/typeofSimple.ts | 12 + tests/cases/compiler/typeofUndefined.ts | 4 + tests/cases/compiler/typeofUnknownSymbol.ts | 2 + tests/cases/compiler/unaryOperators1.ts | 3 + tests/cases/compiler/unaryPlus.ts | 10 + .../cases/compiler/uncaughtCompilerError1.ts | 13 + .../cases/compiler/uncaughtCompilerError2.ts | 3 + tests/cases/compiler/undeclaredBase.ts | 2 + tests/cases/compiler/undeclaredMethod.ts | 12 + tests/cases/compiler/undeclaredModuleError.ts | 16 + tests/cases/compiler/undeclaredVarEmit.ts | 1 + .../compiler/undefinedArgumentInference.ts | 7 + .../compiler/undefinedInferentialTyping.ts | 5 + ...ndefinedSymbolReferencedInArrayLiteral1.ts | 7 + .../cases/compiler/undefinedTypeArgument1.ts | 1 + .../cases/compiler/undefinedTypeArgument2.ts | 5 + tests/cases/compiler/underscoreMapFirst.ts | 47 + tests/cases/compiler/underscoreTest1.ts | 900 + .../unexpectedStatementBlockTerminator.ts | 6 + .../unexportedInstanceClassVariables.ts | 11 + .../cases/compiler/unicodeIdentifierName2.ts | 1 + .../cases/compiler/unicodeIdentifierNames.ts | Bin 0 -> 674 bytes .../unknownSymbolInGenericReturnType.ts | 11 + .../unknownSymbolOffContextualType1.ts | 22 + tests/cases/compiler/unknownSymbols1.ts | 32 + tests/cases/compiler/unknownSymbols2.ts | 30 + tests/cases/compiler/unknownTypeArgOnCall.ts | 7 + tests/cases/compiler/unknownTypeErrors.ts | 1 + .../compiler/unqualifiedCallToClassStatic1.ts | 6 + .../compiler/unresolvedTypeAssertionSymbol.ts | 3 + .../compiler/unspecializedConstraints.ts | 152 + .../unterminatedRegexAtEndOfSource1.ts | 1 + ...unterminatedStringLiteralWithBackslash1.ts | 1 + .../untypedArgumentInLambdaExpression.ts | 6 + ...untypedFunctionCallsWithTypeParameters1.ts | 42 + .../cases/compiler/unusedImportDeclaration.ts | 14 + ...ngModuleWithExportImportInValuePosition.ts | 19 + tests/cases/compiler/validRegexp.ts | 3 + tests/cases/compiler/validUseOfThisInSuper.ts | 9 + .../cases/compiler/varAndFunctionShareName.ts | 2 + .../varArgConstructorMemberParameter.ts | 11 + tests/cases/compiler/varArgParamTypeCheck.ts | 20 + tests/cases/compiler/varArgWithNoParamName.ts | 1 + .../compiler/varArgsOnConstructorTypes.ts | 24 + tests/cases/compiler/varAsID.ts | 18 + tests/cases/compiler/varBlock.ts | 39 + .../compiler/varInFunctionInVarInitializer.ts | 5 + ...flictsWithImportInDifferentPartOfModule.ts | 7 + tests/cases/compiler/vararg.ts | 37 + tests/cases/compiler/vardecl.ts | 110 + tests/cases/compiler/variableDeclarator1.ts | 4 + ...eclaratorResolvedDuringContextualTyping.ts | 125 + tests/cases/compiler/visSyntax.ts | 10 + .../visibilityOfCrossModuleTypeUsage.ts | 25 + tests/cases/compiler/voidArrayLit.ts | 4 + .../compiler/voidAsNonAmbiguousReturnType.ts | 12 + tests/cases/compiler/voidAsOperator.ts | 8 + tests/cases/compiler/voidConstructor.ts | 1 + .../compiler/voidFunctionAssignmentCompat.ts | 18 + tests/cases/compiler/voidOperator1.ts | 3 + tests/cases/compiler/voidReturnLambdaValue.ts | 3 + tests/cases/compiler/widenToAny1.ts | 5 + tests/cases/compiler/widenToAny2.ts | 4 + tests/cases/compiler/widenedTypes.ts | 25 + tests/cases/compiler/widenedTypes1.ts | 8 + tests/cases/compiler/withExportDecl.ts | 60 + tests/cases/compiler/withImportDecl.ts | 44 + tests/cases/compiler/withStatement.ts | 11 + tests/cases/compiler/withStatementErrors.ts | 17 + .../compiler/withStatementNestedScope.ts | 8 + .../compiler/wrappedRecursiveGenericType.ts | 14 + .../ambient/ambientDeclarations.ts | 75 + .../ambient/ambientDeclarationsExternal.ts | 22 + .../conformance/ambient/ambientErrors.ts | 58 + .../classAndInterfaceWithSameName.ts | 12 + .../classAndVariableWithSameName.ts | 10 + .../classBody/classBodyWithStatements.ts | 13 + .../classBody/classWithEmptyBody.ts | 20 + .../classAppearsToHaveMembersOfObject.ts | 7 + .../classExtendingClass.ts | 31 + .../classExtendingPrimitive.ts | 14 + .../classExtendsEveryObjectType.ts | 16 + .../classExtendsItself.ts | 5 + .../classExtendsItselfIndirectly.ts | 11 + .../classExtendsItselfIndirectly2.ts | 22 + .../classExtendsItselfIndirectly3.ts | 17 + ...classExtendsShadowedConstructorFunction.ts | 8 + .../classExtendsValidConstructorFunction.ts | 5 + .../classIsSubtypeOfBaseType.ts | 15 + ...uctorFunctionTypeIsAssignableToBaseType.ts | 19 + ...ctorFunctionTypeIsAssignableToBaseType2.ts | 32 + .../derivedTypeDoesNotRequireExtendsClause.ts | 20 + .../classWithPredefinedTypesAsNames.ts | 6 + .../classWithPredefinedTypesAsNames2.ts | 3 + .../conformance/classes/classExpression.ts | 12 + .../classWithoutExplicitConstructor.ts | 15 + .../derivedClassWithoutExplicitConstructor.ts | 25 + ...derivedClassWithoutExplicitConstructor2.ts | 33 + ...derivedClassWithoutExplicitConstructor3.ts | 46 + .../classConstructorAccessibility.ts | 23 + .../classWithTwoConstructorDefinitions.ts | 9 + ...constructorDefaultValuesReferencingThis.ts | 11 + ...structorImplementationWithDefaultValues.ts | 20 + ...tructorImplementationWithDefaultValues2.ts | 20 + .../constructorOverloadsWithDefaultValues.ts | 13 + ...structorOverloadsWithOptionalParameters.ts | 13 + .../constructorParameterProperties.ts | 18 + .../constructorParameterProperties2.ts | 23 + ...nstructorWithAssignableReturnExpression.ts | 35 + .../constructorWithExpressionLessReturn.ts | 24 + ...derivedClassConstructorWithoutSuperCall.ts | 32 + .../derivedClassParameterProperties.ts | 94 + ...dClassSuperCallsInNonConstructorMembers.ts | 31 + .../derivedClassSuperCallsWithThisArg.ts | 28 + .../superCallInConstructorWithNoBaseType.ts | 11 + .../indexMemberDeclarations/privateIndexer.ts | 13 + .../privateIndexer2.ts | 9 + .../indexMemberDeclarations/publicIndexer.ts | 13 + .../indexMemberDeclarations/staticIndexers.ts | 13 + .../accessibility/classPropertyAsPrivate.ts | 23 + .../classPropertyIsPublicByDefault.ts | 22 + ...ivateClassPropertyAccessibleWithinClass.ts | 30 + .../privateInstanceMemberAccessibility.ts | 13 + .../privateStaticMemberAccessibility.ts | 8 + .../privateStaticNotAccessibleInClodule.ts | 10 + .../privateStaticNotAccessibleInClodule2.ts | 14 + .../members/classTypes/indexersInClassType.ts | 16 + ...nstancePropertiesInheritedIntoClassType.ts | 42 + .../classTypes/instancePropertyInClassType.ts | 38 + .../staticPropertyNotInClassType.ts | 39 + .../classWithBaseClassButNoConstructor.ts | 40 + .../classWithConstructors.ts | 49 + .../classWithNoConstructorOrBaseClass.ts | 15 + .../classWithStaticMembers.ts | 19 + .../constructorHasPrototypeProperty.ts | 31 + ...ClassFunctionOverridesBaseClassAccessor.ts | 14 + .../derivedClassIncludesInheritedMembers.ts | 39 + ...idesIndexersWithAssignmentCompatibility.ts | 17 + .../derivedClassOverridesPrivates.ts | 15 + .../derivedClassOverridesPublicMembers.ts | 61 + .../derivedClassOverridesWithoutSubtype.ts | 23 + .../derivedClassTransitivity.ts | 20 + .../derivedClassTransitivity2.ts | 20 + .../derivedClassTransitivity3.ts | 20 + .../derivedClassWithAny.ts | 58 + ...hPrivateInstanceShadowingPublicInstance.ts | 32 + ...sWithPrivateStaticShadowingPublicStatic.ts | 33 + .../derivedGenericClassWithAny.ts | 42 + .../typeOfThisInInstanceMember.ts | 31 + .../typeOfThisInInstanceMember2.ts | 35 + .../typeOfThisInStaticMembers.ts | 33 + .../typeOfThisInStaticMembers2.ts | 7 + .../classes/nestedClassDeclaration.ts | 17 + .../constructorParameterShadowsOuterScopes.ts | 20 + ...initializerReferencingConstructorLocals.ts | 21 + ...ializerReferencingConstructorParameters.ts | 25 + .../instanceMemberInitialization.ts | 8 + .../accessorWithES3.ts | 22 + .../accessorWithES5.ts | 20 + .../accessorsAreNotContextuallyTyped.ts | 13 + .../typeOfThisInAccessor.ts | 31 + ...sesHiddenBaseCallViaSuperPropertyAccess.ts | 17 + .../instanceMemberAssignsToClassPrototype.ts | 12 + ...FunctionOverloadMixingStaticAndInstance.ts | 19 + .../memberFunctionsWithPrivateOverloads.ts | 49 + .../memberFunctionsWithPublicOverloads.ts | 40 + ...mberFunctionsWithPublicPrivateOverloads.ts | 45 + .../staticFactory1.ts | 13 + ...mberAssignsToConstructorFunctionMembers.ts | 12 + .../typeOfThisInMemberFunctions.ts | 31 + .../propertyAndAccessorWithSameName.ts | 19 + .../propertyAndFunctionWithSameName.ts | 11 + .../propertyNamedPrototype.ts | 4 + .../staticAndNonStaticPropertiesSameName.ts | 7 + .../staticMemberInitialization.ts | 6 + .../staticPropertyAndFunctionWithSameName.ts | 9 + .../thisInInstanceMemberInitializer.ts | 8 + .../twoAccessorsWithSameName.ts | 34 + .../twoAccessorsWithSameName2.ts | 16 + tests/cases/conformance/enums/enumBasics.ts | 79 + tests/cases/conformance/enums/enumErrors.ts | 30 + tests/cases/conformance/enums/enumMerging.ts | 65 + .../conformance/enums/enumMergingErrors.ts | 41 + .../arrayLiterals/arrayLiterals.ts | 43 + .../assignmentLHSIsReference.ts | 24 + .../assignmentLHSIsValue.ts | 70 + ...poundAdditionAssignmentLHSCanBeAssigned.ts | 50 + ...ndAdditionAssignmentLHSCannotBeAssigned.ts | 17 + ...ndAdditionAssignmentWithInvalidOperands.ts | 40 + ...undArithmeticAssignmentLHSCanBeAssigned.ts | 26 + ...ArithmeticAssignmentWithInvalidOperands.ts | 60 + .../compoundAssignmentLHSIsReference.ts | 34 + .../compoundAssignmentLHSIsValue.ts | 122 + .../additionOperatorWithAnyAndEveryType.ts | 39 + .../additionOperatorWithInvalidOperands.ts | 40 + ...OperatorWithNullValueAndInvalidOperator.ts | 23 + ...onOperatorWithNullValueAndValidOperator.ts | 30 + .../additionOperatorWithNumberAndEnum.ts | 14 + ...eratorWithOnlyNullValueOrUndefinedValue.ts | 5 + .../additionOperatorWithStringAndEveryType.ts | 38 + .../additionOperatorWithTypeParameter.ts | 38 + ...torWithUndefinedValueAndInvalidOperands.ts | 23 + ...ratorWithUndefinedValueAndValidOperator.ts | 30 + .../arithmeticOperatorWithAnyAndNumber.ts | 102 + .../arithmeticOperatorWithEnum.ts | 150 + .../arithmeticOperatorWithInvalidOperands.ts | 581 + ...OperatorWithNullValueAndInvalidOperands.ts | 176 + ...icOperatorWithNullValueAndValidOperands.ts | 110 + ...eratorWithOnlyNullValueOrUndefinedValue.ts | 59 + .../arithmeticOperatorWithTypeParameter.ts | 129 + ...torWithUndefinedValueAndInvalidOperands.ts | 176 + ...ratorWithUndefinedValueAndValidOperands.ts | 110 + .../comparisonOperatorWithIdenticalObjects.ts | 194 + ...risonOperatorWithIdenticalPrimitiveType.ts | 79 + ...risonOperatorWithIdenticalTypeParameter.ts | 10 + ...ithNoRelationshipObjectsOnCallSignature.ts | 168 + ...lationshipObjectsOnConstructorSignature.ts | 168 + ...thNoRelationshipObjectsOnIndexSignature.ts | 111 + ...nshipObjectsOnInstantiatedCallSignature.ts | 149 + ...jectsOnInstantiatedConstructorSignature.ts | 149 + ...NoRelationshipObjectsOnOptionalProperty.ts | 42 + ...atorWithNoRelationshipObjectsOnProperty.ts | 76 + ...OperatorWithNoRelationshipPrimitiveType.ts | 215 + ...OperatorWithNoRelationshipTypeParameter.ts | 156 + .../comparisonOperatorWithOneOperandIsAny.ts | 167 + .../comparisonOperatorWithOneOperandIsNull.ts | 165 + ...arisonOperatorWithOneOperandIsUndefined.ts | 167 + ...parisonOperatorWithSubtypeEnumAndNumber.ts | 68 + ...peratorWithSubtypeObjectOnCallSignature.ts | 259 + ...WithSubtypeObjectOnConstructorSignature.ts | 221 + ...eratorWithSubtypeObjectOnIndexSignature.ts | 107 + ...ubtypeObjectOnInstantiatedCallSignature.ts | 164 + ...bjectOnInstantiatedConstructorSignature.ts | 164 + ...atorWithSubtypeObjectOnOptionalProperty.ts | 43 + ...isonOperatorWithSubtypeObjectOnProperty.ts | 78 + ...comparisonOperatorWithTwoOperandsAreAny.ts | 10 + .../comparisonOperatorWithTypeParameter.ts | 78 + .../inOperatorWithInvalidOperands.ts | 40 + .../inOperator/inOperatorWithValidOperands.ts | 23 + .../instanceofOperatorWithAny.ts | 3 + .../instanceofOperatorWithInvalidOperands.ts | 46 + .../instanceofOperatorWithLHSIsObject.ts | 12 + ...nstanceofOperatorWithLHSIsTypeParameter.ts | 4 + ...nceofOperatorWithRHSIsSubtypeOfFunction.ts | 14 + .../logicalAndOperatorWithEveryType.ts | 123 + .../logicalAndOperatorWithTypeParameters.ts | 19 + .../logicalOrExpressionIsContextuallyTyped.ts | 6 + ...gicalOrExpressionIsNotContextuallyTyped.ts | 10 + .../logicalOrOperatorWithEveryType.ts | 125 + .../logicalOrOperatorWithTypeParameters.ts | 23 + .../commaOperatorInvalidAssignmentType.ts | 17 + .../commaOperatorOtherInvalidOperation.ts | 13 + .../commaOperatorOtherValidOperation.ts | 20 + .../commaOperatorWithSecondOperandAnyType.ts | 36 + ...mmaOperatorWithSecondOperandBooleanType.ts | 34 + ...ommaOperatorWithSecondOperandNumberType.ts | 34 + ...ommaOperatorWithSecondOperandObjectType.ts | 38 + ...ommaOperatorWithSecondOperandStringType.ts | 36 + .../commaOperatorWithoutOperand.ts | 23 + .../commaOperatorsMultipleOperators.ts | 26 + ...nditionalOperatorConditionIsBooleanType.ts | 54 + ...onditionalOperatorConditionIsNumberType.ts | 57 + ...onditionalOperatorConditionIsObjectType.ts | 57 + .../conditionalOperatorConditoinIsAnyType.ts | 55 + ...onditionalOperatorConditoinIsStringType.ts | 57 + .../conditionalOperatorWithIdenticalBCT.ts | 46 + .../conditionalOperatorWithoutIdenticalBCT.ts | 21 + .../generatedContextualTyping.ts | 354 + .../functionCalls/functionCalls.ts | 35 + .../functionCalls/grammarAmbiguities.ts | 10 + .../functionCalls/overloadResolution.ts | 93 + .../overloadResolutionClassConstructors.ts | 100 + .../overloadResolutionConstructors.ts | 101 + .../functionCalls/typeArgumentInference.ts | 99 + ...ypeArgumentInferenceConstructSignatures.ts | 137 + .../typeArgumentInferenceErrors.ts | 15 + ...eArgumentInferenceTransitiveConstraints.ts | 7 + .../typeArgumentInferenceWithConstraints.ts | 104 + .../functions/arrowFunctionContexts.ts | 95 + .../functions/arrowFunctionExpressions.ts | 87 + .../typeOfThisInFunctionExpression.ts | 45 + .../identifiers/scopeResolutionIdentifiers.ts | 37 + .../expressions/literals/literals.ts | 39 + .../newOperator/newOperatorConformance.ts | 62 + .../newOperator/newOperatorErrorCases.ts | 37 + .../objectLiterals/objectLiteralErrors.ts | 46 + .../objectLiterals/objectLiteralErrorsES3.ts | 6 + .../objectLiteralGettersAndSetters.ts | 82 + .../operators/incrementAndDecrement.ts | 60 + .../propertyAccess/propertyAccess.ts | 132 + .../expressions/superCalls/errorSuperCalls.ts | 73 + .../expressions/superCalls/superCalls.ts | 29 + .../errorSuperPropertyAccess.ts | 127 + .../superPropertyAccessNoError.ts | 60 + .../thisKeyword/thisInInvalidContexts.ts | 47 + .../thisInInvalidContextsExternalModule.ts | 48 + .../thisKeyword/thisInObjectLiterals.ts | 17 + .../expressions/thisKeyword/typeOfThis.ts | 176 + .../typeOfThisInConstructorParamList.ts | 5 + .../typeAssertions/typeAssertions.ts | 41 + .../bitwiseNotOperatorInvalidOperations.ts | 11 + .../bitwiseNotOperatorWithAnyOtherType.ts | 62 + .../bitwiseNotOperatorWithBooleanType.ts | 38 + .../bitwiseNotOperatorWithEnumType.ts | 18 + .../bitwiseNotOperatorWithNumberType.ts | 44 + .../bitwiseNotOperatorWithStringType.ts | 43 + .../decrementOperatorWithAnyOtherType.ts | 48 + ...eratorWithAnyOtherTypeInvalidOperations.ts | 72 + .../decrementOperatorWithEnumType.ts | 12 + ...ntOperatorWithEnumTypeInvalidOperations.ts | 22 + .../decrementOperatorWithNumberType.ts | 39 + ...OperatorWithNumberTypeInvalidOperations.ts | 46 + ...ementOperatorWithUnsupportedBooleanType.ts | 54 + ...rementOperatorWithUnsupportedStringType.ts | 65 + .../deleteOperatorInvalidOperations.ts | 15 + .../deleteOperatorWithAnyOtherType.ts | 61 + .../deleteOperatorWithBooleanType.ts | 38 + .../deleteOperatorWithEnumType.ts | 22 + .../deleteOperatorWithNumberType.ts | 45 + .../deleteOperatorWithStringType.ts | 44 + .../incrementOperatorWithAnyOtherType.ts | 48 + ...eratorWithAnyOtherTypeInvalidOperations.ts | 69 + .../incrementOperatorWithEnumType.ts | 12 + ...ntOperatorWithEnumTypeInvalidOperations.ts | 22 + .../incrementOperatorWithNumberType.ts | 39 + ...OperatorWithNumberTypeInvalidOperations.ts | 46 + ...ementOperatorWithUnsupportedBooleanType.ts | 54 + ...rementOperatorWithUnsupportedStringType.ts | 65 + .../logicalNotOperatorInvalidOperations.ts | 11 + .../logicalNotOperatorWithAnyOtherType.ts | 59 + .../logicalNotOperatorWithBooleanType.ts | 38 + .../logicalNotOperatorWithEnumType.ts | 21 + .../logicalNotOperatorWithNumberType.ts | 45 + .../logicalNotOperatorWithStringType.ts | 44 + .../negateOperatorInvalidOperations.ts | 12 + .../negateOperatorWithAnyOtherType.ts | 53 + .../negateOperatorWithBooleanType.ts | 35 + .../negateOperatorWithEnumType.ts | 17 + .../negateOperatorWithNumberType.ts | 41 + .../negateOperatorWithStringType.ts | 40 + .../plusOperatorInvalidOperations.ts | 8 + .../plusOperatorWithAnyOtherType.ts | 56 + .../plusOperatorWithBooleanType.ts | 35 + .../plusOperator/plusOperatorWithEnumType.ts | 18 + .../plusOperatorWithNumberType.ts | 41 + .../plusOperatorWithStringType.ts | 40 + .../typeofOperatorInvalidOperations.ts | 7 + .../typeofOperatorWithAnyOtherType.ts | 74 + .../typeofOperatorWithBooleanType.ts | 50 + .../typeofOperatorWithEnumType.ts | 27 + .../typeofOperatorWithNumberType.ts | 57 + .../typeofOperatorWithStringType.ts | 57 + .../voidOperatorInvalidOperations.ts | 7 + .../voidOperatorWithAnyOtherType.ts | 60 + .../voidOperatorWithBooleanType.ts | 38 + .../voidOperator/voidOperatorWithEnumType.ts | 22 + .../voidOperatorWithNumberType.ts | 45 + .../voidOperatorWithStringType.ts | 44 + .../assignmentToParenthesizedIdentifiers.ts | 70 + .../valuesAndReferences/assignments.ts | 31 + .../amdImportAsPrimaryExpression.ts | 11 + .../amdImportNotAsPrimaryExpression.ts | 31 + .../externalModules/circularReference.ts | 31 + .../commonJSImportAsPrimaryExpression.ts | 12 + .../commonJSImportNotAsPrimaryExpression.ts | 31 + .../duplicateExportAssignments.ts | 39 + .../externalModules/exportAssignDottedName.ts | 8 + .../exportAssignImportedIdentifier.ts | 13 + .../exportAssignNonIdentifier.ts | 25 + .../externalModules/exportAssignTypes.ts | 51 + .../exportAssignmentAndDeclaration.ts | 12 + .../exportAssignmentCircularModules.ts | 21 + .../exportAssignmentConstrainedGenericType.ts | 14 + .../exportAssignmentGenericType.ts | 11 + .../exportAssignmentMergedInterface.ts | 22 + .../exportAssignmentMergedModule.ts | 24 + .../exportAssignmentTopLevelClodule.ts | 15 + .../exportAssignmentTopLevelEnumdule.ts | 16 + .../exportAssignmentTopLevelFundule.ts | 15 + .../exportAssignmentTopLevelIdentifier.ts | 12 + .../externalModules/exportDeclaredModule.ts | 11 + .../externalModules/exportNonVisibleType.ts | 33 + .../externalModules/importImportOnlyModule.ts | 14 + .../importNonExternalModule.ts | 12 + .../externalModules/importNonStringLiteral.ts | 4 + .../externalModules/importTsBeforeDTs.ts | 12 + .../initializersInDeclarations.ts | 20 + .../externalModules/moduleScoping.ts | 20 + .../externalModules/nameDelimitedBySlashes.ts | 7 + .../externalModules/nameWithFileExtension.ts | 7 + .../externalModules/nameWithRelativePaths.ts | 22 + .../relativePathMustResolve.ts | 7 + .../relativePathToDeclarationFile.ts | 24 + .../externalModules/topLevelAmbientModule.ts | 10 + .../externalModules/topLevelFileModule.ts | 11 + .../topLevelFileModuleMissing.ts | 7 + .../topLevelModuleDeclarationAndFile.ts | 15 + ...typesOnlyExternalModuleStillHasInstance.ts | 19 + .../functions/conformanceFunctionOverloads.ts | 22 + .../functions/functionImplementationErrors.ts | 43 + .../functions/functionImplementations.ts | 123 + .../functions/functionNameConflicts.ts | 26 + .../functions/functionOverloadErrors.ts | 117 + .../functions/functionOverloadErrorsSyntax.ts | 10 + ...icAndNonGenericInterfaceWithTheSameName.ts | 43 + ...cAndNonGenericInterfaceWithTheSameName2.ts | 27 + .../mergeThreeInterfaces.ts | 78 + .../mergeThreeInterfaces2.ts | 67 + .../declarationMerging/mergeTwoInterfaces.ts | 57 + .../declarationMerging/mergeTwoInterfaces2.ts | 47 + ...dInterfacesWithConflictingPropertyNames.ts | 41 + ...InterfacesWithConflictingPropertyNames2.ts | 41 + .../mergedInterfacesWithIndexers.ts | 15 + .../mergedInterfacesWithIndexers2.ts | 21 + .../mergedInterfacesWithInheritedPrivates.ts | 26 + .../mergedInterfacesWithInheritedPrivates2.ts | 31 + .../mergedInterfacesWithInheritedPrivates3.ts | 38 + .../mergedInterfacesWithMultipleBases.ts | 54 + .../mergedInterfacesWithMultipleBases2.ts | 75 + .../mergedInterfacesWithMultipleBases3.ts | 35 + .../mergedInterfacesWithMultipleBases4.ts | 34 + ...cInterfacesDifferingByTypeParameterName.ts | 60 + ...InterfacesDifferingByTypeParameterName2.ts | 44 + ...nericInterfacesWithDifferentConstraints.ts | 41 + ...erfacesWithTheSameNameButDifferentArity.ts | 41 + .../twoInterfacesDifferentRootModule.ts | 29 + .../twoInterfacesDifferentRootModule2.ts | 37 + ...oMergedInterfacesWithDifferingOverloads.ts | 50 + ...MergedInterfacesWithDifferingOverloads2.ts | 31 + ...vedInterfaceIncompatibleWithBaseIndexer.ts | 29 + .../interfaceThatHidesBaseProperty.ts | 9 + .../interfaceThatHidesBaseProperty2.ts | 9 + ...terfaceThatIndirectlyInheritsFromItself.ts | 25 + .../interfaceThatInheritsFromItself.ts | 12 + .../interfaceWithCallAndConstructSignature.ts | 8 + ...ithCallSignaturesThatHidesBaseSignature.ts | 10 + ...thCallSignaturesThatHidesBaseSignature2.ts | 10 + ...nstructSignaturesThatHidesBaseSignature.ts | 10 + ...structSignaturesThatHidesBaseSignature2.ts | 10 + .../interfaceWithMultipleBaseTypes.ts | 63 + .../interfaceWithMultipleBaseTypes2.ts | 24 + ...ithOverloadedCallAndConstructSignatures.ts | 13 + .../interfaceWithPropertyOfEveryType.ts | 42 + ...faceWithPropertyThatIsPrivateInBaseType.ts | 15 + ...aceWithPropertyThatIsPrivateInBaseType2.ts | 15 + ...thSpecializedCallAndConstructSignatures.ts | 13 + ...eWithStringIndexerHidingBaseTypeIndexer.ts | 16 + ...WithStringIndexerHidingBaseTypeIndexer2.ts | 20 + ...WithStringIndexerHidingBaseTypeIndexer3.ts | 16 + .../interfacesWithPredefinedTypesAsNames.ts | 5 + ...ngAnInterfaceExtendingClassWithPrivates.ts | 24 + ...gAnInterfaceExtendingClassWithPrivates2.ts | 85 + .../interfaceExtendingClass.ts | 19 + .../interfaceExtendingClass2.ts | 15 + .../interfaceExtendingClassWithPrivates.ts | 15 + .../interfaceExtendingClassWithPrivates2.ts | 27 + ...entFunctionWithTheSameNameAndCommonRoot.ts | 12 + ...duleAndAmbientWithSameNameAndCommonRoot.ts | 24 + ...onAmbientClassWithSameNameAndCommonRoot.ts | 21 + ...entFunctionWithTheSameNameAndCommonRoot.ts | 14 + ...hModuleMemberThatUsesClassTypeParameter.ts | 48 + ...GenericClassStaticFunctionOfTheSameName.ts | 14 + ...GenericClassStaticFunctionOfTheSameName.ts | 14 + ...dStaticFunctionUsingClassPrivateStatics.ts | 14 + ...nctionAndExportedFunctionThatShareAName.ts | 22 + ...ionAndNonExportedFunctionThatShareAName.ts | 22 + ...ticVariableAndExportedVarThatShareAName.ts | 22 + ...VariableAndNonExportedVarThatShareAName.ts | 22 + ...FunctionWithTypeIncompatibleWithIndexer.ts | 1 + ...ClassAndModuleWithSameNameAndCommonRoot.ts | 38 + .../EnumAndModuleWithSameNameAndCommonRoot.ts | 16 + ...ctionAndModuleWithSameNameAndCommonRoot.ts | 41 + ...oduleWithSameNameAndDifferentCommonRoot.ts | 20 + ...ModuleAndClassWithSameNameAndCommonRoot.ts | 29 + .../ModuleAndEnumWithSameNameAndCommonRoot.ts | 16 + ...uleAndFunctionWithSameNameAndCommonRoot.ts | 27 + ...ortedAndNonExportedClassesOfTheSameName.ts | 39 + ...edAndNonExportedInterfacesOfTheSameName.ts | 36 + ...tedAndNonExportedLocalVarsOfTheSameName.ts | 39 + ...rgeEachWithExportedClassesOfTheSameName.ts | 31 + ...EachWithExportedInterfacesOfTheSameName.ts | 36 + ...eEachWithExportedLocalVarsOfTheSameName.ts | 27 + ...rgeEachWithExportedModulesOfTheSameName.ts | 33 + ...esWithTheSameNameAndDifferentCommonRoot.ts | 29 + ...ModulesWithTheSameNameAndSameCommonRoot.ts | 37 + .../codeGeneration/exportCodeGen.ts | 54 + .../codeGeneration/importStatements.ts | 34 + .../importStatementsInterfaces.ts | 41 + .../codeGeneration/nameCollision.ts | 46 + ...ichExtendsInterfaceWithInaccessibleType.ts | 18 + ...sClassHeritageListMemberTypeAnnotations.ts | 19 + ...naccessibleTypeInIndexerTypeAnnotations.ts | 14 + ...accessibleTypeInTypeParameterConstraint.ts | 23 + ...TypesInParameterAndReturnTypeAnnotation.ts | 15 + ...ccessibleTypesInParameterTypeAnnotation.ts | 15 + ...InaccessibleTypesInReturnTypeAnnotation.ts | 15 + ...sClassHeritageListMemberTypeAnnotations.ts | 21 + ...naccessibleTypeInIndexerTypeAnnotations.ts | 14 + ...accessibleTypeInTypeParameterConstraint.ts | 22 + ...WithAccessibleTypesOnItsExportedMembers.ts | 20 + ...hAccessibleTypesInMemberTypeAnnotations.ts | 10 + ...sibleTypesInNestedMemberTypeAnnotations.ts | 11 + ...cTypeWithInaccessibleTypeAsTypeArgument.ts | 8 + ...iableWithAccessibleTypeInTypeAnnotation.ts | 10 + ...bleWithInaccessibleTypeInTypeAnnotation.ts | 17 + ...ModuleWithExportedAndNonExportedClasses.ts | 32 + .../ModuleWithExportedAndNonExportedEnums.ts | 10 + ...duleWithExportedAndNonExportedFunctions.ts | 29 + ...leWithExportedAndNonExportedImportAlias.ts | 38 + ...duleWithExportedAndNonExportedVariables.ts | 11 + .../importDeclarations/circularImportAlias.ts | 18 + .../importDeclarations/exportImportAlias.ts | 68 + .../importAliasIdentifiers.ts | 46 + .../invalidImportAliasIdentifiers.ts | 23 + .../shadowedInternalModule.ts | 33 + .../invalidModuleWithStatementsOfEveryKind.ts | 77 + .../invalidModuleWithVarStatements.ts | 26 + .../moduleWithStatementsOfEveryKind.ts | 49 + .../InvalidNonInstantiatedModule.ts | 7 + .../moduleDeclarations/instantiatedModule.ts | 59 + .../invalidInstantiatedModule.ts | 15 + .../invalidNestedModules.ts | 28 + .../moduleDeclarations/nestedModules.ts | 31 + .../nonInstantiatedModule.ts | 45 + .../Accessors/parserES3Accessors1.ts | 3 + .../Accessors/parserES3Accessors2.ts | 3 + .../Accessors/parserES3Accessors3.ts | 1 + .../Accessors/parserES3Accessors4.ts | 1 + .../ecmascript5/Accessors/parserAccessors1.ts | 4 + .../Accessors/parserAccessors10.ts | 4 + .../ecmascript5/Accessors/parserAccessors2.ts | 4 + .../ecmascript5/Accessors/parserAccessors3.ts | 2 + .../ecmascript5/Accessors/parserAccessors4.ts | 2 + .../ecmascript5/Accessors/parserAccessors5.ts | 4 + .../ecmascript5/Accessors/parserAccessors6.ts | 4 + .../ecmascript5/Accessors/parserAccessors7.ts | 2 + .../ecmascript5/Accessors/parserAccessors8.ts | 2 + .../ecmascript5/Accessors/parserAccessors9.ts | 2 + .../parserGetAccessorWithTypeParameters1.ts | 4 + .../parserSetAccessorWithTypeAnnotation1.ts | 5 + .../parserSetAccessorWithTypeParameters1.ts | 4 + .../parserArrayLiteralExpression1.ts | 1 + .../parserArrayLiteralExpression10.ts | 1 + .../parserArrayLiteralExpression11.ts | 1 + .../parserArrayLiteralExpression12.ts | 1 + .../parserArrayLiteralExpression13.ts | 1 + .../parserArrayLiteralExpression14.ts | 1 + .../parserArrayLiteralExpression15.ts | 1 + .../parserArrayLiteralExpression2.ts | 1 + .../parserArrayLiteralExpression3.ts | 1 + .../parserArrayLiteralExpression4.ts | 1 + .../parserArrayLiteralExpression5.ts | 1 + .../parserArrayLiteralExpression6.ts | 1 + .../parserArrayLiteralExpression7.ts | 1 + .../parserArrayLiteralExpression8.ts | 1 + .../parserArrayLiteralExpression9.ts | 1 + .../parserArrowFunctionExpression1.ts | 1 + .../parserArrowFunctionExpression2.ts | 1 + .../parserArrowFunctionExpression3.ts | 1 + .../parserArrowFunctionExpression4.ts | 1 + .../parserAutomaticSemicolonInsertion1.ts | 14 + .../parserCatchClauseWithTypeAnnotation1.ts | 3 + .../ClassDeclarations/parserClass1.ts | 9 + .../ClassDeclarations/parserClass2.ts | 7 + .../parserClassDeclaration1.ts | 2 + .../parserClassDeclaration10.ts | 4 + .../parserClassDeclaration11.ts | 4 + .../parserClassDeclaration12.ts | 4 + .../parserClassDeclaration13.ts | 4 + .../parserClassDeclaration14.ts | 4 + .../parserClassDeclaration15.ts | 4 + .../parserClassDeclaration16.ts | 4 + .../parserClassDeclaration17.ts | 6 + .../parserClassDeclaration18.ts | 7 + .../parserClassDeclaration19.ts | 4 + .../parserClassDeclaration2.ts | 2 + .../parserClassDeclaration20.ts | 4 + .../parserClassDeclaration21.ts | 4 + .../parserClassDeclaration22.ts | 4 + .../parserClassDeclaration23.ts | 2 + .../parserClassDeclaration24.ts | 2 + .../parserClassDeclaration25.ts | 8 + .../parserClassDeclaration26.ts | 4 + .../parserClassDeclaration3.ts | 2 + .../parserClassDeclaration4.ts | 2 + .../parserClassDeclaration5.ts | 2 + .../parserClassDeclaration6.ts | 2 + .../parserClassDeclaration7.d.ts | 2 + .../parserClassDeclaration7.ts | 4 + .../parserClassDeclaration8.ts | 3 + .../parserClassDeclaration9.ts | 3 + .../parserClassDeclarationIndexSignature1.ts | 3 + .../parserConstructorDeclaration1.ts | 3 + .../parserConstructorDeclaration10.ts | 3 + .../parserConstructorDeclaration11.ts | 3 + .../parserConstructorDeclaration2.ts | 3 + .../parserConstructorDeclaration3.ts | 3 + .../parserConstructorDeclaration4.ts | 3 + .../parserConstructorDeclaration5.ts | 3 + .../parserConstructorDeclaration6.ts | 3 + .../parserConstructorDeclaration7.ts | 3 + .../parserConstructorDeclaration8.ts | 4 + .../parserConstructorDeclaration9.ts | 3 + .../EnumDeclarations/parserEnum1.ts | 8 + .../EnumDeclarations/parserEnum2.ts | 8 + .../EnumDeclarations/parserEnum3.ts | 4 + .../EnumDeclarations/parserEnum4.ts | 5 + .../EnumDeclarations/parserEnum5.ts | 3 + .../EnumDeclarations/parserEnum6.ts | 3 + .../EnumDeclarations/parserEnum7.ts | 3 + .../parserEnumDeclaration1.ts | 4 + .../parserEnumDeclaration2.d.ts | 2 + .../parserEnumDeclaration2.ts | 4 + .../parserEnumDeclaration3.d.ts | 3 + .../parserEnumDeclaration3.ts | 3 + .../parserEnumDeclaration4.ts | 2 + .../parserEnumDeclaration5.ts | 6 + .../parserEnumDeclaration6.ts | 6 + .../parserInterfaceKeywordInEnum.ts | 3 + .../parserInterfaceKeywordInEnum1.ts | 5 + .../parserAccessibilityAfterStatic1.ts | 4 + .../parserAccessibilityAfterStatic10.ts | 4 + .../parserAccessibilityAfterStatic11.ts | 4 + .../parserAccessibilityAfterStatic14.ts | 4 + .../parserAccessibilityAfterStatic2.ts | 4 + .../parserAccessibilityAfterStatic3.ts | 4 + .../parserAccessibilityAfterStatic4.ts | 4 + .../parserAccessibilityAfterStatic5.ts | 4 + .../parserAccessibilityAfterStatic6.ts | 3 + .../parserAccessibilityAfterStatic7.ts | 4 + .../parserErrorRecovery_ArgumentList1.ts | 4 + .../parserErrorRecovery_ArgumentList2.ts | 3 + .../parserErrorRecovery_ArgumentList3.ts | 4 + .../parserErrorRecovery_ArgumentList4.ts | 4 + .../parserErrorRecovery_ArgumentList5.ts | 4 + .../parserErrorRecovery_ArgumentList6.ts | 1 + .../parserErrorRecovery_ArgumentList7.ts | 1 + ...serErrorRecoveryArrayLiteralExpression1.ts | 2 + ...serErrorRecoveryArrayLiteralExpression2.ts | 3 + ...serErrorRecoveryArrayLiteralExpression3.ts | 2 + .../ArrowFunctions/parserX_ArrowFunction1.ts | 3 + .../ArrowFunctions/parserX_ArrowFunction2.ts | 3 + .../ArrowFunctions/parserX_ArrowFunction3.ts | 3 + .../ArrowFunctions/parserX_ArrowFunction4.ts | 3 + .../Blocks/parserErrorRecovery_Block1.ts | 4 + .../Blocks/parserErrorRecovery_Block2.ts | 4 + .../Blocks/parserErrorRecovery_Block3.ts | 6 + .../parserErrorRecovery_ClassElement1.ts | 6 + .../parserErrorRecovery_ClassElement2.ts | 6 + .../parserErrorRecovery_ClassElement3.ts | 7 + .../parserErrorRecovery_Expression1.ts | 1 + ...rrorRecovery_ExtendsOrImplementsClause1.ts | 2 + ...rrorRecovery_ExtendsOrImplementsClause2.ts | 2 + ...rrorRecovery_ExtendsOrImplementsClause3.ts | 2 + ...rrorRecovery_ExtendsOrImplementsClause4.ts | 2 + ...rrorRecovery_ExtendsOrImplementsClause5.ts | 2 + ...rrorRecovery_ExtendsOrImplementsClause6.ts | 1 + .../parserErrorRecoveryIfStatement1.ts | 9 + .../parserErrorRecoveryIfStatement2.ts | 9 + .../parserErrorRecoveryIfStatement3.ts | 9 + .../parserErrorRecoveryIfStatement4.ts | 9 + .../parserErrorRecoveryIfStatement5.ts | 9 + .../parserErrorRecoveryIfStatement6.ts | 9 + ...ErrorRecovery_IncompleteMemberVariable1.ts | 27 + ...ErrorRecovery_IncompleteMemberVariable2.ts | 27 + .../parserErrorRecovery_LeftShift1.ts | 1 + .../parserErrorRecovery_ModuleElement1.ts | 4 + .../parserErrorRecovery_ModuleElement2.ts | 8 + .../parserErrorRecovery_ObjectLiteral1.ts | 1 + .../parserErrorRecovery_ObjectLiteral2.ts | 2 + .../parserErrorRecovery_ObjectLiteral3.ts | 2 + .../parserErrorRecovery_ObjectLiteral4.ts | 2 + .../parserErrorRecovery_ObjectLiteral5.ts | 2 + .../parserErrorRecovery_ParameterList1.ts | 2 + .../parserErrorRecovery_ParameterList2.ts | 2 + .../parserErrorRecovery_ParameterList3.ts | 2 + .../parserErrorRecovery_ParameterList4.ts | 2 + .../parserErrorRecovery_ParameterList5.ts | 1 + .../parserErrorRecovery_ParameterList6.ts | 3 + .../parserErrorRecovery_SourceUnit1.ts | 5 + .../parserErrorRecovery_SwitchStatement1.ts | 7 + .../parserErrorRecovery_SwitchStatement2.ts | 6 + .../parserX_TypeArgumentList1.ts | 1 + .../parserErrorRecovery_VariableList1.ts | 2 + ...InvalidIdentifiersInVariableStatements1.ts | 4 + .../VariableLists/parserVariableStatement1.ts | 3 + .../VariableLists/parserVariableStatement2.ts | 3 + .../VariableLists/parserVariableStatement3.ts | 4 + .../VariableLists/parserVariableStatement4.ts | 4 + .../parserCommaInTypeMemberList1.ts | 1 + .../parserCommaInTypeMemberList2.ts | 1 + .../parserEmptyParenthesizedExpression1.ts | 3 + .../parserEqualsGreaterThanAfterFunction1.ts | 1 + .../parserEqualsGreaterThanAfterFunction2.ts | 1 + ...serErrantAccessibilityModifierInModule1.ts | 5 + ...erErrantEqualsGreaterThanAfterFunction1.ts | 1 + ...erErrantEqualsGreaterThanAfterFunction2.ts | 1 + .../parserErrantSemicolonInClass1.ts | 34 + .../ecmascript5/ErrorRecovery/parserFuzz1.ts | 2 + .../parserMissingLambdaOpenBrace1.ts | 8 + .../parserModifierOnPropertySignature1.ts | 3 + .../parserModifierOnPropertySignature2.ts | 4 + .../parserModifierOnStatementInBlock1.ts | 3 + .../parserModifierOnStatementInBlock2.ts | 3 + .../parserModifierOnStatementInBlock3.ts | 4 + .../parserModifierOnStatementInBlock4.ts | 4 + .../ErrorRecovery/parserPublicBreak1.ts | 1 + ...atementIsNotAMemberVariableDeclaration1.ts | 10 + .../parserUnfinishedTypeNameBeforeKeyword1.ts | 3 + .../parserUnterminatedGeneric1.ts | 2 + .../parserUnterminatedGeneric2.ts | 8 + .../parserExportAssignment1.ts | 1 + .../parserExportAssignment2.ts | 1 + .../parserExportAssignment3.ts | 1 + .../parserExportAssignment4.ts | 1 + .../parserExportAssignment5.ts | 3 + .../parserExportAssignment6.ts | 3 + .../parserExportAssignment7.ts | 4 + .../parserExportAssignment8.ts | 4 + .../parserAssignmentExpression1.ts | 1 + .../parserConditionalExpression1.ts | 1 + ...berAccessOffOfObjectCreationExpression1.ts | 1 + ...rserMemberAccessAfterPostfixExpression1.ts | 1 + .../Expressions/parserObjectCreation2.ts | 1 + .../parserPostfixPostfixExpression1.ts | 1 + .../parserPostfixUnaryExpression1.ts | 1 + ...ypeAssertionInObjectCreationExpression1.ts | 1 + .../Expressions/parserUnaryExpression1.ts | 1 + .../Expressions/parserUnaryExpression2.ts | 1 + .../Expressions/parserUnaryExpression3.ts | 1 + .../Expressions/parserUnaryExpression4.ts | 1 + .../Expressions/parserUnaryExpression5.ts | 1 + .../Expressions/parserUnaryExpression6.ts | 0 .../Expressions/parserUnaryExpression7.ts | 1 + .../parserFunctionDeclaration1.d.ts | 1 + .../parserFunctionDeclaration1.ts | 3 + .../parserFunctionDeclaration2.d.ts | 2 + .../parserFunctionDeclaration2.ts | 2 + .../parserFunctionDeclaration3.ts | 1 + .../parserFunctionDeclaration4.ts | 2 + .../parserFunctionDeclaration5.ts | 2 + .../parserFunctionDeclaration6.ts | 4 + .../parserFunctionDeclaration7.ts | 3 + .../parserFunctionDeclaration8.ts | 3 + .../parser/ecmascript5/Fuzz/parser0_004152.ts | 4 + .../parser/ecmascript5/Fuzz/parser768531.ts | 2 + .../ecmascript5/Generics/parserAmbiguity1.ts | 1 + .../ecmascript5/Generics/parserAmbiguity2.ts | 1 + .../ecmascript5/Generics/parserAmbiguity3.ts | 1 + .../parserCastVersusArrowFunction1.ts | 10 + .../Generics/parserConstructorAmbiguity1.ts | 1 + .../Generics/parserConstructorAmbiguity2.ts | 1 + .../Generics/parserConstructorAmbiguity3.ts | 1 + .../Generics/parserConstructorAmbiguity4.ts | 1 + .../Generics/parserGenericClass1.ts | 2 + .../Generics/parserGenericClass2.ts | 2 + .../Generics/parserGenericConstraint1.ts | 2 + .../Generics/parserGenericConstraint2.ts | 2 + .../Generics/parserGenericConstraint3.ts | 2 + .../Generics/parserGenericConstraint4.ts | 2 + .../Generics/parserGenericConstraint5.ts | 2 + .../Generics/parserGenericConstraint6.ts | 2 + .../Generics/parserGenericConstraint7.ts | 2 + .../parserGenericsInInterfaceDeclaration1.ts | 7 + .../Generics/parserGenericsInTypeContexts1.ts | 16 + .../Generics/parserGenericsInTypeContexts2.ts | 16 + .../parserGenericsInVariableDeclaration1.ts | 8 + .../parserGreaterThanTokenAmbiguity1.ts | 1 + .../parserGreaterThanTokenAmbiguity10.ts | 4 + .../parserGreaterThanTokenAmbiguity11.ts | 1 + .../parserGreaterThanTokenAmbiguity12.ts | 1 + .../parserGreaterThanTokenAmbiguity13.ts | 1 + .../parserGreaterThanTokenAmbiguity14.ts | 2 + .../parserGreaterThanTokenAmbiguity15.ts | 4 + .../parserGreaterThanTokenAmbiguity16.ts | 1 + .../parserGreaterThanTokenAmbiguity17.ts | 1 + .../parserGreaterThanTokenAmbiguity18.ts | 1 + .../parserGreaterThanTokenAmbiguity19.ts | 2 + .../parserGreaterThanTokenAmbiguity2.ts | 1 + .../parserGreaterThanTokenAmbiguity20.ts | 4 + .../parserGreaterThanTokenAmbiguity3.ts | 1 + .../parserGreaterThanTokenAmbiguity4.ts | 2 + .../parserGreaterThanTokenAmbiguity5.ts | 4 + .../parserGreaterThanTokenAmbiguity6.ts | 1 + .../parserGreaterThanTokenAmbiguity7.ts | 1 + .../parserGreaterThanTokenAmbiguity8.ts | 1 + .../parserGreaterThanTokenAmbiguity9.ts | 2 + .../Generics/parserMemberAccessExpression1.ts | 4 + .../parserMemberAccessOffOfGenericType1.ts | 1 + .../Generics/parserObjectCreation1.ts | 1 + .../parserIndexMemberDeclaration1.ts | 3 + .../parserIndexMemberDeclaration10.ts | 3 + .../parserIndexMemberDeclaration2.ts | 4 + .../parserIndexMemberDeclaration3.ts | 4 + .../parserIndexMemberDeclaration4.ts | 3 + .../parserIndexMemberDeclaration5.ts | 3 + .../parserIndexMemberDeclaration6.ts | 3 + .../parserIndexMemberDeclaration7.ts | 3 + .../parserIndexMemberDeclaration8.ts | 3 + .../parserIndexMemberDeclaration9.ts | 3 + .../IndexSignatures/parserIndexSignature1.ts | 3 + .../IndexSignatures/parserIndexSignature10.ts | 3 + .../IndexSignatures/parserIndexSignature11.ts | 5 + .../IndexSignatures/parserIndexSignature2.ts | 3 + .../IndexSignatures/parserIndexSignature3.ts | 3 + .../IndexSignatures/parserIndexSignature4.ts | 3 + .../IndexSignatures/parserIndexSignature5.ts | 3 + .../IndexSignatures/parserIndexSignature6.ts | 3 + .../IndexSignatures/parserIndexSignature7.ts | 3 + .../IndexSignatures/parserIndexSignature8.ts | 2 + .../IndexSignatures/parserIndexSignature9.ts | 3 + .../parserInterfaceDeclaration1.ts | 2 + .../parserInterfaceDeclaration2.ts | 2 + .../parserInterfaceDeclaration3.ts | 2 + .../parserInterfaceDeclaration4.ts | 2 + .../parserInterfaceDeclaration5.ts | 2 + .../parserInterfaceDeclaration6.ts | 2 + .../parserInterfaceDeclaration7.ts | 2 + .../parserInterfaceDeclaration8.ts | 2 + .../parserMemberAccessor1.ts | 5 + .../parserMemberAccessorDeclaration1.ts | 4 + .../parserMemberAccessorDeclaration10.ts | 4 + .../parserMemberAccessorDeclaration11.ts | 4 + .../parserMemberAccessorDeclaration12.ts | 4 + .../parserMemberAccessorDeclaration13.ts | 4 + .../parserMemberAccessorDeclaration14.ts | 4 + .../parserMemberAccessorDeclaration15.ts | 4 + .../parserMemberAccessorDeclaration16.ts | 4 + .../parserMemberAccessorDeclaration17.ts | 4 + .../parserMemberAccessorDeclaration18.ts | 4 + .../parserMemberAccessorDeclaration2.ts | 4 + .../parserMemberAccessorDeclaration3.ts | 4 + .../parserMemberAccessorDeclaration4.ts | 4 + .../parserMemberAccessorDeclaration5.ts | 4 + .../parserMemberAccessorDeclaration6.ts | 4 + .../parserMemberAccessorDeclaration7.ts | 4 + .../parserMemberAccessorDeclaration8.ts | 4 + .../parserMemberAccessorDeclaration9.ts | 4 + .../parserMemberFunctionDeclaration1.ts | 3 + .../parserMemberFunctionDeclaration2.ts | 3 + .../parserMemberFunctionDeclaration3.ts | 3 + .../parserMemberFunctionDeclaration4.ts | 3 + .../parserMemberFunctionDeclaration5.ts | 3 + ...erMemberFunctionDeclarationAmbiguities1.ts | 13 + .../parserMemberVariableDeclaration1.ts | 3 + .../parserMemberVariableDeclaration2.ts | 3 + .../parserMemberVariableDeclaration3.ts | 3 + .../parserMemberVariableDeclaration4.ts | 3 + .../parserMemberVariableDeclaration5.ts | 3 + .../parserMethodSignature1.ts | 3 + .../parserMethodSignature10.ts | 3 + .../parserMethodSignature11.ts | 3 + .../parserMethodSignature12.ts | 3 + .../parserMethodSignature2.ts | 3 + .../parserMethodSignature3.ts | 3 + .../parserMethodSignature4.ts | 3 + .../parserMethodSignature5.ts | 3 + .../parserMethodSignature6.ts | 3 + .../parserMethodSignature7.ts | 3 + .../parserMethodSignature8.ts | 3 + .../parserMethodSignature9.ts | 3 + .../MissingTokens/parserMissingToken1.ts | 1 + .../MissingTokens/parserMissingToken2.ts | 1 + .../ModuleDeclarations/parserModule1.ts | 31 + .../parserModuleDeclaration1.d.ts | 2 + .../parserModuleDeclaration1.ts | 2 + .../parserModuleDeclaration10.ts | 2 + .../parserModuleDeclaration11.ts | 6 + .../parserModuleDeclaration12.ts | 2 + .../parserModuleDeclaration2.d.ts | 2 + .../parserModuleDeclaration2.ts | 2 + .../parserModuleDeclaration3.d.ts | 2 + .../parserModuleDeclaration3.ts | 4 + .../parserModuleDeclaration4.d.ts | 4 + .../parserModuleDeclaration4.ts | 6 + .../parserModuleDeclaration5.ts | 6 + .../parserModuleDeclaration6.ts | 2 + .../parserModuleDeclaration7.ts | 2 + .../parserModuleDeclaration8.ts | 2 + .../parserModuleDeclaration9.ts | 2 + .../ObjectLiterals/parserObjectLiterals1.ts | 1 + .../ObjectTypes/parserObjectType1.ts | 1 + .../ObjectTypes/parserObjectType2.ts | 1 + .../ObjectTypes/parserObjectType3.ts | 4 + .../ObjectTypes/parserObjectType4.ts | 4 + .../ObjectTypes/parserObjectType5.ts | 4 + .../ObjectTypes/parserObjectType6.ts | 4 + .../ParameterLists/parserParameterList1.ts | 3 + .../ParameterLists/parserParameterList10.ts | 3 + .../ParameterLists/parserParameterList11.ts | 1 + .../ParameterLists/parserParameterList12.ts | 2 + .../ParameterLists/parserParameterList13.ts | 3 + .../ParameterLists/parserParameterList14.ts | 3 + .../ParameterLists/parserParameterList15.ts | 2 + .../ParameterLists/parserParameterList16.ts | 4 + .../ParameterLists/parserParameterList17.ts | 4 + .../ParameterLists/parserParameterList2.ts | 3 + .../ParameterLists/parserParameterList3.ts | 3 + .../ParameterLists/parserParameterList4.ts | 2 + .../ParameterLists/parserParameterList5.ts | 2 + .../ParameterLists/parserParameterList6.ts | 4 + .../ParameterLists/parserParameterList7.ts | 5 + .../ParameterLists/parserParameterList8.ts | 5 + .../ParameterLists/parserParameterList9.ts | 3 + .../parserFunctionPropertyAssignment1.ts | 1 + .../parserFunctionPropertyAssignment2.ts | 1 + .../parserFunctionPropertyAssignment3.ts | 1 + .../parserFunctionPropertyAssignment4.ts | 1 + .../parserPropertySignature1.ts | 3 + .../parserPropertySignature10.ts | 3 + .../parserPropertySignature11.ts | 3 + .../parserPropertySignature12.ts | 3 + .../parserPropertySignature2.ts | 3 + .../parserPropertySignature3.ts | 3 + .../parserPropertySignature4.ts | 3 + .../parserPropertySignature5.ts | 3 + .../parserPropertySignature6.ts | 3 + .../parserPropertySignature7.ts | 3 + .../parserPropertySignature8.ts | 3 + .../parserPropertySignature9.ts | 3 + .../ecmascript5/RealWorld/parserharness.ts | 2080 +++ .../ecmascript5/RealWorld/parserindenter.ts | 740 + .../RegressionTests/parser509534.ts | 11 + .../RegressionTests/parser509546.ts | 3 + .../RegressionTests/parser509546_1.ts | 3 + .../RegressionTests/parser509546_2.ts | 5 + .../RegressionTests/parser509618.ts | 3 + .../RegressionTests/parser509630.ts | 5 + .../RegressionTests/parser509667.ts | 11 + .../RegressionTests/parser509668.ts | 4 + .../RegressionTests/parser509669.ts | 3 + .../RegressionTests/parser509677.ts | 1 + .../RegressionTests/parser509693.ts | 1 + .../RegressionTests/parser509698.ts | 4 + .../RegressionTests/parser512084.ts | 1 + .../RegressionTests/parser512097.ts | 4 + .../RegressionTests/parser512325.ts | 1 + .../RegressionTests/parser519458.ts | 1 + .../RegressionTests/parser521128.ts | 1 + .../RegressionTests/parser536727.ts | 8 + .../RegressionTests/parser537152.ts | 2 + .../RegressionTests/parser553699.ts | 8 + .../RegressionTests/parser566700.ts | 1 + .../RegressionTests/parser579071.ts | 1 + .../RegressionTests/parser585151.ts | 3 + .../RegressionTests/parser596700.ts | 1 + .../RegressionTests/parser618973.ts | 4 + .../RegressionTests/parser630933.ts | 2 + .../RegressionTests/parser642331.ts | 3 + .../RegressionTests/parser642331_1.ts | 5 + .../RegressionTests/parser643728.ts | 4 + .../RegressionTests/parser645086_1.ts | 1 + .../RegressionTests/parser645086_2.ts | 1 + .../RegressionTests/parser645086_3.ts | 1 + .../RegressionTests/parser645086_4.ts | 1 + .../RegressionTests/parser645484.ts | 3 + .../RegressionTests/parserNotHexLiteral1.ts | 5 + .../parserTernaryAndCommaOperators1.ts | 1 + .../parserRegularExpression1.ts | 1 + .../parserRegularExpression2.ts | 1 + .../parserRegularExpression3.ts | 1 + .../parserRegularExpression4.ts | 1 + .../parserRegularExpression5.ts | 1 + ...parserRegularExpressionDivideAmbiguity1.ts | 2 + ...parserRegularExpressionDivideAmbiguity2.ts | 1 + ...parserRegularExpressionDivideAmbiguity3.ts | 1 + ...parserRegularExpressionDivideAmbiguity4.ts | 1 + ...parserRegularExpressionDivideAmbiguity5.ts | 1 + .../SkippedTokens/parserSkippedTokens1.ts | 1 + .../SkippedTokens/parserSkippedTokens10.ts | 3 + .../SkippedTokens/parserSkippedTokens11.ts | 1 + .../SkippedTokens/parserSkippedTokens12.ts | 1 + .../SkippedTokens/parserSkippedTokens13.ts | 1 + .../SkippedTokens/parserSkippedTokens14.ts | 4 + .../SkippedTokens/parserSkippedTokens15.ts | 4 + .../SkippedTokens/parserSkippedTokens16.ts | 8 + .../SkippedTokens/parserSkippedTokens17.ts | 1 + .../SkippedTokens/parserSkippedTokens18.ts | 1 + .../SkippedTokens/parserSkippedTokens19.ts | 1 + .../SkippedTokens/parserSkippedTokens2.ts | 1 + .../SkippedTokens/parserSkippedTokens20.ts | 1 + .../SkippedTokens/parserSkippedTokens3.ts | 1 + .../SkippedTokens/parserSkippedTokens4.ts | 1 + .../SkippedTokens/parserSkippedTokens5.ts | 1 + .../SkippedTokens/parserSkippedTokens6.ts | 1 + .../SkippedTokens/parserSkippedTokens7.ts | 1 + .../SkippedTokens/parserSkippedTokens8.ts | 2 + .../SkippedTokens/parserSkippedTokens9.ts | 2 + ...rser_breakInIterationOrSwitchStatement1.ts | 3 + ...rser_breakInIterationOrSwitchStatement2.ts | 4 + ...rser_breakInIterationOrSwitchStatement3.ts | 3 + ...rser_breakInIterationOrSwitchStatement4.ts | 3 + ...r_breakNotInIterationOrSwitchStatement1.ts | 1 + ...r_breakNotInIterationOrSwitchStatement2.ts | 5 + .../BreakStatements/parser_breakTarget1.ts | 2 + .../BreakStatements/parser_breakTarget2.ts | 4 + .../BreakStatements/parser_breakTarget3.ts | 5 + .../BreakStatements/parser_breakTarget4.ts | 5 + .../BreakStatements/parser_breakTarget5.ts | 8 + .../BreakStatements/parser_breakTarget6.ts | 3 + .../parser_continueInIterationStatement1.ts | 3 + .../parser_continueInIterationStatement2.ts | 4 + .../parser_continueInIterationStatement3.ts | 3 + .../parser_continueInIterationStatement4.ts | 3 + .../parser_continueLabel.ts | 3 + ...parser_continueNotInIterationStatement1.ts | 1 + ...parser_continueNotInIterationStatement2.ts | 5 + ...parser_continueNotInIterationStatement3.ts | 4 + ...parser_continueNotInIterationStatement4.ts | 6 + .../parser_continueTarget1.ts | 2 + .../parser_continueTarget2.ts | 4 + .../parser_continueTarget3.ts | 5 + .../parser_continueTarget4.ts | 5 + .../parser_continueTarget5.ts | 8 + .../parser_continueTarget6.ts | 3 + .../parser_duplicateLabel1.ts | 4 + .../parser_duplicateLabel2.ts | 6 + .../parser_duplicateLabel3.ts | 8 + .../parser_duplicateLabel4.ts | 7 + .../parserReturnStatement1.ts | 1 + .../parserReturnStatement2.ts | 3 + .../parserReturnStatement3.ts | 3 + .../parserReturnStatement4.js | 3 + .../parserReturnStatement4.ts | 1 + .../Statements/parserBlockStatement1.d.ts | 1 + .../Statements/parserBreakStatement1.d.ts | 1 + .../Statements/parserContinueStatement1.d.ts | 1 + .../Statements/parserDebuggerStatement1.d.ts | 1 + .../Statements/parserDoStatement1.d.ts | 3 + .../Statements/parserDoStatement2.ts | 1 + .../Statements/parserEmptyStatement1.d.ts | 1 + .../parserExpressionStatement1.d.ts | 1 + .../Statements/parserForInStatement1.d.ts | 2 + .../Statements/parserForInStatement2.ts | 2 + .../Statements/parserForInStatement3.ts | 2 + .../Statements/parserForInStatement4.ts | 2 + .../Statements/parserForInStatement5.ts | 2 + .../Statements/parserForInStatement6.ts | 2 + .../Statements/parserForInStatement7.ts | 2 + .../Statements/parserForStatement1.d.ts | 2 + .../Statements/parserForStatement2.ts | 6 + .../Statements/parserForStatement3.ts | 1 + .../Statements/parserForStatement4.ts | 2 + .../Statements/parserForStatement5.ts | 2 + .../Statements/parserForStatement6.ts | 2 + .../Statements/parserForStatement7.ts | 2 + .../Statements/parserForStatement8.ts | 2 + .../Statements/parserIfStatement1.d.ts | 2 + .../Statements/parserIfStatement2.ts | 2 + .../Statements/parserLabeledStatement1.d.ts | 2 + .../Statements/parserReturnStatement1.d.ts | 1 + .../Statements/parserSwitchStatement1.d.ts | 2 + .../Statements/parserThrowStatement1.d.ts | 1 + .../Statements/parserTryStatement1.d.ts | 4 + .../Statements/parserVariableStatement1.d.ts | 1 + .../Statements/parserVariableStatement2.d.ts | 1 + .../Statements/parserWhileStatement1.d.ts | 2 + .../Statements/parserWithStatement1.d.ts | 2 + .../Statements/parserWithStatement2.ts | 2 + .../StrictMode/parserStrictMode1.ts | 4 + .../StrictMode/parserStrictMode10.ts | 3 + .../StrictMode/parserStrictMode11.ts | 3 + .../StrictMode/parserStrictMode12.ts | 2 + .../StrictMode/parserStrictMode13.ts | 5 + .../StrictMode/parserStrictMode14.ts | 3 + .../StrictMode/parserStrictMode15-negative.ts | 2 + .../StrictMode/parserStrictMode15.ts | 2 + .../StrictMode/parserStrictMode16.ts | 5 + .../StrictMode/parserStrictMode2.ts | 5 + .../StrictMode/parserStrictMode3-negative.ts | 1 + .../StrictMode/parserStrictMode3.ts | 2 + .../StrictMode/parserStrictMode4.ts | 2 + .../StrictMode/parserStrictMode5.ts | 2 + .../StrictMode/parserStrictMode6-negative.ts | 1 + .../StrictMode/parserStrictMode6.ts | 2 + .../StrictMode/parserStrictMode7.ts | 2 + .../StrictMode/parserStrictMode8.ts | 3 + .../StrictMode/parserStrictMode9.ts | 3 + .../parserSuperExpression1.ts | 13 + .../parserSuperExpression2.ts | 5 + .../parserSuperExpression3.ts | 5 + .../parserSuperExpression4.ts | 13 + .../ecmascript5/Types/parserTypeQuery1.ts | 1 + .../ecmascript5/Types/parserTypeQuery2.ts | 1 + .../ecmascript5/Types/parserTypeQuery3.ts | 1 + .../ecmascript5/Types/parserTypeQuery4.ts | 1 + .../ecmascript5/Types/parserTypeQuery5.ts | 1 + .../ecmascript5/Types/parserTypeQuery6.ts | 1 + .../ecmascript5/Types/parserTypeQuery7.ts | 1 + .../ecmascript5/Types/parserTypeQuery8.ts | 1 + .../ecmascript5/Types/parserTypeQuery9.ts | 1 + .../parserVariableDeclaration1.ts | 5 + .../parserVariableDeclaration10.ts | 1 + .../parserVariableDeclaration11.ts | 1 + .../parserVariableDeclaration2.ts | 9 + .../parserVariableDeclaration3.ts | 6 + .../parserVariableDeclaration4.d.ts | 1 + .../parserVariableDeclaration4.ts | 3 + .../parserVariableDeclaration5.ts | 1 + .../parserVariableDeclaration6.ts | 1 + .../parserVariableDeclaration7.ts | 1 + .../parserVariableDeclaration8.ts | 1 + .../parserVariableDeclaration9.ts | 1 + .../parser/ecmascript5/parser10.1.1-8gs.ts | 17 + .../parser/ecmascript5/parser15.4.4.14-9-2.ts | 25 + .../ecmascript5/parserAdditiveExpression1.ts | 1 + .../parser/ecmascript5/parserArgumentList1.ts | 5 + .../parser/ecmascript5/parserAstSpans1.ts | 219 + .../ecmascript5/parserDebuggerStatement1.ts | 1 + .../ecmascript5/parserDebuggerStatement2.ts | 1 + .../parser/ecmascript5/parserEmptyFile1.ts | 0 .../ecmascript5/parserEmptyStatement1.ts | 3 + .../parserExportAsFunctionIdentifier.ts | 6 + .../ecmascript5/parserImportDeclaration1.ts | 1 + .../parser/ecmascript5/parserInExpression1.ts | 1 + .../parserKeywordsAsIdentifierName1.ts | 5 + .../parserKeywordsAsIdentifierName2.ts | 2 + ...rserNoASIOnCallAfterFunctionExpression1.ts | 2 + .../parser/ecmascript5/parserNotRegex1.ts | 4 + .../parserObjectCreationArrayLiteral1.ts | 1 + .../parserObjectCreationArrayLiteral2.ts | 1 + .../parserObjectCreationArrayLiteral3.ts | 1 + .../parserObjectCreationArrayLiteral4.ts | 1 + .../ecmascript5/parserOptionalTypeMembers1.ts | 8 + .../ecmascript5/parserOverloadOnConstants1.ts | 6 + .../parser/ecmascript5/parserRealSource1.ts | 153 + .../parser/ecmascript5/parserRealSource10.ts | 455 + .../parser/ecmascript5/parserRealSource11.ts | 2364 +++ .../parser/ecmascript5/parserRealSource12.ts | 530 + .../parser/ecmascript5/parserRealSource13.ts | 146 + .../parser/ecmascript5/parserRealSource14.ts | 574 + .../parser/ecmascript5/parserRealSource2.ts | 271 + .../parser/ecmascript5/parserRealSource3.ts | 119 + .../parser/ecmascript5/parserRealSource4.ts | 295 + .../parser/ecmascript5/parserRealSource5.ts | 66 + .../parser/ecmascript5/parserRealSource6.ts | 221 + .../parser/ecmascript5/parserRealSource7.ts | 833 + .../parser/ecmascript5/parserRealSource8.ts | 466 + .../parser/ecmascript5/parserRealSource9.ts | 209 + .../parser/ecmascript5/parserS12.11_A3_T4.ts | 27 + .../parser/ecmascript5/parserS7.2_A1.5_T2.ts | 23 + .../parser/ecmascript5/parserS7.3_A1.1_T2.ts | 19 + .../ecmascript5/parserS7.6.1.1_A1.10.ts | 13 + .../parser/ecmascript5/parserS7.6_A4.2_T1.ts | 144 + .../parser/ecmascript5/parserS7.9_A5.7_T1.ts | 19 + .../parser/ecmascript5/parserSbp_7.9_A9_T3.ts | 15 + .../parserSyntaxWalker.generated.ts | 278 + .../parser/ecmascript5/parserUnicode1.ts | 12 + .../parser/ecmascript5/parserUnicode2.ts | 1 + .../parser/ecmascript5/parserUnicode3.ts | 2 + .../parserUnicodeWhitespaceCharacter1.ts | 1 + .../parserUsingConstructorAsIdentifier.ts | 39 + .../ecmascript5/parserVoidExpression1.ts | 1 + .../ecmascript5/parservoidInQualifiedName0.ts | 1 + .../ecmascript5/parservoidInQualifiedName1.ts | 1 + .../ecmascript5/parservoidInQualifiedName2.ts | 1 + .../ecmascript3/scannerES3NumericLiteral1.ts | 1 + .../ecmascript3/scannerES3NumericLiteral2.ts | 1 + .../ecmascript3/scannerES3NumericLiteral3.ts | 1 + .../ecmascript3/scannerES3NumericLiteral4.ts | 1 + .../ecmascript3/scannerES3NumericLiteral5.ts | 1 + .../ecmascript3/scannerES3NumericLiteral6.ts | 1 + .../ecmascript3/scannerES3NumericLiteral7.ts | 1 + .../scanner/ecmascript5/scanner10.1.1-8gs.ts | 17 + .../ecmascript5/scannerAdditiveExpression1.ts | 1 + .../scanner/ecmascript5/scannerClass2.ts | 7 + .../scanner/ecmascript5/scannerEnum1.ts | 4 + .../ecmascript5/scannerImportDeclaration1.ts | 1 + .../ecmascript5/scannerNumericLiteral1.ts | 1 + .../ecmascript5/scannerNumericLiteral2.ts | 1 + .../ecmascript5/scannerNumericLiteral3.ts | 1 + .../ecmascript5/scannerNumericLiteral4.ts | 1 + .../ecmascript5/scannerNumericLiteral5.ts | 1 + .../ecmascript5/scannerNumericLiteral6.ts | 1 + .../ecmascript5/scannerNumericLiteral7.ts | 1 + .../ecmascript5/scannerS7.2_A1.5_T2.ts | 23 + .../ecmascript5/scannerS7.3_A1.1_T2.ts | 19 + .../scanner/ecmascript5/scannerS7.4_A2_T2.ts | 13 + .../ecmascript5/scannerS7.6_A4.2_T1.ts | 144 + .../ecmascript5/scannerS7.8.3_A6.1_T1.ts | 14 + .../ecmascript5/scannerS7.8.4_A7.1_T4.ts | 14 + ...ringLiteralWithContainingNullCharacter1.ts | Bin 0 -> 6 bytes .../ecmascript5/scannerStringLiterals.ts | 11 + .../scannerUnexpectedNullCharacter1.ts | Bin 0 -> 10 bytes .../scannerUnicodeEscapeInKeyword1.ts | 1 + .../scanner/ecmascript5/scannertest1.ts | 23 + .../everyTypeWithAnnotationAndInitializer.ts | 47 + ...TypeWithAnnotationAndInvalidInitializer.ts | 53 + .../everyTypeWithInitializer.ts | 48 + .../invalidMultipleVariableDeclarations.ts | 53 + .../recursiveInitializer.ts | 19 + .../validMultipleVariableDeclarations.ts | 38 + .../breakStatements/doWhileBreakStatements.ts | 37 + .../breakStatements/forBreakStatements.ts | 36 + .../breakStatements/forInBreakStatements.ts | 36 + .../invalidDoWhileBreakStatements.ts | 38 + .../invalidForBreakStatements.ts | 37 + .../invalidForInBreakStatements.ts | 38 + .../invalidSwitchBreakStatement.ts | 6 + .../invalidWhileBreakStatements.ts | 38 + .../breakStatements/switchBreakStatements.ts | 54 + .../breakStatements/whileBreakStatements.ts | 41 + .../doWhileContinueStatements.ts | 37 + .../forContinueStatements.ts | 36 + .../forInContinueStatements.ts | 36 + .../invalidDoWhileContinueStatements.ts | 38 + .../invalidForContinueStatements.ts | 37 + .../invalidForInContinueStatements.ts | 38 + .../invalidSwitchContinueStatement.ts | 6 + .../invalidWhileContinueStatements.ts | 38 + .../whileContinueStatements.ts | 52 + .../for-inStatements/for-inStatements.ts | 79 + .../for-inStatementsInvalid.ts | 62 + .../statements/forStatements/forStatements.ts | 46 + .../forStatementsMultipleInvalidDecl.ts | 53 + .../forStatementsMultipleValidDecl.ts | 33 + .../ifDoWhileStatements.ts | 161 + .../invalidReturnStatements.ts | 19 + .../returnStatements/returnStatements.ts | 23 + .../switchStatements/switchStatements.ts | 54 + .../throwStatements/invalidThrowStatement.ts | 3 + .../throwInEnclosingStatements.ts | 45 + .../throwStatements/throwStatements.ts | 84 + .../tryStatements/invalidTryStatements.ts | 12 + .../tryStatements/invalidTryStatements2.ts | 9 + .../statements/tryStatements/tryStatements.ts | 11 + .../withStatements/withStatements.ts | 5 + .../conformance/types/any/anyAsConstructor.ts | 10 + .../types/any/anyAsFunctionCall.ts | 7 + .../types/any/anyAsGenericFunctionCall.ts | 10 + .../types/any/anyPropertyAccess.ts | 7 + .../types/any/assignAnyToEveryType.ts | 45 + .../types/any/assignEveryTypeToAny.ts | 55 + .../types/members/classWithPrivateProperty.ts | 22 + .../types/members/classWithPublicProperty.ts | 21 + .../types/members/duplicateNumericIndexers.ts | 32 + .../types/members/duplicatePropertyNames.ts | 47 + .../types/members/duplicateStringIndexers.ts | 32 + ...objectTypeHidingMembersOfExtendedObject.ts | 54 + .../objectTypeHidingMembersOfObject.ts | 27 + ...peHidingMembersOfObjectAssignmentCompat.ts | 21 + ...eHidingMembersOfObjectAssignmentCompat2.ts | 21 + .../types/members/objectTypePropertyAccess.ts | 28 + ...ithCallSignatureAppearsToBeFunctionType.ts | 17 + ...ignatureHidingMembersOfExtendedFunction.ts | 32 + ...ithCallSignatureHidingMembersOfFunction.ts | 23 + ...HidingMembersOfFunctionAssignmentCompat.ts | 14 + ...nstructSignatureAppearsToBeFunctionType.ts | 18 + ...ignatureHidingMembersOfExtendedFunction.ts | 29 + ...nstructSignatureHidingMembersOfFunction.ts | 20 + ...HidingMembersOfFunctionAssignmentCompat.ts | 14 + .../objectTypeWithDuplicateNumericProperty.ts | 31 + .../members/objectTypeWithNumericProperty.ts | 43 + ...ypeWithStringIndexerHidingObjectIndexer.ts | 30 + ...bjectTypeWithStringNamedNumericProperty.ts | 127 + ...hStringNamedPropertyOfIllegalCharacters.ts | 52 + .../members/typesWithOptionalProperty.ts | 30 + .../members/typesWithPrivateConstructor.ts | 16 + .../members/typesWithPublicConstructor.ts | 16 + .../typesWithSpecializedCallSignatures.ts | 41 + ...typesWithSpecializedConstructSignatures.ts | 39 + ...hOnlyPublicMembersEquivalentToInterface.ts | 26 + ...OnlyPublicMembersEquivalentToInterface2.ts | 28 + .../namedTypes/classWithOptionalParameter.ts | 11 + ...cInstantiationEquivalentToObjectLiteral.ts | 14 + .../namedTypes/interfaceWithPrivateMember.ts | 13 + ...tureWithOptionalParameterAndInitializer.ts | 54 + .../callSignatureWithoutAnnotationsOrBody.ts | 19 + ...ureWithoutReturnTypeAnnotationInference.ts | 120 + ...allSignaturesThatDifferOnlyByReturnType.ts | 28 + ...llSignaturesThatDifferOnlyByReturnType2.ts | 13 + ...llSignaturesThatDifferOnlyByReturnType3.ts | 18 + ...sWithAccessibilityModifiersOnParameters.ts | 38 + .../callSignaturesWithDuplicateParameters.ts | 38 + .../callSignaturesWithOptionalParameters.ts | 54 + .../callSignaturesWithOptionalParameters2.ts | 59 + ...callSignaturesWithParameterInitializers.ts | 56 + ...allSignaturesWithParameterInitializers2.ts | 25 + ...eWithAccessibilityModifiersOnParameters.ts | 29 + ...WithAccessibilityModifiersOnParameters2.ts | 36 + .../callSignatures/identicalCallSignatures.ts | 20 + .../identicalCallSignatures2.ts | 10 + .../identicalCallSignatures3.ts | 18 + .../parametersWithNoAnnotationAreAny.ts | 29 + ...estParameterWithoutAnnotationIsAnyArray.ts | 25 + .../restParametersOfNonArrayTypes.ts | 25 + .../restParametersOfNonArrayTypes2.ts | 56 + .../restParametersWithArrayTypeAnnotations.ts | 52 + ...reIsNotSubtypeOfNonSpecializedSignature.ts | 65 + ...atureIsSubtypeOfNonSpecializedSignature.ts | 80 + ...gLiteralTypesInImplementationSignatures.ts | 25 + ...LiteralTypesInImplementationSignatures2.ts | 28 + .../typeParameterAsTypeArgument.ts | 27 + ...eParameterUsedAsTypeParameterConstraint.ts | 31 + ...ParameterUsedAsTypeParameterConstraint2.ts | 56 + ...ParameterUsedAsTypeParameterConstraint3.ts | 50 + ...ParameterUsedAsTypeParameterConstraint4.ts | 53 + ...nstructSignaturesWithIdenticalOverloads.ts | 49 + .../constructSignaturesWithOverloads.ts | 50 + .../constructSignaturesWithOverloads2.ts | 39 + ...WithOverloadsThatDifferOnlyByReturnType.ts | 32 + .../multipleNumericIndexers.ts | 31 + .../indexSignatures/multipleStringIndexers.ts | 31 + ...icIndexerConstrainsPropertyDeclarations.ts | 97 + ...cIndexerConstrainsPropertyDeclarations2.ts | 45 + .../indexSignatures/numericIndexingResults.ts | 56 + ...ngIndexerConstrainsPropertyDeclarations.ts | 97 + ...gIndexerConstrainsPropertyDeclarations2.ts | 39 + .../indexSignatures/stringIndexingResults.ts | 34 + .../methodSignatures/functionLiterals.ts | 56 + .../methodSignaturesWithOverloads.ts | 19 + .../methodSignaturesWithOverloads2.ts | 28 + .../objectTypesWithOptionalProperties.ts | 25 + .../objectTypesWithOptionalProperties2.ts | 26 + .../objectTypeLiteralSyntax.ts | 9 + .../objectTypeLiteralSyntax2.ts | 12 + .../numericNamedPropertyDuplicates.ts | 21 + .../numericStringNamedPropertyEquivalence.ts | 23 + .../propertyNameWithoutTypeAnnotation.ts | 21 + .../propertyNamesOfReservedWords.ts | 276 + .../stringNamedPropertyAccess.ts | 23 + .../stringNamedPropertyDuplicates.ts | 21 + .../boolean/assignFromBooleanInterface.ts | 4 + .../boolean/assignFromBooleanInterface2.ts | 21 + .../boolean/boolInsteadOfBoolean.ts | 3 + .../boolean/booleanPropertyAccess.ts | 4 + .../boolean/extendBooleanInterface.ts | 10 + .../boolean/invalidBooleanAssignments.ts | 26 + .../boolean/validBooleanAssignments.ts | 6 + .../primitives/enum/invalidEnumAssignments.ts | 22 + .../primitives/enum/validEnumAssignments.ts | 26 + .../primitives/null/directReferenceToNull.ts | 1 + .../primitives/null/validNullAssignments.ts | 30 + .../number/assignFromNumberInterface.ts | 4 + .../number/assignFromNumberInterface2.ts | 25 + .../number/extendNumberInterface.ts | 10 + .../number/invalidNumberAssignments.ts | 23 + .../primitives/number/numberPropertyAccess.ts | 6 + .../number/validNumberAssignments.ts | 9 + .../string/assignFromStringInterface.ts | 4 + .../string/assignFromStringInterface2.ts | 48 + .../string/extendStringInterface.ts | 10 + .../string/invalidStringAssignments.ts | 26 + .../primitives/string/stringPropertyAccess.ts | 6 + .../string/stringPropertyAccessWithError.ts | 2 + .../string/validStringAssignments.ts | 6 + .../stringLiteral/stringLiteralType.ts | 6 + .../undefined/directReferenceToUndefined.ts | 2 + .../undefined/invalidUndefinedAssignments.ts | 21 + .../undefined/invalidUndefinedValues.ts | 31 + .../undefined/validUndefinedAssignments.ts | 23 + .../undefined/validUndefinedValues.ts | 2 + .../void/invalidAssignmentsToVoid.ts | 22 + .../primitives/void/invalidVoidAssignments.ts | 29 + .../primitives/void/invalidVoidValues.ts | 26 + .../primitives/void/validVoidAssignments.ts | 6 + .../types/primitives/void/validVoidValues.ts | 3 + .../objectTypesWithPredefinedTypesAsName.ts | 12 + .../objectTypesWithPredefinedTypesAsName2.ts | 3 + .../typeLiterals/arrayLiteral.ts | 15 + .../typeLiterals/arrayOfFunctionTypes3.ts | 26 + .../typeLiterals/arrayTypeOfFunctionTypes.ts | 16 + .../typeLiterals/arrayTypeOfFunctionTypes2.ts | 16 + .../typeLiterals/arrayTypeOfTypeOf.ts | 7 + .../typeLiterals/functionLiteral.ts | 13 + .../functionLiteralForOverloads.ts | 21 + .../functionLiteralForOverloads2.ts | 28 + .../typeQueries/invalidTypeOfTarget.ts | 8 + .../typeQueries/typeQueryOnClass.ts | 56 + .../typeQueries/typeofANonExportedType.ts | 51 + .../typeQueries/typeofAnExportedType.ts | 51 + .../typeQueries/typeofClass2.ts | 21 + .../typeQueries/typeofClassWithPrivates.ts | 10 + .../typeQueries/typeofModuleWithoutExports.ts | 8 + .../typeQueries/typeofTypeParameter.ts | 5 + ...nericTypeReferenceWithoutTypeArgument.d.ts | 26 + ...genericTypeReferenceWithoutTypeArgument.ts | 37 + ...enericTypeReferenceWithoutTypeArgument2.ts | 37 + ...enericTypeReferenceWithoutTypeArgument3.ts | 26 + ...ctionWithIncorrectNumberOfTypeArguments.ts | 44 + ...allGenericFunctionWithZeroTypeArguments.ts | 36 + ...callNonGenericFunctionWithTypeArguments.ts | 43 + .../constraintSatisfactionWithAny.ts | 51 + .../constraintSatisfactionWithAny2.ts | 8 + .../constraintSatisfactionWithEmptyObject.ts | 36 + .../functionConstraintSatisfaction.ts | 61 + .../functionConstraintSatisfaction2.ts | 39 + .../functionConstraintSatisfaction3.ts | 41 + ...ericClassWithWrongNumberOfTypeArguments.ts | 16 + ...ntiateGenericClassWithZeroTypeArguments.ts | 14 + ...tantiateNonGenericTypeWithTypeArguments.ts | 18 + .../typeParameterAsTypeParameterConstraint.ts | 26 + ...typeParameterAsTypeParameterConstraint2.ts | 18 + ...erAsTypeParameterConstraintTransitively.ts | 24 + ...rAsTypeParameterConstraintTransitively2.ts | 23 + .../wrappedAndRecursiveConstraints.ts | 16 + .../wrappedAndRecursiveConstraints2.ts | 6 + .../wrappedAndRecursiveConstraints3.ts | 15 + .../wrappedAndRecursiveConstraints4.ts | 13 + .../typeParameters/typeParameterAsBaseType.ts | 9 + .../innerTypeParameterShadowingOuterOne.ts | 28 + .../innerTypeParameterShadowingOuterOne2.ts | 37 + ...rtyAccessOnTypeParameterWithConstraints.ts | 34 + ...tyAccessOnTypeParameterWithConstraints2.ts | 81 + ...tyAccessOnTypeParameterWithConstraints3.ts | 56 + ...tyAccessOnTypeParameterWithConstraints4.ts | 32 + ...tyAccessOnTypeParameterWithConstraints5.ts | 44 + ...AccessOnTypeParameterWithoutConstraints.ts | 31 + .../staticMembersUsingClassTypeParameter.ts | 15 + ...ypeParameterDirectlyConstrainedToItself.ts | 18 + ...eParameterIndirectlyConstrainedToItself.ts | 18 + .../typeParameterUsedAsConstraint.ts | 34 + .../typeParametersAvailableInNestedScope.ts | 20 + .../typeParametersAvailableInNestedScope2.ts | 9 + .../typesWithDuplicateTypeParameters.ts | 8 + .../apparentType/apparentTypeSubtyping.ts | 21 + .../apparentType/apparentTypeSupertype.ts | 11 + .../anyAssignabilityInInheritance.ts | 88 + .../anyAssignableToEveryType.ts | 45 + .../anyAssignableToEveryType2.ts | 129 + .../assignmentCompatWithCallSignatures.ts | 42 + .../assignmentCompatWithCallSignatures2.ts | 49 + .../assignmentCompatWithCallSignatures3.ts | 98 + .../assignmentCompatWithCallSignatures4.ts | 98 + .../assignmentCompatWithCallSignatures5.ts | 64 + .../assignmentCompatWithCallSignatures6.ts | 42 + ...ithCallSignaturesWithOptionalParameters.ts | 69 + ...patWithCallSignaturesWithRestParameters.ts | 45 + ...assignmentCompatWithConstructSignatures.ts | 35 + ...ssignmentCompatWithConstructSignatures2.ts | 41 + ...ssignmentCompatWithConstructSignatures3.ts | 98 + ...ssignmentCompatWithConstructSignatures4.ts | 98 + ...ssignmentCompatWithConstructSignatures5.ts | 64 + ...ssignmentCompatWithConstructSignatures6.ts | 42 + ...nstructSignaturesWithOptionalParameters.ts | 51 + ...signmentCompatWithGenericCallSignatures.ts | 7 + ...ignmentCompatWithGenericCallSignatures2.ts | 16 + ...ignmentCompatWithGenericCallSignatures3.ts | 10 + ...ignmentCompatWithGenericCallSignatures4.ts | 12 + ...ricCallSignaturesWithOptionalParameters.ts | 130 + .../assignmentCompatWithNumericIndexer.ts | 43 + .../assignmentCompatWithNumericIndexer2.ts | 43 + .../assignmentCompatWithNumericIndexer3.ts | 40 + .../assignmentCompatWithObjectMembers.ts | 85 + .../assignmentCompatWithObjectMembers2.ts | 41 + .../assignmentCompatWithObjectMembers3.ts | 41 + .../assignmentCompatWithObjectMembers4.ts | 91 + .../assignmentCompatWithObjectMembers5.ts | 14 + ...entCompatWithObjectMembersAccessibility.ts | 109 + ...mentCompatWithObjectMembersNumericNames.ts | 41 + ...nmentCompatWithObjectMembersOptionality.ts | 88 + ...mentCompatWithObjectMembersOptionality2.ts | 89 + ...mpatWithObjectMembersStringNumericNames.ts | 85 + .../assignmentCompatWithStringIndexer.ts | 53 + .../assignmentCompatWithStringIndexer2.ts | 53 + .../assignmentCompatWithStringIndexer3.ts | 23 + ...ompatWithWithGenericConstructSignatures.ts | 0 ...callSignatureAssignabilityInInheritance.ts | 67 + ...allSignatureAssignabilityInInheritance2.ts | 69 + ...allSignatureAssignabilityInInheritance3.ts | 113 + ...allSignatureAssignabilityInInheritance4.ts | 49 + ...allSignatureAssignabilityInInheritance5.ts | 48 + ...allSignatureAssignabilityInInheritance6.ts | 50 + ...ructSignatureAssignabilityInInheritance.ts | 71 + ...uctSignatureAssignabilityInInheritance2.ts | 69 + ...uctSignatureAssignabilityInInheritance3.ts | 111 + ...uctSignatureAssignabilityInInheritance4.ts | 59 + ...uctSignatureAssignabilityInInheritance5.ts | 48 + ...uctSignatureAssignabilityInInheritance6.ts | 50 + .../enumAssignability.ts | 54 + .../enumAssignabilityInInheritance.ts | 109 + .../everyTypeAssignableToAny.ts | 60 + ...icCallWithObjectTypeArgsAndInitializers.ts | 9 + .../nullAssignableToEveryType.ts | 43 + .../nullAssignedToUndefined.ts | 2 + .../numberAssignableToEnum.ts | 5 + .../typeParameterAssignability.ts | 6 + .../typeParameterAssignability2.ts | 72 + .../typeParameterAssignability3.ts | 25 + .../undefinedAssignableToEveryType.ts | 42 + ...arrayLiteralWithMultipleBestCommonTypes.ts | 14 + .../bestCommonTypeOfConditionalExpressions.ts | 26 + ...bestCommonTypeOfConditionalExpressions2.ts | 24 + .../functionWithMultipleReturnStatements.ts | 62 + .../functionWithMultipleReturnStatements2.ts | 91 + .../heterogeneousArrayLiterals.ts | 131 + .../arrayLiteralsWithRecursiveGenerics.ts | 25 + .../infiniteExpansionThroughInstantiation.ts | 23 + .../infiniteExpansionThroughInstantiation2.ts | 11 + .../infiniteExpansionThroughTypeInference.ts | 9 + .../nominalSubtypeCheckOfTypeParameter.ts | 17 + .../nominalSubtypeCheckOfTypeParameter2.ts | 22 + .../objectTypeWithRecursiveWrappedProperty.ts | 13 + ...objectTypeWithRecursiveWrappedProperty2.ts | 13 + ...ecursiveWrappedPropertyCheckedNominally.ts | 52 + .../recursiveTypeInGenericConstraint.ts | 13 + .../recursiveTypesUsedAsFunctionParameters.ts | 43 + .../enumIsNotASubtypeOfAnythingButNumber.ts | 130 + .../nullIsSubtypeOfEverythingButUndefined.ts | 90 + .../stringLiteralTypeIsSubtypeOfString.ts | 99 + .../subtypesAndSuperTypes/subtypesOfAny.ts | 133 + .../subtypesOfTypeParameter.ts | 105 + .../subtypesOfTypeParameterWithConstraints.ts | 167 + ...subtypesOfTypeParameterWithConstraints2.ts | 157 + ...subtypesOfTypeParameterWithConstraints3.ts | 15 + ...subtypesOfTypeParameterWithConstraints4.ts | 78 + ...OfTypeParameterWithRecursiveConstraints.ts | 157 + .../subtypingWithCallSignatures.ts | 11 + .../subtypingWithCallSignatures2.ts | 171 + .../subtypingWithCallSignatures3.ts | 118 + .../subtypingWithCallSignatures4.ts | 111 + .../subtypingWithCallSignaturesA.ts | 2 + ...ithCallSignaturesWithOptionalParameters.ts | 85 + ...ingWithCallSignaturesWithRestParameters.ts | 132 + ...CallSignaturesWithSpecializedSignatures.ts | 80 + .../subtypingWithConstructSignatures.ts | 15 + .../subtypingWithConstructSignatures2.ts | 171 + .../subtypingWithConstructSignatures3.ts | 120 + .../subtypingWithConstructSignatures4.ts | 111 + .../subtypingWithConstructSignatures5.ts | 48 + .../subtypingWithConstructSignatures6.ts | 50 + ...nstructSignaturesWithOptionalParameters.ts | 85 + ...ructSignaturesWithSpecializedSignatures.ts | 80 + ...ricCallSignaturesWithOptionalParameters.ts | 263 + ...nstructSignaturesWithOptionalParameters.ts | 263 + .../subtypingWithNumericIndexer.ts | 39 + .../subtypingWithNumericIndexer2.ts | 43 + .../subtypingWithNumericIndexer3.ts | 43 + .../subtypingWithNumericIndexer4.ts | 27 + .../subtypingWithNumericIndexer5.ts | 43 + .../subtypingWithObjectMembers.ts | 67 + .../subtypingWithObjectMembers2.ts | 74 + .../subtypingWithObjectMembers3.ts | 73 + .../subtypingWithObjectMembers4.ts | 33 + .../subtypingWithObjectMembers5.ts | 62 + ...subtypingWithObjectMembersAccessibility.ts | 33 + ...ubtypingWithObjectMembersAccessibility2.ts | 61 + .../subtypingWithObjectMembersOptionality.ts | 73 + .../subtypingWithObjectMembersOptionality2.ts | 33 + .../subtypingWithObjectMembersOptionality3.ts | 33 + .../subtypingWithObjectMembersOptionality4.ts | 33 + .../subtypingWithOptionalProperties.ts | 10 + .../subtypingWithStringIndexer.ts | 39 + .../subtypingWithStringIndexer2.ts | 43 + .../subtypingWithStringIndexer3.ts | 43 + .../subtypingWithStringIndexer4.ts | 27 + .../undefinedIsSubtypeOfEverything.ts | 120 + .../objectTypesIdentity.ts | 88 + .../objectTypesIdentity2.ts | 65 + .../objectTypesIdentityWithCallSignatures.ts | 100 + .../objectTypesIdentityWithCallSignatures2.ts | 100 + .../objectTypesIdentityWithCallSignatures3.ts | 39 + ...yWithCallSignaturesDifferingParamCounts.ts | 100 + ...WithCallSignaturesDifferingParamCounts2.ts | 43 + ...IdentityWithCallSignaturesWithOverloads.ts | 116 + ...jectTypesIdentityWithComplexConstraints.ts | 14 + ...ectTypesIdentityWithConstructSignatures.ts | 87 + ...ctTypesIdentityWithConstructSignatures2.ts | 76 + ...ConstructSignaturesDifferingParamCounts.ts | 76 + ...tTypesIdentityWithGenericCallSignatures.ts | 100 + ...TypesIdentityWithGenericCallSignatures2.ts | 100 + ...ricCallSignaturesDifferingByConstraints.ts | 102 + ...icCallSignaturesDifferingByConstraints2.ts | 114 + ...icCallSignaturesDifferingByConstraints3.ts | 123 + ...ericCallSignaturesDifferingByReturnType.ts | 102 + ...ricCallSignaturesDifferingByReturnType2.ts | 102 + ...lSignaturesDifferingTypeParameterCounts.ts | 100 + ...SignaturesDifferingTypeParameterCounts2.ts | 40 + ...llSignaturesDifferingTypeParameterNames.ts | 100 + ...WithGenericCallSignaturesOptionalParams.ts | 102 + ...ithGenericCallSignaturesOptionalParams2.ts | 102 + ...ithGenericCallSignaturesOptionalParams3.ts | 102 + ...nstructSignaturesDifferingByConstraints.ts | 74 + ...structSignaturesDifferingByConstraints2.ts | 86 + ...structSignaturesDifferingByConstraints3.ts | 95 + ...onstructSignaturesDifferingByReturnType.ts | 82 + ...nstructSignaturesDifferingByReturnType2.ts | 78 + ...tSignaturesDifferingTypeParameterCounts.ts | 72 + ...ctSignaturesDifferingTypeParameterNames.ts | 72 + ...enericConstructSignaturesOptionalParams.ts | 74 + ...nericConstructSignaturesOptionalParams2.ts | 74 + ...nericConstructSignaturesOptionalParams3.ts | 74 + ...objectTypesIdentityWithNumericIndexers1.ts | 121 + ...objectTypesIdentityWithNumericIndexers2.ts | 124 + ...objectTypesIdentityWithNumericIndexers3.ts | 121 + .../objectTypesIdentityWithOptionality.ts | 56 + .../objectTypesIdentityWithPrivates.ts | 119 + .../objectTypesIdentityWithPrivates2.ts | 37 + .../objectTypesIdentityWithPublics.ts | 88 + .../objectTypesIdentityWithStringIndexers.ts | 121 + .../objectTypesIdentityWithStringIndexers2.ts | 124 + .../primtiveTypesAreIdentical.ts | 31 + .../typeParametersAreIdenticalToThemselves.ts | 76 + .../genericCallTypeArgumentInference.ts | 91 + .../genericCallWithArrayLiteralArgs.ts | 12 + ...allWithConstraintsTypeArgumentInference.ts | 106 + ...llWithConstraintsTypeArgumentInference2.ts | 12 + ...nericCallWithConstructorTypedArguments5.ts | 24 + .../genericCallWithFunctionTypedArguments.ts | 36 + .../genericCallWithFunctionTypedArguments2.ts | 41 + .../genericCallWithFunctionTypedArguments3.ts | 20 + .../genericCallWithFunctionTypedArguments4.ts | 22 + .../genericCallWithFunctionTypedArguments5.ts | 21 + ...enericCallWithGenericSignatureArguments.ts | 42 + ...nericCallWithGenericSignatureArguments2.ts | 36 + ...nericCallWithGenericSignatureArguments3.ts | 33 + .../genericCallWithNonSymmetricSubtypes.ts | 31 + .../genericCallWithObjectLiteralArgs.ts | 9 + .../genericCallWithObjectTypeArgs.ts | 21 + .../genericCallWithObjectTypeArgs2.ts | 32 + ...ricCallWithObjectTypeArgsAndConstraints.ts | 33 + ...icCallWithObjectTypeArgsAndConstraints2.ts | 37 + ...icCallWithObjectTypeArgsAndConstraints3.ts | 36 + ...icCallWithObjectTypeArgsAndConstraints4.ts | 32 + ...icCallWithObjectTypeArgsAndConstraints5.ts | 23 + ...enericCallWithObjectTypeArgsAndIndexers.ts | 21 + ...CallWithObjectTypeArgsAndIndexersErrors.ts | 24 + ...CallWithObjectTypeArgsAndNumericIndexer.ts | 34 + ...cCallWithObjectTypeArgsAndStringIndexer.ts | 35 + ...WithOverloadedConstructorTypedArguments.ts | 48 + ...ithOverloadedConstructorTypedArguments2.ts | 40 + ...allWithOverloadedFunctionTypedArguments.ts | 44 + ...llWithOverloadedFunctionTypedArguments2.ts | 37 + ...icClassWithFunctionTypedMemberArguments.ts | 64 + ...icClassWithObjectTypeArgsAndConstraints.ts | 60 + .../widenedTypes/arrayLiteralWidened.ts | 13 + .../widenedTypes/initializersWidened.ts | 4 + .../widenedTypes/objectLiteralWidened.ts | 14 + .../conformance/types/witness/witness.ts | 139 + ...breakpointValidationFunctionExpressions.ts | 14 + tests/cases/fourslash/errorConsistency.ts | 14 + ...ariableDeclOfMergedVariableAndClassDecl.ts | 24 + tests/cases/fourslash/fourslash.ts | 537 + tests/cases/fourslash/todoComments1.ts | 3 + tests/cases/fourslash/todoComments10.ts | 6 + tests/cases/fourslash/todoComments11.ts | 6 + tests/cases/fourslash/todoComments12.ts | 6 + tests/cases/fourslash/todoComments13.ts | 4 + tests/cases/fourslash/todoComments14.ts | 3 + tests/cases/fourslash/todoComments15.ts | 3 + tests/cases/fourslash/todoComments16.ts | 3 + tests/cases/fourslash/todoComments17.ts | 3 + tests/cases/fourslash/todoComments2.ts | 3 + tests/cases/fourslash/todoComments3.ts | 3 + tests/cases/fourslash/todoComments4.ts | 3 + tests/cases/fourslash/todoComments5.ts | 6 + tests/cases/fourslash/todoComments6.ts | 6 + tests/cases/fourslash/todoComments7.ts | 6 + tests/cases/fourslash/todoComments8.ts | 6 + tests/cases/fourslash/todoComments9.ts | 6 + .../fourslash_old/addDeclareToFunction.ts | 7 + .../cases/fourslash_old/addDeclareToModule.ts | 8 + .../cases/fourslash_old/addDuplicateSetter.ts | 10 + ...dFunctionAboveMultiLineLambdaExpression.ts | 9 + ...unctionInDuplicatedConstructorClassBody.ts | 12 + .../addInterfaceMemberAboveClass.ts | 21 + .../addInterfaceToNotSatisfyConstraint.ts | 14 + .../fourslash_old/addMemberToInterface.ts | 21 + .../cases/fourslash_old/addMemberToModule.ts | 20 + .../fourslash_old/addMethodToInterface1.ts | 15 + .../fourslash_old/addSignaturePartial.ts | 6 + .../fourslash_old/addVarToConstructor1.ts | 24 + .../fourslash_old/aliasToVarUsedAsType.ts | 9 + ...gOnMultilineExpressionAndParametersList.ts | 25 + .../ambientVariablesWithSameName.ts | 10 + ...tsAreAvailableAfterEditsAtEndOfFunction.ts | 15 + .../fourslash_old/argumentsIndexExpression.ts | 8 + .../arrayCallAndConstructTypings.ts | 43 + .../fourslash_old/arrayConcatTypeCheck0.ts | 17 + .../fourslash_old/arrayConcatTypeCheck1.ts | 27 + .../arrayTypeMismatchIncrementalTypeCheck.ts | 31 + .../fourslash_old/assertContextualType.ts | 9 + .../fourslash_old/assignToExistingClass.ts | 18 + .../fourslash_old/augmentedTypesClass1.ts | 13 + .../fourslash_old/augmentedTypesClass2.ts | 13 + .../fourslash_old/augmentedTypesModule1.ts | 16 + .../fourslash_old/augmentedTypesModule2.ts | 23 + .../fourslash_old/augmentedTypesModule3.ts | 20 + .../fourslash_old/augmentedTypesModule4.ts | 21 + .../fourslash_old/augmentedTypesModule5.ts | 22 + .../fourslash_old/augmentedTypesModule6.ts | 34 + .../fourslash_old/autoFormattingOnPasting.ts | 29 + .../automaticConstructorToggling.ts | 57 + .../cases/fourslash_old/basicClassMembers.ts | 12 + .../bestCommonTypeObjectLiterals1.ts | 37 + .../breakpointValidationClass.ts | 23 + .../breakpointValidationClassAmbient.ts | 14 + .../breakpointValidationClasses.ts | 43 + .../breakpointValidationDebugger.ts | 6 + .../fourslash_old/breakpointValidationDo.ts | 14 + .../breakpointValidationEnums.ts | 19 + .../breakpointValidationExportAssignment.ts | 9 + .../fourslash_old/breakpointValidationFor.ts | 38 + .../breakpointValidationForIn.ts | 20 + ...breakpointValidationFunctionExpressions.ts | 14 + .../breakpointValidationFunctions.ts | 18 + .../breakpointValidationIfElse.ts | 22 + .../breakpointValidationImport.ts | 13 + .../breakpointValidationLabeled.ts | 7 + .../breakpointValidationModule.ts | 19 + .../breakpointValidationModuleAmbient.ts | 11 + .../breakpointValidationModuleEmpty.ts | 9 + .../breakpointValidationStatements.ts | 90 + .../breakpointValidationSwitch.ts | 34 + .../breakpointValidationTryCatchFinally.ts | 28 + .../breakpointValidationVariables.ts | 10 + .../breakpointValidationWhile.ts | 13 + .../fourslash_old/brokenClassErrorRecovery.ts | 10 + .../fourslash_old/callOrderDependence.ts | 9 + .../cases/fourslash_old/callSignatureHelp.ts | 10 + ...cellationWhenfindingAllRefsOnDefinition.ts | 41 + .../chainedFatArrowFormatting.ts | 9 + .../chainedFunctionCallsErrorSpan.ts | 5 + .../chainedFunctionFunctionArgIndent.ts | 11 + .../chainedFunctionLambdaArgIndex.ts | 14 + .../classExtendsInterfaceSigHelp1.ts | 18 + .../fourslash_old/classInterfaceInsert.ts | 19 + .../classRenamingErrorRecovery.ts | 9 + .../cases/fourslash_old/cloduleAsBaseClass.ts | 50 + .../fourslash_old/cloduleAsBaseClass2.ts | 53 + tests/cases/fourslash_old/cloduleTypeOf1.ts | 39 + .../cloduleWithRecursiveReference.ts | 17 + .../closedCommentsInConstructor.ts | 8 + tests/cases/fourslash_old/commentsBlocks.ts | 53 + tests/cases/fourslash_old/commentsClass.ts | 176 + .../fourslash_old/commentsClassMembers.ts | 706 + .../fourslash_old/commentsCommentParsing.ts | 441 + tests/cases/fourslash_old/commentsEnums.ts | 37 + .../fourslash_old/commentsExternalModules.ts | 95 + tests/cases/fourslash_old/commentsFunction.ts | 131 + .../commentsImportDeclaration.ts | 51 + .../fourslash_old/commentsInheritance.ts | 672 + .../cases/fourslash_old/commentsInterface.ts | 259 + tests/cases/fourslash_old/commentsModules.ts | 251 + .../commentsMultiModuleMultiFile.ts | 54 + .../commentsMultiModuleSingleFile.ts | 35 + .../cases/fourslash_old/commentsOverloads.ts | 733 + .../cases/fourslash_old/commentsVariables.ts | 97 + ...foreSemanticDiagnosticsInArrowFunction1.ts | 21 + .../completionEntryForPrimitive.ts | 9 + .../fourslash_old/completionInTypeOf1.ts | 12 + .../fourslash_old/completionInTypeOf2.ts | 10 + .../completionListAfterAnyType.ts | 13 + .../completionListAfterClassExtends.ts | 16 + .../completionListAfterInvalidCharacter.ts | 11 + .../completionListAfterNumericLiteral.ts | 43 + .../completionListAfterNumericLiteral1.ts | 6 + .../completionListAfterObjectLiteral1.ts | 7 + ...etionListAfterRegularExpressionLiteral1.ts | 7 + .../completionListAfterStringLiteral1.ts | 7 + ...mpletionListAndMemberListOnCommentedDot.ts | 18 + ...pletionListAndMemberListOnCommentedLine.ts | 7 + ...nListAndMemberListOnCommentedWhiteSpace.ts | 18 + ...pletionListAtDeclarationOfParameterType.ts | 14 + .../fourslash_old/completionListAtEOF.ts | 15 + .../fourslash_old/completionListAtEOF1.ts | 6 + .../fourslash_old/completionListAtEOF2.ts | 11 + ...tionListAtIdentifierDefinitionLocations.ts | 42 + .../completionListAtInvalidLocations.ts | 30 + .../completionListAtNodeBoundry.ts | 22 + .../completionListBeforeKeyword.ts | 26 + .../fourslash_old/completionListCladule.ts | 33 + .../completionListClassMembers.ts | 70 + .../completionListEnumMembers.ts | 24 + .../fourslash_old/completionListEnumValues.ts | 32 + .../completionListErrorRecovery.ts | 13 + .../completionListErrorRecovery2.ts | 12 + .../completionListForDerivedType1.ts | 21 + .../completionListForGenericInstance1.ts | 10 + ...berInAmbientModuleWithExportAssignment1.ts | 13 + .../completionListFunctionExpression.ts | 21 + .../completionListFunctionMembers.ts | 11 + .../completionListGenericConstraints.ts | 77 + .../completionListGenericConstraintsNames.ts | 25 + .../fourslash_old/completionListInComments.ts | 8 + ...mpletionListInContextuallyTypedArgument.ts | 27 + .../completionListInEmptyFile.ts | 7 + .../completionListInExtendsClause.ts | 25 + .../completionListInExtendsClauseAtEOF.ts | 10 + .../fourslash_old/completionListInFatArrow.ts | 11 + .../completionListInFunctionDeclaration.ts | 17 + .../completionListInFunctionExpression.ts | 24 + ...completionListInNamedFunctionExpression.ts | 32 + .../completionListInObjectLiteral.ts | 16 + .../completionListInObjectLiteral2.ts | 34 + .../completionListInObjectLiteral3.ts | 15 + ...ectLiteralThatIsParameterOfFunctionCall.ts | 10 + .../fourslash_old/completionListInScope.ts | 104 + .../completionListInTypedObjectLiterals.ts | 142 + .../completionListInTypedObjectLiterals2.ts | 12 + .../completionListInTypedObjectLiterals3.ts | 13 + .../completionListInTypedObjectLiterals4.ts | 16 + ...dObjectLiteralsWithPartialPropertyNames.ts | 32 + ...ObjectLiteralsWithPartialPropertyNames2.ts | 14 + ...completionListInsideTargetTypedFunction.ts | 9 + .../completionListInvalidMemberNames.ts | 25 + .../completionListInvalidMemberNames2.ts | 11 + .../fourslash_old/completionListKeywords.ts | 48 + .../completionListModuleMembers.ts | 56 + .../completionListObjectMembers.ts | 14 + .../completionListOfSplitInterface.ts | 50 + .../completionListOnAliasedModule.ts | 14 + ...nListOnFunctionCallWithOptionalArgument.ts | 7 + .../completionListOnMethodParameterName.ts | 10 + .../fourslash_old/completionListOnParam.ts | 12 + .../completionListOnParamInClass.ts | 9 + .../completionListOnParamOfGenericType1.ts | 22 + ...completionListOnPrivateVariableInModule.ts | 6 + .../fourslash_old/completionListOnSuper.ts | 22 + .../completionListOnVarBetweenModules.ts | 17 + .../fourslash_old/completionListPrimitives.ts | 12 + .../completionListPrivateMembers.ts | 17 + .../completionListSuperMembers.ts | 35 + .../completionListWithModulesFromModule.ts | 323 + ...pletionListWithModulesInsideModuleScope.ts | 364 + ...letionListWithModulesOutsideModuleScope.ts | 291 + ...etionListWithModulesOutsideModuleScope2.ts | 275 + .../completionListWithUnresolvedModule.ts | 10 + ...letionListsThroughTransitiveBaseClasses.ts | 35 + ...etionListsThroughTransitiveBaseClasses2.ts | 38 + ...entifiers-should-not-show-in-completion.ts | 18 + ...tenceOnIndentionsOfChainedFunctionCalls.ts | 21 + ...dentionsOfObjectsInAListAfterFormatting.ts | 11 + ...onsistentContextualTypeErrorsAfterEdits.ts | 19 + .../constructorBraceFormatting.ts | 9 + ...onstructorOverloadWithoutImplementation.ts | 9 + ...nstructorOverloadWithoutImplementation2.ts | 9 + .../fourslash_old/constructorQuickInfo.ts | 16 + tests/cases/fourslash_old/contextualTyping.ts | 419 + .../contextualTypingFromTypeAssertion1.ts | 7 + .../contextualTypingGenericFunction1.ts | 20 + .../contextualTypingOfArrayLiterals1.ts | 49 + ...ontextualTypingOfGenericCallSignatures1.ts | 11 + ...ontextualTypingOfGenericCallSignatures2.ts | 12 + .../contextualTypingReturnExpressions.ts | 13 + ...extuallyTypedFunctionExpressionGeneric1.ts | 22 + .../fourslash_old/debuggerStatementIndent.ts | 7 + tests/cases/fourslash_old/declareFunction.ts | 7 + .../defaultParamsAndContextualTypes.ts | 18 + .../deleteClassWithEnumPresent.ts | 8 + .../deleteExtensionInReopenedInterface.ts | 24 + .../fourslash_old/deleteReopenedModule.ts | 14 + .../fourslash_old/deleteTypeParameter.ts | 14 + ...erivedTypeIndexerWithGenericConstraints.ts | 29 + .../distinctTypesInCallbacksWithSameNames.ts | 39 + .../duplicateClassModuleError0.ts | 25 + .../duplicateFunctionImplementation.ts | 10 + .../cases/fourslash_old/duplicateIndexers.ts | 12 + .../fourslash_old/duplicateTypeParameters.ts | 7 + .../editLambdaArgToTypeParameter1.ts | 17 + .../fourslash_old/emptyArrayInference.ts | 10 + .../fourslash_old/emptyTypeArgumentList.ts | 7 + tests/cases/fourslash_old/enumAddition.ts | 8 + tests/cases/fourslash_old/enumUpdate1.ts | 25 + tests/cases/fourslash_old/eval.ts | 14 + .../exportClauseErrorReporting0.ts | 16 + .../exportEqualCallableInterface.ts | 19 + .../fourslash_old/exportEqualIncremental.ts | 20 + tests/cases/fourslash_old/exportEqualTypes.ts | 25 + .../fourslash_old/exportEqualsInterfaceA.ts | 13 + tests/cases/fourslash_old/extendArray.ts | 15 + .../fourslash_old/extendArrayInterface.ts | 30 + .../extendArrayInterfaceMember.ts | 22 + .../extendInterfaceOverloadedMethod.ts | 19 + tests/cases/fourslash_old/extendsTArray.ts | 15 + .../externalModuleIntellisense.ts | 26 + ...ernceResolutionOrderInImportDeclaration.ts | 20 + .../externalModuleWithExportAssignment.ts | 87 + .../fourslash_old/failureToImplementClass.ts | 9 + .../fourslash_old/findAllRefsOnDefinition.ts | 31 + .../fourslash_old/findAllRefsOnDefinition2.ts | 22 + tests/cases/fourslash_old/findReferences.ts | 62 + tests/cases/fourslash_old/findReferences1.ts | 28 + .../fourslash_old/findReferencesAliases1.ts | 20 + .../fourslash_old/findReferencesModules1.ts | 27 + tests/cases/fourslash_old/forIn.ts | 8 + .../forceIndentAfterNewLineInsert.ts | 20 + .../fourslash_old/formatAfterObjectLiteral.ts | 8 + .../fourslash_old/formatAnyTypeLiteral.ts | 8 + ...rmatArrayOrObjectLiteralsInVariableList.ts | 7 + .../fourslash_old/formatColonAndQMark.ts | 16 + .../formatControlFlowConstructs.ts | 9 + .../fourslash_old/formatDebuggerStatement.ts | 10 + tests/cases/fourslash_old/formatEmptyBlock.ts | 8 + .../fourslash_old/formatImplicitModule.ts | 11 + .../fourslash_old/formatImportDeclaration.ts | 18 + .../fourslash_old/formatMultilineComment.ts | 44 + .../formatOnSemiColonAfterBreak.ts | 10 + .../formatSelectionWithTrivia.ts | 13 + tests/cases/fourslash_old/formatTryCatch.ts | 19 + .../formatVariableDeclarationList.ts | 40 + .../fourslash_old/formatWithStatement.ts | 33 + .../formattingAfterChainedFatArrow.ts | 11 + .../formattingAfterMultiLineIfCondition.ts | 14 + .../formattingAfterMultiLineString.ts | 14 + .../fourslash_old/formattingArrayLiteral.ts | 28 + tests/cases/fourslash_old/formattingComma.ts | 37 + tests/cases/fourslash_old/formattingCrash.ts | 12 + .../formattingElseInsideAFunction.ts | 14 + .../formattingFatArrowFunctions.ts | 290 + tests/cases/fourslash_old/formattingForIn.ts | 7 + .../formattingForLoopSemicolons.ts | 22 + .../fourslash_old/formattingObjectLiteral.ts | 10 + .../formattingOfChainedLambda.ts | 6 + .../fourslash_old/formattingOfModuleExport.ts | 8 + .../formattingOfMultilineBlockConstructs.ts | 68 + .../fourslash_old/formattingOnClasses.ts | 207 + .../fourslash_old/formattingOnCloseBrace.ts | 9 + .../formattingOnClosingBracket.ts | 91 + .../formattingOnCommaOperator.ts | 13 + .../formattingOnDoWhileNoSemicolon.ts | 19 + .../formattingOnDocumentReadyFunction.ts | 12 + .../formattingOnEmptyInterfaceLiteral.ts | 25 + .../cases/fourslash_old/formattingOnEnter.ts | 9 + .../formattingOnEnterInComments.ts | 14 + .../formattingOnEnterInStrings.ts | 10 + .../fourslash_old/formattingOnInterfaces.ts | 8 + .../fourslash_old/formattingOnInvalidCodes.ts | 273 + .../formattingOnModuleIndentation.ts | 13 + .../formattingOnNestedDoWhileByEnter.ts | 23 + .../formattingOnNestedStatements.ts | 14 + .../formattingOnObjectLiteral.ts | 85 + .../formattingOnOpenBraceOfFunctions.ts | 10 + .../fourslash_old/formattingOnSemiColon.ts | 7 + .../formattingOnSingleLineBlocks.ts | 16 + .../formattingOnStatementsWithNoSemicolon.ts | 170 + .../formattingOnTabAfterCloseCurly.ts | 32 + .../fourslash_old/formattingOnVariety.ts | 54 + .../fourslash_old/formattingOptionsChange.ts | 47 + ...ormattingSingleLineWithNewLineOptionSet.ts | 21 + .../fourslash_old/formattingSkippedTokens.ts | 22 + .../formattingSpacesAfterConstructor.ts | 6 + tests/cases/fourslash_old/formattingVoid.ts | 35 + ...formattingWithEnterAfterMultilineString.ts | 15 + .../formattingWithLimitedSpan.ts | 19 + .../formattingofSingleLineBlockConstructs.ts | 40 + tests/cases/fourslash_old/forwardReference.ts | 12 + .../fourslash_old/fsEditMarkerPositions.ts | 11 + .../cases/fourslash_old/functionFormatting.ts | 8 + .../fourslash_old/functionIndentation.ts | 81 + .../fourslash_old/functionOverloadCount.ts | 15 + tests/cases/fourslash_old/functionProperty.ts | 49 + .../functionRenamingErrorRecovery.ts | 9 + .../fourslash_old/functionTypeFormatting.ts | 9 + tests/cases/fourslash_old/functionTypes.ts | 34 + .../funduleDefinedInADifferentFile.ts | 12 + .../funduleDefinedInADifferentFile2.ts | 29 + .../funduleWithRecursiveReference.ts | 15 + tests/cases/fourslash_old/generated/dummy.txt | 1 + .../genericArityEnforcementAfterEdit.ts | 10 + .../fourslash_old/genericAssignmentCompat.ts | 14 + ...genericCallSignaturesInNonGenericTypes1.ts | 19 + ...genericCallSignaturesInNonGenericTypes2.ts | 16 + .../genericCallsWithOptionalParams1.ts | 19 + .../genericCloduleCompletionList.ts | 11 + .../genericCombinatorWithConstraints1.ts | 13 + .../fourslash_old/genericCombinators1.ts | 101 + .../fourslash_old/genericCombinators2.ts | 136 + .../fourslash_old/genericCombinators3.ts | 27 + ...genericDerivedTypeAcrossModuleBoundary1.ts | 23 + .../genericFunctionReturnType.ts | 21 + .../genericFunctionReturnType2.ts | 24 + .../genericFunctionSignatureHelp1.ts | 7 + .../genericFunctionSignatureHelp2.ts | 7 + .../genericFunctionSignatureHelp3.ts | 39 + .../genericFunctionSignatureHelp3MultiFile.ts | 46 + .../genericFunctionWithGenericParams1.ts | 9 + .../fourslash_old/genericIncrementalParse.ts | 30 + .../genericInterfacePropertyInference1.ts | 187 + .../genericInterfacePropertyInference2.ts | 121 + .../genericInterfaceWithInheritanceEdit1.ts | 19 + .../genericInterfacesWithConstraints1.ts | 19 + .../cases/fourslash_old/genericMapTyping1.ts | 49 + .../cases/fourslash_old/genericMethodParam.ts | 18 + .../fourslash_old/genericObjectBaseType.ts | 14 + .../fourslash_old/genericParameterHelp.ts | 94 + .../fourslash_old/genericRespecialization1.ts | 75 + .../genericSignaturesAreProperlyCleaned.ts | 13 + .../genericStructuralTypeConstraint.ts | 37 + .../genericTypeArgumentInference1.ts | 40 + .../genericTypeArgumentInference2.ts | 40 + .../genericTypeParamUnrelatedToArguments1.ts | 29 + .../genericTypeWithMultipleBases1.ts | 18 + .../genericTypeWithMultipleBases1MultiFile.ts | 23 + .../genericWithSpecializedProperties1.ts | 24 + .../genericWithSpecializedProperties2.ts | 23 + .../genericWithSpecializedProperties3.ts | 24 + .../cases/fourslash_old/genericsFormatting.ts | 33 + .../getCompletionEntryDetails.ts | 33 + .../getCompletionEntryDetails2.ts | 18 + tests/cases/fourslash_old/getImplementors1.ts | 8 + .../getImplementorsForFunction.ts | 6 + .../cases/fourslash_old/getMatchingBraces.ts | 43 + .../getMatchingBracesNegativeCases.ts | 18 + .../fourslash_old/getNameOrDottedNameSpan.ts | 6 + .../getOccurrencesIsWriteAccess.ts | 27 + .../getOccurrencesOfAnonomusFunction.ts | 9 + .../getOccurrencesOfAnonomusFunction2.ts | 17 + .../fourslash_old/getOccurrencesOfAny.ts | 12 + .../getOccurrencesOfUndefinedSymbol.ts | 20 + .../cases/fourslash_old/getOutliningSpans.ts | 97 + .../fourslash_old/getTypeAtModuleExtends.ts | 12 + .../getTypeOfUnresolvedGenericExtension.ts | 10 + ...lobalCompletionListInsideObjectLiterals.ts | 49 + .../fourslash_old/goToDefinitionAmbiants.ts | 29 + .../goToDefinitionConstructorOverloads.ts | 22 + .../goToDefinitionDifferentFile.ts | 29 + .../goToDefinitionDifferentFileIndirectly.ts | 36 + .../goToDefinitionFunctionOverloads.ts | 20 + .../goToDefinitionFunctionOverloadsInClass.ts | 23 + .../goToDefinitionImplicitConstructor.ts | 9 + .../goToDefinitionInMemberDeclaration.ts | 53 + .../goToDefinitionInTypeArgument.ts | 16 + .../goToDefinitionInterfaceAfterImplement.ts | 16 + .../goToDefinitionMethodOverloads.ts | 44 + .../goToDefinitionMultipleDefinitions.ts | 46 + .../goToDefinitionPartialImplementation.ts | 24 + .../fourslash_old/goToDefinitionPrimitives.ts | 8 + .../fourslash_old/goToDefinitionSameFile.ts | 28 + .../goToDefinitionShadowVariable.ts | 11 + ...oToDefinitionShadowVariableInsideModule.ts | 10 + .../fourslash_old/goToDefinitionSimple.ts | 11 + .../fourslash_old/goToDefinitionSourceUnit.ts | 16 + .../goToDefinitionUndefinedSymbols.ts | 6 + .../goToModuleAliasDefinition.ts | 13 + .../identationAfterInterfaceCall.ts | 11 + .../fourslash_old/identifierErrorRecovery.ts | 14 + tests/cases/fourslash_old/importDeclPaste0.ts | 18 + .../fourslash_old/importValueUsedAsType.ts | 12 + .../fourslash_old/incompatibleOverride.ts | 17 + ...tionExpressionAboveInterfaceDeclaration.ts | 17 + .../incrementalResolveAccessor.ts | 22 + ...ncrementalResolveConstructorDeclaration.ts | 19 + ...mentalResolveFunctionPropertyAssignment.ts | 31 + ...alUpdateToClassImplementingGenericClass.ts | 22 + .../indentAfterFunctionClosingBraces.ts | 12 + .../cases/fourslash_old/indentAfterImport.ts | 6 + tests/cases/fourslash_old/indentation.ts | 183 + .../indentationAfterModuleImport.ts | 8 + ...indentionsOfCommentBlockAfterFormatting.ts | 43 + .../indexSignatureWithoutAnnotation.ts | 13 + .../fourslash_old/indexerReturnTypes1.ts | 111 + .../inheritedModuleMembersForClodule2.ts | 17 + ...sertArgumentBeforeOverloadedConstructor.ts | 11 + ...insertInterfaceAndCheckTypeLiteralField.ts | 11 + .../insertMethodCallAboveOthers.ts | 8 + .../fourslash_old/insertPublicBeforeSetter.ts | 9 + ...nStatementInDuplicateIdentifierFunction.ts | 14 + .../insertSecondTryCatchBlock.ts | 7 + .../insertVarAfterEmptyTypeParamList.ts | 9 + .../instanceTypesForGenericType1.ts | 14 + .../intellisenseInObjectLiteral.ts | 12 + .../interfaceExtendsPrimitive.ts | 8 + tests/cases/fourslash_old/interfaceIndent.ts | 7 + .../interfaceRecursiveInheritanceErrors0.ts | 10 + .../interfaceRecursiveInheritanceErrors1.ts | 10 + .../fourslash_old/invalidRestArgError.ts | 5 + .../invertedCloduleAfterQuickInfo.ts | 14 + .../invertedFunduleAfterQuickInfo.ts | 12 + .../cases/fourslash_old/lambdaThisMembers.ts | 16 + .../cases/fourslash_old/localGetReferences.ts | 238 + .../fourslash_old/malformedObjectLiteral.ts | 10 + .../memberCompletionFromFunctionCall.ts | 12 + .../memberCompletionInForEach1.ts | 17 + .../memberCompletionOnTypeParameters.ts | 35 + .../memberCompletionOnTypeParameters2.ts | 21 + .../fourslash_old/memberConstructorEdits.ts | 26 + .../fourslash_old/memberListAfterSingleDot.ts | 6 + .../fourslash_old/memberListErrorRecovery.ts | 10 + .../fourslash_old/memberListInFunctionCall.ts | 15 + .../fourslash_old/memberListInReopenedEnum.ts | 18 + .../fourslash_old/memberListInWithBlock.ts | 22 + .../memberListInsideObjectLiterals.ts | 41 + .../cases/fourslash_old/memberListOfClass.ts | 15 + .../memberListOfEnumFromExternalModule.ts | 13 + .../fourslash_old/memberListOfEnumInModule.ts | 13 + .../memberListOfExportedClass.ts | 15 + .../cases/fourslash_old/memberListOfModule.ts | 19 + .../memberListOfModuleAfterInvalidCharater.ts | 10 + .../memberListOfModuleBeforeKeyword.ts | 24 + .../memberListOfModuleInAnotherModule.ts | 38 + .../memberListOnConstructorType.ts | 8 + .../memberListOnFunctionParameter.ts | 13 + .../memberListOnThisInClassWithPrivates.ts | 13 + .../fourslash_old/memberOverloadEdits.ts | 18 + tests/cases/fourslash_old/memberlistOnDDot.ts | 9 + .../fourslash_old/mergedDeclarations1.ts | 27 + .../fourslash_old/mergedDeclarations2.ts | 20 + ...mergedDeclarationsWithExportAssignment1.ts | 35 + .../mispeltVariableForInLoopErrorRecovery.ts | 8 + .../missingMethodAfterEditAfterImport.ts | 21 + tests/cases/fourslash_old/moduleEnumModule.ts | 14 + tests/cases/fourslash_old/moduleIndent.ts | 7 + .../moduleMembersOfGenericType.ts | 9 + .../fourslash_old/moduleReferenceValue.ts | 24 + .../moduleRenamingErrorRecovery.ts | 9 + tests/cases/fourslash_old/moduleVariables.ts | 23 + .../fourslash_old/multiModuleClodule1.ts | 42 + .../fourslash_old/multiModuleFundule1.ts | 35 + .../multilineCommentBeforeOpenBrace.ts | 18 + .../multipleExportAssignmentsErrorList0.ts | 27 + .../nameOfRetypedClassInModule.ts | 32 + .../fourslash_old/nameOrDottedNameClasses.ts | 43 + .../nameOrDottedNameStatements.ts | 90 + .../fourslash_old/nameOrDottedName_Classes.ts | 43 + .../nameOrDottedName_Statements.ts | 90 + .../navbar_contains-no-duplicates.ts | 41 + .../navigationItemsExactMatch.ts | 27 + .../navigationItemsExactMatch2.ts | 28 + ...navigationItemsInConstructorsExactMatch.ts | 12 + .../navigationItemsPrefixMatch.ts | 29 + .../navigationItemsPrefixMatch2.ts | 32 + .../navigationItemsSubStringMatch.ts | 28 + .../navigationItemsSubStringMatch2.ts | 36 + ...etionListOnCommentsInsideObjectLiterals.ts | 18 + .../fourslash_old/noQuickInfoInWhitespace.ts | 18 + .../noSmartIndentInsideMultilineString.ts | 12 + .../fourslash_old/noTypeParameterInLHS.ts | 11 + .../cases/fourslash_old/nonExistingImport.ts | 9 + .../cases/fourslash_old/numberAssignement0.ts | 8 + .../fourslash_old/numericPropertyNames.ts | 6 + .../objectLiteralCallSignatures.ts | 29 + ...iningForNonCompleteInterfaceDeclaration.ts | 6 + .../overloadObjectLiteralCrash.ts | 12 + .../overloadOnConstCallSignature.ts | 18 + .../cases/fourslash_old/overloadQuickInfo.ts | 23 + .../fourslash_old/overloadResolutionErrors.ts | 38 + .../fourslash_old/paramHelpOnCommaInString.ts | 11 + .../parameterInfoOnParameterType.ts | 11 + .../fourslash_old/parameterlessSetter.ts | 13 + .../fourslash_old/parenthesisFatArrows.ts | 11 + tests/cases/fourslash_old/paste.ts | 8 + .../fourslash_old/pasteLambdaOverModule.ts | 12 + tests/cases/fourslash_old/promiseTyping1.ts | 24 + tests/cases/fourslash_old/promiseTyping2.ts | 37 + .../propertyDuplicateIdentifierError.ts | 9 + tests/cases/fourslash_old/proto.ts | 20 + .../cases/fourslash_old/prototypeProperty.ts | 11 + tests/cases/fourslash_old/publicBreak.ts | 7 + .../pullFullDiffTypeParameterExtends0.ts | 29 + ...-declaration-with-variable-entity-names.ts | 26 + .../fourslash_old/qualifyModuleTypeNames.ts | 8 + ...kInfoExportAssignmentOfGenericInterface.ts | 16 + .../quickInfoForAliasedGeneric.ts | 17 + ...textuallyTypedFunctionInReturnStatement.ts | 20 + ...nfoForDerivedGenericTypeWithConstructor.ts | 21 + .../quickInfoForFunctionDeclaration.ts | 20 + .../quickInfoForGenericConstraints1.ts | 7 + .../quickInfoForGenericPrototypeMember.ts | 13 + ...quickInfoForIndexerResultWithConstraint.ts | 13 + .../quickInfoForOverloadOnConst1.ts | 41 + .../quickInfoForTypeofParameter.ts | 15 + .../quickInfoFromEmptyBlockComment.ts | 10 + .../cases/fourslash_old/quickInfoGenerics.ts | 31 + .../quickInfoInFunctionTypeReference.ts | 14 + .../quickInfoInFunctionTypeReference2.ts | 18 + .../quickInfoInInvalidIndexSignature.ts | 6 + .../fourslash_old/quickInfoInObjectLiteral.ts | 25 + .../fourslash_old/quickInfoInWithBlock.ts | 16 + .../quickInfoInvalidLocations.ts | 52 + .../quickInfoOfGenericTypeAssertions1.ts | 17 + .../quickInfoOfLablledForStatementIterator.ts | 6 + .../quickInfoOfStringPropertyNames1.ts | 33 + .../fourslash_old/quickInfoOnCatchVariable.ts | 8 + .../fourslash_old/quickInfoOnCircularTypes.ts | 21 + .../quickInfoOnClassMergedWithFunction.ts | 17 + ...ckInfoOnConstructorWithGenericParameter.ts | 29 + .../fourslash_old/quickInfoOnErrorTypes1.ts | 9 + .../fourslash_old/quickInfoOnGenericClass.ts | 8 + .../quickInfoOnGenericWithConstraints1.ts | 9 + .../quickInfoOnMergedInterfaces.ts | 22 + ...oOnMergedInterfacesWithIncrementalEdits.ts | 28 + .../fourslash_old/quickInfoOnMergedModule.ts | 22 + .../quickInfoOnObjectLiteralWithAccessors.ts | 26 + .../quickInfoOnObjectLiteralWithOnlyGetter.ts | 21 + .../quickInfoOnObjectLiteralWithOnlySetter.ts | 20 + tests/cases/fourslash_old/quickInfoOnThis.ts | 15 + ...nfoOnUnResolvedBaseConstructorSignature.ts | 15 + .../quickInfoShowsGenericSpecialization.ts | 7 + .../fourslash_old/quickinfoIsConsistent.ts | 12 + .../fourslash_old/recursiveClassReference.ts | 14 + .../cases/fourslash_old/recursiveGenerics2.ts | 7 + .../recursiveInternalModuleImport.ts | 11 + .../fourslash_old/recursiveObjectLiteral.ts | 6 + .../recursiveWrappedTypeParameters1.ts | 36 + tests/cases/fourslash_old/referenceToClass.ts | 36 + .../fourslash_old/referencesForClassLocal.ts | 30 + .../referencesForClassParameter.ts | 26 + .../referencesForFunctionOverloads.ts | 17 + .../referencesForFunctionParameter.ts | 15 + .../fourslash_old/referencesForGlobals.ts | 32 + .../referencesForIllegalAssignment.ts | 21 + .../fourslash_old/referencesForNoContext.ts | 34 + .../fourslash_old/referencesForOverrides.ts | 84 + .../fourslash_old/referencesForStatic.ts | 40 + ...rencesForStaticsAndMembersWithSameNames.ts | 49 + .../fourslash_old/referencesInComment.ts | 18 + tests/cases/fourslash_old/regexDetection.ts | 15 + .../cases/fourslash_old/regexErrorRecovery.ts | 13 + tests/cases/fourslash_old/regexp.ts | 6 + .../fourslash_old/remoteGetReferences.ts | 202 + .../removeDeclareFunctionExports.ts | 9 + .../fourslash_old/removeDeclareInModule.ts | 12 + .../fourslash_old/removeDeclareKeyword.ts | 7 + .../removeDeclareParamTypeAnnotation.ts | 8 + .../removeDuplicateIdentifier.ts | 7 + .../removeExportFromInterfaceError0.ts | 15 + .../removeExportFromInterfaceError1.ts | 15 + .../removeExportedClassFromReopenedModule.ts | 16 + .../removeInterfaceExtendsClause.ts | 7 + ...emoveInterfaceUsedAsGenericTypeArgument.ts | 8 + ...moveParameterBetweenCommentAndParameter.ts | 6 + .../removeVarFromModuleWithReopenedEnums.ts | 16 + .../cases/fourslash_old/renameModuleToVar.ts | 16 + .../fourslash_old/restArgSignatureHelp.ts | 7 + tests/cases/fourslash_old/restArgType.ts | 80 + .../restParametersTypeValidation1.ts | 12 + .../restParamsContextuallyTyped.ts | 10 + .../fourslash_old/returnRecursiveType.ts | 11 + .../returnTypeOfGenericFunction1.ts | 10 + .../fourslash_old/runtimeBehaviorTests.ts | 193 + ...scriptLexicalStructureEmptyConstructors.ts | 12 + .../scriptLexicalStructureItems.ts | 51 + ...ctureItemsContainsNoAnonymouseFunctions.ts | 44 + ...iptLexicalStructureItemsExternalModules.ts | 11 + ...iptLexicalStructureItemsModuleVariables.ts | 31 + ...tructurePropertiesDefinedInConstructors.ts | 15 + .../selfReferencedExternalModule.ts | 9 + .../selfReferencedExternalModule2.ts | 16 + .../fourslash_old/semicolonFormatting.ts | 7 + .../semicolonFormattingAfterArrayLiteral.ts | 9 + .../semicolonFormattingInsideAComment.ts | 9 + ...semicolonFormattingInsideAStringLiteral.ts | 10 + .../semicolonFormattingNestedStatements.ts | 23 + .../semicolonFormattingNewline.ts | 11 + .../signatureHelpAnonymousFunction.ts | 17 + .../cases/fourslash_old/signatureHelpAtEOF.ts | 15 + .../signatureHelpBeforeSemicolon1.ts | 15 + .../signatureHelpCallExpression.ts | 16 + .../signatureHelpConstructExpression.ts | 17 + .../signatureHelpConstructorInheritance.ts | 22 + .../signatureHelpConstructorOverload.ts | 16 + .../signatureHelpForSuperCalls1.ts | 28 + .../signatureHelpFunctionOverload.ts | 18 + .../signatureHelpFunctionParameter.ts | 17 + .../signatureHelpImplicitConstructor.ts | 10 + .../fourslash_old/signatureHelpInCallback.ts | 11 + .../signatureHelpInCompleteGenericsCall.ts | 8 + .../signatureHelpInFunctionCall.ts | 9 + ...allOnFunctionDeclarationInMultipleFiles.ts | 14 + ...ureHelpInIncompleteInvocationExpression.ts | 19 + .../signatureHelpInParenthetical.ts | 9 + .../signatureHelpIncompleteCalls.ts | 31 + .../signatureHelpNegativeTests.ts | 16 + .../signatureHelpNegativeTests2.ts | 10 + .../fourslash_old/signatureHelpNoArguments.ts | 12 + ...ctCreationExpressionNoArgs_NotAvailable.ts | 8 + .../signatureHelpObjectLiteral.ts | 17 + .../signatureHelpOnOverloadOnConst.ts | 26 + .../fourslash_old/signatureHelpOnOverloads.ts | 18 + ...ureHelpOnSuperWhenMembersAreNotResolved.ts | 14 + .../signatureHelpSimpleConstructorCall.ts | 17 + .../signatureHelpSimpleFunctionCall.ts | 19 + .../signatureHelpSimpleSuperCall.ts | 20 + .../signatureHelpSuperConstructorOverload.ts | 28 + .../signatureHelpWhenEditingCallExpression.ts | 30 + .../signatureHelpWithInterfaceAsIdentifier.ts | 9 + .../singleLineTypeLiteralFormatting.ts | 7 + ...smartIndentAfterAlignedFunctionArgument.ts | 9 + .../smartIndentAfterFatArrowVar.ts | 7 + tests/cases/fourslash_old/smartIndentClass.ts | 21 + tests/cases/fourslash_old/smartIndentEnum.ts | 14 + .../smartIndentInsideBlockInsideCase.ts | 18 + .../smartIndentInsideMultilineString.ts | 35 + .../fourslash_old/smartIndentInterface.ts | 14 + .../cases/fourslash_old/smartIndentModule.ts | 12 + .../fourslash_old/smartIndentNestedModule.ts | 17 + ...artIndentNonterminatedArgumentListAtEOF.ts | 7 + ...martIndentNonterminatedIfStatementAtEOF.ts | 7 + .../smartIndentOnFunctionParameters.ts | 31 + .../fourslash_old/smartIndentStatementFor.ts | 14 + .../smartIndentStatementForIn.ts | 15 + .../smartIndentStatementSwitch.ts | 21 + .../smartIndentStatementTryCatchFinally.ts | 45 + .../fourslash_old/smartIndentStatementWith.ts | 15 + .../fourslash_old/spaceAfterConstructor.ts | 12 + tests/cases/fourslash_old/spaceAfterReturn.ts | 15 + .../squiggleFunctionExpression.ts | 9 + .../squiggleIllegalClassExtension.ts | 6 + .../squiggleIllegalInterfaceExtension.ts | 8 + .../squiggleIllegalSubclassOverride.ts | 12 + .../squiggleUnclosedStringLiteral.ts | 11 + .../fourslash_old/staticGenericOverloads1.ts | 22 + .../staticPrototypePropertyOnClass.ts | 29 + .../fourslash_old/stringPropertyNames1.ts | 10 + .../fourslash_old/stringPropertyNames2.ts | 10 + tests/cases/fourslash_old/superCallError0.ts | 14 + .../superInDerivedTypeOfGenericWithStatics.ts | 18 + tests/cases/fourslash_old/switchIndenting.ts | 13 + ...symbolNameAtUnparseableFunctionOverload.ts | 13 + .../fourslash_old/syntaxErrorAfterImport1.ts | 15 + .../tabbingAfterNewlineInsertedBeforeWhile.ts | 10 + .../fourslash_old/thisBindingInLambda.ts | 12 + tests/cases/fourslash_old/thisRefGotoDef.ts | 14 + .../toggleDuplicateFunctionDeclaration.ts | 12 + .../fourslash_old/transitiveExportImports.ts | 17 + .../fourslash_old/tryCatchFinallyFormating.ts | 43 + ...peAboveNumberLiteralExpressionStatement.ts | 9 + .../cases/fourslash_old/typeArgCompletion.ts | 12 + .../typeCheckAfterAddingGenericParameter.ts | 26 + .../fourslash_old/typeCheckAfterResolve.ts | 28 + .../fourslash_old/typeCheckExpression0.ts | 27 + .../typeCheckGenericTypeLiteralArgument.ts | 12 + .../fourslash_old/typeCheckIndexSignature.ts | 11 + .../fourslash_old/typeCheckIndexerAccess1.ts | 40 + .../typeCheckObjectInArrayLiteral.ts | 7 + tests/cases/fourslash_old/typeOfAFundule.ts | 11 + .../fourslash_old/typeOfThisInStatics.ts | 17 + .../typeParameterListInQuickInfoAfterEdit.ts | 20 + .../typedGenericPrototypeMember.ts | 13 + .../unclosedArrayErrorRecovery.ts | 6 + .../unclosedCommentsInConstructor.ts | 8 + .../unclosedFunctionErrorRecovery.ts | 8 + .../unclosedFunctionErrorRecovery2.ts | 8 + .../unclosedFunctionErrorRecovery3.ts | 6 + ...osedMultilineStringLiteralErrorRecovery.ts | 10 + .../unclosedStringLiteralAutoformating.ts | 10 + .../unclosedStringLiteralErrorRecovery.ts | 11 + .../unclosedStringLiteralErrorRecovery2.ts | 12 + .../unclosedStringLiteralErrorRecovery3.ts | 11 + .../unclosedStringLiteralErrorRecovery4.ts | 9 + .../cases/fourslash_old/underscoreTyping1.ts | 21 + .../cases/fourslash_old/underscoreTypings1.ts | 62 + .../unknownVariableErrorRecovery.ts | 9 + .../fourslash_old/updateToClassStatics.ts | 22 + .../verifySingleFileEmitOutput1.ts | 14 + .../whiteSpaceBeforeReturnTypeFormatting.ts | 5 + .../cases/fourslash_old/whiteSpaceTrimming.ts | 10 + tests/cases/fourslash_old/widenedTypes.ts | 18 + tests/cases/project/baseline.json | 9 + tests/cases/project/baseline2.json | 9 + tests/cases/project/baseline3.json | 9 + tests/cases/project/cantFindTheModule.json | 7 + tests/cases/project/circularReferencing.json | 7 + tests/cases/project/circularReferencing2.json | 8 + .../project/declarationsCascadingImports.json | 9 + .../project/declarationsGlobalImport.json | 9 + .../declarationsImportedInPrivate.json | 9 + .../declarationsImportedUseInFunction.json | 9 + ...ionsIndirectImportShouldResultInError.json | 8 + .../declarationsMultipleTimesImport.json | 9 + ...clarationsMultipleTimesMultipleImport.json | 9 + .../project/declarationsSimpleImport.json | 9 + tests/cases/project/declareExportAdded.json | 8 + .../project/declareVariableCollision.json | 9 + .../project/extReferencingExtAndInt.json | 7 + .../project/intReferencingExtAndInt.json | 7 + ...ootAbsolutePathMixedSubfolderNoOutdir.json | 12 + ...hMixedSubfolderSpecifyOutputDirectory.json | 13 + ...tePathMixedSubfolderSpecifyOutputFile.json | 13 + ...erSpecifyOutputFileAndOutputDirectory.json | 14 + ...AbsolutePathModuleMultifolderNoOutdir.json | 12 + ...duleMultifolderSpecifyOutputDirectory.json | 13 + ...athModuleMultifolderSpecifyOutputFile.json | 13 + ...pRootAbsolutePathModuleSimpleNoOutdir.json | 12 + ...athModuleSimpleSpecifyOutputDirectory.json | 13 + ...lutePathModuleSimpleSpecifyOutputFile.json | 13 + ...otAbsolutePathModuleSubfolderNoOutdir.json | 12 + ...ModuleSubfolderSpecifyOutputDirectory.json | 13 + ...ePathModuleSubfolderSpecifyOutputFile.json | 13 + ...apRootAbsolutePathMultifolderNoOutdir.json | 12 + ...PathMultifolderSpecifyOutputDirectory.json | 13 + ...olutePathMultifolderSpecifyOutputFile.json | 13 + .../mapRootAbsolutePathSimpleNoOutdir.json | 12 + ...olutePathSimpleSpecifyOutputDirectory.json | 13 + ...otAbsolutePathSimpleSpecifyOutputFile.json | 13 + ...mapRootAbsolutePathSingleFileNoOutdir.json | 12 + ...ePathSingleFileSpecifyOutputDirectory.json | 13 + ...solutePathSingleFileSpecifyOutputFile.json | 13 + .../mapRootAbsolutePathSubfolderNoOutdir.json | 12 + ...tePathSubfolderSpecifyOutputDirectory.json | 13 + ...bsolutePathSubfolderSpecifyOutputFile.json | 13 + ...ootRelativePathMixedSubfolderNoOutdir.json | 11 + ...hMixedSubfolderSpecifyOutputDirectory.json | 12 + ...vePathMixedSubfolderSpecifyOutputFile.json | 12 + ...erSpecifyOutputFileAndOutputDirectory.json | 13 + ...RelativePathModuleMultifolderNoOutdir.json | 11 + ...duleMultifolderSpecifyOutputDirectory.json | 12 + ...athModuleMultifolderSpecifyOutputFile.json | 12 + ...pRootRelativePathModuleSimpleNoOutdir.json | 11 + ...athModuleSimpleSpecifyOutputDirectory.json | 12 + ...tivePathModuleSimpleSpecifyOutputFile.json | 12 + ...otRelativePathModuleSubfolderNoOutdir.json | 11 + ...ModuleSubfolderSpecifyOutputDirectory.json | 12 + ...ePathModuleSubfolderSpecifyOutputFile.json | 12 + ...apRootRelativePathMultifolderNoOutdir.json | 11 + ...PathMultifolderSpecifyOutputDirectory.json | 12 + ...ativePathMultifolderSpecifyOutputFile.json | 12 + .../mapRootRelativePathSimpleNoOutdir.json | 11 + ...ativePathSimpleSpecifyOutputDirectory.json | 12 + ...otRelativePathSimpleSpecifyOutputFile.json | 12 + ...mapRootRelativePathSingleFileNoOutdir.json | 11 + ...ePathSingleFileSpecifyOutputDirectory.json | 12 + ...lativePathSingleFileSpecifyOutputFile.json | 12 + .../mapRootRelativePathSubfolderNoOutdir.json | 11 + ...vePathSubfolderSpecifyOutputDirectory.json | 12 + ...elativePathSubfolderSpecifyOutputFile.json | 12 + ...apRootSourceRootWithNoSourceMapOption.json | 9 + .../project/mapRootWithNoSourceMapOption.json | 8 + .../maprootUrlMixedSubfolderNoOutdir.json | 11 + ...lMixedSubfolderSpecifyOutputDirectory.json | 12 + ...ootUrlMixedSubfolderSpecifyOutputFile.json | 12 + ...erSpecifyOutputFileAndOutputDirectory.json | 13 + .../maprootUrlModuleMultifolderNoOutdir.json | 11 + ...duleMultifolderSpecifyOutputDirectory.json | 12 + ...UrlModuleMultifolderSpecifyOutputFile.json | 12 + .../maprootUrlModuleSimpleNoOutdir.json | 11 + ...UrlModuleSimpleSpecifyOutputDirectory.json | 12 + ...prootUrlModuleSimpleSpecifyOutputFile.json | 12 + .../maprootUrlModuleSubfolderNoOutdir.json | 11 + ...ModuleSubfolderSpecifyOutputDirectory.json | 12 + ...otUrlModuleSubfolderSpecifyOutputFile.json | 12 + .../maprootUrlMultifolderNoOutdir.json | 11 + ...tUrlMultifolderSpecifyOutputDirectory.json | 12 + ...aprootUrlMultifolderSpecifyOutputFile.json | 12 + .../project/maprootUrlSimpleNoOutdir.json | 11 + ...aprootUrlSimpleSpecifyOutputDirectory.json | 12 + .../maprootUrlSimpleSpecifyOutputFile.json | 12 + .../project/maprootUrlSingleFileNoOutdir.json | 11 + ...otUrlSingleFileSpecifyOutputDirectory.json | 12 + ...maprootUrlSingleFileSpecifyOutputFile.json | 12 + .../project/maprootUrlSubfolderNoOutdir.json | 11 + ...ootUrlSubfolderSpecifyOutputDirectory.json | 12 + .../maprootUrlSubfolderSpecifyOutputFile.json | 12 + ...rlsourcerootUrlMixedSubfolderNoOutdir.json | 12 + ...lMixedSubfolderSpecifyOutputDirectory.json | 13 + ...ootUrlMixedSubfolderSpecifyOutputFile.json | 13 + ...erSpecifyOutputFileAndOutputDirectory.json | 14 + ...ourcerootUrlModuleMultifolderNoOutdir.json | 12 + ...duleMultifolderSpecifyOutputDirectory.json | 13 + ...UrlModuleMultifolderSpecifyOutputFile.json | 13 + ...tUrlsourcerootUrlModuleSimpleNoOutdir.json | 12 + ...UrlModuleSimpleSpecifyOutputDirectory.json | 13 + ...erootUrlModuleSimpleSpecifyOutputFile.json | 13 + ...lsourcerootUrlModuleSubfolderNoOutdir.json | 12 + ...ModuleSubfolderSpecifyOutputDirectory.json | 13 + ...otUrlModuleSubfolderSpecifyOutputFile.json | 13 + ...otUrlsourcerootUrlMultifolderNoOutdir.json | 12 + ...tUrlMultifolderSpecifyOutputDirectory.json | 13 + ...cerootUrlMultifolderSpecifyOutputFile.json | 13 + ...maprootUrlsourcerootUrlSimpleNoOutdir.json | 12 + ...cerootUrlSimpleSpecifyOutputDirectory.json | 13 + ...lsourcerootUrlSimpleSpecifyOutputFile.json | 13 + ...ootUrlsourcerootUrlSingleFileNoOutdir.json | 12 + ...otUrlSingleFileSpecifyOutputDirectory.json | 13 + ...rcerootUrlSingleFileSpecifyOutputFile.json | 13 + ...rootUrlsourcerootUrlSubfolderNoOutdir.json | 12 + ...ootUrlSubfolderSpecifyOutputDirectory.json | 13 + ...urcerootUrlSubfolderSpecifyOutputFile.json | 13 + tests/cases/project/moduleIdentifier.json | 8 + .../cases/project/moduleMergingOrdering1.json | 8 + .../cases/project/moduleMergingOrdering2.json | 8 + .../multipleLevelsModuleResolution.json | 7 + tests/cases/project/nestedDeclare.json | 7 + .../project/nestedLocalModuleSimpleCase.json | 7 + ...stedLocalModuleWithRecursiveTypecheck.json | 7 + tests/cases/project/nestedReferenceTags.json | 7 + tests/cases/project/noDefaultLib.json | 7 + tests/cases/project/nonRelative.json | 8 + .../project/outMixedSubfolderNoOutdir.json | 9 + ...tMixedSubfolderSpecifyOutputDirectory.json | 10 + .../outMixedSubfolderSpecifyOutputFile.json | 10 + ...erSpecifyOutputFileAndOutputDirectory.json | 11 + .../project/outModuleMultifolderNoOutdir.json | 9 + ...duleMultifolderSpecifyOutputDirectory.json | 10 + ...outModuleMultifolderSpecifyOutputFile.json | 10 + .../project/outModuleSimpleNoOutdir.json | 9 + ...outModuleSimpleSpecifyOutputDirectory.json | 10 + .../outModuleSimpleSpecifyOutputFile.json | 10 + .../project/outModuleSubfolderNoOutdir.json | 9 + ...ModuleSubfolderSpecifyOutputDirectory.json | 10 + .../outModuleSubfolderSpecifyOutputFile.json | 10 + .../cases/project/outMultifolderNoOutdir.json | 9 + .../outMultifolderSpecifyOutputDirectory.json | 10 + .../outMultifolderSpecifyOutputFile.json | 10 + tests/cases/project/outSimpleNoOutdir.json | 9 + .../outSimpleSpecifyOutputDirectory.json | 10 + .../project/outSimpleSpecifyOutputFile.json | 10 + .../cases/project/outSingleFileNoOutdir.json | 9 + .../outSingleFileSpecifyOutputDirectory.json | 10 + .../outSingleFileSpecifyOutputFile.json | 10 + tests/cases/project/outSubfolderNoOutdir.json | 9 + .../outSubfolderSpecifyOutputDirectory.json | 10 + .../outSubfolderSpecifyOutputFile.json | 10 + ...mportedModuleDeclarationsInsideModule.json | 8 + ...leDeclarationsInsideNonExportedModule.json | 7 + ...edModuleImportStatementInParentModule.json | 7 + ...yCheckOnImportedModuleSimpleReference.json | 7 + ...heckOnIndirectTypeFromTheExternalType.json | 7 + tests/cases/project/prologueEmit.json | 10 + .../quotesInFileAndDirectoryNames.json | 9 + tests/cases/project/relativeGlobal.json | 8 + tests/cases/project/relativeGlobalRef.json | 7 + tests/cases/project/relativeNested.json | 8 + tests/cases/project/relativeNestedRef.json | 7 + tests/cases/project/relativePaths.json | 7 + ...ootAbsolutePathMixedSubfolderNoOutdir.json | 12 + ...hMixedSubfolderSpecifyOutputDirectory.json | 13 + ...tePathMixedSubfolderSpecifyOutputFile.json | 13 + ...erSpecifyOutputFileAndOutputDirectory.json | 14 + ...AbsolutePathModuleMultifolderNoOutdir.json | 12 + ...duleMultifolderSpecifyOutputDirectory.json | 13 + ...athModuleMultifolderSpecifyOutputFile.json | 13 + ...eRootAbsolutePathModuleSimpleNoOutdir.json | 12 + ...athModuleSimpleSpecifyOutputDirectory.json | 13 + ...lutePathModuleSimpleSpecifyOutputFile.json | 13 + ...otAbsolutePathModuleSubfolderNoOutdir.json | 12 + ...ModuleSubfolderSpecifyOutputDirectory.json | 13 + ...ePathModuleSubfolderSpecifyOutputFile.json | 13 + ...ceRootAbsolutePathMultifolderNoOutdir.json | 12 + ...PathMultifolderSpecifyOutputDirectory.json | 13 + ...olutePathMultifolderSpecifyOutputFile.json | 13 + .../sourceRootAbsolutePathSimpleNoOutdir.json | 12 + ...olutePathSimpleSpecifyOutputDirectory.json | 13 + ...otAbsolutePathSimpleSpecifyOutputFile.json | 13 + ...rceRootAbsolutePathSingleFileNoOutdir.json | 12 + ...ePathSingleFileSpecifyOutputDirectory.json | 13 + ...solutePathSingleFileSpecifyOutputFile.json | 13 + ...urceRootAbsolutePathSubfolderNoOutdir.json | 12 + ...tePathSubfolderSpecifyOutputDirectory.json | 13 + ...bsolutePathSubfolderSpecifyOutputFile.json | 13 + ...ootRelativePathMixedSubfolderNoOutdir.json | 11 + ...hMixedSubfolderSpecifyOutputDirectory.json | 12 + ...vePathMixedSubfolderSpecifyOutputFile.json | 12 + ...erSpecifyOutputFileAndOutputDirectory.json | 13 + ...RelativePathModuleMultifolderNoOutdir.json | 11 + ...duleMultifolderSpecifyOutputDirectory.json | 12 + ...athModuleMultifolderSpecifyOutputFile.json | 12 + ...eRootRelativePathModuleSimpleNoOutdir.json | 11 + ...athModuleSimpleSpecifyOutputDirectory.json | 12 + ...tivePathModuleSimpleSpecifyOutputFile.json | 12 + ...otRelativePathModuleSubfolderNoOutdir.json | 11 + ...ModuleSubfolderSpecifyOutputDirectory.json | 12 + ...ePathModuleSubfolderSpecifyOutputFile.json | 12 + ...ceRootRelativePathMultifolderNoOutdir.json | 11 + ...PathMultifolderSpecifyOutputDirectory.json | 12 + ...ativePathMultifolderSpecifyOutputFile.json | 12 + .../sourceRootRelativePathSimpleNoOutdir.json | 11 + ...ativePathSimpleSpecifyOutputDirectory.json | 12 + ...otRelativePathSimpleSpecifyOutputFile.json | 12 + ...rceRootRelativePathSingleFileNoOutdir.json | 11 + ...ePathSingleFileSpecifyOutputDirectory.json | 12 + ...lativePathSingleFileSpecifyOutputFile.json | 12 + ...urceRootRelativePathSubfolderNoOutdir.json | 11 + ...vePathSubfolderSpecifyOutputDirectory.json | 12 + ...elativePathSubfolderSpecifyOutputFile.json | 12 + .../sourceRootWithNoSourceMapOption.json | 8 + .../sourcemapMixedSubfolderNoOutdir.json | 10 + ...pMixedSubfolderSpecifyOutputDirectory.json | 11 + ...rcemapMixedSubfolderSpecifyOutputFile.json | 11 + ...erSpecifyOutputFileAndOutputDirectory.json | 12 + .../sourcemapModuleMultifolderNoOutdir.json | 10 + ...duleMultifolderSpecifyOutputDirectory.json | 11 + ...mapModuleMultifolderSpecifyOutputFile.json | 11 + .../sourcemapModuleSimpleNoOutdir.json | 10 + ...mapModuleSimpleSpecifyOutputDirectory.json | 11 + ...ourcemapModuleSimpleSpecifyOutputFile.json | 11 + .../sourcemapModuleSubfolderNoOutdir.json | 10 + ...ModuleSubfolderSpecifyOutputDirectory.json | 11 + ...cemapModuleSubfolderSpecifyOutputFile.json | 11 + .../project/sourcemapMultifolderNoOutdir.json | 10 + ...emapMultifolderSpecifyOutputDirectory.json | 11 + ...sourcemapMultifolderSpecifyOutputFile.json | 11 + .../project/sourcemapSimpleNoOutdir.json | 10 + ...sourcemapSimpleSpecifyOutputDirectory.json | 11 + .../sourcemapSimpleSpecifyOutputFile.json | 11 + .../project/sourcemapSingleFileNoOutdir.json | 10 + ...cemapSingleFileSpecifyOutputDirectory.json | 11 + .../sourcemapSingleFileSpecifyOutputFile.json | 11 + .../project/sourcemapSubfolderNoOutdir.json | 10 + ...rcemapSubfolderSpecifyOutputDirectory.json | 11 + .../sourcemapSubfolderSpecifyOutputFile.json | 11 + .../sourcerootUrlMixedSubfolderNoOutdir.json | 11 + ...lMixedSubfolderSpecifyOutputDirectory.json | 12 + ...ootUrlMixedSubfolderSpecifyOutputFile.json | 12 + ...erSpecifyOutputFileAndOutputDirectory.json | 13 + ...ourcerootUrlModuleMultifolderNoOutdir.json | 11 + ...duleMultifolderSpecifyOutputDirectory.json | 12 + ...UrlModuleMultifolderSpecifyOutputFile.json | 12 + .../sourcerootUrlModuleSimpleNoOutdir.json | 11 + ...UrlModuleSimpleSpecifyOutputDirectory.json | 12 + ...erootUrlModuleSimpleSpecifyOutputFile.json | 12 + .../sourcerootUrlModuleSubfolderNoOutdir.json | 11 + ...ModuleSubfolderSpecifyOutputDirectory.json | 12 + ...otUrlModuleSubfolderSpecifyOutputFile.json | 12 + .../sourcerootUrlMultifolderNoOutdir.json | 11 + ...tUrlMultifolderSpecifyOutputDirectory.json | 12 + ...cerootUrlMultifolderSpecifyOutputFile.json | 12 + .../project/sourcerootUrlSimpleNoOutdir.json | 11 + ...cerootUrlSimpleSpecifyOutputDirectory.json | 12 + .../sourcerootUrlSimpleSpecifyOutputFile.json | 12 + .../sourcerootUrlSingleFileNoOutdir.json | 11 + ...otUrlSingleFileSpecifyOutputDirectory.json | 12 + ...rcerootUrlSingleFileSpecifyOutputFile.json | 12 + .../sourcerootUrlSubfolderNoOutdir.json | 11 + ...ootUrlSubfolderSpecifyOutputDirectory.json | 12 + ...urcerootUrlSubfolderSpecifyOutputFile.json | 12 + .../visibilityOfTypeUsedAcrossModules.json | 8 + .../visibilityOfTypeUsedAcrossModules2.json | 7 + .../cases/projects/CircularReferencing-2/a.ts | 5 + .../cases/projects/CircularReferencing-2/b.ts | 7 + .../cases/projects/CircularReferencing-2/c.ts | 7 + .../projects/CircularReferencing/consume.ts | 4 + .../projects/CircularReferencing/decl.ts | 4 + .../projects/DeclareExportAdded/consumer.ts | 4 + .../projects/DeclareExportAdded/ref.d.ts | 4 + .../cases/projects/InvalidReferences/main.ts | 3 + .../projects/ModuleIdentifier/consume.ts | 4 + tests/cases/projects/ModuleIdentifier/decl.ts | 2 + .../cases/projects/MultipleLevels/A/AA/aA.ts | 4 + tests/cases/projects/MultipleLevels/A/a.ts | 4 + tests/cases/projects/MultipleLevels/B/b.ts | 15 + tests/cases/projects/MultipleLevels/b.ts | 15 + tests/cases/projects/MultipleLevels/root.ts | 6 + tests/cases/projects/NestedDeclare/consume.ts | 9 + .../NestedLocalModule-SimpleCase/test1.ts | 6 + .../NestedLocalModule-SimpleCase/test2.ts | 1 + .../test1.ts | 11 + .../test2.ts | 9 + tests/cases/projects/No-default-lib/test.ts | 4 + tests/cases/projects/NoModule/decl.ts | 10 + tests/cases/projects/NoModule/foo/bar.ts | 3 + .../cases/projects/PrologueEmit/__extends.ts | 5 + .../PrologueEmit/globalThisCapture.ts | 2 + .../projects/Quote'InName/li'b/class'A.ts | 6 + tests/cases/projects/Quote'InName/m'ain.ts | 4 + tests/cases/projects/RelativePaths/A/a.ts | 5 + tests/cases/projects/RelativePaths/A/b.ts | 3 + tests/cases/projects/RelativePaths/app.ts | 3 + tests/cases/projects/RelativePaths/b.ts | 3 + .../commands.ts | 7 + .../VisibilityOfCrosssModuleTypeUsage/fs.ts | 16 + .../server.ts | 6 + tests/cases/projects/baseline/decl.ts | 4 + tests/cases/projects/baseline/dont_emit.ts | 2 + tests/cases/projects/baseline/emit.ts | 2 + tests/cases/projects/baseline/nestedModule.ts | 6 + .../declarations_CascadingImports/m4.ts | 6 + .../useModule.ts | 14 + .../declarations_GlobalImport/glo_m4.d.ts | 4 + .../declarations_GlobalImport/glo_m4.ts | 8 + .../declarations_GlobalImport/useModule.d.ts | 4 + .../declarations_GlobalImport/useModule.ts | 4 + .../private_m4.ts | 8 + .../useModule.ts | 9 + .../fncOnly_m4.ts | 8 + .../useModule.ts | 2 + .../declarations_IndirectImport/m4.ts | 6 + .../declarations_IndirectImport/m5.ts | 4 + .../declarations_IndirectImport/useModule.ts | 8 + .../declarations_MultipleTimesImport/m4.ts | 6 + .../useModule.ts | 20 + .../m4.ts | 6 + .../m5.ts | 4 + .../useModule.ts | 18 + .../projects/declarations_SimpleImport/m4.ts | 6 + .../declarations_SimpleImport/useModule.ts | 14 + .../declareVariableCollision/decl.d.ts | 12 + .../declareVariableCollision/in1.d.ts | 1 + .../declareVariableCollision/in2.d.ts | 1 + tests/cases/projects/ext-int-ext/external.ts | 5 + tests/cases/projects/ext-int-ext/external2.ts | 3 + tests/cases/projects/ext-int-ext/internal.ts | 3 + tests/cases/projects/ext-int-ext/internal2.ts | 5 + tests/cases/projects/moduleMergeOrder/a.ts | 17 + tests/cases/projects/moduleMergeOrder/b.ts | 2 + tests/cases/projects/non-relative/consume.ts | 14 + tests/cases/projects/non-relative/decl.ts | 3 + .../cases/projects/non-relative/lib/bar/a.ts | 1 + .../cases/projects/non-relative/lib/foo/a.ts | 2 + .../cases/projects/non-relative/lib/foo/b.ts | 1 + .../outputdir_mixed_subfolder/ref/m1.ts | 9 + .../outputdir_mixed_subfolder/ref/m2.ts | 9 + .../outputdir_mixed_subfolder/test.ts | 11 + .../outputdir_module_multifolder/ref/m1.ts | 9 + .../outputdir_module_multifolder/test.ts | 14 + .../outputdir_module_multifolder_ref/m2.ts | 9 + .../projects/outputdir_module_simple/m1.ts | 9 + .../projects/outputdir_module_simple/test.ts | 12 + .../outputdir_module_subfolder/ref/m1.ts | 9 + .../outputdir_module_subfolder/test.ts | 12 + .../projects/outputdir_multifolder/ref/m1.ts | 9 + .../projects/outputdir_multifolder/test.ts | 11 + .../projects/outputdir_multifolder_ref/m2.ts | 9 + tests/cases/projects/outputdir_simple/m1.ts | 9 + tests/cases/projects/outputdir_simple/test.ts | 10 + .../projects/outputdir_singleFile/test.ts | 9 + .../projects/outputdir_subfolder/ref/m1.ts | 9 + .../projects/outputdir_subfolder/test.ts | 10 + .../privacyCheck-ImportInParent/mExported.ts | 10 + .../mNonExported.ts | 10 + .../privacyCheck-ImportInParent/test.ts | 82 + .../externalModule.ts | 2 + .../indirectExternalModule.ts | 2 + .../privacyCheck-IndirectReference/test.ts | 2 + .../privacyCheck-InsideModule/mExported.ts | 10 + .../privacyCheck-InsideModule/mNonExported.ts | 10 + .../privacyCheck-InsideModule/test.ts | 42 + .../privacyCheck-InsideModule/testGlo.ts | 39 + .../privacyCheck-SimpleReference/mExported.ts | 10 + .../mNonExported.ts | 10 + .../privacyCheck-SimpleReference/test.ts | 37 + .../cases/projects/reference-1/lib/classA.ts | 6 + .../cases/projects/reference-1/lib/classB.ts | 7 + tests/cases/projects/reference-1/main.ts | 5 + .../projects/relative-global-ref/consume.ts | 9 + .../projects/relative-global-ref/decl.d.ts | 4 + .../cases/projects/relative-global/consume.ts | 8 + tests/cases/projects/relative-global/decl.ts | 4 + .../projects/relative-nested-ref/decl.d.ts | 4 + .../relative-nested-ref/main/consume.ts | 9 + tests/cases/projects/relative-nested/app.ts | 3 + tests/cases/projects/relative-nested/decl.ts | 4 + .../projects/relative-nested/main/consume.ts | 15 + .../unittests/compiler/callSignatureTests.ts | 27 + .../unittests/compiler/classOverloads.ts | 128 + .../compiler/constructSignatureTests.ts | 26 + .../unittests/compiler/declarationTests.ts | 52 + .../compiler/functionSignaturesTests.ts | 25 + tests/cases/unittests/compiler/identifiers.ts | 13 + tests/cases/unittests/compiler/moduleAlias.ts | 14 + tests/cases/unittests/compiler/pathing.ts | 50 + .../compiler/propertySignatureTests.ts | 19 + tests/cases/unittests/ls/documentRegistry.ts | 172 + tests/cases/unittests/services/_project.ts | 4 + .../services/baselines/baseline-accept.ts | 20 + .../services/baselines/baseline-create.ts | 66 + .../inputs/getCompletionsAtPosition1.ts | 23 + .../baselines/inputs/optionsParser.ts | 215 + ...ompletionsAtPosition1.str-completions.json | 2 + ...ompletionsAtPosition1.str-definitions.json | 2 + ...getCompletionsAtPosition1.str-members.json | 2 + ...CompletionsAtPosition1.str-signatures.json | 2 + .../getCompletionsAtPosition1.str-types.json | 2 + .../optionsParser.str-completions.json | 1 + .../optionsParser.str-definitions.json | 1 + .../reference/optionsParser.str-members.json | 1 + .../optionsParser.str-signatures.json | 2 + .../reference/optionsParser.str-types.json | 1 + .../cases/unittests/services/colorization.ts | 198 + .../services/documentFormattingTests.json | 80 + tests/cases/unittests/services/dumpAST.ts | 3 + .../services/dumpAST/baseline-create.ts | 9 + .../services/formatDiffTemplate.html | 66 + .../services/getCompletionsAtPosition.ts | 220 + .../getCompletionsAtPositionAfterEdits.ts | 55 + .../getCompletionsAtPositionObjectLiterals.ts | 100 + .../getDefinitionPositionAtPosition.ts | 193 + ...itionPositionAtPositionPartialInterface.ts | 29 + .../services/getFormattingEditsForRange.ts | 88 + .../services/getImplementorsAtPosition.ts | 73 + .../services/getReferencesAtPosition.ts | 188 + .../services/getReferencesAtPosition2.ts | 235 + .../services/getScriptLexicalStructure.ts | 904 + .../services/getSignatureAtPosition.ts | 493 + .../services/getSmartIndentAtLineNumber.ts | 410 + .../services/importedJavaScriptFormatting.ts | 212 + .../unittests/services/incrementalParser.ts | 103 + .../unittests/services/overridesCollector.ts | 82 + .../services/ruleFormattingTests.json | 284 + .../services/testCode/formatting/classes.ts | 79 + .../testCode/formatting/classesBaseline.ts | 79 + .../testCode/formatting/colonAndQMark.ts | 4 + .../formatting/colonAndQMarkBaseline.ts | 4 + .../formatting/documentReadyFunction.ts | 3 + .../documentReadyFunctionBaseLine.ts | 3 + .../testCode/formatting/emptyBlock.ts | 1 + .../testCode/formatting/emptyBlockBaseline.ts | 1 + .../formatting/emptyInterfaceLiteral.ts | 10 + .../emptyInterfaceLiteralBaseLine.ts | 10 + .../testCode/formatting/fatArrowFunctions.ts | 112 + .../formatting/fatArrowFunctionsBaseline.ts | 112 + .../formatting/formatDebuggerStatement.ts | 2 + .../formatDebuggerStatementBaseline.ts | 2 + .../formatvariableDeclarationList.ts | 13 + .../formatvariableDeclarationListBaseline.ts | 13 + .../testCode/formatting/implicitModule.ts | 3 + .../formatting/implicitModuleBaseline.ts | 3 + .../testCode/formatting/importDeclaration.ts | 6 + .../formatting/importDeclarationBaseline.ts | 6 + .../services/testCode/formatting/main.ts | 95 + .../testCode/formatting/mainBaseline.ts | 98 + .../testCode/formatting/moduleIndentation.ts | 3 + .../formatting/moduleIndentationBaseline.ts | 3 + .../services/testCode/formatting/modules.ts | 76 + .../testCode/formatting/modulesBaseline.ts | 76 + .../testCode/formatting/objectLiteral.ts | 27 + .../formatting/objectLiteralBaseline.ts | 31 + .../testCode/formatting/onClosingBracket.ts | 32 + .../formatting/onClosingBracketBaseLine.ts | 28 + .../testCode/formatting/onSemiColon.ts | 1 + .../formatting/onSemiColonBaseline.ts | 1 + .../formatting/spaceAfterConstructor.ts | 1 + .../spaceAfterConstructorBaseline.ts | 1 + .../testCode/formatting/tabAfterCloseCurly.ts | 10 + .../formatting/tabAfterCloseCurlyBaseline.ts | 9 + .../formatting/typescriptConstructs.ts | 65 + .../typescriptConstructsBaseline.ts | 58 + .../services/testCode/formatting/various.ts | 17 + .../testCode/formatting/variousBaseline.ts | 17 + .../testCode/formatting/withStatement.ts | 9 + .../formatting/withStatementBaseline.ts | 6 + .../testCode/getBraceMatchingAtPosition.ts | 27 + .../testCode/getCompletionsAtPosition1.ts | 23 + .../testCode/getCompletionsAtPosition10.ts | 5 + .../testCode/getCompletionsAtPosition2.ts | 12 + .../testCode/getCompletionsAtPosition3.ts | 2 + .../testCode/getCompletionsAtPosition4.ts | 4 + .../testCode/getCompletionsAtPosition5.ts | 3 + .../testCode/getCompletionsAtPosition6.ts | 1 + .../testCode/getCompletionsAtPosition7.ts | 1 + .../testCode/getCompletionsAtPosition8.ts | 1 + .../testCode/getCompletionsAtPosition9.ts | 10 + .../getCompletionsAtPositionAfterEdits.ts | 8 + .../getCompletionsAtPositionBugFixes.ts | 16 + .../getCompletionsAtPositionObjectLiterals.ts | 33 + .../testCode/getDefinitionsAtPosition.ts | 91 + .../testCode/getDefinitionsAtPosition2.ts | 6 + .../testCode/getDefinitionsAtPosition3.ts | 5 + ...tDefinitionsAtPositionPartialInterface1.ts | 5 + ...tDefinitionsAtPositionPartialInterface2.ts | 9 + .../testCode/getImplementorsAtPosition.ts | 57 + .../testCode/getReferencesAtPositionTest.ts | 117 + .../testCode/getReferencesAtPositionTest2.ts | 59 + .../testCode/getReferencesAtPositionTest3.ts | 70 + .../testCode/getReferencesAtPositionTest4.ts | 28 + .../testCode/getScriptLexicalStructure.ts | 112 + .../testCode/getSignatureAtPositionTest.ts | 85 + .../testCode/getSignatureAtPositionTestEOF.ts | 5 + .../testCode/getSmartIndentAtLineNumber.ts | 132 + .../testCode/getSmartIndentAtLineNumber2.ts | 8 + .../testCode/getSmartIndentAtLineNumber3.ts | 6 + .../services/testCode/incrementalParser.ts | 24 + .../services/testCode/incrementalParser2.ts | 5 + .../services/testCode/overridesCollector.ts | 57 + .../testCode/references/classLocal.ts | 19 + .../testCode/references/classParameter.ts | 18 + .../services/testCode/references/comment.ts | 4 + .../testCode/references/functionOverloads.ts | 6 + .../testCode/references/functionParameter.ts | 7 + .../services/testCode/references/globals.ts | 23 + .../testCode/references/illegalAssignment1.ts | 2 + .../testCode/references/illegalAssignment2.ts | 4 + .../services/testCode/references/noContext.ts | 20 + .../testCode/references/referenceToClass.ts | 17 + .../services/testCode/references/static.ts | 28 + tests/perfsys.ts | 106 + tests/perftc.ts | 30 + tests/test.bat | 13 + tests/webTestResults.html | 34 + tests/webTestServer.ts | 282 + tests/webhost/webhost.html | 87 + tests/webhost/webtsc.ts | 81 + tests/webhost/wscript.js | 22 + 14390 files changed, 671305 insertions(+) create mode 100644 .gitignore create mode 100644 .npmignore create mode 100644 CopyrightNotice.txt create mode 100644 Jakefile create mode 100644 LICENSE.txt create mode 100644 ThirdPartyNoticeText.txt create mode 100644 bin/lib.core.d.ts create mode 100644 bin/lib.d.ts create mode 100644 bin/lib.dom.d.ts create mode 100644 bin/lib.scripthost.d.ts create mode 100644 bin/lib.webworker.d.ts create mode 100644 bin/services.js create mode 100644 bin/tc.js create mode 100644 bin/tsc create mode 100644 doc/TypeScript Language Specification.docx create mode 100644 doc/TypeScript Language Specification.pdf create mode 100644 package.json create mode 100644 scripts/processDiagnosticMessages.ts create mode 100644 src/compiler/binder.ts create mode 100644 src/compiler/checker.ts create mode 100644 src/compiler/commandLineParser.ts create mode 100644 src/compiler/core.ts create mode 100644 src/compiler/diagnosticInformationMap.generated.ts create mode 100644 src/compiler/diagnosticMessages.json create mode 100644 src/compiler/emitter.ts create mode 100644 src/compiler/parser.ts create mode 100644 src/compiler/scanner.ts create mode 100644 src/compiler/sys.ts create mode 100644 src/compiler/tc.ts create mode 100644 src/compiler/types.ts create mode 100644 src/harness/compilerRunner.ts create mode 100644 src/harness/exec.ts create mode 100644 src/harness/external/chai.d.ts create mode 100644 src/harness/external/es5compat.js create mode 100644 src/harness/external/es5compat.ts create mode 100644 src/harness/external/json2.js create mode 100644 src/harness/external/json2.ts create mode 100644 src/harness/external/mocha.d.ts create mode 100644 src/harness/external/node.d.ts create mode 100644 src/harness/fourslash.ts create mode 100644 src/harness/fourslashRun.ts create mode 100644 src/harness/fourslashRunner.ts create mode 100644 src/harness/harness.ts create mode 100644 src/harness/harnessLanguageService.ts create mode 100644 src/harness/loggedIO.ts create mode 100644 src/harness/project.ts create mode 100644 src/harness/projectsRunner.ts create mode 100644 src/harness/runner.ts create mode 100644 src/harness/runnerbase.ts create mode 100644 src/harness/rwcRunner.ts create mode 100644 src/harness/sourceMapRecorder.ts create mode 100644 src/harness/syntacticCleaner.ts create mode 100644 src/harness/typeWriter.ts create mode 100644 src/harness/unittestrunner.ts create mode 100644 src/lib/core.d.ts create mode 100644 src/lib/dom.generated.d.ts create mode 100644 src/lib/extensions.d.ts create mode 100644 src/lib/importcore.d.ts create mode 100644 src/lib/scriptHost.d.ts create mode 100644 src/lib/webworker.generated.d.ts create mode 100644 src/lib/webworker.importscripts.d.ts create mode 100644 src/services/services.ts create mode 100644 src/services/shims.ts create mode 100644 tests/baselines/reference/2dArrays.js create mode 100644 tests/baselines/reference/AmbientModuleAndAmbientFunctionWithTheSameNameAndCommonRoot.js create mode 100644 tests/baselines/reference/AmbientModuleAndAmbientWithSameNameAndCommonRoot.js create mode 100644 tests/baselines/reference/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.js create mode 100644 tests/baselines/reference/AmbientModuleAndNonAmbientFunctionWithTheSameNameAndCommonRoot.js create mode 100644 tests/baselines/reference/ArrowFunctionExpression1.errors.txt create mode 100644 tests/baselines/reference/ArrowFunctionExpression1.js create mode 100644 tests/baselines/reference/ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.errors.txt create mode 100644 tests/baselines/reference/ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.js create mode 100644 tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndGenericClassStaticFunctionOfTheSameName.errors.txt create mode 100644 tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndGenericClassStaticFunctionOfTheSameName.js create mode 100644 tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndNonGenericClassStaticFunctionOfTheSameName.errors.txt create mode 100644 tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndNonGenericClassStaticFunctionOfTheSameName.js create mode 100644 tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedStaticFunctionUsingClassPrivateStatics.errors.txt create mode 100644 tests/baselines/reference/ClassAndModuleThatMergeWithModulesExportedStaticFunctionUsingClassPrivateStatics.js create mode 100644 tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndExportedFunctionThatShareAName.errors.txt create mode 100644 tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndExportedFunctionThatShareAName.js create mode 100644 tests/baselines/reference/ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.js create mode 100644 tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndExportedVarThatShareAName.errors.txt create mode 100644 tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndExportedVarThatShareAName.js create mode 100644 tests/baselines/reference/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.js create mode 100644 tests/baselines/reference/ClassAndModuleThatMergeWithStringIndexerAndExportedFunctionWithTypeIncompatibleWithIndexer.js create mode 100644 tests/baselines/reference/ClassAndModuleWithSameNameAndCommonRoot.js create mode 100644 tests/baselines/reference/ClassDeclaration10.errors.txt create mode 100644 tests/baselines/reference/ClassDeclaration10.js create mode 100644 tests/baselines/reference/ClassDeclaration11.errors.txt create mode 100644 tests/baselines/reference/ClassDeclaration11.js create mode 100644 tests/baselines/reference/ClassDeclaration13.errors.txt create mode 100644 tests/baselines/reference/ClassDeclaration13.js create mode 100644 tests/baselines/reference/ClassDeclaration14.errors.txt create mode 100644 tests/baselines/reference/ClassDeclaration14.js create mode 100644 tests/baselines/reference/ClassDeclaration15.errors.txt create mode 100644 tests/baselines/reference/ClassDeclaration15.js create mode 100644 tests/baselines/reference/ClassDeclaration21.errors.txt create mode 100644 tests/baselines/reference/ClassDeclaration21.js create mode 100644 tests/baselines/reference/ClassDeclaration22.errors.txt create mode 100644 tests/baselines/reference/ClassDeclaration22.js create mode 100644 tests/baselines/reference/ClassDeclaration24.errors.txt create mode 100644 tests/baselines/reference/ClassDeclaration24.js create mode 100644 tests/baselines/reference/ClassDeclaration25.errors.txt create mode 100644 tests/baselines/reference/ClassDeclaration25.js create mode 100644 tests/baselines/reference/ClassDeclaration8.errors.txt create mode 100644 tests/baselines/reference/ClassDeclaration8.js create mode 100644 tests/baselines/reference/ClassDeclaration9.errors.txt create mode 100644 tests/baselines/reference/ClassDeclaration9.js create mode 100644 tests/baselines/reference/CommentsOnObjectLiteral1.errors.txt create mode 100644 tests/baselines/reference/CommentsOnObjectLiteral2.errors.txt create mode 100644 tests/baselines/reference/EnumAndModuleWithSameNameAndCommonRoot.js create mode 100644 tests/baselines/reference/ExportAssignment7.errors.txt create mode 100644 tests/baselines/reference/ExportAssignment7.js create mode 100644 tests/baselines/reference/ExportAssignment8.errors.txt create mode 100644 tests/baselines/reference/ExportAssignment8.js create mode 100644 tests/baselines/reference/ExportClassWhichExtendsInterfaceWithInaccessibleType.js create mode 100644 tests/baselines/reference/ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.js create mode 100644 tests/baselines/reference/ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.js create mode 100644 tests/baselines/reference/ExportClassWithInaccessibleTypeInTypeParameterConstraint.js create mode 100644 tests/baselines/reference/ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.js create mode 100644 tests/baselines/reference/ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.js create mode 100644 tests/baselines/reference/ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.js create mode 100644 tests/baselines/reference/ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.js create mode 100644 tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.js create mode 100644 tests/baselines/reference/ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.js create mode 100644 tests/baselines/reference/ExportModuleWithAccessibleTypesOnItsExportedMembers.js create mode 100644 tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.js create mode 100644 tests/baselines/reference/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.errors.txt create mode 100644 tests/baselines/reference/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.js create mode 100644 tests/baselines/reference/ExportVariableWithAccessibleTypeInTypeAnnotation.js create mode 100644 tests/baselines/reference/ExportVariableWithInaccessibleTypeInTypeAnnotation.js create mode 100644 tests/baselines/reference/FunctionAndModuleWithSameNameAndCommonRoot.errors.txt create mode 100644 tests/baselines/reference/FunctionAndModuleWithSameNameAndCommonRoot.js create mode 100644 tests/baselines/reference/FunctionAndModuleWithSameNameAndDifferentCommonRoot.js create mode 100644 tests/baselines/reference/FunctionDeclaration3.errors.txt create mode 100644 tests/baselines/reference/FunctionDeclaration3.js create mode 100644 tests/baselines/reference/FunctionDeclaration4.errors.txt create mode 100644 tests/baselines/reference/FunctionDeclaration4.js create mode 100644 tests/baselines/reference/FunctionDeclaration6.errors.txt create mode 100644 tests/baselines/reference/FunctionDeclaration6.js create mode 100644 tests/baselines/reference/FunctionDeclaration7.errors.txt create mode 100644 tests/baselines/reference/FunctionDeclaration7.js create mode 100644 tests/baselines/reference/InterfaceDeclaration8.errors.txt create mode 100644 tests/baselines/reference/InterfaceDeclaration8.js create mode 100644 tests/baselines/reference/InvalidNonInstantiatedModule.errors.txt create mode 100644 tests/baselines/reference/InvalidNonInstantiatedModule.js create mode 100644 tests/baselines/reference/LogicalNotExpression1.errors.txt create mode 100644 tests/baselines/reference/MemberAccessorDeclaration15.errors.txt create mode 100644 tests/baselines/reference/ModuleAndClassWithSameNameAndCommonRoot.js create mode 100644 tests/baselines/reference/ModuleAndEnumWithSameNameAndCommonRoot.js create mode 100644 tests/baselines/reference/ModuleAndFunctionWithSameNameAndCommonRoot.js create mode 100644 tests/baselines/reference/ModuleWithExportedAndNonExportedClasses.errors.txt create mode 100644 tests/baselines/reference/ModuleWithExportedAndNonExportedClasses.js create mode 100644 tests/baselines/reference/ModuleWithExportedAndNonExportedEnums.errors.txt create mode 100644 tests/baselines/reference/ModuleWithExportedAndNonExportedEnums.js create mode 100644 tests/baselines/reference/ModuleWithExportedAndNonExportedFunctions.errors.txt create mode 100644 tests/baselines/reference/ModuleWithExportedAndNonExportedFunctions.js create mode 100644 tests/baselines/reference/ModuleWithExportedAndNonExportedImportAlias.errors.txt create mode 100644 tests/baselines/reference/ModuleWithExportedAndNonExportedImportAlias.js create mode 100644 tests/baselines/reference/ModuleWithExportedAndNonExportedVariables.errors.txt create mode 100644 tests/baselines/reference/ModuleWithExportedAndNonExportedVariables.js create mode 100644 tests/baselines/reference/OverloadResolutionOnDefaultConstructor1.errors.txt create mode 100644 tests/baselines/reference/ParameterList13.errors.txt create mode 100644 tests/baselines/reference/ParameterList13.js create mode 100644 tests/baselines/reference/ParameterList4.errors.txt create mode 100644 tests/baselines/reference/ParameterList4.js create mode 100644 tests/baselines/reference/ParameterList5.errors.txt create mode 100644 tests/baselines/reference/ParameterList5.js create mode 100644 tests/baselines/reference/ParameterList6.errors.txt create mode 100644 tests/baselines/reference/ParameterList6.js create mode 100644 tests/baselines/reference/ParameterList7.errors.txt create mode 100644 tests/baselines/reference/ParameterList7.js create mode 100644 tests/baselines/reference/ParameterList8.errors.txt create mode 100644 tests/baselines/reference/ParameterList8.js create mode 100644 tests/baselines/reference/PrivateAccessInSubclass1.errors.txt create mode 100644 tests/baselines/reference/PropertyAccessibility2.errors.txt create mode 100644 tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.js create mode 100644 tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.js create mode 100644 tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.js create mode 100644 tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedClassesOfTheSameName.errors.txt create mode 100644 tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedClassesOfTheSameName.js create mode 100644 tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.js create mode 100644 tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedLocalVarsOfTheSameName.errors.txt create mode 100644 tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedLocalVarsOfTheSameName.js create mode 100644 tests/baselines/reference/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.js create mode 100644 tests/baselines/reference/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.js create mode 100644 tests/baselines/reference/TwoInternalModulesWithTheSameNameAndSameCommonRoot.js create mode 100644 tests/baselines/reference/UnaryOperators1.errors.txt create mode 100644 tests/baselines/reference/acceptableAlias1.js create mode 100644 tests/baselines/reference/accessOverriddenBaseClassMember1.js create mode 100644 tests/baselines/reference/accessorParameterAccessibilityModifier.errors.txt create mode 100644 tests/baselines/reference/accessorWithES3.errors.txt create mode 100644 tests/baselines/reference/accessorWithES5.js create mode 100644 tests/baselines/reference/accessorWithInitializer.errors.txt create mode 100644 tests/baselines/reference/accessorWithRestParam.errors.txt create mode 100644 tests/baselines/reference/accessorsAreNotContextuallyTyped.errors.txt create mode 100644 tests/baselines/reference/accessorsEmit.errors.txt create mode 100644 tests/baselines/reference/accessorsInAmbientContext.errors.txt create mode 100644 tests/baselines/reference/accessorsNotAllowedInES3.errors.txt create mode 100644 tests/baselines/reference/accessors_spec_section-4.5_error-cases.errors.txt create mode 100644 tests/baselines/reference/accessors_spec_section-4.5_inference.errors.txt create mode 100644 tests/baselines/reference/addMoreCallSignaturesToBaseSignature.js create mode 100644 tests/baselines/reference/addMoreCallSignaturesToBaseSignature2.js create mode 100644 tests/baselines/reference/addMoreOverloadsToBaseSignature.errors.txt create mode 100644 tests/baselines/reference/addMoreOverloadsToBaseSignature.js create mode 100644 tests/baselines/reference/additionOperatorWithAnyAndEveryType.js create mode 100644 tests/baselines/reference/additionOperatorWithInvalidOperands.errors.txt create mode 100644 tests/baselines/reference/additionOperatorWithInvalidOperands.js create mode 100644 tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.errors.txt create mode 100644 tests/baselines/reference/additionOperatorWithNullValueAndInvalidOperator.js create mode 100644 tests/baselines/reference/additionOperatorWithNullValueAndValidOperator.js create mode 100644 tests/baselines/reference/additionOperatorWithNumberAndEnum.js create mode 100644 tests/baselines/reference/additionOperatorWithOnlyNullValueOrUndefinedValue.errors.txt create mode 100644 tests/baselines/reference/additionOperatorWithOnlyNullValueOrUndefinedValue.js create mode 100644 tests/baselines/reference/additionOperatorWithStringAndEveryType.js create mode 100644 tests/baselines/reference/additionOperatorWithTypeParameter.errors.txt create mode 100644 tests/baselines/reference/additionOperatorWithTypeParameter.js create mode 100644 tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.errors.txt create mode 100644 tests/baselines/reference/additionOperatorWithUndefinedValueAndInvalidOperands.js create mode 100644 tests/baselines/reference/additionOperatorWithUndefinedValueAndValidOperator.js create mode 100644 tests/baselines/reference/aliasAssignments.errors.txt create mode 100644 tests/baselines/reference/aliasAssignments.js create mode 100644 tests/baselines/reference/aliasBug.errors.txt create mode 100644 tests/baselines/reference/aliasBug.js create mode 100644 tests/baselines/reference/aliasErrors.errors.txt create mode 100644 tests/baselines/reference/aliasInaccessibleModule.js create mode 100644 tests/baselines/reference/aliasInaccessibleModule2.js create mode 100644 tests/baselines/reference/aliasOnMergedModuleInterface.errors.txt create mode 100644 tests/baselines/reference/aliasOnMergedModuleInterface.js create mode 100644 tests/baselines/reference/aliasUsageInAccessorsOfClass.errors.txt create mode 100644 tests/baselines/reference/aliasUsageInArray.js create mode 100644 tests/baselines/reference/aliasUsageInFunctionExpression.js create mode 100644 tests/baselines/reference/aliasUsageInGenericFunction.js create mode 100644 tests/baselines/reference/aliasUsageInIndexerOfClass.js create mode 100644 tests/baselines/reference/aliasUsageInObjectLiteral.js create mode 100644 tests/baselines/reference/aliasUsageInOrExpression.js create mode 100644 tests/baselines/reference/aliasUsageInTypeArgumentOfExtendsClause.js create mode 100644 tests/baselines/reference/aliasUsageInVarAssignment.js create mode 100644 tests/baselines/reference/aliasUsedAsNameValue.js create mode 100644 tests/baselines/reference/aliasWithInterfaceExportAssignmentUsedInVarInitializer.errors.txt create mode 100644 tests/baselines/reference/aliasWithInterfaceExportAssignmentUsedInVarInitializer.js create mode 100644 tests/baselines/reference/ambientClassDeclarationWithExtends.js create mode 100644 tests/baselines/reference/ambientClassOverloadForFunction.errors.txt create mode 100644 tests/baselines/reference/ambientClassOverloadForFunction.js create mode 100644 tests/baselines/reference/ambientDeclarations.js create mode 100644 tests/baselines/reference/ambientDeclarationsExternal.errors.txt create mode 100644 tests/baselines/reference/ambientDeclarationsExternal.js create mode 100644 tests/baselines/reference/ambientEnumElementInitializer1.js create mode 100644 tests/baselines/reference/ambientEnumElementInitializer2.js create mode 100644 tests/baselines/reference/ambientEnumElementInitializer3.errors.txt create mode 100644 tests/baselines/reference/ambientEnumElementInitializer4.js create mode 100644 tests/baselines/reference/ambientEnumElementInitializer5.js create mode 100644 tests/baselines/reference/ambientEnumElementInitializer6.js create mode 100644 tests/baselines/reference/ambientErrors.errors.txt create mode 100644 tests/baselines/reference/ambientExternalModuleInAnotherExternalModule.errors.txt create mode 100644 tests/baselines/reference/ambientExternalModuleInAnotherExternalModule.js create mode 100644 tests/baselines/reference/ambientExternalModuleReopen.js create mode 100644 tests/baselines/reference/ambientExternalModuleWithInternalImportDeclaration.js create mode 100644 tests/baselines/reference/ambientExternalModuleWithRelativeExternalImportDeclaration.errors.txt create mode 100644 tests/baselines/reference/ambientExternalModuleWithRelativeExternalImportDeclaration.js create mode 100644 tests/baselines/reference/ambientExternalModuleWithRelativeModuleName.errors.txt create mode 100644 tests/baselines/reference/ambientExternalModuleWithRelativeModuleName.js create mode 100644 tests/baselines/reference/ambientExternalModuleWithoutInternalImportDeclaration.js create mode 100644 tests/baselines/reference/ambientFundule.js create mode 100644 tests/baselines/reference/ambientGetters.errors.txt create mode 100644 tests/baselines/reference/ambientModuleExports.js create mode 100644 tests/baselines/reference/ambientModuleWithClassDeclarationWithExtends.js create mode 100644 tests/baselines/reference/ambientModules.js create mode 100644 tests/baselines/reference/ambientWithStatements.errors.txt create mode 100644 tests/baselines/reference/ambiguousCallsWhereReturnTypesAgree.js create mode 100644 tests/baselines/reference/ambiguousGenericAssertion1.errors.txt create mode 100644 tests/baselines/reference/ambiguousOverload.errors.txt create mode 100644 tests/baselines/reference/ambiguousOverload.js create mode 100644 tests/baselines/reference/ambiguousOverloadResolution.js create mode 100644 tests/baselines/reference/amdDependencyComment1.errors.txt create mode 100644 tests/baselines/reference/amdDependencyComment1.js create mode 100644 tests/baselines/reference/amdDependencyComment2.errors.txt create mode 100644 tests/baselines/reference/amdDependencyComment2.js create mode 100644 tests/baselines/reference/amdImportAsPrimaryExpression.js create mode 100644 tests/baselines/reference/amdImportNotAsPrimaryExpression.js create mode 100644 tests/baselines/reference/anonterface.js create mode 100644 tests/baselines/reference/anonymousModules.errors.txt create mode 100644 tests/baselines/reference/anyAsConstructor.errors.txt create mode 100644 tests/baselines/reference/anyAsConstructor.js create mode 100644 tests/baselines/reference/anyAsFunctionCall.js create mode 100644 tests/baselines/reference/anyAsGenericFunctionCall.errors.txt create mode 100644 tests/baselines/reference/anyAsGenericFunctionCall.js create mode 100644 tests/baselines/reference/anyAsReturnTypeForNewOnCall.js create mode 100644 tests/baselines/reference/anyAssignabilityInInheritance.js create mode 100644 tests/baselines/reference/anyAssignableToEveryType.js create mode 100644 tests/baselines/reference/anyAssignableToEveryType2.errors.txt create mode 100644 tests/baselines/reference/anyAssignableToEveryType2.js create mode 100644 tests/baselines/reference/anyDeclare.errors.txt create mode 100644 tests/baselines/reference/anyDeclare.js create mode 100644 tests/baselines/reference/anyIdenticalToItself.errors.txt create mode 100644 tests/baselines/reference/anyInferenceAnonymousFunctions.js create mode 100644 tests/baselines/reference/anyIsAssignableToObject.js create mode 100644 tests/baselines/reference/anyIsAssignableToVoid.js create mode 100644 tests/baselines/reference/anyPlusAny1.js create mode 100644 tests/baselines/reference/anyPropertyAccess.js create mode 100644 tests/baselines/reference/apparentTypeSubtyping.errors.txt create mode 100644 tests/baselines/reference/apparentTypeSubtyping.js create mode 100644 tests/baselines/reference/apparentTypeSupertype.errors.txt create mode 100644 tests/baselines/reference/apparentTypeSupertype.js create mode 100644 tests/baselines/reference/argsInScope.js create mode 100644 tests/baselines/reference/arguments.js create mode 100644 tests/baselines/reference/argumentsBindsToFunctionScopeArgumentList.errors.txt create mode 100644 tests/baselines/reference/argumentsBindsToFunctionScopeArgumentList.js create mode 100644 tests/baselines/reference/argumentsUsedInObjectLiteralProperty.js create mode 100644 tests/baselines/reference/arithAssignTyping.errors.txt create mode 100644 tests/baselines/reference/arithAssignTyping.js create mode 100644 tests/baselines/reference/arithmeticOnInvalidTypes.errors.txt create mode 100644 tests/baselines/reference/arithmeticOnInvalidTypes.js create mode 100644 tests/baselines/reference/arithmeticOnInvalidTypes2.errors.txt create mode 100644 tests/baselines/reference/arithmeticOnInvalidTypes2.js create mode 100644 tests/baselines/reference/arithmeticOperatorWithAnyAndNumber.js create mode 100644 tests/baselines/reference/arithmeticOperatorWithEnum.js create mode 100644 tests/baselines/reference/arithmeticOperatorWithInvalidOperands.errors.txt create mode 100644 tests/baselines/reference/arithmeticOperatorWithInvalidOperands.js create mode 100644 tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.errors.txt create mode 100644 tests/baselines/reference/arithmeticOperatorWithNullValueAndInvalidOperands.js create mode 100644 tests/baselines/reference/arithmeticOperatorWithNullValueAndValidOperands.js create mode 100644 tests/baselines/reference/arithmeticOperatorWithOnlyNullValueOrUndefinedValue.errors.txt create mode 100644 tests/baselines/reference/arithmeticOperatorWithOnlyNullValueOrUndefinedValue.js create mode 100644 tests/baselines/reference/arithmeticOperatorWithTypeParameter.errors.txt create mode 100644 tests/baselines/reference/arithmeticOperatorWithTypeParameter.js create mode 100644 tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.errors.txt create mode 100644 tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndInvalidOperands.js create mode 100644 tests/baselines/reference/arithmeticOperatorWithUndefinedValueAndValidOperands.js create mode 100644 tests/baselines/reference/arrayAssignmentTest1.errors.txt create mode 100644 tests/baselines/reference/arrayAssignmentTest1.js create mode 100644 tests/baselines/reference/arrayAssignmentTest2.errors.txt create mode 100644 tests/baselines/reference/arrayAssignmentTest2.js create mode 100644 tests/baselines/reference/arrayAssignmentTest3.errors.txt create mode 100644 tests/baselines/reference/arrayAssignmentTest3.js create mode 100644 tests/baselines/reference/arrayAssignmentTest4.errors.txt create mode 100644 tests/baselines/reference/arrayAssignmentTest4.js create mode 100644 tests/baselines/reference/arrayAssignmentTest5.errors.txt create mode 100644 tests/baselines/reference/arrayAssignmentTest5.js create mode 100644 tests/baselines/reference/arrayAssignmentTest6.js create mode 100644 tests/baselines/reference/arrayAugment.js create mode 100644 tests/baselines/reference/arrayBestCommonTypes.js create mode 100644 tests/baselines/reference/arrayCast.errors.txt create mode 100644 tests/baselines/reference/arrayCast.js create mode 100644 tests/baselines/reference/arrayConcat2.js create mode 100644 tests/baselines/reference/arrayConcatMap.js create mode 100644 tests/baselines/reference/arrayConstructors1.js create mode 100644 tests/baselines/reference/arrayLiteral.js create mode 100644 tests/baselines/reference/arrayLiteral1.js create mode 100644 tests/baselines/reference/arrayLiteral2.js create mode 100644 tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.errors.txt create mode 100644 tests/baselines/reference/arrayLiteralAndArrayConstructorEquivalence1.js create mode 100644 tests/baselines/reference/arrayLiteralContextualType.errors.txt create mode 100644 tests/baselines/reference/arrayLiteralContextualType.js create mode 100644 tests/baselines/reference/arrayLiteralInNonVarArgParameter.js create mode 100644 tests/baselines/reference/arrayLiteralTypeInference.js create mode 100644 tests/baselines/reference/arrayLiteralWidened.js create mode 100644 tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.js create mode 100644 tests/baselines/reference/arrayLiterals.js create mode 100644 tests/baselines/reference/arrayLiteralsWithRecursiveGenerics.js create mode 100644 tests/baselines/reference/arrayOfExportedClass.js create mode 100644 tests/baselines/reference/arrayOfFunctionTypes3.js create mode 100644 tests/baselines/reference/arrayReferenceWithoutTypeArgs.errors.txt create mode 100644 tests/baselines/reference/arrayReferenceWithoutTypeArgs.js create mode 100644 tests/baselines/reference/arraySigChecking.errors.txt create mode 100644 tests/baselines/reference/arrayTypeInSignatureOfInterfaceAndClass.js create mode 100644 tests/baselines/reference/arrayTypeOfFunctionTypes.errors.txt create mode 100644 tests/baselines/reference/arrayTypeOfFunctionTypes.js create mode 100644 tests/baselines/reference/arrayTypeOfFunctionTypes2.errors.txt create mode 100644 tests/baselines/reference/arrayTypeOfFunctionTypes2.js create mode 100644 tests/baselines/reference/arrayTypeOfTypeOf.errors.txt create mode 100644 tests/baselines/reference/arrayconcat.js create mode 100644 tests/baselines/reference/arrowFunctionContexts.errors.txt create mode 100644 tests/baselines/reference/arrowFunctionContexts.js create mode 100644 tests/baselines/reference/arrowFunctionExpressions.js create mode 100644 tests/baselines/reference/arrowFunctionInConstructorArgument1.errors.txt create mode 100644 tests/baselines/reference/arrowFunctionInConstructorArgument1.js create mode 100644 tests/baselines/reference/arrowFunctionInExpressionStatement1.js create mode 100644 tests/baselines/reference/arrowFunctionInExpressionStatement2.js create mode 100644 tests/baselines/reference/asiArith.js create mode 100644 tests/baselines/reference/asiInES6Classes.js create mode 100644 tests/baselines/reference/assertInWrapSomeTypeParameter.errors.txt create mode 100644 tests/baselines/reference/assign1.js create mode 100644 tests/baselines/reference/assignAnyToEveryType.errors.txt create mode 100644 tests/baselines/reference/assignAnyToEveryType.js create mode 100644 tests/baselines/reference/assignEveryTypeToAny.js create mode 100644 tests/baselines/reference/assignFromBooleanInterface.errors.txt create mode 100644 tests/baselines/reference/assignFromBooleanInterface.js create mode 100644 tests/baselines/reference/assignFromBooleanInterface2.errors.txt create mode 100644 tests/baselines/reference/assignFromBooleanInterface2.js create mode 100644 tests/baselines/reference/assignFromNumberInterface.errors.txt create mode 100644 tests/baselines/reference/assignFromNumberInterface.js create mode 100644 tests/baselines/reference/assignFromNumberInterface2.errors.txt create mode 100644 tests/baselines/reference/assignFromNumberInterface2.js create mode 100644 tests/baselines/reference/assignFromStringInterface.errors.txt create mode 100644 tests/baselines/reference/assignFromStringInterface.js create mode 100644 tests/baselines/reference/assignFromStringInterface2.errors.txt create mode 100644 tests/baselines/reference/assignFromStringInterface2.js create mode 100644 tests/baselines/reference/assignLambdaToNominalSubtypeOfFunction.errors.txt create mode 100644 tests/baselines/reference/assignLambdaToNominalSubtypeOfFunction.js create mode 100644 tests/baselines/reference/assignToEnum.errors.txt create mode 100644 tests/baselines/reference/assignToEnum.js create mode 100644 tests/baselines/reference/assignToExistingClass.errors.txt create mode 100644 tests/baselines/reference/assignToExistingClass.js create mode 100644 tests/baselines/reference/assignToFn.errors.txt create mode 100644 tests/baselines/reference/assignToFn.js create mode 100644 tests/baselines/reference/assignToInvalidLHS.errors.txt create mode 100644 tests/baselines/reference/assignToInvalidLHS.js create mode 100644 tests/baselines/reference/assignToModule.errors.txt create mode 100644 tests/baselines/reference/assignToModule.js create mode 100644 tests/baselines/reference/assignToObjectTypeWithPrototypeProperty.js create mode 100644 tests/baselines/reference/assignToPrototype1.js create mode 100644 tests/baselines/reference/assignmentCompat1.errors.txt create mode 100644 tests/baselines/reference/assignmentCompat1.js create mode 100644 tests/baselines/reference/assignmentCompatBug2.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatBug2.js create mode 100644 tests/baselines/reference/assignmentCompatBug3.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatBug5.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatBug5.js create mode 100644 tests/baselines/reference/assignmentCompatForEnums.js create mode 100644 tests/baselines/reference/assignmentCompatFunctionsWithOptionalArgs.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatFunctionsWithOptionalArgs.js create mode 100644 tests/baselines/reference/assignmentCompatInterfaceWithStringIndexSignature.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatInterfaceWithStringIndexSignature.js create mode 100644 tests/baselines/reference/assignmentCompatOnNew.js create mode 100644 tests/baselines/reference/assignmentCompatWithCallSignatures.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithCallSignatures.js create mode 100644 tests/baselines/reference/assignmentCompatWithCallSignatures2.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithCallSignatures2.js create mode 100644 tests/baselines/reference/assignmentCompatWithCallSignatures3.js create mode 100644 tests/baselines/reference/assignmentCompatWithCallSignatures4.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithCallSignatures4.js create mode 100644 tests/baselines/reference/assignmentCompatWithCallSignatures5.js create mode 100644 tests/baselines/reference/assignmentCompatWithCallSignatures6.js create mode 100644 tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithCallSignaturesWithOptionalParameters.js create mode 100644 tests/baselines/reference/assignmentCompatWithCallSignaturesWithRestParameters.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithCallSignaturesWithRestParameters.js create mode 100644 tests/baselines/reference/assignmentCompatWithConstructSignatures.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithConstructSignatures.js create mode 100644 tests/baselines/reference/assignmentCompatWithConstructSignatures2.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithConstructSignatures2.js create mode 100644 tests/baselines/reference/assignmentCompatWithConstructSignatures3.js create mode 100644 tests/baselines/reference/assignmentCompatWithConstructSignatures4.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithConstructSignatures4.js create mode 100644 tests/baselines/reference/assignmentCompatWithConstructSignatures5.js create mode 100644 tests/baselines/reference/assignmentCompatWithConstructSignatures6.js create mode 100644 tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithConstructSignaturesWithOptionalParameters.js create mode 100644 tests/baselines/reference/assignmentCompatWithGenericCallSignatures.js create mode 100644 tests/baselines/reference/assignmentCompatWithGenericCallSignatures2.js create mode 100644 tests/baselines/reference/assignmentCompatWithGenericCallSignatures3.js create mode 100644 tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithGenericCallSignatures4.js create mode 100644 tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.js create mode 100644 tests/baselines/reference/assignmentCompatWithNumericIndexer.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithNumericIndexer.js create mode 100644 tests/baselines/reference/assignmentCompatWithNumericIndexer2.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithNumericIndexer2.js create mode 100644 tests/baselines/reference/assignmentCompatWithNumericIndexer3.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithNumericIndexer3.js create mode 100644 tests/baselines/reference/assignmentCompatWithObjectMembers.js create mode 100644 tests/baselines/reference/assignmentCompatWithObjectMembers2.js create mode 100644 tests/baselines/reference/assignmentCompatWithObjectMembers3.js create mode 100644 tests/baselines/reference/assignmentCompatWithObjectMembers4.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithObjectMembers4.js create mode 100644 tests/baselines/reference/assignmentCompatWithObjectMembers5.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithObjectMembers5.js create mode 100644 tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.js create mode 100644 tests/baselines/reference/assignmentCompatWithObjectMembersNumericNames.js create mode 100644 tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithObjectMembersOptionality.js create mode 100644 tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithObjectMembersOptionality2.js create mode 100644 tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithObjectMembersStringNumericNames.js create mode 100644 tests/baselines/reference/assignmentCompatWithOverloads.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithOverloads.js create mode 100644 tests/baselines/reference/assignmentCompatWithStringIndexer.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithStringIndexer.js create mode 100644 tests/baselines/reference/assignmentCompatWithStringIndexer2.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithStringIndexer2.js create mode 100644 tests/baselines/reference/assignmentCompatWithStringIndexer3.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatWithStringIndexer3.js create mode 100644 tests/baselines/reference/assignmentCompatWithWithGenericConstructSignatures.js create mode 100644 tests/baselines/reference/assignmentCompatability1.js create mode 100644 tests/baselines/reference/assignmentCompatability10.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability10.js create mode 100644 tests/baselines/reference/assignmentCompatability11.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability11.js create mode 100644 tests/baselines/reference/assignmentCompatability12.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability12.js create mode 100644 tests/baselines/reference/assignmentCompatability13.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability13.js create mode 100644 tests/baselines/reference/assignmentCompatability14.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability14.js create mode 100644 tests/baselines/reference/assignmentCompatability15.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability15.js create mode 100644 tests/baselines/reference/assignmentCompatability16.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability16.js create mode 100644 tests/baselines/reference/assignmentCompatability17.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability17.js create mode 100644 tests/baselines/reference/assignmentCompatability18.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability18.js create mode 100644 tests/baselines/reference/assignmentCompatability19.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability19.js create mode 100644 tests/baselines/reference/assignmentCompatability2.js create mode 100644 tests/baselines/reference/assignmentCompatability20.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability20.js create mode 100644 tests/baselines/reference/assignmentCompatability21.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability21.js create mode 100644 tests/baselines/reference/assignmentCompatability22.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability22.js create mode 100644 tests/baselines/reference/assignmentCompatability23.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability23.js create mode 100644 tests/baselines/reference/assignmentCompatability24.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability24.js create mode 100644 tests/baselines/reference/assignmentCompatability25.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability25.js create mode 100644 tests/baselines/reference/assignmentCompatability26.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability26.js create mode 100644 tests/baselines/reference/assignmentCompatability27.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability27.js create mode 100644 tests/baselines/reference/assignmentCompatability28.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability28.js create mode 100644 tests/baselines/reference/assignmentCompatability29.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability29.js create mode 100644 tests/baselines/reference/assignmentCompatability3.js create mode 100644 tests/baselines/reference/assignmentCompatability30.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability30.js create mode 100644 tests/baselines/reference/assignmentCompatability31.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability31.js create mode 100644 tests/baselines/reference/assignmentCompatability32.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability32.js create mode 100644 tests/baselines/reference/assignmentCompatability33.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability33.js create mode 100644 tests/baselines/reference/assignmentCompatability34.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability34.js create mode 100644 tests/baselines/reference/assignmentCompatability35.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability35.js create mode 100644 tests/baselines/reference/assignmentCompatability36.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability36.js create mode 100644 tests/baselines/reference/assignmentCompatability37.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability37.js create mode 100644 tests/baselines/reference/assignmentCompatability38.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability38.js create mode 100644 tests/baselines/reference/assignmentCompatability39.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability39.js create mode 100644 tests/baselines/reference/assignmentCompatability4.js create mode 100644 tests/baselines/reference/assignmentCompatability40.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability40.js create mode 100644 tests/baselines/reference/assignmentCompatability41.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability41.js create mode 100644 tests/baselines/reference/assignmentCompatability42.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability42.js create mode 100644 tests/baselines/reference/assignmentCompatability43.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability43.js create mode 100644 tests/baselines/reference/assignmentCompatability5.js create mode 100644 tests/baselines/reference/assignmentCompatability6.js create mode 100644 tests/baselines/reference/assignmentCompatability7.js create mode 100644 tests/baselines/reference/assignmentCompatability8.js create mode 100644 tests/baselines/reference/assignmentCompatability9.js create mode 100644 tests/baselines/reference/assignmentCompatability_checking-apply-member-off-of-function-interface.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability_checking-apply-member-off-of-function-interface.js create mode 100644 tests/baselines/reference/assignmentCompatability_checking-call-member-off-of-function-interface.errors.txt create mode 100644 tests/baselines/reference/assignmentCompatability_checking-call-member-off-of-function-interface.js create mode 100644 tests/baselines/reference/assignmentCompatibilityForConstrainedTypeParameters.js create mode 100644 tests/baselines/reference/assignmentLHSIsReference.js create mode 100644 tests/baselines/reference/assignmentLHSIsValue.errors.txt create mode 100644 tests/baselines/reference/assignmentStricterConstraints.errors.txt create mode 100644 tests/baselines/reference/assignmentStricterConstraints.js create mode 100644 tests/baselines/reference/assignmentToFunction.errors.txt create mode 100644 tests/baselines/reference/assignmentToFunction.js create mode 100644 tests/baselines/reference/assignmentToObject.errors.txt create mode 100644 tests/baselines/reference/assignmentToObject.js create mode 100644 tests/baselines/reference/assignmentToObjectAndFunction.errors.txt create mode 100644 tests/baselines/reference/assignmentToObjectAndFunction.js create mode 100644 tests/baselines/reference/assignmentToParenthesizedExpression1.errors.txt create mode 100644 tests/baselines/reference/assignmentToParenthesizedExpression1.js create mode 100644 tests/baselines/reference/assignmentToParenthesizedIdentifiers.errors.txt create mode 100644 tests/baselines/reference/assignmentToParenthesizedIdentifiers.js create mode 100644 tests/baselines/reference/assignmentToReferenceTypes.errors.txt create mode 100644 tests/baselines/reference/assignmentToReferenceTypes.js create mode 100644 tests/baselines/reference/assignments.errors.txt create mode 100644 tests/baselines/reference/assignments.js create mode 100644 tests/baselines/reference/augmentedClassWithPrototypePropertyOnModule.errors.txt create mode 100644 tests/baselines/reference/augmentedClassWithPrototypePropertyOnModule.js create mode 100644 tests/baselines/reference/augmentedTypeAssignmentCompatIndexSignature.errors.txt create mode 100644 tests/baselines/reference/augmentedTypeAssignmentCompatIndexSignature.js create mode 100644 tests/baselines/reference/augmentedTypeBracketAccessIndexSignature.js create mode 100644 tests/baselines/reference/augmentedTypeBracketNamedPropertyAccess.js create mode 100644 tests/baselines/reference/augmentedTypesClass.errors.txt create mode 100644 tests/baselines/reference/augmentedTypesClass.js create mode 100644 tests/baselines/reference/augmentedTypesClass2.errors.txt create mode 100644 tests/baselines/reference/augmentedTypesClass2.js create mode 100644 tests/baselines/reference/augmentedTypesClass2a.errors.txt create mode 100644 tests/baselines/reference/augmentedTypesClass2a.js create mode 100644 tests/baselines/reference/augmentedTypesClass3.js create mode 100644 tests/baselines/reference/augmentedTypesClass4.errors.txt create mode 100644 tests/baselines/reference/augmentedTypesClass4.js create mode 100644 tests/baselines/reference/augmentedTypesEnum.errors.txt create mode 100644 tests/baselines/reference/augmentedTypesEnum.js create mode 100644 tests/baselines/reference/augmentedTypesEnum2.errors.txt create mode 100644 tests/baselines/reference/augmentedTypesEnum2.js create mode 100644 tests/baselines/reference/augmentedTypesEnum3.js create mode 100644 tests/baselines/reference/augmentedTypesExternalModule1.js create mode 100644 tests/baselines/reference/augmentedTypesFunction.errors.txt create mode 100644 tests/baselines/reference/augmentedTypesFunction.js create mode 100644 tests/baselines/reference/augmentedTypesInterface.errors.txt create mode 100644 tests/baselines/reference/augmentedTypesInterface.js create mode 100644 tests/baselines/reference/augmentedTypesModules.errors.txt create mode 100644 tests/baselines/reference/augmentedTypesModules.js create mode 100644 tests/baselines/reference/augmentedTypesModules2.js create mode 100644 tests/baselines/reference/augmentedTypesModules3.js create mode 100644 tests/baselines/reference/augmentedTypesModules3b.js create mode 100644 tests/baselines/reference/augmentedTypesModules4.js create mode 100644 tests/baselines/reference/augmentedTypesVar.errors.txt create mode 100644 tests/baselines/reference/augmentedTypesVar.js create mode 100644 tests/baselines/reference/autoAsiForStaticsInClassDeclaration.js create mode 100644 tests/baselines/reference/autoLift2.errors.txt create mode 100644 tests/baselines/reference/autolift3.errors.txt create mode 100644 tests/baselines/reference/autolift3.js create mode 100644 tests/baselines/reference/autolift4.errors.txt create mode 100644 tests/baselines/reference/autolift4.js create mode 100644 tests/baselines/reference/autonumberingInEnums.js create mode 100644 tests/baselines/reference/avoid.js create mode 100644 tests/baselines/reference/badArrayIndex.errors.txt create mode 100644 tests/baselines/reference/badArraySyntax.errors.txt create mode 100644 tests/baselines/reference/badExternalModuleReference.errors.txt create mode 100644 tests/baselines/reference/badExternalModuleReference.js create mode 100644 tests/baselines/reference/badOverloadError.js create mode 100644 tests/baselines/reference/badThisBinding.js create mode 100644 tests/baselines/reference/baseCheck.errors.txt create mode 100644 tests/baselines/reference/baseCheck.js create mode 100644 tests/baselines/reference/baseIndexSignatureResolution.js create mode 100644 tests/baselines/reference/baseTypeAfterDerivedType.js create mode 100644 tests/baselines/reference/baseTypeOrderChecking.js create mode 100644 tests/baselines/reference/baseTypePrivateMemberClash.errors.txt create mode 100644 tests/baselines/reference/baseTypePrivateMemberClash.js create mode 100644 tests/baselines/reference/bases.errors.txt create mode 100644 tests/baselines/reference/bestCommonTypeOfConditionalExpressions.js create mode 100644 tests/baselines/reference/bestCommonTypeOfConditionalExpressions2.errors.txt create mode 100644 tests/baselines/reference/bestCommonTypeOfConditionalExpressions2.js create mode 100644 tests/baselines/reference/bestCommonTypeReturnStatement.js create mode 100644 tests/baselines/reference/bestCommonTypeWithContextualTyping.js create mode 100644 tests/baselines/reference/bestCommonTypeWithOptionalProperties.js create mode 100644 tests/baselines/reference/binaryArithmatic1.js create mode 100644 tests/baselines/reference/binaryArithmatic2.js create mode 100644 tests/baselines/reference/binaryArithmatic3.errors.txt create mode 100644 tests/baselines/reference/binaryArithmatic3.js create mode 100644 tests/baselines/reference/binaryArithmatic4.errors.txt create mode 100644 tests/baselines/reference/binaryArithmatic4.js create mode 100644 tests/baselines/reference/bind1.errors.txt create mode 100644 tests/baselines/reference/bind1.js create mode 100644 tests/baselines/reference/bind2.js create mode 100644 tests/baselines/reference/binopAssignmentShouldHaveType.js create mode 100644 tests/baselines/reference/bitwiseNotOperatorInvalidOperations.errors.txt create mode 100644 tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.errors.txt create mode 100644 tests/baselines/reference/bitwiseNotOperatorWithAnyOtherType.js create mode 100644 tests/baselines/reference/bitwiseNotOperatorWithBooleanType.js create mode 100644 tests/baselines/reference/bitwiseNotOperatorWithEnumType.js create mode 100644 tests/baselines/reference/bitwiseNotOperatorWithNumberType.js create mode 100644 tests/baselines/reference/bitwiseNotOperatorWithStringType.js create mode 100644 tests/baselines/reference/bom-utf16be.js create mode 100644 tests/baselines/reference/bom-utf16le.js create mode 100644 tests/baselines/reference/bom-utf8.js create mode 100644 tests/baselines/reference/boolInsteadOfBoolean.errors.txt create mode 100644 tests/baselines/reference/boolInsteadOfBoolean.js create mode 100644 tests/baselines/reference/booleanPropertyAccess.js create mode 100644 tests/baselines/reference/breakInIterationOrSwitchStatement1.js create mode 100644 tests/baselines/reference/breakInIterationOrSwitchStatement2.js create mode 100644 tests/baselines/reference/breakInIterationOrSwitchStatement3.js create mode 100644 tests/baselines/reference/breakInIterationOrSwitchStatement4.errors.txt create mode 100644 tests/baselines/reference/breakInIterationOrSwitchStatement4.js create mode 100644 tests/baselines/reference/breakNotInIterationOrSwitchStatement1.js create mode 100644 tests/baselines/reference/breakNotInIterationOrSwitchStatement2.js create mode 100644 tests/baselines/reference/breakTarget1.js create mode 100644 tests/baselines/reference/breakTarget2.js create mode 100644 tests/baselines/reference/breakTarget3.js create mode 100644 tests/baselines/reference/breakTarget4.js create mode 100644 tests/baselines/reference/breakTarget5.js create mode 100644 tests/baselines/reference/breakTarget6.js create mode 100644 tests/baselines/reference/callConstructAssignment.errors.txt create mode 100644 tests/baselines/reference/callConstructAssignment.js create mode 100644 tests/baselines/reference/callExpressionWithTypeParameterConstrainedToOuterTypeParameter.js create mode 100644 tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.errors.txt create mode 100644 tests/baselines/reference/callGenericFunctionWithIncorrectNumberOfTypeArguments.js create mode 100644 tests/baselines/reference/callGenericFunctionWithZeroTypeArguments.js create mode 100644 tests/baselines/reference/callNonGenericFunctionWithTypeArguments.errors.txt create mode 100644 tests/baselines/reference/callNonGenericFunctionWithTypeArguments.js create mode 100644 tests/baselines/reference/callOnClass.errors.txt create mode 100644 tests/baselines/reference/callOnClass.js create mode 100644 tests/baselines/reference/callOnInstance.errors.txt create mode 100644 tests/baselines/reference/callOnInstance.js create mode 100644 tests/baselines/reference/callOverloadViaElementAccessExpression.errors.txt create mode 100644 tests/baselines/reference/callOverloadViaElementAccessExpression.js create mode 100644 tests/baselines/reference/callOverloads1.errors.txt create mode 100644 tests/baselines/reference/callOverloads1.js create mode 100644 tests/baselines/reference/callOverloads2.errors.txt create mode 100644 tests/baselines/reference/callOverloads2.js create mode 100644 tests/baselines/reference/callOverloads3.errors.txt create mode 100644 tests/baselines/reference/callOverloads3.js create mode 100644 tests/baselines/reference/callOverloads4.errors.txt create mode 100644 tests/baselines/reference/callOverloads4.js create mode 100644 tests/baselines/reference/callOverloads5.errors.txt create mode 100644 tests/baselines/reference/callOverloads5.js create mode 100644 tests/baselines/reference/callSignatureAssignabilityInInheritance.errors.txt create mode 100644 tests/baselines/reference/callSignatureAssignabilityInInheritance.js create mode 100644 tests/baselines/reference/callSignatureAssignabilityInInheritance2.js create mode 100644 tests/baselines/reference/callSignatureAssignabilityInInheritance3.errors.txt create mode 100644 tests/baselines/reference/callSignatureAssignabilityInInheritance3.js create mode 100644 tests/baselines/reference/callSignatureAssignabilityInInheritance4.js create mode 100644 tests/baselines/reference/callSignatureAssignabilityInInheritance5.js create mode 100644 tests/baselines/reference/callSignatureAssignabilityInInheritance6.js create mode 100644 tests/baselines/reference/callSignatureFunctionOverload.js create mode 100644 tests/baselines/reference/callSignatureWithOptionalParameterAndInitializer.errors.txt create mode 100644 tests/baselines/reference/callSignatureWithoutAnnotationsOrBody.js create mode 100644 tests/baselines/reference/callSignatureWithoutReturnTypeAnnotationInference.js create mode 100644 tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.errors.txt create mode 100644 tests/baselines/reference/callSignaturesShouldBeResolvedBeforeSpecialization.js create mode 100644 tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType.js create mode 100644 tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.errors.txt create mode 100644 tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType2.js create mode 100644 tests/baselines/reference/callSignaturesThatDifferOnlyByReturnType3.js create mode 100644 tests/baselines/reference/callSignaturesWithAccessibilityModifiersOnParameters.errors.txt create mode 100644 tests/baselines/reference/callSignaturesWithAccessibilityModifiersOnParameters.js create mode 100644 tests/baselines/reference/callSignaturesWithDuplicateParameters.errors.txt create mode 100644 tests/baselines/reference/callSignaturesWithDuplicateParameters.js create mode 100644 tests/baselines/reference/callSignaturesWithOptionalParameters.js create mode 100644 tests/baselines/reference/callSignaturesWithOptionalParameters2.js create mode 100644 tests/baselines/reference/callSignaturesWithParameterInitializers.errors.txt create mode 100644 tests/baselines/reference/callSignaturesWithParameterInitializers.js create mode 100644 tests/baselines/reference/callSignaturesWithParameterInitializers2.errors.txt create mode 100644 tests/baselines/reference/callWithWrongNumberOfTypeArguments.errors.txt create mode 100644 tests/baselines/reference/callWithWrongNumberOfTypeArguments.js create mode 100644 tests/baselines/reference/callbackArgsDifferByOptionality.errors.txt create mode 100644 tests/baselines/reference/callbackArgsDifferByOptionality.js create mode 100644 tests/baselines/reference/callbacksDontShareTypes.js create mode 100644 tests/baselines/reference/cannotInvokeNewOnErrorExpression.errors.txt create mode 100644 tests/baselines/reference/cannotInvokeNewOnIndexExpression.errors.txt create mode 100644 tests/baselines/reference/cannotInvokeNewOnIndexExpression.js create mode 100644 tests/baselines/reference/castExpressionParentheses.js create mode 100644 tests/baselines/reference/castNewObjectBug.js create mode 100644 tests/baselines/reference/castParentheses.js create mode 100644 tests/baselines/reference/castTest.js create mode 100644 tests/baselines/reference/catch.js create mode 100644 tests/baselines/reference/catchClauseWithTypeAnnotation.errors.txt create mode 100644 tests/baselines/reference/cf.js create mode 100644 tests/baselines/reference/chainedAssignment1.errors.txt create mode 100644 tests/baselines/reference/chainedAssignment1.js create mode 100644 tests/baselines/reference/chainedAssignment2.js create mode 100644 tests/baselines/reference/chainedAssignment3.errors.txt create mode 100644 tests/baselines/reference/chainedAssignment3.js create mode 100644 tests/baselines/reference/chainedAssignmentChecking.errors.txt create mode 100644 tests/baselines/reference/chainedAssignmentChecking.js create mode 100644 tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.errors.txt create mode 100644 tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.js create mode 100644 tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.errors.txt create mode 100644 tests/baselines/reference/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.js create mode 100644 tests/baselines/reference/chainedImportAlias.js create mode 100644 tests/baselines/reference/chainedSpecializationToObjectTypeLiteral.js create mode 100644 tests/baselines/reference/checkForObjectTooStrict.errors.txt create mode 100644 tests/baselines/reference/checkForObjectTooStrict.js create mode 100644 tests/baselines/reference/checkInterfaceBases.js create mode 100644 tests/baselines/reference/circularImportAlias.js create mode 100644 tests/baselines/reference/circularModuleImports.errors.txt create mode 100644 tests/baselines/reference/circularModuleImports.js create mode 100644 tests/baselines/reference/circularReference.errors.txt create mode 100644 tests/baselines/reference/circularReference.js create mode 100644 tests/baselines/reference/class1.errors.txt create mode 100644 tests/baselines/reference/class1.js create mode 100644 tests/baselines/reference/class2.errors.txt create mode 100644 tests/baselines/reference/classAndInterface1.errors.txt create mode 100644 tests/baselines/reference/classAndInterface1.js create mode 100644 tests/baselines/reference/classAndInterfaceWithSameName.errors.txt create mode 100644 tests/baselines/reference/classAndInterfaceWithSameName.js create mode 100644 tests/baselines/reference/classAndVariableWithSameName.errors.txt create mode 100644 tests/baselines/reference/classAndVariableWithSameName.js create mode 100644 tests/baselines/reference/classAppearsToHaveMembersOfObject.js create mode 100644 tests/baselines/reference/classBodyWithStatements.errors.txt create mode 100644 tests/baselines/reference/classCannotExtendVar.errors.txt create mode 100644 tests/baselines/reference/classCannotExtendVar.js create mode 100644 tests/baselines/reference/classConstructorAccessibility.errors.txt create mode 100644 tests/baselines/reference/classDeclarationMergedInModuleWithContinuation.js create mode 100644 tests/baselines/reference/classExpression.errors.txt create mode 100644 tests/baselines/reference/classExtendingClass.js create mode 100644 tests/baselines/reference/classExtendingPrimitive.errors.txt create mode 100644 tests/baselines/reference/classExtendingQualifiedName.errors.txt create mode 100644 tests/baselines/reference/classExtendingQualifiedName.js create mode 100644 tests/baselines/reference/classExtendingQualifiedName2.js create mode 100644 tests/baselines/reference/classExtendsClauseClassMergedWithModuleNotReferingConstructor.errors.txt create mode 100644 tests/baselines/reference/classExtendsClauseClassMergedWithModuleNotReferingConstructor.js create mode 100644 tests/baselines/reference/classExtendsClauseClassNotReferringConstructor.errors.txt create mode 100644 tests/baselines/reference/classExtendsClauseClassNotReferringConstructor.js create mode 100644 tests/baselines/reference/classExtendsEveryObjectType.errors.txt create mode 100644 tests/baselines/reference/classExtendsInterface.errors.txt create mode 100644 tests/baselines/reference/classExtendsInterface.js create mode 100644 tests/baselines/reference/classExtendsInterfaceThatExtendsClassWithPrivates1.errors.txt create mode 100644 tests/baselines/reference/classExtendsInterfaceThatExtendsClassWithPrivates1.js create mode 100644 tests/baselines/reference/classExtendsItself.errors.txt create mode 100644 tests/baselines/reference/classExtendsItself.js create mode 100644 tests/baselines/reference/classExtendsItselfIndirectly.errors.txt create mode 100644 tests/baselines/reference/classExtendsItselfIndirectly.js create mode 100644 tests/baselines/reference/classExtendsItselfIndirectly2.errors.txt create mode 100644 tests/baselines/reference/classExtendsItselfIndirectly2.js create mode 100644 tests/baselines/reference/classExtendsItselfIndirectly3.errors.txt create mode 100644 tests/baselines/reference/classExtendsItselfIndirectly3.js create mode 100644 tests/baselines/reference/classExtendsMultipleBaseClasses.errors.txt create mode 100644 tests/baselines/reference/classExtendsShadowedConstructorFunction.errors.txt create mode 100644 tests/baselines/reference/classExtendsShadowedConstructorFunction.js create mode 100644 tests/baselines/reference/classExtendsValidConstructorFunction.errors.txt create mode 100644 tests/baselines/reference/classExtendsValidConstructorFunction.js create mode 100644 tests/baselines/reference/classHeritageWithTrailingSeparator.errors.txt create mode 100644 tests/baselines/reference/classImplementingInterfaceIndexer.js create mode 100644 tests/baselines/reference/classImplementsClass1.js create mode 100644 tests/baselines/reference/classImplementsClass2.errors.txt create mode 100644 tests/baselines/reference/classImplementsClass2.js create mode 100644 tests/baselines/reference/classImplementsClass3.js create mode 100644 tests/baselines/reference/classImplementsClass4.errors.txt create mode 100644 tests/baselines/reference/classImplementsClass4.js create mode 100644 tests/baselines/reference/classImplementsClass5.errors.txt create mode 100644 tests/baselines/reference/classImplementsClass5.js create mode 100644 tests/baselines/reference/classImplementsClass6.errors.txt create mode 100644 tests/baselines/reference/classImplementsClass6.js create mode 100644 tests/baselines/reference/classImplementsImportedInterface.js create mode 100644 tests/baselines/reference/classIndexer.js create mode 100644 tests/baselines/reference/classIndexer2.errors.txt create mode 100644 tests/baselines/reference/classIndexer2.js create mode 100644 tests/baselines/reference/classIndexer3.errors.txt create mode 100644 tests/baselines/reference/classIndexer3.js create mode 100644 tests/baselines/reference/classIndexer4.errors.txt create mode 100644 tests/baselines/reference/classIndexer4.js create mode 100644 tests/baselines/reference/classInheritence.errors.txt create mode 100644 tests/baselines/reference/classInheritence.js create mode 100644 tests/baselines/reference/classIsSubtypeOfBaseType.errors.txt create mode 100644 tests/baselines/reference/classIsSubtypeOfBaseType.js create mode 100644 tests/baselines/reference/classMemberInitializerScoping.errors.txt create mode 100644 tests/baselines/reference/classMemberInitializerScoping.js create mode 100644 tests/baselines/reference/classMemberInitializerWithLamdaScoping.errors.txt create mode 100644 tests/baselines/reference/classMemberInitializerWithLamdaScoping.js create mode 100644 tests/baselines/reference/classMemberInitializerWithLamdaScoping2.errors.txt create mode 100644 tests/baselines/reference/classMemberInitializerWithLamdaScoping2.js create mode 100644 tests/baselines/reference/classMemberInitializerWithLamdaScoping3.errors.txt create mode 100644 tests/baselines/reference/classMemberInitializerWithLamdaScoping3.js create mode 100644 tests/baselines/reference/classMemberInitializerWithLamdaScoping4.errors.txt create mode 100644 tests/baselines/reference/classMemberInitializerWithLamdaScoping4.js create mode 100644 tests/baselines/reference/classMemberInitializerWithLamdaScoping5.js create mode 100644 tests/baselines/reference/classMethodWithKeywordName1.js create mode 100644 tests/baselines/reference/classOrder1.js create mode 100644 tests/baselines/reference/classOrder2.js create mode 100644 tests/baselines/reference/classOrderBug.js create mode 100644 tests/baselines/reference/classOverloadForFunction.errors.txt create mode 100644 tests/baselines/reference/classOverloadForFunction.js create mode 100644 tests/baselines/reference/classOverloadForFunction2.errors.txt create mode 100644 tests/baselines/reference/classOverloadForFunction2.js create mode 100644 tests/baselines/reference/classPropertyAsPrivate.errors.txt create mode 100644 tests/baselines/reference/classPropertyIsPublicByDefault.errors.txt create mode 100644 tests/baselines/reference/classSideInheritance1.errors.txt create mode 100644 tests/baselines/reference/classSideInheritance1.js create mode 100644 tests/baselines/reference/classSideInheritance2.js create mode 100644 tests/baselines/reference/classSideInheritance3.errors.txt create mode 100644 tests/baselines/reference/classSideInheritance3.js create mode 100644 tests/baselines/reference/classTypeParametersInStatics.errors.txt create mode 100644 tests/baselines/reference/classTypeParametersInStatics.js create mode 100644 tests/baselines/reference/classUpdateTests.errors.txt create mode 100644 tests/baselines/reference/classWithBaseClassButNoConstructor.errors.txt create mode 100644 tests/baselines/reference/classWithBaseClassButNoConstructor.js create mode 100644 tests/baselines/reference/classWithConstructors.errors.txt create mode 100644 tests/baselines/reference/classWithConstructors.js create mode 100644 tests/baselines/reference/classWithEmptyBody.js create mode 100644 tests/baselines/reference/classWithMultipleBaseClasses.errors.txt create mode 100644 tests/baselines/reference/classWithMultipleBaseClasses.js create mode 100644 tests/baselines/reference/classWithNoConstructorOrBaseClass.js create mode 100644 tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface.js create mode 100644 tests/baselines/reference/classWithOnlyPublicMembersEquivalentToInterface2.js create mode 100644 tests/baselines/reference/classWithOptionalParameter.errors.txt create mode 100644 tests/baselines/reference/classWithOverloadImplementationOfWrongName.errors.txt create mode 100644 tests/baselines/reference/classWithOverloadImplementationOfWrongName.js create mode 100644 tests/baselines/reference/classWithOverloadImplementationOfWrongName2.errors.txt create mode 100644 tests/baselines/reference/classWithOverloadImplementationOfWrongName2.js create mode 100644 tests/baselines/reference/classWithPredefinedTypesAsNames.errors.txt create mode 100644 tests/baselines/reference/classWithPredefinedTypesAsNames.js create mode 100644 tests/baselines/reference/classWithPredefinedTypesAsNames2.errors.txt create mode 100644 tests/baselines/reference/classWithPrivateProperty.errors.txt create mode 100644 tests/baselines/reference/classWithPrivateProperty.js create mode 100644 tests/baselines/reference/classWithPublicProperty.js create mode 100644 tests/baselines/reference/classWithStaticMembers.errors.txt create mode 100644 tests/baselines/reference/classWithTwoConstructorDefinitions.errors.txt create mode 100644 tests/baselines/reference/classWithTwoConstructorDefinitions.js create mode 100644 tests/baselines/reference/classWithoutExplicitConstructor.errors.txt create mode 100644 tests/baselines/reference/classWithoutExplicitConstructor.js create mode 100644 tests/baselines/reference/classdecl.errors.txt create mode 100644 tests/baselines/reference/clinterfaces.errors.txt create mode 100644 tests/baselines/reference/clinterfaces.js create mode 100644 tests/baselines/reference/cloduleAcrossModuleDefinitions.js create mode 100644 tests/baselines/reference/cloduleAndTypeParameters.js create mode 100644 tests/baselines/reference/cloduleSplitAcrossFiles.js create mode 100644 tests/baselines/reference/cloduleStaticMembers.errors.txt create mode 100644 tests/baselines/reference/cloduleStaticMembers.js create mode 100644 tests/baselines/reference/cloduleTest1.js create mode 100644 tests/baselines/reference/cloduleTest2.errors.txt create mode 100644 tests/baselines/reference/cloduleTest2.js create mode 100644 tests/baselines/reference/cloduleWithDuplicateMember1.errors.txt create mode 100644 tests/baselines/reference/cloduleWithDuplicateMember2.errors.txt create mode 100644 tests/baselines/reference/cloduleWithRecursiveReference.js create mode 100644 tests/baselines/reference/clodulesDerivedClasses.errors.txt create mode 100644 tests/baselines/reference/clodulesDerivedClasses.js create mode 100644 tests/baselines/reference/collisionArgumentsArrowFunctions.errors.txt create mode 100644 tests/baselines/reference/collisionArgumentsArrowFunctions.js create mode 100644 tests/baselines/reference/collisionArgumentsClassConstructor.errors.txt create mode 100644 tests/baselines/reference/collisionArgumentsClassConstructor.js create mode 100644 tests/baselines/reference/collisionArgumentsClassMethod.errors.txt create mode 100644 tests/baselines/reference/collisionArgumentsClassMethod.js create mode 100644 tests/baselines/reference/collisionArgumentsFunction.errors.txt create mode 100644 tests/baselines/reference/collisionArgumentsFunction.js create mode 100644 tests/baselines/reference/collisionArgumentsFunctionExpressions.errors.txt create mode 100644 tests/baselines/reference/collisionArgumentsFunctionExpressions.js create mode 100644 tests/baselines/reference/collisionArgumentsInType.js create mode 100644 tests/baselines/reference/collisionArgumentsInterfaceMembers.js create mode 100644 tests/baselines/reference/collisionCodeGenEnumWithEnumMemberConflict.js create mode 100644 tests/baselines/reference/collisionCodeGenModuleWithAccessorChildren.errors.txt create mode 100644 tests/baselines/reference/collisionCodeGenModuleWithConstructorChildren.js create mode 100644 tests/baselines/reference/collisionCodeGenModuleWithEnumMemberConflict.js create mode 100644 tests/baselines/reference/collisionCodeGenModuleWithFunctionChildren.js create mode 100644 tests/baselines/reference/collisionCodeGenModuleWithMemberClassConflict.js create mode 100644 tests/baselines/reference/collisionCodeGenModuleWithMemberInterfaceConflict.js create mode 100644 tests/baselines/reference/collisionCodeGenModuleWithMemberVariable.js create mode 100644 tests/baselines/reference/collisionCodeGenModuleWithMethodChildren.js create mode 100644 tests/baselines/reference/collisionCodeGenModuleWithModuleChildren.js create mode 100644 tests/baselines/reference/collisionCodeGenModuleWithModuleReopening.js create mode 100644 tests/baselines/reference/collisionCodeGenModuleWithPrivateMember.js create mode 100644 tests/baselines/reference/collisionCodeGenModuleWithUnicodeNames.js create mode 100644 tests/baselines/reference/collisionExportsRequireAndAlias.js create mode 100644 tests/baselines/reference/collisionExportsRequireAndClass.js create mode 100644 tests/baselines/reference/collisionExportsRequireAndEnum.js create mode 100644 tests/baselines/reference/collisionExportsRequireAndFunction.js create mode 100644 tests/baselines/reference/collisionExportsRequireAndModule.js create mode 100644 tests/baselines/reference/collisionExportsRequireAndUninstantiatedModule.js create mode 100644 tests/baselines/reference/collisionExportsRequireAndVar.js create mode 100644 tests/baselines/reference/collisionRestParameterArrowFunctions.errors.txt create mode 100644 tests/baselines/reference/collisionRestParameterArrowFunctions.js create mode 100644 tests/baselines/reference/collisionRestParameterClassConstructor.errors.txt create mode 100644 tests/baselines/reference/collisionRestParameterClassConstructor.js create mode 100644 tests/baselines/reference/collisionRestParameterClassMethod.errors.txt create mode 100644 tests/baselines/reference/collisionRestParameterClassMethod.js create mode 100644 tests/baselines/reference/collisionRestParameterFunction.errors.txt create mode 100644 tests/baselines/reference/collisionRestParameterFunction.js create mode 100644 tests/baselines/reference/collisionRestParameterFunctionExpressions.errors.txt create mode 100644 tests/baselines/reference/collisionRestParameterFunctionExpressions.js create mode 100644 tests/baselines/reference/collisionRestParameterInType.js create mode 100644 tests/baselines/reference/collisionRestParameterInterfaceMembers.js create mode 100644 tests/baselines/reference/collisionRestParameterUnderscoreIUsage.errors.txt create mode 100644 tests/baselines/reference/collisionRestParameterUnderscoreIUsage.js create mode 100644 tests/baselines/reference/collisionSuperAndLocalFunctionInAccessors.errors.txt create mode 100644 tests/baselines/reference/collisionSuperAndLocalFunctionInConstructor.errors.txt create mode 100644 tests/baselines/reference/collisionSuperAndLocalFunctionInConstructor.js create mode 100644 tests/baselines/reference/collisionSuperAndLocalFunctionInMethod.errors.txt create mode 100644 tests/baselines/reference/collisionSuperAndLocalFunctionInMethod.js create mode 100644 tests/baselines/reference/collisionSuperAndLocalFunctionInProperty.errors.txt create mode 100644 tests/baselines/reference/collisionSuperAndLocalFunctionInProperty.js create mode 100644 tests/baselines/reference/collisionSuperAndLocalVarInAccessors.errors.txt create mode 100644 tests/baselines/reference/collisionSuperAndLocalVarInConstructor.errors.txt create mode 100644 tests/baselines/reference/collisionSuperAndLocalVarInConstructor.js create mode 100644 tests/baselines/reference/collisionSuperAndLocalVarInMethod.errors.txt create mode 100644 tests/baselines/reference/collisionSuperAndLocalVarInMethod.js create mode 100644 tests/baselines/reference/collisionSuperAndLocalVarInProperty.errors.txt create mode 100644 tests/baselines/reference/collisionSuperAndLocalVarInProperty.js create mode 100644 tests/baselines/reference/collisionSuperAndNameResolution.errors.txt create mode 100644 tests/baselines/reference/collisionSuperAndNameResolution.js create mode 100644 tests/baselines/reference/collisionSuperAndParameter.errors.txt create mode 100644 tests/baselines/reference/collisionSuperAndParameter1.errors.txt create mode 100644 tests/baselines/reference/collisionSuperAndParameter1.js create mode 100644 tests/baselines/reference/collisionSuperAndPropertyNameAsConstuctorParameter.errors.txt create mode 100644 tests/baselines/reference/collisionSuperAndPropertyNameAsConstuctorParameter.js create mode 100644 tests/baselines/reference/collisionThisExpressionAndAliasInGlobal.js create mode 100644 tests/baselines/reference/collisionThisExpressionAndAmbientClassInGlobal.js create mode 100644 tests/baselines/reference/collisionThisExpressionAndAmbientVarInGlobal.js create mode 100644 tests/baselines/reference/collisionThisExpressionAndClassInGlobal.js create mode 100644 tests/baselines/reference/collisionThisExpressionAndEnumInGlobal.js create mode 100644 tests/baselines/reference/collisionThisExpressionAndFunctionInGlobal.js create mode 100644 tests/baselines/reference/collisionThisExpressionAndLocalVarInAccessors.errors.txt create mode 100644 tests/baselines/reference/collisionThisExpressionAndLocalVarInConstructor.js create mode 100644 tests/baselines/reference/collisionThisExpressionAndLocalVarInFunction.js create mode 100644 tests/baselines/reference/collisionThisExpressionAndLocalVarInLambda.js create mode 100644 tests/baselines/reference/collisionThisExpressionAndLocalVarInMethod.js create mode 100644 tests/baselines/reference/collisionThisExpressionAndLocalVarInProperty.js create mode 100644 tests/baselines/reference/collisionThisExpressionAndLocalVarWithSuperExperssion.js create mode 100644 tests/baselines/reference/collisionThisExpressionAndModuleInGlobal.js create mode 100644 tests/baselines/reference/collisionThisExpressionAndNameResolution.js create mode 100644 tests/baselines/reference/collisionThisExpressionAndParameter.js create mode 100644 tests/baselines/reference/collisionThisExpressionAndPropertyNameAsConstuctorParameter.js create mode 100644 tests/baselines/reference/collisionThisExpressionAndVarInGlobal.js create mode 100644 tests/baselines/reference/commaOperator1.js create mode 100644 tests/baselines/reference/commaOperatorInvalidAssignmentType.errors.txt create mode 100644 tests/baselines/reference/commaOperatorInvalidAssignmentType.js create mode 100644 tests/baselines/reference/commaOperatorOtherInvalidOperation.errors.txt create mode 100644 tests/baselines/reference/commaOperatorOtherInvalidOperation.js create mode 100644 tests/baselines/reference/commaOperatorOtherValidOperation.js create mode 100644 tests/baselines/reference/commaOperatorWithSecondOperandAnyType.js create mode 100644 tests/baselines/reference/commaOperatorWithSecondOperandBooleanType.js create mode 100644 tests/baselines/reference/commaOperatorWithSecondOperandNumberType.js create mode 100644 tests/baselines/reference/commaOperatorWithSecondOperandObjectType.js create mode 100644 tests/baselines/reference/commaOperatorWithSecondOperandStringType.js create mode 100644 tests/baselines/reference/commaOperatorWithoutOperand.errors.txt create mode 100644 tests/baselines/reference/commaOperatorsMultipleOperators.js create mode 100644 tests/baselines/reference/commentBeforeStaticMethod1.js create mode 100644 tests/baselines/reference/commentInEmptyParameterList1.js create mode 100644 tests/baselines/reference/commentInMethodCall.js create mode 100644 tests/baselines/reference/commentOnAmbientClass1.js create mode 100644 tests/baselines/reference/commentOnAmbientVariable1.js create mode 100644 tests/baselines/reference/commentOnAmbientVariable2.js create mode 100644 tests/baselines/reference/commentOnClassAccessor1.errors.txt create mode 100644 tests/baselines/reference/commentOnClassAccessor2.errors.txt create mode 100644 tests/baselines/reference/commentOnClassMethod1.js create mode 100644 tests/baselines/reference/commentOnElidedModule1.js create mode 100644 tests/baselines/reference/commentOnExpressionStatement1.js create mode 100644 tests/baselines/reference/commentOnIfStatement1.js create mode 100644 tests/baselines/reference/commentOnImportStatement1.errors.txt create mode 100644 tests/baselines/reference/commentOnImportStatement1.js create mode 100644 tests/baselines/reference/commentOnImportStatement2.errors.txt create mode 100644 tests/baselines/reference/commentOnImportStatement2.js create mode 100644 tests/baselines/reference/commentOnImportStatement3.errors.txt create mode 100644 tests/baselines/reference/commentOnImportStatement3.js create mode 100644 tests/baselines/reference/commentOnInterface1.js create mode 100644 tests/baselines/reference/commentOnParenthesizedExpressionOpenParen1.js create mode 100644 tests/baselines/reference/commentOnSignature1.js create mode 100644 tests/baselines/reference/commentOnSimpleArrowFunctionBody1.js create mode 100644 tests/baselines/reference/commentOnStaticMember1.js create mode 100644 tests/baselines/reference/commentsAtEndOfFile1.js create mode 100644 tests/baselines/reference/commentsBeforeFunctionExpression1.js create mode 100644 tests/baselines/reference/commentsBeforeVariableStatement1.js create mode 100644 tests/baselines/reference/commentsClass.js create mode 100644 tests/baselines/reference/commentsClassMembers.js create mode 100644 tests/baselines/reference/commentsCommentParsing.js create mode 100644 tests/baselines/reference/commentsDottedModuleName.js create mode 100644 tests/baselines/reference/commentsEnums.js create mode 100644 tests/baselines/reference/commentsExternalModules.js create mode 100644 tests/baselines/reference/commentsFunction.js create mode 100644 tests/baselines/reference/commentsInheritance.js create mode 100644 tests/baselines/reference/commentsInterface.js create mode 100644 tests/baselines/reference/commentsModules.js create mode 100644 tests/baselines/reference/commentsMultiModuleMultiFile.js create mode 100644 tests/baselines/reference/commentsMultiModuleSingleFile.js create mode 100644 tests/baselines/reference/commentsOnObjectLiteral1.js create mode 100644 tests/baselines/reference/commentsOnObjectLiteral2.js create mode 100644 tests/baselines/reference/commentsOnObjectLiteral3.errors.txt create mode 100644 tests/baselines/reference/commentsOnObjectLiteral4.errors.txt create mode 100644 tests/baselines/reference/commentsOnReturnStatement1.js create mode 100644 tests/baselines/reference/commentsOnStaticMembers.js create mode 100644 tests/baselines/reference/commentsOverloads.js create mode 100644 tests/baselines/reference/commentsPropertySignature1.js create mode 100644 tests/baselines/reference/commentsVarDecl.js create mode 100644 tests/baselines/reference/commentsVariableStatement1.js create mode 100644 tests/baselines/reference/commentsdoNotEmitComments.js create mode 100644 tests/baselines/reference/commentsemitComments.js create mode 100644 tests/baselines/reference/commonJSImportAsPrimaryExpression.js create mode 100644 tests/baselines/reference/commonJSImportNotAsPrimaryExpression.js create mode 100644 tests/baselines/reference/comparisonOperatorWithIdenticalObjects.js create mode 100644 tests/baselines/reference/comparisonOperatorWithIdenticalPrimitiveType.js create mode 100644 tests/baselines/reference/comparisonOperatorWithIdenticalTypeParameter.js create mode 100644 tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.errors.txt create mode 100644 tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.js create mode 100644 tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.errors.txt create mode 100644 tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.js create mode 100644 tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.errors.txt create mode 100644 tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.js create mode 100644 tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.errors.txt create mode 100644 tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.js create mode 100644 tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.errors.txt create mode 100644 tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.js create mode 100644 tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.errors.txt create mode 100644 tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.js create mode 100644 tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnProperty.errors.txt create mode 100644 tests/baselines/reference/comparisonOperatorWithNoRelationshipObjectsOnProperty.js create mode 100644 tests/baselines/reference/comparisonOperatorWithNoRelationshipPrimitiveType.errors.txt create mode 100644 tests/baselines/reference/comparisonOperatorWithNoRelationshipPrimitiveType.js create mode 100644 tests/baselines/reference/comparisonOperatorWithNoRelationshipTypeParameter.errors.txt create mode 100644 tests/baselines/reference/comparisonOperatorWithNoRelationshipTypeParameter.js create mode 100644 tests/baselines/reference/comparisonOperatorWithOneOperandIsAny.js create mode 100644 tests/baselines/reference/comparisonOperatorWithOneOperandIsNull.js create mode 100644 tests/baselines/reference/comparisonOperatorWithOneOperandIsUndefined.js create mode 100644 tests/baselines/reference/comparisonOperatorWithSubtypeEnumAndNumber.js create mode 100644 tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnCallSignature.js create mode 100644 tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnConstructorSignature.js create mode 100644 tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnIndexSignature.js create mode 100644 tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedCallSignature.errors.txt create mode 100644 tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedCallSignature.js create mode 100644 tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedConstructorSignature.errors.txt create mode 100644 tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnInstantiatedConstructorSignature.js create mode 100644 tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnOptionalProperty.js create mode 100644 tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnProperty.js create mode 100644 tests/baselines/reference/comparisonOperatorWithTwoOperandsAreAny.js create mode 100644 tests/baselines/reference/comparisonOperatorWithTypeParameter.errors.txt create mode 100644 tests/baselines/reference/comparisonOperatorWithTypeParameter.js create mode 100644 tests/baselines/reference/complexClassRelationships.js create mode 100644 tests/baselines/reference/complicatedGenericRecursiveBaseClassReference.errors.txt create mode 100644 tests/baselines/reference/complicatedGenericRecursiveBaseClassReference.js create mode 100644 tests/baselines/reference/complicatedPrivacy.errors.txt create mode 100644 tests/baselines/reference/compositeGenericFunction.js create mode 100644 tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.js create mode 100644 tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.errors.txt create mode 100644 tests/baselines/reference/compoundAdditionAssignmentLHSCannotBeAssigned.js create mode 100644 tests/baselines/reference/compoundAdditionAssignmentWithInvalidOperands.errors.txt create mode 100644 tests/baselines/reference/compoundAdditionAssignmentWithInvalidOperands.js create mode 100644 tests/baselines/reference/compoundArithmeticAssignmentLHSCanBeAssigned.js create mode 100644 tests/baselines/reference/compoundArithmeticAssignmentWithInvalidOperands.errors.txt create mode 100644 tests/baselines/reference/compoundArithmeticAssignmentWithInvalidOperands.js create mode 100644 tests/baselines/reference/compoundAssignmentLHSIsReference.js create mode 100644 tests/baselines/reference/compoundAssignmentLHSIsValue.errors.txt create mode 100644 tests/baselines/reference/compoundVarDecl1.js create mode 100644 tests/baselines/reference/concatClassAndString.errors.txt create mode 100644 tests/baselines/reference/concatClassAndString.js create mode 100644 tests/baselines/reference/concatError.js create mode 100644 tests/baselines/reference/conditionalExpression1.errors.txt create mode 100644 tests/baselines/reference/conditionalExpression1.js create mode 100644 tests/baselines/reference/conditionalExpressions2.js create mode 100644 tests/baselines/reference/conditionalOperatorConditionIsBooleanType.js create mode 100644 tests/baselines/reference/conditionalOperatorConditionIsNumberType.js create mode 100644 tests/baselines/reference/conditionalOperatorConditionIsObjectType.js create mode 100644 tests/baselines/reference/conditionalOperatorConditoinIsAnyType.js create mode 100644 tests/baselines/reference/conditionalOperatorConditoinIsStringType.js create mode 100644 tests/baselines/reference/conditionalOperatorWithIdenticalBCT.js create mode 100644 tests/baselines/reference/conditionalOperatorWithoutIdenticalBCT.errors.txt create mode 100644 tests/baselines/reference/conditionalOperatorWithoutIdenticalBCT.js create mode 100644 tests/baselines/reference/conditionallyDuplicateOverloadsCausedByOverloadResolution.js create mode 100644 tests/baselines/reference/conflictingMemberTypesInBases.errors.txt create mode 100644 tests/baselines/reference/conflictingMemberTypesInBases.js create mode 100644 tests/baselines/reference/conflictingTypeAnnotatedVar.errors.txt create mode 100644 tests/baselines/reference/conflictingTypeAnnotatedVar.js create mode 100644 tests/baselines/reference/conformanceFunctionOverloads.js create mode 100644 tests/baselines/reference/constantOverloadFunction.js create mode 100644 tests/baselines/reference/constantOverloadFunctionNoSubtypeError.errors.txt create mode 100644 tests/baselines/reference/constantOverloadFunctionNoSubtypeError.js create mode 100644 tests/baselines/reference/constraintCheckInGenericBaseTypeReference.js create mode 100644 tests/baselines/reference/constraintErrors1.errors.txt create mode 100644 tests/baselines/reference/constraintErrors1.js create mode 100644 tests/baselines/reference/constraintPropagationThroughReturnTypes.js create mode 100644 tests/baselines/reference/constraintReferencingTypeParameterFromSameTypeParameterList.errors.txt create mode 100644 tests/baselines/reference/constraintReferencingTypeParameterFromSameTypeParameterList.js create mode 100644 tests/baselines/reference/constraintSatisfactionWithAny.js create mode 100644 tests/baselines/reference/constraintSatisfactionWithAny2.errors.txt create mode 100644 tests/baselines/reference/constraintSatisfactionWithAny2.js create mode 100644 tests/baselines/reference/constraintSatisfactionWithEmptyObject.js create mode 100644 tests/baselines/reference/constraints0.errors.txt create mode 100644 tests/baselines/reference/constraints0.js create mode 100644 tests/baselines/reference/constraintsThatReferenceOtherContstraints1.errors.txt create mode 100644 tests/baselines/reference/constraintsThatReferenceOtherContstraints1.js create mode 100644 tests/baselines/reference/constraintsUsedInPrototypeProperty.js create mode 100644 tests/baselines/reference/constructSignatureAssignabilityInInheritance.errors.txt create mode 100644 tests/baselines/reference/constructSignatureAssignabilityInInheritance.js create mode 100644 tests/baselines/reference/constructSignatureAssignabilityInInheritance2.js create mode 100644 tests/baselines/reference/constructSignatureAssignabilityInInheritance3.errors.txt create mode 100644 tests/baselines/reference/constructSignatureAssignabilityInInheritance3.js create mode 100644 tests/baselines/reference/constructSignatureAssignabilityInInheritance4.js create mode 100644 tests/baselines/reference/constructSignatureAssignabilityInInheritance5.js create mode 100644 tests/baselines/reference/constructSignatureAssignabilityInInheritance6.js create mode 100644 tests/baselines/reference/constructSignatureWithAccessibilityModifiersOnParameters.errors.txt create mode 100644 tests/baselines/reference/constructSignatureWithAccessibilityModifiersOnParameters.js create mode 100644 tests/baselines/reference/constructSignatureWithAccessibilityModifiersOnParameters2.errors.txt create mode 100644 tests/baselines/reference/constructSignatureWithAccessibilityModifiersOnParameters2.js create mode 100644 tests/baselines/reference/constructSignaturesWithIdenticalOverloads.js create mode 100644 tests/baselines/reference/constructSignaturesWithOverloads.js create mode 100644 tests/baselines/reference/constructSignaturesWithOverloads2.errors.txt create mode 100644 tests/baselines/reference/constructSignaturesWithOverloads2.js create mode 100644 tests/baselines/reference/constructSignaturesWithOverloadsThatDifferOnlyByReturnType.js create mode 100644 tests/baselines/reference/constructorArgWithGenericCallSignature.js create mode 100644 tests/baselines/reference/constructorArgs.js create mode 100644 tests/baselines/reference/constructorArgsErrors1.errors.txt create mode 100644 tests/baselines/reference/constructorArgsErrors2.errors.txt create mode 100644 tests/baselines/reference/constructorArgsErrors3.errors.txt create mode 100644 tests/baselines/reference/constructorArgsErrors4.errors.txt create mode 100644 tests/baselines/reference/constructorArgsErrors5.errors.txt create mode 100644 tests/baselines/reference/constructorAsType.errors.txt create mode 100644 tests/baselines/reference/constructorAsType.js create mode 100644 tests/baselines/reference/constructorDefaultValuesReferencingThis.errors.txt create mode 100644 tests/baselines/reference/constructorDefaultValuesReferencingThis.js create mode 100644 tests/baselines/reference/constructorFunctionTypeIsAssignableToBaseType.js create mode 100644 tests/baselines/reference/constructorFunctionTypeIsAssignableToBaseType2.js create mode 100644 tests/baselines/reference/constructorHasPrototypeProperty.js create mode 100644 tests/baselines/reference/constructorImplementationWithDefaultValues.js create mode 100644 tests/baselines/reference/constructorImplementationWithDefaultValues2.errors.txt create mode 100644 tests/baselines/reference/constructorImplementationWithDefaultValues2.js create mode 100644 tests/baselines/reference/constructorInvocationWithTooFewTypeArgs.errors.txt create mode 100644 tests/baselines/reference/constructorInvocationWithTooFewTypeArgs.js create mode 100644 tests/baselines/reference/constructorOverloads1.errors.txt create mode 100644 tests/baselines/reference/constructorOverloads1.js create mode 100644 tests/baselines/reference/constructorOverloads2.js create mode 100644 tests/baselines/reference/constructorOverloads3.errors.txt create mode 100644 tests/baselines/reference/constructorOverloads3.js create mode 100644 tests/baselines/reference/constructorOverloads4.errors.txt create mode 100644 tests/baselines/reference/constructorOverloads4.js create mode 100644 tests/baselines/reference/constructorOverloads5.errors.txt create mode 100644 tests/baselines/reference/constructorOverloads5.js create mode 100644 tests/baselines/reference/constructorOverloads6.errors.txt create mode 100644 tests/baselines/reference/constructorOverloads7.errors.txt create mode 100644 tests/baselines/reference/constructorOverloads7.js create mode 100644 tests/baselines/reference/constructorOverloads8.errors.txt create mode 100644 tests/baselines/reference/constructorOverloads8.js create mode 100644 tests/baselines/reference/constructorOverloadsWithDefaultValues.errors.txt create mode 100644 tests/baselines/reference/constructorOverloadsWithDefaultValues.js create mode 100644 tests/baselines/reference/constructorOverloadsWithOptionalParameters.js create mode 100644 tests/baselines/reference/constructorParameterProperties.errors.txt create mode 100644 tests/baselines/reference/constructorParameterProperties.js create mode 100644 tests/baselines/reference/constructorParameterProperties2.errors.txt create mode 100644 tests/baselines/reference/constructorParameterProperties2.js create mode 100644 tests/baselines/reference/constructorParameterShadowsOuterScopes.errors.txt create mode 100644 tests/baselines/reference/constructorParameterShadowsOuterScopes.js create mode 100644 tests/baselines/reference/constructorParametersInVariableDeclarations.errors.txt create mode 100644 tests/baselines/reference/constructorParametersInVariableDeclarations.js create mode 100644 tests/baselines/reference/constructorParametersThatShadowExternalNamesInVariableDeclarations.errors.txt create mode 100644 tests/baselines/reference/constructorParametersThatShadowExternalNamesInVariableDeclarations.js create mode 100644 tests/baselines/reference/constructorReturningAPrimitive.js create mode 100644 tests/baselines/reference/constructorReturnsInvalidType.errors.txt create mode 100644 tests/baselines/reference/constructorReturnsInvalidType.js create mode 100644 tests/baselines/reference/constructorStaticParamName.js create mode 100644 tests/baselines/reference/constructorStaticParamNameErrors.js create mode 100644 tests/baselines/reference/constructorTypeWithTypeParameters.js create mode 100644 tests/baselines/reference/constructorWithAssignableReturnExpression.errors.txt create mode 100644 tests/baselines/reference/constructorWithAssignableReturnExpression.js create mode 100644 tests/baselines/reference/constructorWithExpressionLessReturn.js create mode 100644 tests/baselines/reference/constructorsWithSpecializedSignatures.errors.txt create mode 100644 tests/baselines/reference/constructorsWithSpecializedSignatures.js create mode 100644 tests/baselines/reference/contextualSigInstantiationRestParams.js create mode 100644 tests/baselines/reference/contextualSignatureInstantiation1.js create mode 100644 tests/baselines/reference/contextualSignatureInstantiation2.js create mode 100644 tests/baselines/reference/contextualSignatureInstantiationWithTypeParameterConstrainedToOuterTypeParameter.js create mode 100644 tests/baselines/reference/contextualSignatureInstatiationContravariance.js create mode 100644 tests/baselines/reference/contextualSignatureInstatiationCovariance.js create mode 100644 tests/baselines/reference/contextualTypeAny.js create mode 100644 tests/baselines/reference/contextualTypeAppliedToVarArgs.js create mode 100644 tests/baselines/reference/contextualTypeArrayReturnType.js create mode 100644 tests/baselines/reference/contextualTyping.errors.txt create mode 100644 tests/baselines/reference/contextualTyping.js create mode 100644 tests/baselines/reference/contextualTyping.js.map create mode 100644 tests/baselines/reference/contextualTyping.sourcemap.txt create mode 100644 tests/baselines/reference/contextualTyping1.js create mode 100644 tests/baselines/reference/contextualTyping10.js create mode 100644 tests/baselines/reference/contextualTyping11.errors.txt create mode 100644 tests/baselines/reference/contextualTyping11.js create mode 100644 tests/baselines/reference/contextualTyping12.js create mode 100644 tests/baselines/reference/contextualTyping13.js create mode 100644 tests/baselines/reference/contextualTyping14.js create mode 100644 tests/baselines/reference/contextualTyping15.js create mode 100644 tests/baselines/reference/contextualTyping16.js create mode 100644 tests/baselines/reference/contextualTyping17.js create mode 100644 tests/baselines/reference/contextualTyping18.js create mode 100644 tests/baselines/reference/contextualTyping19.js create mode 100644 tests/baselines/reference/contextualTyping2.js create mode 100644 tests/baselines/reference/contextualTyping20.js create mode 100644 tests/baselines/reference/contextualTyping21.errors.txt create mode 100644 tests/baselines/reference/contextualTyping21.js create mode 100644 tests/baselines/reference/contextualTyping22.js create mode 100644 tests/baselines/reference/contextualTyping23.js create mode 100644 tests/baselines/reference/contextualTyping24.errors.txt create mode 100644 tests/baselines/reference/contextualTyping24.js create mode 100644 tests/baselines/reference/contextualTyping25.js create mode 100644 tests/baselines/reference/contextualTyping26.js create mode 100644 tests/baselines/reference/contextualTyping27.js create mode 100644 tests/baselines/reference/contextualTyping28.js create mode 100644 tests/baselines/reference/contextualTyping29.js create mode 100644 tests/baselines/reference/contextualTyping3.js create mode 100644 tests/baselines/reference/contextualTyping30.errors.txt create mode 100644 tests/baselines/reference/contextualTyping30.js create mode 100644 tests/baselines/reference/contextualTyping31.js create mode 100644 tests/baselines/reference/contextualTyping32.js create mode 100644 tests/baselines/reference/contextualTyping33.errors.txt create mode 100644 tests/baselines/reference/contextualTyping33.js create mode 100644 tests/baselines/reference/contextualTyping34.js create mode 100644 tests/baselines/reference/contextualTyping35.js create mode 100644 tests/baselines/reference/contextualTyping36.js create mode 100644 tests/baselines/reference/contextualTyping37.js create mode 100644 tests/baselines/reference/contextualTyping38.js create mode 100644 tests/baselines/reference/contextualTyping39.errors.txt create mode 100644 tests/baselines/reference/contextualTyping39.js create mode 100644 tests/baselines/reference/contextualTyping4.js create mode 100644 tests/baselines/reference/contextualTyping40.js create mode 100644 tests/baselines/reference/contextualTyping41.errors.txt create mode 100644 tests/baselines/reference/contextualTyping41.js create mode 100644 tests/baselines/reference/contextualTyping5.errors.txt create mode 100644 tests/baselines/reference/contextualTyping5.js create mode 100644 tests/baselines/reference/contextualTyping6.js create mode 100644 tests/baselines/reference/contextualTyping7.js create mode 100644 tests/baselines/reference/contextualTyping8.js create mode 100644 tests/baselines/reference/contextualTyping9.js create mode 100644 tests/baselines/reference/contextualTypingArrayOfLambdas.js create mode 100644 tests/baselines/reference/contextualTypingOfAccessors.errors.txt create mode 100644 tests/baselines/reference/contextualTypingOfArrayLiterals1.errors.txt create mode 100644 tests/baselines/reference/contextualTypingOfArrayLiterals1.js create mode 100644 tests/baselines/reference/contextualTypingOfConditionalExpression.js create mode 100644 tests/baselines/reference/contextualTypingOfConditionalExpression2.errors.txt create mode 100644 tests/baselines/reference/contextualTypingOfConditionalExpression2.js create mode 100644 tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.errors.txt create mode 100644 tests/baselines/reference/contextualTypingOfGenericFunctionTypedArguments1.js create mode 100644 tests/baselines/reference/contextualTypingOfLambdaReturnExpression.errors.txt create mode 100644 tests/baselines/reference/contextualTypingOfLambdaReturnExpression.js create mode 100644 tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures.js create mode 100644 tests/baselines/reference/contextualTypingOfLambdaWithMultipleSignatures2.js create mode 100644 tests/baselines/reference/contextualTypingOfObjectLiterals.errors.txt create mode 100644 tests/baselines/reference/contextualTypingOfObjectLiterals.js create mode 100644 tests/baselines/reference/contextualTypingOfObjectLiterals2.errors.txt create mode 100644 tests/baselines/reference/contextualTypingOfObjectLiterals2.js create mode 100644 tests/baselines/reference/contextualTypingTwoInstancesOfSameTypeParameter.js create mode 100644 tests/baselines/reference/contextualTypingWithFixedTypeParameters1.errors.txt create mode 100644 tests/baselines/reference/contextualTypingWithFixedTypeParameters1.js create mode 100644 tests/baselines/reference/contextualTypingWithGenericAndNonGenericSignature.js create mode 100644 tests/baselines/reference/contextualTypingWithGenericSignature.js create mode 100644 tests/baselines/reference/contextuallyTypingOrOperator.js create mode 100644 tests/baselines/reference/contextuallyTypingOrOperator2.js create mode 100644 tests/baselines/reference/contextuallyTypingOrOperator3.errors.txt create mode 100644 tests/baselines/reference/contextuallyTypingOrOperator3.js create mode 100644 tests/baselines/reference/continueInIterationStatement1.js create mode 100644 tests/baselines/reference/continueInIterationStatement2.js create mode 100644 tests/baselines/reference/continueInIterationStatement3.js create mode 100644 tests/baselines/reference/continueInIterationStatement4.errors.txt create mode 100644 tests/baselines/reference/continueInIterationStatement4.js create mode 100644 tests/baselines/reference/continueLabel.js create mode 100644 tests/baselines/reference/continueNotInIterationStatement1.js create mode 100644 tests/baselines/reference/continueNotInIterationStatement2.js create mode 100644 tests/baselines/reference/continueNotInIterationStatement3.js create mode 100644 tests/baselines/reference/continueNotInIterationStatement4.js create mode 100644 tests/baselines/reference/continueTarget1.js create mode 100644 tests/baselines/reference/continueTarget2.js create mode 100644 tests/baselines/reference/continueTarget3.js create mode 100644 tests/baselines/reference/continueTarget4.js create mode 100644 tests/baselines/reference/continueTarget5.js create mode 100644 tests/baselines/reference/continueTarget6.js create mode 100644 tests/baselines/reference/convertKeywords.js create mode 100644 tests/baselines/reference/convertKeywordsYes.js create mode 100644 tests/baselines/reference/copyrightWithNewLine1.errors.txt create mode 100644 tests/baselines/reference/copyrightWithNewLine1.js create mode 100644 tests/baselines/reference/copyrightWithoutNewLine1.errors.txt create mode 100644 tests/baselines/reference/copyrightWithoutNewLine1.js create mode 100644 tests/baselines/reference/couldNotSelectGenericOverload.errors.txt create mode 100644 tests/baselines/reference/couldNotSelectGenericOverload.js create mode 100644 tests/baselines/reference/covariance1.js create mode 100644 tests/baselines/reference/crashInResolveInterface.js create mode 100644 tests/baselines/reference/crashInresolveReturnStatement.js create mode 100644 tests/baselines/reference/crashInsourcePropertyIsRelatableToTargetProperty.errors.txt create mode 100644 tests/baselines/reference/crashInsourcePropertyIsRelatableToTargetProperty.js create mode 100644 tests/baselines/reference/crashIntypeCheckInvocationExpression.errors.txt create mode 100644 tests/baselines/reference/crashIntypeCheckInvocationExpression.js create mode 100644 tests/baselines/reference/crashIntypeCheckObjectCreationExpression.errors.txt create mode 100644 tests/baselines/reference/crashIntypeCheckObjectCreationExpression.js create mode 100644 tests/baselines/reference/crashOnMethodSignatures.errors.txt create mode 100644 tests/baselines/reference/crashOnMethodSignatures.js create mode 100644 tests/baselines/reference/crashRegressionTest.errors.txt create mode 100644 tests/baselines/reference/crashRegressionTest.js create mode 100644 tests/baselines/reference/createArray.errors.txt create mode 100644 tests/baselines/reference/customEventDetail.errors.txt create mode 100644 tests/baselines/reference/customEventDetail.js create mode 100644 tests/baselines/reference/cyclicModuleImport.js create mode 100644 tests/baselines/reference/debugger.js create mode 100644 tests/baselines/reference/debuggerEmit.js create mode 100644 tests/baselines/reference/declFileAccessors.js create mode 100644 tests/baselines/reference/declFileAmbientExternalModuleWithSingleExportedModule.js create mode 100644 tests/baselines/reference/declFileCallSignatures.js create mode 100644 tests/baselines/reference/declFileClassWithIndexSignature.js create mode 100644 tests/baselines/reference/declFileClassWithStaticMethodReturningConstructor.js create mode 100644 tests/baselines/reference/declFileConstructSignatures.js create mode 100644 tests/baselines/reference/declFileConstructors.js create mode 100644 tests/baselines/reference/declFileEnumUsedAsValue.js create mode 100644 tests/baselines/reference/declFileEnums.js create mode 100644 tests/baselines/reference/declFileExportAssignmentImportInternalModule.js create mode 100644 tests/baselines/reference/declFileExportAssignmentOfGenericInterface.js create mode 100644 tests/baselines/reference/declFileExportImportChain.js create mode 100644 tests/baselines/reference/declFileExportImportChain2.js create mode 100644 tests/baselines/reference/declFileForClassWithMultipleBaseClasses.js create mode 100644 tests/baselines/reference/declFileForClassWithPrivateOverloadedFunction.js create mode 100644 tests/baselines/reference/declFileForExportedImport.js create mode 100644 tests/baselines/reference/declFileForFunctionTypeAsTypeParameter.js create mode 100644 tests/baselines/reference/declFileForInterfaceWithOptionalFunction.js create mode 100644 tests/baselines/reference/declFileForInterfaceWithRestParams.js create mode 100644 tests/baselines/reference/declFileForTypeParameters.js create mode 100644 tests/baselines/reference/declFileForVarList.js create mode 100644 tests/baselines/reference/declFileFunctions.js create mode 100644 tests/baselines/reference/declFileGenericClassWithGenericExtendedClass.js create mode 100644 tests/baselines/reference/declFileGenericType.js create mode 100644 tests/baselines/reference/declFileGenericType2.js create mode 100644 tests/baselines/reference/declFileImportModuleWithExportAssignment.js create mode 100644 tests/baselines/reference/declFileImportedTypeUseInTypeArgPosition.js create mode 100644 tests/baselines/reference/declFileIndexSignatures.js create mode 100644 tests/baselines/reference/declFileInternalAliases.js create mode 100644 tests/baselines/reference/declFileMethods.js create mode 100644 tests/baselines/reference/declFileModuleAssignmentInObjectLiteralProperty.js create mode 100644 tests/baselines/reference/declFileModuleContinuation.js create mode 100644 tests/baselines/reference/declFileModuleWithPropertyOfTypeModule.js create mode 100644 tests/baselines/reference/declFileObjectLiteralWithAccessors.errors.txt create mode 100644 tests/baselines/reference/declFileObjectLiteralWithOnlyGetter.errors.txt create mode 100644 tests/baselines/reference/declFileObjectLiteralWithOnlySetter.errors.txt create mode 100644 tests/baselines/reference/declFileOptionalInterfaceMethod.js create mode 100644 tests/baselines/reference/declFilePrivateStatic.errors.txt create mode 100644 tests/baselines/reference/declFileRegressionTests.js create mode 100644 tests/baselines/reference/declFileRestParametersOfFunctionAndFunctionType.js create mode 100644 tests/baselines/reference/declFileTypeofClass.js create mode 100644 tests/baselines/reference/declFileTypeofEnum.js create mode 100644 tests/baselines/reference/declFileTypeofFunction.js create mode 100644 tests/baselines/reference/declFileTypeofInAnonymousType.js create mode 100644 tests/baselines/reference/declFileTypeofModule.js create mode 100644 tests/baselines/reference/declFileWithClassNameConflictingWithClassReferredByExtendsClause.js create mode 100644 tests/baselines/reference/declFileWithExtendsClauseThatHasItsContainerNameConflict.js create mode 100644 tests/baselines/reference/declFileWithInternalModuleNameConflictsInExtendsClause1.js create mode 100644 tests/baselines/reference/declFileWithInternalModuleNameConflictsInExtendsClause2.js create mode 100644 tests/baselines/reference/declFileWithInternalModuleNameConflictsInExtendsClause3.js create mode 100644 tests/baselines/reference/declInput-2.js create mode 100644 tests/baselines/reference/declInput.errors.txt create mode 100644 tests/baselines/reference/declInput.js create mode 100644 tests/baselines/reference/declInput3.js create mode 100644 tests/baselines/reference/declInput4.js create mode 100644 tests/baselines/reference/declarationEmit_array-types-from-generic-array-usage.js create mode 100644 tests/baselines/reference/declarationEmit_nameConflicts.errors.txt create mode 100644 tests/baselines/reference/declarationEmit_nameConflicts.js create mode 100644 tests/baselines/reference/declarationEmit_nameConflicts2.js create mode 100644 tests/baselines/reference/declarationEmit_nameConflicts3.js create mode 100644 tests/baselines/reference/declarationEmit_nameConflictsWithAlias.errors.txt create mode 100644 tests/baselines/reference/declarationEmit_nameConflictsWithAlias.js create mode 100644 tests/baselines/reference/declareAlreadySeen.errors.txt create mode 100644 tests/baselines/reference/declareClassInterfaceImplementation.errors.txt create mode 100644 tests/baselines/reference/declareClassInterfaceImplementation.js create mode 100644 tests/baselines/reference/declareDottedExtend.js create mode 100644 tests/baselines/reference/declareDottedModuleName.js create mode 100644 tests/baselines/reference/declareExternalModuleWithExportAssignedFundule.js create mode 100644 tests/baselines/reference/declareFileExportAssignment.js create mode 100644 tests/baselines/reference/declaredExternalModule.js create mode 100644 tests/baselines/reference/declaredExternalModuleWithExportAssignment.js create mode 100644 tests/baselines/reference/decrementAndIncrementOperators.errors.txt create mode 100644 tests/baselines/reference/decrementAndIncrementOperators.js create mode 100644 tests/baselines/reference/decrementOperatorWithAnyOtherType.js create mode 100644 tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.errors.txt create mode 100644 tests/baselines/reference/decrementOperatorWithAnyOtherTypeInvalidOperations.js create mode 100644 tests/baselines/reference/decrementOperatorWithEnumType.js create mode 100644 tests/baselines/reference/decrementOperatorWithEnumTypeInvalidOperations.errors.txt create mode 100644 tests/baselines/reference/decrementOperatorWithEnumTypeInvalidOperations.js create mode 100644 tests/baselines/reference/decrementOperatorWithNumberType.js create mode 100644 tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.errors.txt create mode 100644 tests/baselines/reference/decrementOperatorWithNumberTypeInvalidOperations.js create mode 100644 tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.errors.txt create mode 100644 tests/baselines/reference/decrementOperatorWithUnsupportedBooleanType.js create mode 100644 tests/baselines/reference/decrementOperatorWithUnsupportedStringType.errors.txt create mode 100644 tests/baselines/reference/decrementOperatorWithUnsupportedStringType.js create mode 100644 tests/baselines/reference/defaultArgsForwardReferencing.errors.txt create mode 100644 tests/baselines/reference/defaultArgsForwardReferencing.js create mode 100644 tests/baselines/reference/defaultArgsInFunctionExpressions.errors.txt create mode 100644 tests/baselines/reference/defaultArgsInFunctionExpressions.js create mode 100644 tests/baselines/reference/defaultArgsInOverloads.errors.txt create mode 100644 tests/baselines/reference/defaultArgsInOverloads.js create mode 100644 tests/baselines/reference/defaultBestCommonTypesHaveDecls.errors.txt create mode 100644 tests/baselines/reference/defaultBestCommonTypesHaveDecls.js create mode 100644 tests/baselines/reference/defaultIndexProps1.js create mode 100644 tests/baselines/reference/defaultIndexProps2.js create mode 100644 tests/baselines/reference/defaultValueInConstructorOverload1.errors.txt create mode 100644 tests/baselines/reference/defaultValueInConstructorOverload1.js create mode 100644 tests/baselines/reference/defaultValueInFunctionOverload1.errors.txt create mode 100644 tests/baselines/reference/defaultValueInFunctionOverload1.js create mode 100644 tests/baselines/reference/defaultValueInFunctionTypes.errors.txt create mode 100644 tests/baselines/reference/defaultValueInFunctionTypes.js create mode 100644 tests/baselines/reference/deleteOperator1.errors.txt create mode 100644 tests/baselines/reference/deleteOperator1.js create mode 100644 tests/baselines/reference/deleteOperatorInvalidOperations.errors.txt create mode 100644 tests/baselines/reference/deleteOperatorWithAnyOtherType.errors.txt create mode 100644 tests/baselines/reference/deleteOperatorWithAnyOtherType.js create mode 100644 tests/baselines/reference/deleteOperatorWithBooleanType.js create mode 100644 tests/baselines/reference/deleteOperatorWithEnumType.js create mode 100644 tests/baselines/reference/deleteOperatorWithNumberType.js create mode 100644 tests/baselines/reference/deleteOperatorWithStringType.js create mode 100644 tests/baselines/reference/dependencyViaImportAlias.js create mode 100644 tests/baselines/reference/deprecatedBool.js create mode 100644 tests/baselines/reference/derivedClassConstructorWithoutSuperCall.errors.txt create mode 100644 tests/baselines/reference/derivedClassConstructorWithoutSuperCall.js create mode 100644 tests/baselines/reference/derivedClassFunctionOverridesBaseClassAccessor.errors.txt create mode 100644 tests/baselines/reference/derivedClassIncludesInheritedMembers.errors.txt create mode 100644 tests/baselines/reference/derivedClassOverridesIndexersWithAssignmentCompatibility.js create mode 100644 tests/baselines/reference/derivedClassOverridesPrivateFunction1.errors.txt create mode 100644 tests/baselines/reference/derivedClassOverridesPrivateFunction1.js create mode 100644 tests/baselines/reference/derivedClassOverridesPrivates.errors.txt create mode 100644 tests/baselines/reference/derivedClassOverridesPrivates.js create mode 100644 tests/baselines/reference/derivedClassOverridesPublicMembers.errors.txt create mode 100644 tests/baselines/reference/derivedClassOverridesWithoutSubtype.js create mode 100644 tests/baselines/reference/derivedClassParameterProperties.errors.txt create mode 100644 tests/baselines/reference/derivedClassParameterProperties.js create mode 100644 tests/baselines/reference/derivedClassSuperCallsInNonConstructorMembers.errors.txt create mode 100644 tests/baselines/reference/derivedClassSuperCallsWithThisArg.errors.txt create mode 100644 tests/baselines/reference/derivedClassSuperCallsWithThisArg.js create mode 100644 tests/baselines/reference/derivedClassTransitivity.errors.txt create mode 100644 tests/baselines/reference/derivedClassTransitivity.js create mode 100644 tests/baselines/reference/derivedClassTransitivity2.errors.txt create mode 100644 tests/baselines/reference/derivedClassTransitivity2.js create mode 100644 tests/baselines/reference/derivedClassTransitivity3.errors.txt create mode 100644 tests/baselines/reference/derivedClassTransitivity3.js create mode 100644 tests/baselines/reference/derivedClassWithAny.errors.txt create mode 100644 tests/baselines/reference/derivedClassWithPrivateInstanceShadowingPublicInstance.errors.txt create mode 100644 tests/baselines/reference/derivedClassWithPrivateStaticShadowingPublicStatic.errors.txt create mode 100644 tests/baselines/reference/derivedClassWithoutExplicitConstructor.errors.txt create mode 100644 tests/baselines/reference/derivedClassWithoutExplicitConstructor.js create mode 100644 tests/baselines/reference/derivedClassWithoutExplicitConstructor2.errors.txt create mode 100644 tests/baselines/reference/derivedClassWithoutExplicitConstructor2.js create mode 100644 tests/baselines/reference/derivedClassWithoutExplicitConstructor3.errors.txt create mode 100644 tests/baselines/reference/derivedClassWithoutExplicitConstructor3.js create mode 100644 tests/baselines/reference/derivedClasses.js create mode 100644 tests/baselines/reference/derivedGenericClassWithAny.errors.txt create mode 100644 tests/baselines/reference/derivedInterfaceCallSignature.errors.txt create mode 100644 tests/baselines/reference/derivedInterfaceCallSignature.js create mode 100644 tests/baselines/reference/derivedInterfaceIncompatibleWithBaseIndexer.errors.txt create mode 100644 tests/baselines/reference/derivedInterfaceIncompatibleWithBaseIndexer.js create mode 100644 tests/baselines/reference/derivedTypeAccessesHiddenBaseCallViaSuperPropertyAccess.js create mode 100644 tests/baselines/reference/derivedTypeCallingBaseImplWithOptionalParams.errors.txt create mode 100644 tests/baselines/reference/derivedTypeCallingBaseImplWithOptionalParams.js create mode 100644 tests/baselines/reference/derivedTypeDoesNotRequireExtendsClause.js create mode 100644 tests/baselines/reference/derivedTypeIncompatibleSignatures.errors.txt create mode 100644 tests/baselines/reference/derivedTypeIncompatibleSignatures.js create mode 100644 tests/baselines/reference/detachedCommentAtStartOfFunctionBody1.errors.txt create mode 100644 tests/baselines/reference/detachedCommentAtStartOfFunctionBody1.js create mode 100644 tests/baselines/reference/detachedCommentAtStartOfFunctionBody2.errors.txt create mode 100644 tests/baselines/reference/detachedCommentAtStartOfFunctionBody2.js create mode 100644 tests/baselines/reference/directReferenceToNull.errors.txt create mode 100644 tests/baselines/reference/directReferenceToNull.js create mode 100644 tests/baselines/reference/directReferenceToUndefined.errors.txt create mode 100644 tests/baselines/reference/directReferenceToUndefined.js create mode 100644 tests/baselines/reference/doNotWidenAtObjectLiteralPropertyAssignment.js create mode 100644 tests/baselines/reference/doWhileBreakStatements.js create mode 100644 tests/baselines/reference/doWhileContinueStatements.js create mode 100644 tests/baselines/reference/doWhileLoop.js create mode 100644 tests/baselines/reference/dontShowCompilerGeneratedMembers.errors.txt create mode 100644 tests/baselines/reference/dottedModuleName.errors.txt create mode 100644 tests/baselines/reference/dottedModuleName2.js create mode 100644 tests/baselines/reference/dottedSymbolResolution1.js create mode 100644 tests/baselines/reference/duplicateAnonymousInners1.js create mode 100644 tests/baselines/reference/duplicateAnonymousModuleClasses.js create mode 100644 tests/baselines/reference/duplicateClassElements.errors.txt create mode 100644 tests/baselines/reference/duplicateConstructSignature.js create mode 100644 tests/baselines/reference/duplicateConstructSignature2.js create mode 100644 tests/baselines/reference/duplicateConstructorOverloadSignature.js create mode 100644 tests/baselines/reference/duplicateConstructorOverloadSignature2.js create mode 100644 tests/baselines/reference/duplicateExportAssignments.errors.txt create mode 100644 tests/baselines/reference/duplicateExportAssignments.js create mode 100644 tests/baselines/reference/duplicateIdentifierInCatchBlock.errors.txt create mode 100644 tests/baselines/reference/duplicateIdentifierInCatchBlock.js create mode 100644 tests/baselines/reference/duplicateIdentifierShouldNotShortCircuitBaseTypeBinding.js create mode 100644 tests/baselines/reference/duplicateIdentifiersAcrossContainerBoundaries.errors.txt create mode 100644 tests/baselines/reference/duplicateIdentifiersAcrossContainerBoundaries.js create mode 100644 tests/baselines/reference/duplicateInterfaceMembers1.errors.txt create mode 100644 tests/baselines/reference/duplicateInterfaceMembers1.js create mode 100644 tests/baselines/reference/duplicateLabel1.js create mode 100644 tests/baselines/reference/duplicateLabel2.js create mode 100644 tests/baselines/reference/duplicateLabel3.js create mode 100644 tests/baselines/reference/duplicateLabel4.js create mode 100644 tests/baselines/reference/duplicateLocalVariable1.errors.txt create mode 100644 tests/baselines/reference/duplicateLocalVariable1.js create mode 100644 tests/baselines/reference/duplicateLocalVariable2.errors.txt create mode 100644 tests/baselines/reference/duplicateLocalVariable2.js create mode 100644 tests/baselines/reference/duplicateLocalVariable3.errors.txt create mode 100644 tests/baselines/reference/duplicateLocalVariable3.js create mode 100644 tests/baselines/reference/duplicateLocalVariable4.errors.txt create mode 100644 tests/baselines/reference/duplicateLocalVariable4.js create mode 100644 tests/baselines/reference/duplicateNumericIndexers.errors.txt create mode 100644 tests/baselines/reference/duplicateNumericIndexers.js create mode 100644 tests/baselines/reference/duplicateObjectLiteralProperty.errors.txt create mode 100644 tests/baselines/reference/duplicateOverloadInTypeAugmentation1.js create mode 100644 tests/baselines/reference/duplicatePropertyNames.errors.txt create mode 100644 tests/baselines/reference/duplicatePropertyNames.js create mode 100644 tests/baselines/reference/duplicateStringIndexers.errors.txt create mode 100644 tests/baselines/reference/duplicateStringIndexers.js create mode 100644 tests/baselines/reference/duplicateStringNamedProperty1.errors.txt create mode 100644 tests/baselines/reference/duplicateStringNamedProperty1.js create mode 100644 tests/baselines/reference/duplicateSymbolsExportMatching.errors.txt create mode 100644 tests/baselines/reference/duplicateSymbolsExportMatching.js create mode 100644 tests/baselines/reference/duplicateTypeParameters1.errors.txt create mode 100644 tests/baselines/reference/duplicateTypeParameters1.js create mode 100644 tests/baselines/reference/duplicateTypeParameters2.errors.txt create mode 100644 tests/baselines/reference/duplicateTypeParameters2.js create mode 100644 tests/baselines/reference/duplicateTypeParameters3.errors.txt create mode 100644 tests/baselines/reference/duplicateTypeParameters3.js create mode 100644 tests/baselines/reference/duplicateVariableDeclaration1.js create mode 100644 tests/baselines/reference/duplicateVariablesByScope.js create mode 100644 tests/baselines/reference/duplicateVariablesWithAny.errors.txt create mode 100644 tests/baselines/reference/duplicateVariablesWithAny.js create mode 100644 tests/baselines/reference/duplicateVarsAcrossFileBoundaries.errors.txt create mode 100644 tests/baselines/reference/duplicateVarsAcrossFileBoundaries.js create mode 100644 tests/baselines/reference/dynamicModuleTypecheckError.js create mode 100644 tests/baselines/reference/emitCommentsOnlyFile.js create mode 100644 tests/baselines/reference/emitMemberAccessExpression.js create mode 100644 tests/baselines/reference/emitPostComments.js create mode 100644 tests/baselines/reference/emitPreComments.js create mode 100644 tests/baselines/reference/emitThisInSuperMethodCall.errors.txt create mode 100644 tests/baselines/reference/emitThisInSuperMethodCall.js create mode 100644 tests/baselines/reference/emptyEnum.js create mode 100644 tests/baselines/reference/emptyExpr.js create mode 100644 tests/baselines/reference/emptyFile-declaration.js create mode 100644 tests/baselines/reference/emptyFile-declaration.js.map create mode 100644 tests/baselines/reference/emptyFile-declaration.sourcemap.txt create mode 100644 tests/baselines/reference/emptyFile-souremap.js create mode 100644 tests/baselines/reference/emptyFile-souremap.js.map create mode 100644 tests/baselines/reference/emptyFile-souremap.sourcemap.txt create mode 100644 tests/baselines/reference/emptyFile.js create mode 100644 tests/baselines/reference/emptyGenericParamList.errors.txt create mode 100644 tests/baselines/reference/emptyIndexer.js create mode 100644 tests/baselines/reference/emptyMemberAccess.errors.txt create mode 100644 tests/baselines/reference/emptyTypeArgumentList.errors.txt create mode 100644 tests/baselines/reference/emptyTypeArgumentListWithNew.errors.txt create mode 100644 tests/baselines/reference/enumAssignability.errors.txt create mode 100644 tests/baselines/reference/enumAssignability.js create mode 100644 tests/baselines/reference/enumAssignabilityInInheritance.errors.txt create mode 100644 tests/baselines/reference/enumAssignabilityInInheritance.js create mode 100644 tests/baselines/reference/enumAssignmentCompat.errors.txt create mode 100644 tests/baselines/reference/enumAssignmentCompat.js create mode 100644 tests/baselines/reference/enumAssignmentCompat2.errors.txt create mode 100644 tests/baselines/reference/enumAssignmentCompat2.js create mode 100644 tests/baselines/reference/enumBasics.js create mode 100644 tests/baselines/reference/enumBasics1.errors.txt create mode 100644 tests/baselines/reference/enumBasics1.js create mode 100644 tests/baselines/reference/enumCodeGenNewLines1.js create mode 100644 tests/baselines/reference/enumConflictsWithGlobalIdentifier.errors.txt create mode 100644 tests/baselines/reference/enumDecl1.js create mode 100644 tests/baselines/reference/enumErrors.errors.txt create mode 100644 tests/baselines/reference/enumErrors.js create mode 100644 tests/baselines/reference/enumFromExternalModule.js create mode 100644 tests/baselines/reference/enumGenericTypeClash.errors.txt create mode 100644 tests/baselines/reference/enumGenericTypeClash.js create mode 100644 tests/baselines/reference/enumIdenticalIdentifierValues.errors.txt create mode 100644 tests/baselines/reference/enumIdenticalIdentifierValues.js create mode 100644 tests/baselines/reference/enumIdentifierLiterals.js create mode 100644 tests/baselines/reference/enumIndexer.js create mode 100644 tests/baselines/reference/enumInitializersWithExponents.errors.txt create mode 100644 tests/baselines/reference/enumIsNotASubtypeOfAnythingButNumber.errors.txt create mode 100644 tests/baselines/reference/enumIsNotASubtypeOfAnythingButNumber.js create mode 100644 tests/baselines/reference/enumMapBackIntoItself.js create mode 100644 tests/baselines/reference/enumMemberResolution.errors.txt create mode 100644 tests/baselines/reference/enumMerging.js create mode 100644 tests/baselines/reference/enumMergingErrors.js create mode 100644 tests/baselines/reference/enumNegativeLiteral1.js create mode 100644 tests/baselines/reference/enumNumbering1.js create mode 100644 tests/baselines/reference/enumOperations.js create mode 100644 tests/baselines/reference/enumPropertyAccess.errors.txt create mode 100644 tests/baselines/reference/enumPropertyAccess.js create mode 100644 tests/baselines/reference/enumWithParenthesizedInitializer1.errors.txt create mode 100644 tests/baselines/reference/enumWithPrimitiveName.errors.txt create mode 100644 tests/baselines/reference/enumWithPrimitiveName.js create mode 100644 tests/baselines/reference/enumWithQuotedElementName1.js create mode 100644 tests/baselines/reference/enumWithQuotedElementName2.js create mode 100644 tests/baselines/reference/enumWithUnicodeEscape1.js create mode 100644 tests/baselines/reference/enumWithoutInitializerAfterComputedMember.errors.txt create mode 100644 tests/baselines/reference/enumsWithMultipleDeclarations1.js create mode 100644 tests/baselines/reference/enumsWithMultipleDeclarations2.js create mode 100644 tests/baselines/reference/enumsWithMultipleDeclarations3.js create mode 100644 tests/baselines/reference/errorForwardReferenceForwadingConstructor.errors.txt create mode 100644 tests/baselines/reference/errorForwardReferenceForwadingConstructor.js create mode 100644 tests/baselines/reference/errorLocationForInterfaceExtension.errors.txt create mode 100644 tests/baselines/reference/errorLocationForInterfaceExtension.js create mode 100644 tests/baselines/reference/errorMessageOnObjectLiteralType.errors.txt create mode 100644 tests/baselines/reference/errorMessageOnObjectLiteralType.js create mode 100644 tests/baselines/reference/errorOnContextuallyTypedReturnType.errors.txt create mode 100644 tests/baselines/reference/errorOnContextuallyTypedReturnType.js create mode 100644 tests/baselines/reference/errorSuperCalls.errors.txt create mode 100644 tests/baselines/reference/errorSuperPropertyAccess.errors.txt create mode 100644 tests/baselines/reference/errorSupression1.errors.txt create mode 100644 tests/baselines/reference/errorSupression1.js create mode 100644 tests/baselines/reference/errorTypesAsTypeArguments.errors.txt create mode 100644 tests/baselines/reference/errorTypesAsTypeArguments.js create mode 100644 tests/baselines/reference/errorsInGenericTypeReference.errors.txt create mode 100644 tests/baselines/reference/errorsOnImportedSymbol.errors.txt create mode 100644 tests/baselines/reference/errorsOnImportedSymbol.js create mode 100644 tests/baselines/reference/es3-amd.js create mode 100644 tests/baselines/reference/es3-amd.js.map create mode 100644 tests/baselines/reference/es3-amd.sourcemap.txt create mode 100644 tests/baselines/reference/es3-declaration-amd.js create mode 100644 tests/baselines/reference/es3-declaration-amd.js.map create mode 100644 tests/baselines/reference/es3-declaration-amd.sourcemap.txt create mode 100644 tests/baselines/reference/es3-sourcemap-amd.js create mode 100644 tests/baselines/reference/es3-sourcemap-amd.js.map create mode 100644 tests/baselines/reference/es3-sourcemap-amd.sourcemap.txt create mode 100644 tests/baselines/reference/es5-amd.js create mode 100644 tests/baselines/reference/es5-amd.js.map create mode 100644 tests/baselines/reference/es5-amd.sourcemap.txt create mode 100644 tests/baselines/reference/es5-declaration-amd.js create mode 100644 tests/baselines/reference/es5-declaration-amd.js.map create mode 100644 tests/baselines/reference/es5-declaration-amd.sourcemap.txt create mode 100644 tests/baselines/reference/es5-souremap-amd.js create mode 100644 tests/baselines/reference/es5-souremap-amd.js.map create mode 100644 tests/baselines/reference/es5-souremap-amd.sourcemap.txt create mode 100644 tests/baselines/reference/es6ClassSuperCodegenBug.js create mode 100644 tests/baselines/reference/es6ClassTest.errors.txt create mode 100644 tests/baselines/reference/es6ClassTest2.errors.txt create mode 100644 tests/baselines/reference/es6ClassTest3.errors.txt create mode 100644 tests/baselines/reference/es6ClassTest4.js create mode 100644 tests/baselines/reference/es6ClassTest5.js create mode 100644 tests/baselines/reference/es6ClassTest7.js create mode 100644 tests/baselines/reference/es6ClassTest8.js create mode 100644 tests/baselines/reference/es6ClassTest9.errors.txt create mode 100644 tests/baselines/reference/es6DeclOrdering.errors.txt create mode 100644 tests/baselines/reference/es6DeclOrdering.js create mode 100644 tests/baselines/reference/es6MemberScoping.errors.txt create mode 100644 tests/baselines/reference/es6MemberScoping.js create mode 100644 tests/baselines/reference/escapedIdentifiers.js create mode 100644 tests/baselines/reference/everyTypeAssignableToAny.js create mode 100644 tests/baselines/reference/everyTypeWithAnnotationAndInitializer.js create mode 100644 tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.errors.txt create mode 100644 tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.js create mode 100644 tests/baselines/reference/everyTypeWithInitializer.js create mode 100644 tests/baselines/reference/exportAlreadySeen.errors.txt create mode 100644 tests/baselines/reference/exportAssignClassAndModule.js create mode 100644 tests/baselines/reference/exportAssignDottedName.errors.txt create mode 100644 tests/baselines/reference/exportAssignImportedIdentifier.errors.txt create mode 100644 tests/baselines/reference/exportAssignImportedIdentifier.js create mode 100644 tests/baselines/reference/exportAssignNonIdentifier.errors.txt create mode 100644 tests/baselines/reference/exportAssignTypes.errors.txt create mode 100644 tests/baselines/reference/exportAssignTypes.js create mode 100644 tests/baselines/reference/exportAssignValueAndType.js create mode 100644 tests/baselines/reference/exportAssignedTypeAsTypeAnnotation.js create mode 100644 tests/baselines/reference/exportAssignmentAndDeclaration.errors.txt create mode 100644 tests/baselines/reference/exportAssignmentAndDeclaration.js create mode 100644 tests/baselines/reference/exportAssignmentCircularModules.js create mode 100644 tests/baselines/reference/exportAssignmentClass.js create mode 100644 tests/baselines/reference/exportAssignmentConstrainedGenericType.errors.txt create mode 100644 tests/baselines/reference/exportAssignmentConstrainedGenericType.js create mode 100644 tests/baselines/reference/exportAssignmentEnum.js create mode 100644 tests/baselines/reference/exportAssignmentError.js create mode 100644 tests/baselines/reference/exportAssignmentFunction.js create mode 100644 tests/baselines/reference/exportAssignmentGenericType.js create mode 100644 tests/baselines/reference/exportAssignmentInterface.js create mode 100644 tests/baselines/reference/exportAssignmentInternalModule.js create mode 100644 tests/baselines/reference/exportAssignmentMergedInterface.js create mode 100644 tests/baselines/reference/exportAssignmentMergedModule.js create mode 100644 tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.errors.txt create mode 100644 tests/baselines/reference/exportAssignmentOfDeclaredExternalModule.js create mode 100644 tests/baselines/reference/exportAssignmentOfGenericType1.js create mode 100644 tests/baselines/reference/exportAssignmentTopLevelClodule.js create mode 100644 tests/baselines/reference/exportAssignmentTopLevelEnumdule.js create mode 100644 tests/baselines/reference/exportAssignmentTopLevelFundule.js create mode 100644 tests/baselines/reference/exportAssignmentTopLevelIdentifier.js create mode 100644 tests/baselines/reference/exportAssignmentVariable.js create mode 100644 tests/baselines/reference/exportAssignmentWithExports.errors.txt create mode 100644 tests/baselines/reference/exportAssignmentWithExports.js create mode 100644 tests/baselines/reference/exportAssignmentWithImportStatementPrivacyError.js create mode 100644 tests/baselines/reference/exportAssignmentWithPrivacyError.js create mode 100644 tests/baselines/reference/exportAssignmentWithoutIdentifier1.errors.txt create mode 100644 tests/baselines/reference/exportCodeGen.js create mode 100644 tests/baselines/reference/exportDeclareClass1.errors.txt create mode 100644 tests/baselines/reference/exportDeclaredModule.errors.txt create mode 100644 tests/baselines/reference/exportDeclaredModule.js create mode 100644 tests/baselines/reference/exportEqualCallable.js create mode 100644 tests/baselines/reference/exportEqualErrorType.errors.txt create mode 100644 tests/baselines/reference/exportEqualErrorType.js create mode 100644 tests/baselines/reference/exportEqualMemberMissing.errors.txt create mode 100644 tests/baselines/reference/exportEqualMemberMissing.js create mode 100644 tests/baselines/reference/exportEqualNamespaces.js create mode 100644 tests/baselines/reference/exportImport.js create mode 100644 tests/baselines/reference/exportImportAlias.js create mode 100644 tests/baselines/reference/exportImportAndClodule.js create mode 100644 tests/baselines/reference/exportImportMultipleFiles.js create mode 100644 tests/baselines/reference/exportImportNonInstantiatedModule.js create mode 100644 tests/baselines/reference/exportImportNonInstantiatedModule2.js create mode 100644 tests/baselines/reference/exportNonVisibleType.errors.txt create mode 100644 tests/baselines/reference/exportNonVisibleType.js create mode 100644 tests/baselines/reference/exportPrivateType.js create mode 100644 tests/baselines/reference/exportSameNameFuncVar.errors.txt create mode 100644 tests/baselines/reference/exportSameNameFuncVar.js create mode 100644 tests/baselines/reference/exportVisibility.js create mode 100644 tests/baselines/reference/exportedInterfaceInaccessibleInCallbackInModule.js create mode 100644 tests/baselines/reference/exportedVariable1.js create mode 100644 tests/baselines/reference/exportingContainingVisibleType.errors.txt create mode 100644 tests/baselines/reference/expr.errors.txt create mode 100644 tests/baselines/reference/expr.js create mode 100644 tests/baselines/reference/extBaseClass1.js create mode 100644 tests/baselines/reference/extBaseClass2.errors.txt create mode 100644 tests/baselines/reference/extBaseClass2.js create mode 100644 tests/baselines/reference/extendAndImplementTheSameBaseType.js create mode 100644 tests/baselines/reference/extendAndImplementTheSameBaseType2.errors.txt create mode 100644 tests/baselines/reference/extendAndImplementTheSameBaseType2.js create mode 100644 tests/baselines/reference/extendArray.errors.txt create mode 100644 tests/baselines/reference/extendArray.js create mode 100644 tests/baselines/reference/extendBaseClassBeforeItsDeclared.js create mode 100644 tests/baselines/reference/extendBooleanInterface.js create mode 100644 tests/baselines/reference/extendGenericArray.errors.txt create mode 100644 tests/baselines/reference/extendGenericArray.js create mode 100644 tests/baselines/reference/extendGenericArray2.errors.txt create mode 100644 tests/baselines/reference/extendGenericArray2.js create mode 100644 tests/baselines/reference/extendNonClassSymbol1.errors.txt create mode 100644 tests/baselines/reference/extendNonClassSymbol1.js create mode 100644 tests/baselines/reference/extendNonClassSymbol2.errors.txt create mode 100644 tests/baselines/reference/extendNonClassSymbol2.js create mode 100644 tests/baselines/reference/extendNumberInterface.js create mode 100644 tests/baselines/reference/extendStringInterface.js create mode 100644 tests/baselines/reference/extendedInterfaceGenericType.js create mode 100644 tests/baselines/reference/extendedInterfacesWithDuplicateTypeParameters.errors.txt create mode 100644 tests/baselines/reference/extendedInterfacesWithDuplicateTypeParameters.js create mode 100644 tests/baselines/reference/extendingClassFromAliasAndUsageInIndexer.js create mode 100644 tests/baselines/reference/extendsClauseAlreadySeen.errors.txt create mode 100644 tests/baselines/reference/extendsClauseAlreadySeen2.errors.txt create mode 100644 tests/baselines/reference/extension.errors.txt create mode 100644 tests/baselines/reference/externFunc.js create mode 100644 tests/baselines/reference/externModule.errors.txt create mode 100644 tests/baselines/reference/externModuleClobber.js create mode 100644 tests/baselines/reference/externSemantics.errors.txt create mode 100644 tests/baselines/reference/externSyntax.errors.txt create mode 100644 tests/baselines/reference/externalModuleAssignToVar.js create mode 100644 tests/baselines/reference/externalModuleExportingGenericClass.errors.txt create mode 100644 tests/baselines/reference/externalModuleExportingGenericClass.js create mode 100644 tests/baselines/reference/externalModuleQualification.js create mode 100644 tests/baselines/reference/externalModuleReferenceOfImportDeclarationWithExportModifier.js create mode 100644 tests/baselines/reference/externalModuleRefernceResolutionOrderInImportDeclaration.errors.txt create mode 100644 tests/baselines/reference/externalModuleRefernceResolutionOrderInImportDeclaration.js create mode 100644 tests/baselines/reference/externalModuleResolution.js create mode 100644 tests/baselines/reference/externalModuleResolution2.js create mode 100644 tests/baselines/reference/externalModuleWithoutCompilerFlag1.errors.txt create mode 100644 tests/baselines/reference/externalModuleWithoutCompilerFlag1.js create mode 100644 tests/baselines/reference/fatArrowSelf.js create mode 100644 tests/baselines/reference/fatArrowfunctionAsType.js create mode 100644 tests/baselines/reference/fatarrowfunctions.js create mode 100644 tests/baselines/reference/fatarrowfunctionsErrors.errors.txt create mode 100644 tests/baselines/reference/fatarrowfunctionsInFunctionParameterDefaults.js create mode 100644 tests/baselines/reference/fatarrowfunctionsInFunctions.js create mode 100644 tests/baselines/reference/fatarrowfunctionsOptionalArgs.errors.txt create mode 100644 tests/baselines/reference/fatarrowfunctionsOptionalArgsErrors1.errors.txt create mode 100644 tests/baselines/reference/fatarrowfunctionsOptionalArgsErrors2.errors.txt create mode 100644 tests/baselines/reference/fieldAndGetterWithSameName.errors.txt create mode 100644 tests/baselines/reference/fillInMissingTypeArgsOnConstructCalls.js create mode 100644 tests/baselines/reference/fixTypeParameterInSignatureWithRestParameters.js create mode 100644 tests/baselines/reference/for-inStatements.errors.txt create mode 100644 tests/baselines/reference/for-inStatements.js create mode 100644 tests/baselines/reference/for-inStatementsInvalid.errors.txt create mode 100644 tests/baselines/reference/for-inStatementsInvalid.js create mode 100644 tests/baselines/reference/for.errors.txt create mode 100644 tests/baselines/reference/forBreakStatements.js create mode 100644 tests/baselines/reference/forContinueStatements.js create mode 100644 tests/baselines/reference/forIn.errors.txt create mode 100644 tests/baselines/reference/forIn.js create mode 100644 tests/baselines/reference/forIn2.errors.txt create mode 100644 tests/baselines/reference/forIn2.js create mode 100644 tests/baselines/reference/forInBreakStatements.js create mode 100644 tests/baselines/reference/forInContinueStatements.js create mode 100644 tests/baselines/reference/forInModule.js create mode 100644 tests/baselines/reference/forInStatement1.js create mode 100644 tests/baselines/reference/forInStatement2.errors.txt create mode 100644 tests/baselines/reference/forInStatement2.js create mode 100644 tests/baselines/reference/forInStatement3.js create mode 100644 tests/baselines/reference/forInStatement4.errors.txt create mode 100644 tests/baselines/reference/forInStatement4.js create mode 100644 tests/baselines/reference/forInStatement5.js create mode 100644 tests/baselines/reference/forInStatement6.js create mode 100644 tests/baselines/reference/forInStatement7.errors.txt create mode 100644 tests/baselines/reference/forInStatement7.js create mode 100644 tests/baselines/reference/forStatements.js create mode 100644 tests/baselines/reference/forStatementsMultipleInvalidDecl.errors.txt create mode 100644 tests/baselines/reference/forStatementsMultipleInvalidDecl.js create mode 100644 tests/baselines/reference/forStatementsMultipleValidDecl.js create mode 100644 tests/baselines/reference/forgottenNew.errors.txt create mode 100644 tests/baselines/reference/forgottenNew.js create mode 100644 tests/baselines/reference/funClodule.errors.txt create mode 100644 tests/baselines/reference/funClodule.js create mode 100644 tests/baselines/reference/funcdecl.js create mode 100644 tests/baselines/reference/functionAndPropertyNameConflict.errors.txt create mode 100644 tests/baselines/reference/functionArgShadowing.errors.txt create mode 100644 tests/baselines/reference/functionArgShadowing.js create mode 100644 tests/baselines/reference/functionAssignment.errors.txt create mode 100644 tests/baselines/reference/functionAssignment.js create mode 100644 tests/baselines/reference/functionAssignmentError.js create mode 100644 tests/baselines/reference/functionCall1.js create mode 100644 tests/baselines/reference/functionCall10.errors.txt create mode 100644 tests/baselines/reference/functionCall10.js create mode 100644 tests/baselines/reference/functionCall11.errors.txt create mode 100644 tests/baselines/reference/functionCall11.js create mode 100644 tests/baselines/reference/functionCall12.errors.txt create mode 100644 tests/baselines/reference/functionCall12.js create mode 100644 tests/baselines/reference/functionCall13.errors.txt create mode 100644 tests/baselines/reference/functionCall13.js create mode 100644 tests/baselines/reference/functionCall14.errors.txt create mode 100644 tests/baselines/reference/functionCall14.js create mode 100644 tests/baselines/reference/functionCall15.errors.txt create mode 100644 tests/baselines/reference/functionCall15.js create mode 100644 tests/baselines/reference/functionCall16.errors.txt create mode 100644 tests/baselines/reference/functionCall16.js create mode 100644 tests/baselines/reference/functionCall17.errors.txt create mode 100644 tests/baselines/reference/functionCall17.js create mode 100644 tests/baselines/reference/functionCall2.js create mode 100644 tests/baselines/reference/functionCall3.js create mode 100644 tests/baselines/reference/functionCall4.js create mode 100644 tests/baselines/reference/functionCall5.js create mode 100644 tests/baselines/reference/functionCall6.errors.txt create mode 100644 tests/baselines/reference/functionCall6.js create mode 100644 tests/baselines/reference/functionCall7.errors.txt create mode 100644 tests/baselines/reference/functionCall7.js create mode 100644 tests/baselines/reference/functionCall8.errors.txt create mode 100644 tests/baselines/reference/functionCall8.js create mode 100644 tests/baselines/reference/functionCall9.errors.txt create mode 100644 tests/baselines/reference/functionCall9.js create mode 100644 tests/baselines/reference/functionCalls.errors.txt create mode 100644 tests/baselines/reference/functionCalls.js create mode 100644 tests/baselines/reference/functionConstraintSatisfaction.js create mode 100644 tests/baselines/reference/functionConstraintSatisfaction2.errors.txt create mode 100644 tests/baselines/reference/functionConstraintSatisfaction2.js create mode 100644 tests/baselines/reference/functionConstraintSatisfaction3.js create mode 100644 tests/baselines/reference/functionDeclarationWithArgumentOfTypeFunctionTypeArray.js create mode 100644 tests/baselines/reference/functionExpressionAndLambdaMatchesFunction.js create mode 100644 tests/baselines/reference/functionExpressionInWithBlock.js create mode 100644 tests/baselines/reference/functionExpressionReturningItself.js create mode 100644 tests/baselines/reference/functionExpressionShadowedByParams.errors.txt create mode 100644 tests/baselines/reference/functionExpressionShadowedByParams.js create mode 100644 tests/baselines/reference/functionImplementationErrors.errors.txt create mode 100644 tests/baselines/reference/functionImplementationErrors.js create mode 100644 tests/baselines/reference/functionImplementations.js create mode 100644 tests/baselines/reference/functionInIfStatementInModule.js create mode 100644 tests/baselines/reference/functionLiteral.js create mode 100644 tests/baselines/reference/functionLiteralForOverloads.js create mode 100644 tests/baselines/reference/functionLiteralForOverloads2.js create mode 100644 tests/baselines/reference/functionLiterals.js create mode 100644 tests/baselines/reference/functionMergedWithModule.js create mode 100644 tests/baselines/reference/functionNameConflicts.errors.txt create mode 100644 tests/baselines/reference/functionNameConflicts.js create mode 100644 tests/baselines/reference/functionOnlyHasThrow.js create mode 100644 tests/baselines/reference/functionOverloadAmbiguity1.errors.txt create mode 100644 tests/baselines/reference/functionOverloadAmbiguity1.js create mode 100644 tests/baselines/reference/functionOverloadErrors.errors.txt create mode 100644 tests/baselines/reference/functionOverloadErrors.js create mode 100644 tests/baselines/reference/functionOverloadErrorsSyntax.errors.txt create mode 100644 tests/baselines/reference/functionOverloadImplementationOfWrongName.errors.txt create mode 100644 tests/baselines/reference/functionOverloadImplementationOfWrongName.js create mode 100644 tests/baselines/reference/functionOverloadImplementationOfWrongName2.errors.txt create mode 100644 tests/baselines/reference/functionOverloadImplementationOfWrongName2.js create mode 100644 tests/baselines/reference/functionOverloads.errors.txt create mode 100644 tests/baselines/reference/functionOverloads.js create mode 100644 tests/baselines/reference/functionOverloads1.js create mode 100644 tests/baselines/reference/functionOverloads10.js create mode 100644 tests/baselines/reference/functionOverloads11.errors.txt create mode 100644 tests/baselines/reference/functionOverloads11.js create mode 100644 tests/baselines/reference/functionOverloads12.js create mode 100644 tests/baselines/reference/functionOverloads13.js create mode 100644 tests/baselines/reference/functionOverloads14.js create mode 100644 tests/baselines/reference/functionOverloads15.js create mode 100644 tests/baselines/reference/functionOverloads16.js create mode 100644 tests/baselines/reference/functionOverloads17.errors.txt create mode 100644 tests/baselines/reference/functionOverloads17.js create mode 100644 tests/baselines/reference/functionOverloads18.errors.txt create mode 100644 tests/baselines/reference/functionOverloads18.js create mode 100644 tests/baselines/reference/functionOverloads19.errors.txt create mode 100644 tests/baselines/reference/functionOverloads19.js create mode 100644 tests/baselines/reference/functionOverloads2.errors.txt create mode 100644 tests/baselines/reference/functionOverloads2.js create mode 100644 tests/baselines/reference/functionOverloads20.errors.txt create mode 100644 tests/baselines/reference/functionOverloads20.js create mode 100644 tests/baselines/reference/functionOverloads21.js create mode 100644 tests/baselines/reference/functionOverloads22.errors.txt create mode 100644 tests/baselines/reference/functionOverloads22.js create mode 100644 tests/baselines/reference/functionOverloads23.js create mode 100644 tests/baselines/reference/functionOverloads24.js create mode 100644 tests/baselines/reference/functionOverloads25.js create mode 100644 tests/baselines/reference/functionOverloads26.js create mode 100644 tests/baselines/reference/functionOverloads27.errors.txt create mode 100644 tests/baselines/reference/functionOverloads27.js create mode 100644 tests/baselines/reference/functionOverloads28.js create mode 100644 tests/baselines/reference/functionOverloads29.errors.txt create mode 100644 tests/baselines/reference/functionOverloads29.js create mode 100644 tests/baselines/reference/functionOverloads3.errors.txt create mode 100644 tests/baselines/reference/functionOverloads3.js create mode 100644 tests/baselines/reference/functionOverloads30.js create mode 100644 tests/baselines/reference/functionOverloads31.js create mode 100644 tests/baselines/reference/functionOverloads32.js create mode 100644 tests/baselines/reference/functionOverloads33.js create mode 100644 tests/baselines/reference/functionOverloads34.errors.txt create mode 100644 tests/baselines/reference/functionOverloads34.js create mode 100644 tests/baselines/reference/functionOverloads35.js create mode 100644 tests/baselines/reference/functionOverloads36.js create mode 100644 tests/baselines/reference/functionOverloads37.errors.txt create mode 100644 tests/baselines/reference/functionOverloads37.js create mode 100644 tests/baselines/reference/functionOverloads38.js create mode 100644 tests/baselines/reference/functionOverloads39.js create mode 100644 tests/baselines/reference/functionOverloads4.errors.txt create mode 100644 tests/baselines/reference/functionOverloads4.js create mode 100644 tests/baselines/reference/functionOverloads40.errors.txt create mode 100644 tests/baselines/reference/functionOverloads40.js create mode 100644 tests/baselines/reference/functionOverloads41.errors.txt create mode 100644 tests/baselines/reference/functionOverloads41.js create mode 100644 tests/baselines/reference/functionOverloads42.js create mode 100644 tests/baselines/reference/functionOverloads5.errors.txt create mode 100644 tests/baselines/reference/functionOverloads5.js create mode 100644 tests/baselines/reference/functionOverloads6.js create mode 100644 tests/baselines/reference/functionOverloads7.js create mode 100644 tests/baselines/reference/functionOverloads8.js create mode 100644 tests/baselines/reference/functionOverloads9.js create mode 100644 tests/baselines/reference/functionOverloadsOnGenericArity1.js create mode 100644 tests/baselines/reference/functionOverloadsOnGenericArity2.js create mode 100644 tests/baselines/reference/functionOverloadsOutOfOrder.errors.txt create mode 100644 tests/baselines/reference/functionOverloadsOutOfOrder.js create mode 100644 tests/baselines/reference/functionOverloadsRecursiveGenericReturnType.js create mode 100644 tests/baselines/reference/functionReturn.js create mode 100644 tests/baselines/reference/functionReturningItself.js create mode 100644 tests/baselines/reference/functionSignatureAssignmentCompat1.errors.txt create mode 100644 tests/baselines/reference/functionSignatureAssignmentCompat1.js create mode 100644 tests/baselines/reference/functionSubtypingOfVarArgs.js create mode 100644 tests/baselines/reference/functionSubtypingOfVarArgs2.js create mode 100644 tests/baselines/reference/functionType.js create mode 100644 tests/baselines/reference/functionTypeArgumentArrayAssignment.errors.txt create mode 100644 tests/baselines/reference/functionTypeArgumentArrayAssignment.js create mode 100644 tests/baselines/reference/functionTypeArgumentAssignmentCompat.errors.txt create mode 100644 tests/baselines/reference/functionTypeArgumentAssignmentCompat.js create mode 100644 tests/baselines/reference/functionWithAnyReturnTypeAndNoReturnExpression.js create mode 100644 tests/baselines/reference/functionWithMultipleReturnStatements.errors.txt create mode 100644 tests/baselines/reference/functionWithMultipleReturnStatements.js create mode 100644 tests/baselines/reference/functionWithMultipleReturnStatements2.js create mode 100644 tests/baselines/reference/functionWithSameNameAsField.errors.txt create mode 100644 tests/baselines/reference/functionWithSameNameAsField.js create mode 100644 tests/baselines/reference/functionWithThrowButNoReturn1.js create mode 100644 tests/baselines/reference/funduleExportedClassIsUsedBeforeDeclaration.js create mode 100644 tests/baselines/reference/funduleOfFunctionWithoutReturnTypeAnnotation.js create mode 100644 tests/baselines/reference/funduleSplitAcrossFiles.js create mode 100644 tests/baselines/reference/funduleUsedAcrossFileBoundary.js create mode 100644 tests/baselines/reference/fuzzy.errors.txt create mode 100644 tests/baselines/reference/fuzzy.js create mode 100644 tests/baselines/reference/generatedContextualTyping.js create mode 100644 tests/baselines/reference/generativeRecursionWithTypeOf.js create mode 100644 tests/baselines/reference/genericAndNonGenericInterfaceWithTheSameName.errors.txt create mode 100644 tests/baselines/reference/genericAndNonGenericInterfaceWithTheSameName.js create mode 100644 tests/baselines/reference/genericAndNonGenericInterfaceWithTheSameName2.js create mode 100644 tests/baselines/reference/genericAndNonGenericOverload1.js create mode 100644 tests/baselines/reference/genericArgumentCallSigAssignmentCompat.js create mode 100644 tests/baselines/reference/genericArray0.js create mode 100644 tests/baselines/reference/genericArray1.js create mode 100644 tests/baselines/reference/genericArrayAssignment1.errors.txt create mode 100644 tests/baselines/reference/genericArrayAssignment1.js create mode 100644 tests/baselines/reference/genericArrayAssignmentCompatErrors.errors.txt create mode 100644 tests/baselines/reference/genericArrayAssignmentCompatErrors.js create mode 100644 tests/baselines/reference/genericArrayExtenstions.errors.txt create mode 100644 tests/baselines/reference/genericArrayExtenstions.js create mode 100644 tests/baselines/reference/genericArrayMethods1.errors.txt create mode 100644 tests/baselines/reference/genericArrayMethods1.js create mode 100644 tests/baselines/reference/genericArrayPropertyAssignment.js create mode 100644 tests/baselines/reference/genericArrayWithoutTypeAnnotation.errors.txt create mode 100644 tests/baselines/reference/genericArrayWithoutTypeAnnotation.js create mode 100644 tests/baselines/reference/genericAssignmentCompatOfFunctionSignatures1.errors.txt create mode 100644 tests/baselines/reference/genericAssignmentCompatOfFunctionSignatures1.js create mode 100644 tests/baselines/reference/genericAssignmentCompatWithInterfaces1.errors.txt create mode 100644 tests/baselines/reference/genericAssignmentCompatWithInterfaces1.js create mode 100644 tests/baselines/reference/genericBaseClassLiteralProperty.js create mode 100644 tests/baselines/reference/genericBaseClassLiteralProperty2.js create mode 100644 tests/baselines/reference/genericCallSpecializedToTypeArg.errors.txt create mode 100644 tests/baselines/reference/genericCallSpecializedToTypeArg.js create mode 100644 tests/baselines/reference/genericCallTypeArgumentInference.js create mode 100644 tests/baselines/reference/genericCallWithArrayLiteralArgs.js create mode 100644 tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference.js create mode 100644 tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.errors.txt create mode 100644 tests/baselines/reference/genericCallWithConstraintsTypeArgumentInference2.js create mode 100644 tests/baselines/reference/genericCallWithConstructorTypedArguments5.errors.txt create mode 100644 tests/baselines/reference/genericCallWithConstructorTypedArguments5.js create mode 100644 tests/baselines/reference/genericCallWithFixedArguments.js create mode 100644 tests/baselines/reference/genericCallWithFunctionTypedArguments.js create mode 100644 tests/baselines/reference/genericCallWithFunctionTypedArguments2.js create mode 100644 tests/baselines/reference/genericCallWithFunctionTypedArguments3.js create mode 100644 tests/baselines/reference/genericCallWithFunctionTypedArguments4.js create mode 100644 tests/baselines/reference/genericCallWithFunctionTypedArguments5.errors.txt create mode 100644 tests/baselines/reference/genericCallWithFunctionTypedArguments5.js create mode 100644 tests/baselines/reference/genericCallWithGenericSignatureArguments.js create mode 100644 tests/baselines/reference/genericCallWithGenericSignatureArguments2.errors.txt create mode 100644 tests/baselines/reference/genericCallWithGenericSignatureArguments2.js create mode 100644 tests/baselines/reference/genericCallWithGenericSignatureArguments3.js create mode 100644 tests/baselines/reference/genericCallWithNonGenericArgs1.js create mode 100644 tests/baselines/reference/genericCallWithNonSymmetricSubtypes.js create mode 100644 tests/baselines/reference/genericCallWithObjectLiteralArgs.js create mode 100644 tests/baselines/reference/genericCallWithObjectLiteralArguments1.errors.txt create mode 100644 tests/baselines/reference/genericCallWithObjectLiteralArguments1.js create mode 100644 tests/baselines/reference/genericCallWithObjectTypeArgs.js create mode 100644 tests/baselines/reference/genericCallWithObjectTypeArgs2.js create mode 100644 tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints.js create mode 100644 tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints2.js create mode 100644 tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.errors.txt create mode 100644 tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints3.js create mode 100644 tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.errors.txt create mode 100644 tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints4.js create mode 100644 tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.errors.txt create mode 100644 tests/baselines/reference/genericCallWithObjectTypeArgsAndConstraints5.js create mode 100644 tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexers.js create mode 100644 tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexersErrors.errors.txt create mode 100644 tests/baselines/reference/genericCallWithObjectTypeArgsAndIndexersErrors.js create mode 100644 tests/baselines/reference/genericCallWithObjectTypeArgsAndInitializers.errors.txt create mode 100644 tests/baselines/reference/genericCallWithObjectTypeArgsAndInitializers.js create mode 100644 tests/baselines/reference/genericCallWithObjectTypeArgsAndNumericIndexer.js create mode 100644 tests/baselines/reference/genericCallWithObjectTypeArgsAndStringIndexer.js create mode 100644 tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments.js create mode 100644 tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.errors.txt create mode 100644 tests/baselines/reference/genericCallWithOverloadedConstructorTypedArguments2.js create mode 100644 tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments.js create mode 100644 tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.errors.txt create mode 100644 tests/baselines/reference/genericCallWithOverloadedFunctionTypedArguments2.js create mode 100644 tests/baselines/reference/genericCallWithoutArgs.errors.txt create mode 100644 tests/baselines/reference/genericCallbackInvokedInsideItsContainingFunction1.errors.txt create mode 100644 tests/baselines/reference/genericCallbackInvokedInsideItsContainingFunction1.js create mode 100644 tests/baselines/reference/genericCallbacksAndClassHierarchy.js create mode 100644 tests/baselines/reference/genericCallsWithoutParens.errors.txt create mode 100644 tests/baselines/reference/genericChainedCalls.errors.txt create mode 100644 tests/baselines/reference/genericChainedCalls.js create mode 100644 tests/baselines/reference/genericClassImplementingGenericInterfaceFromAnotherModule.js create mode 100644 tests/baselines/reference/genericClassInheritsConstructorFromNonGenericClass.js create mode 100644 tests/baselines/reference/genericClassPropertyInheritanceSpecialization.js create mode 100644 tests/baselines/reference/genericClassStaticMethod.js create mode 100644 tests/baselines/reference/genericClassWithFunctionTypedMemberArguments.js create mode 100644 tests/baselines/reference/genericClassWithObjectTypeArgsAndConstraints.js create mode 100644 tests/baselines/reference/genericClassWithStaticFactory.js create mode 100644 tests/baselines/reference/genericClassWithStaticsUsingTypeArguments.errors.txt create mode 100644 tests/baselines/reference/genericClassWithStaticsUsingTypeArguments.js create mode 100644 tests/baselines/reference/genericClasses0.js create mode 100644 tests/baselines/reference/genericClasses1.js create mode 100644 tests/baselines/reference/genericClasses2.js create mode 100644 tests/baselines/reference/genericClasses3.js create mode 100644 tests/baselines/reference/genericClasses4.js create mode 100644 tests/baselines/reference/genericClassesInModule.js create mode 100644 tests/baselines/reference/genericClassesInModule2.js create mode 100644 tests/baselines/reference/genericClassesRedeclaration.errors.txt create mode 100644 tests/baselines/reference/genericClassesRedeclaration.js create mode 100644 tests/baselines/reference/genericCloduleInModule.js create mode 100644 tests/baselines/reference/genericCloduleInModule2.errors.txt create mode 100644 tests/baselines/reference/genericCloduleInModule2.js create mode 100644 tests/baselines/reference/genericCloneReturnTypes.errors.txt create mode 100644 tests/baselines/reference/genericCloneReturnTypes.js create mode 100644 tests/baselines/reference/genericCloneReturnTypes2.errors.txt create mode 100644 tests/baselines/reference/genericCloneReturnTypes2.js create mode 100644 tests/baselines/reference/genericCombinators2.errors.txt create mode 100644 tests/baselines/reference/genericCombinators2.js create mode 100644 tests/baselines/reference/genericConstraint1.errors.txt create mode 100644 tests/baselines/reference/genericConstraint1.js create mode 100644 tests/baselines/reference/genericConstraint2.errors.txt create mode 100644 tests/baselines/reference/genericConstraint2.js create mode 100644 tests/baselines/reference/genericConstraint3.errors.txt create mode 100644 tests/baselines/reference/genericConstraint3.js create mode 100644 tests/baselines/reference/genericConstraintDeclaration.js create mode 100644 tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes.js create mode 100644 tests/baselines/reference/genericConstraintOnExtendedBuiltinTypes2.js create mode 100644 tests/baselines/reference/genericConstraintSatisfaction1.errors.txt create mode 100644 tests/baselines/reference/genericConstraintSatisfaction1.js create mode 100644 tests/baselines/reference/genericConstructExpressionWithoutArgs.errors.txt create mode 100644 tests/baselines/reference/genericConstructInvocationWithNoTypeArg.errors.txt create mode 100644 tests/baselines/reference/genericConstructInvocationWithNoTypeArg.js create mode 100644 tests/baselines/reference/genericConstructSignatureInInterface.js create mode 100644 tests/baselines/reference/genericConstructorFunction1.errors.txt create mode 100644 tests/baselines/reference/genericConstructorFunction1.js create mode 100644 tests/baselines/reference/genericContextualTypingSpecialization.js create mode 100644 tests/baselines/reference/genericDerivedTypeWithSpecializedBase.errors.txt create mode 100644 tests/baselines/reference/genericDerivedTypeWithSpecializedBase.js create mode 100644 tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.errors.txt create mode 100644 tests/baselines/reference/genericDerivedTypeWithSpecializedBase2.js create mode 100644 tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.errors.txt create mode 100644 tests/baselines/reference/genericFunctionCallSignatureReturnTypeMismatch.js create mode 100644 tests/baselines/reference/genericFunctionHasFreshTypeArgs.js create mode 100644 tests/baselines/reference/genericFunctionSpecializations1.js create mode 100644 tests/baselines/reference/genericFunctionTypedArgumentsAreFixed.errors.txt create mode 100644 tests/baselines/reference/genericFunctionTypedArgumentsAreFixed.js create mode 100644 tests/baselines/reference/genericFunctions0.js create mode 100644 tests/baselines/reference/genericFunctions1.js create mode 100644 tests/baselines/reference/genericFunctions2.js create mode 100644 tests/baselines/reference/genericFunctions3.js create mode 100644 tests/baselines/reference/genericFunctionsWithOptionalParameters1.js create mode 100644 tests/baselines/reference/genericFunctionsWithOptionalParameters2.errors.txt create mode 100644 tests/baselines/reference/genericFunctionsWithOptionalParameters2.js create mode 100644 tests/baselines/reference/genericFunctionsWithOptionalParameters3.js create mode 100644 tests/baselines/reference/genericFunduleInModule.errors.txt create mode 100644 tests/baselines/reference/genericFunduleInModule.js create mode 100644 tests/baselines/reference/genericFunduleInModule2.errors.txt create mode 100644 tests/baselines/reference/genericFunduleInModule2.js create mode 100644 tests/baselines/reference/genericGetter.errors.txt create mode 100644 tests/baselines/reference/genericGetter2.errors.txt create mode 100644 tests/baselines/reference/genericGetter3.errors.txt create mode 100644 tests/baselines/reference/genericImplements.js create mode 100644 tests/baselines/reference/genericInference1.js create mode 100644 tests/baselines/reference/genericInference2.js create mode 100644 tests/baselines/reference/genericInstanceOf.js create mode 100644 tests/baselines/reference/genericInstantiationEquivalentToObjectLiteral.js create mode 100644 tests/baselines/reference/genericInterfaceFunctionTypeParameter.js create mode 100644 tests/baselines/reference/genericInterfaceImplementation.js create mode 100644 tests/baselines/reference/genericInterfaceTypeCall.js create mode 100644 tests/baselines/reference/genericInterfacesWithoutTypeArguments.errors.txt create mode 100644 tests/baselines/reference/genericInterfacesWithoutTypeArguments.js create mode 100644 tests/baselines/reference/genericLambaArgWithoutTypeArguments.errors.txt create mode 100644 tests/baselines/reference/genericLambaArgWithoutTypeArguments.js create mode 100644 tests/baselines/reference/genericMemberFunction.errors.txt create mode 100644 tests/baselines/reference/genericMemberFunction.js create mode 100644 tests/baselines/reference/genericMergedDeclarationUsingTypeParameter.errors.txt create mode 100644 tests/baselines/reference/genericMergedDeclarationUsingTypeParameter.js create mode 100644 tests/baselines/reference/genericMergedDeclarationUsingTypeParameter2.errors.txt create mode 100644 tests/baselines/reference/genericMergedDeclarationUsingTypeParameter2.js create mode 100644 tests/baselines/reference/genericMethodOverspecialization.js create mode 100644 tests/baselines/reference/genericNewInterface.errors.txt create mode 100644 tests/baselines/reference/genericNewInterface.js create mode 100644 tests/baselines/reference/genericObjectCreationWithoutTypeArgs.errors.txt create mode 100644 tests/baselines/reference/genericObjectLitReturnType.js create mode 100644 tests/baselines/reference/genericOfACloduleType1.js create mode 100644 tests/baselines/reference/genericOfACloduleType2.js create mode 100644 tests/baselines/reference/genericOverloadSignatures.js create mode 100644 tests/baselines/reference/genericParameterAssignability1.js create mode 100644 tests/baselines/reference/genericPrototypeProperty.js create mode 100644 tests/baselines/reference/genericPrototypeProperty2.js create mode 100644 tests/baselines/reference/genericPrototypeProperty3.js create mode 100644 tests/baselines/reference/genericRecursiveImplicitConstructorErrors1.errors.txt create mode 100644 tests/baselines/reference/genericRecursiveImplicitConstructorErrors1.js create mode 100644 tests/baselines/reference/genericRecursiveImplicitConstructorErrors2.js create mode 100644 tests/baselines/reference/genericRecursiveImplicitConstructorErrors3.errors.txt create mode 100644 tests/baselines/reference/genericRecursiveImplicitConstructorErrors3.js create mode 100644 tests/baselines/reference/genericReduce.errors.txt create mode 100644 tests/baselines/reference/genericReduce.js create mode 100644 tests/baselines/reference/genericRestArgs.errors.txt create mode 100644 tests/baselines/reference/genericRestArgs.js create mode 100644 tests/baselines/reference/genericReturnTypeFromGetter1.errors.txt create mode 100644 tests/baselines/reference/genericReversingTypeParameters.js create mode 100644 tests/baselines/reference/genericReversingTypeParameters2.js create mode 100644 tests/baselines/reference/genericSignatureInheritance.js create mode 100644 tests/baselines/reference/genericSignatureInheritance2.js create mode 100644 tests/baselines/reference/genericSpecializationToTypeLiteral1.js create mode 100644 tests/baselines/reference/genericSpecializations1.js create mode 100644 tests/baselines/reference/genericSpecializations2.errors.txt create mode 100644 tests/baselines/reference/genericSpecializations2.js create mode 100644 tests/baselines/reference/genericSpecializations3.errors.txt create mode 100644 tests/baselines/reference/genericSpecializations3.js create mode 100644 tests/baselines/reference/genericStaticAnyTypeFunction.js create mode 100644 tests/baselines/reference/genericTypeArgumentInference1.js create mode 100644 tests/baselines/reference/genericTypeAssertions1.errors.txt create mode 100644 tests/baselines/reference/genericTypeAssertions1.js create mode 100644 tests/baselines/reference/genericTypeAssertions2.errors.txt create mode 100644 tests/baselines/reference/genericTypeAssertions2.js create mode 100644 tests/baselines/reference/genericTypeAssertions3.js create mode 100644 tests/baselines/reference/genericTypeAssertions4.errors.txt create mode 100644 tests/baselines/reference/genericTypeAssertions4.js create mode 100644 tests/baselines/reference/genericTypeAssertions5.errors.txt create mode 100644 tests/baselines/reference/genericTypeAssertions5.js create mode 100644 tests/baselines/reference/genericTypeAssertions6.errors.txt create mode 100644 tests/baselines/reference/genericTypeAssertions6.js create mode 100644 tests/baselines/reference/genericTypeParameterEquivalence2.js create mode 100644 tests/baselines/reference/genericTypeReferenceWithoutTypeArgument.d.errors.txt create mode 100644 tests/baselines/reference/genericTypeReferenceWithoutTypeArgument.errors.txt create mode 100644 tests/baselines/reference/genericTypeReferenceWithoutTypeArgument2.errors.txt create mode 100644 tests/baselines/reference/genericTypeReferenceWithoutTypeArgument3.errors.txt create mode 100644 tests/baselines/reference/genericTypeReferencesRequireTypeArgs.errors.txt create mode 100644 tests/baselines/reference/genericTypeReferencesRequireTypeArgs.js create mode 100644 tests/baselines/reference/genericTypeUsedWithoutTypeArguments1.errors.txt create mode 100644 tests/baselines/reference/genericTypeUsedWithoutTypeArguments1.js create mode 100644 tests/baselines/reference/genericTypeUsedWithoutTypeArguments3.errors.txt create mode 100644 tests/baselines/reference/genericTypeUsedWithoutTypeArguments3.js create mode 100644 tests/baselines/reference/genericTypeWithCallableMembers.js create mode 100644 tests/baselines/reference/genericTypeWithCallableMembers2.js create mode 100644 tests/baselines/reference/genericTypeWithMultipleBases1.js create mode 100644 tests/baselines/reference/genericTypeWithMultipleBases2.js create mode 100644 tests/baselines/reference/genericTypeWithMultipleBases3.js create mode 100644 tests/baselines/reference/genericTypeWithNonGenericBaseMisMatch.errors.txt create mode 100644 tests/baselines/reference/genericTypeWithNonGenericBaseMisMatch.js create mode 100644 tests/baselines/reference/genericWithCallSignatureReturningSpecialization.js create mode 100644 tests/baselines/reference/genericWithCallSignatures1.js create mode 100644 tests/baselines/reference/genericWithIndexerOfTypeParameterType1.js create mode 100644 tests/baselines/reference/genericWithIndexerOfTypeParameterType2.js create mode 100644 tests/baselines/reference/genericWithOpenTypeParameters1.errors.txt create mode 100644 tests/baselines/reference/genericWithOpenTypeParameters1.js create mode 100644 tests/baselines/reference/generics0.js create mode 100644 tests/baselines/reference/generics1.errors.txt create mode 100644 tests/baselines/reference/generics1.js create mode 100644 tests/baselines/reference/generics1NoError.js create mode 100644 tests/baselines/reference/generics2.errors.txt create mode 100644 tests/baselines/reference/generics2.js create mode 100644 tests/baselines/reference/generics2NoError.js create mode 100644 tests/baselines/reference/generics3.js create mode 100644 tests/baselines/reference/generics4.errors.txt create mode 100644 tests/baselines/reference/generics4.js create mode 100644 tests/baselines/reference/generics4NoError.js create mode 100644 tests/baselines/reference/generics5.errors.txt create mode 100644 tests/baselines/reference/generics5.js create mode 100644 tests/baselines/reference/genericsAndHigherOrderFunctions.js create mode 100644 tests/baselines/reference/genericsManyTypeParameters.js create mode 100644 tests/baselines/reference/genericsWithDuplicateTypeParameters1.errors.txt create mode 100644 tests/baselines/reference/genericsWithDuplicateTypeParameters1.js create mode 100644 tests/baselines/reference/genericsWithoutTypeParameters1.errors.txt create mode 100644 tests/baselines/reference/genericsWithoutTypeParameters1.js create mode 100644 tests/baselines/reference/getAccessorWithImpliedReturnTypeAndFunctionClassMerge.errors.txt create mode 100644 tests/baselines/reference/getAndSetAsMemberNames.errors.txt create mode 100644 tests/baselines/reference/getAndSetNotIdenticalType.errors.txt create mode 100644 tests/baselines/reference/getAndSetNotIdenticalType2.errors.txt create mode 100644 tests/baselines/reference/getAndSetNotIdenticalType3.errors.txt create mode 100644 tests/baselines/reference/getsetReturnTypes.errors.txt create mode 100644 tests/baselines/reference/getterMissingReturnError.errors.txt create mode 100644 tests/baselines/reference/getterSetterNonAccessor.js create mode 100644 tests/baselines/reference/getterThatThrowsShouldNotNeedReturn.errors.txt create mode 100644 tests/baselines/reference/gettersAndSetters.errors.txt create mode 100644 tests/baselines/reference/gettersAndSettersAccessibility.errors.txt create mode 100644 tests/baselines/reference/gettersAndSettersErrors.errors.txt create mode 100644 tests/baselines/reference/gettersAndSettersTypesAgree.errors.txt create mode 100644 tests/baselines/reference/giant.errors.txt create mode 100644 tests/baselines/reference/global.js create mode 100644 tests/baselines/reference/globalThis.js create mode 100644 tests/baselines/reference/globalThisCapture.js create mode 100644 tests/baselines/reference/grammarAmbiguities.errors.txt create mode 100644 tests/baselines/reference/grammarAmbiguities.js create mode 100644 tests/baselines/reference/grammarAmbiguities1.errors.txt create mode 100644 tests/baselines/reference/grammarAmbiguities1.js create mode 100644 tests/baselines/reference/heterogeneousArrayAndOverloads.errors.txt create mode 100644 tests/baselines/reference/heterogeneousArrayAndOverloads.js create mode 100644 tests/baselines/reference/heterogeneousArrayLiterals.js create mode 100644 tests/baselines/reference/hidingCallSignatures.js create mode 100644 tests/baselines/reference/hidingConstructSignatures.js create mode 100644 tests/baselines/reference/hidingIndexSignatures.js create mode 100644 tests/baselines/reference/i3.errors.txt create mode 100644 tests/baselines/reference/i3.js create mode 100644 tests/baselines/reference/icomparable.js create mode 100644 tests/baselines/reference/idInProp.js create mode 100644 tests/baselines/reference/identicalCallSignatures.js create mode 100644 tests/baselines/reference/identicalCallSignatures2.js create mode 100644 tests/baselines/reference/identicalCallSignatures3.js create mode 100644 tests/baselines/reference/identityForSignaturesWithTypeParametersAndAny.errors.txt create mode 100644 tests/baselines/reference/identityForSignaturesWithTypeParametersAndAny.js create mode 100644 tests/baselines/reference/identityForSignaturesWithTypeParametersSwitched.js create mode 100644 tests/baselines/reference/ifDoWhileStatements.js create mode 100644 tests/baselines/reference/ifElseWithStatements1.errors.txt create mode 100644 tests/baselines/reference/ifElseWithStatements1.js create mode 100644 tests/baselines/reference/illegalGenericWrapping1.js create mode 100644 tests/baselines/reference/illegalModifiersOnClassElements.errors.txt create mode 100644 tests/baselines/reference/illegalSuperCallsInConstructor.errors.txt create mode 100644 tests/baselines/reference/implementArrayInterface.js create mode 100644 tests/baselines/reference/implementClausePrecedingExtends.errors.txt create mode 100644 tests/baselines/reference/implementGenericWithMismatchedTypes.errors.txt create mode 100644 tests/baselines/reference/implementGenericWithMismatchedTypes.js create mode 100644 tests/baselines/reference/implementInterfaceAnyMemberWithVoid.js create mode 100644 tests/baselines/reference/implementPublicPropertyAsPrivate.errors.txt create mode 100644 tests/baselines/reference/implementPublicPropertyAsPrivate.js create mode 100644 tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates.errors.txt create mode 100644 tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates.js create mode 100644 tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates2.errors.txt create mode 100644 tests/baselines/reference/implementingAnInterfaceExtendingClassWithPrivates2.js create mode 100644 tests/baselines/reference/implementsClauseAlreadySeen.errors.txt create mode 100644 tests/baselines/reference/implicitAnyAmbients.errors.txt create mode 100644 tests/baselines/reference/implicitAnyAmbients.js create mode 100644 tests/baselines/reference/implicitAnyAnyReturningFunction.js create mode 100644 tests/baselines/reference/implicitAnyCastedValue.errors.txt create mode 100644 tests/baselines/reference/implicitAnyDeclareFunctionExprWithoutFormalType.errors.txt create mode 100644 tests/baselines/reference/implicitAnyDeclareFunctionExprWithoutFormalType.js create mode 100644 tests/baselines/reference/implicitAnyDeclareFunctionWithoutFormalType.errors.txt create mode 100644 tests/baselines/reference/implicitAnyDeclareFunctionWithoutFormalType.js create mode 100644 tests/baselines/reference/implicitAnyDeclareFunctionWithoutFormalType2.js create mode 100644 tests/baselines/reference/implicitAnyDeclareMemberWithoutType.errors.txt create mode 100644 tests/baselines/reference/implicitAnyDeclareMemberWithoutType.js create mode 100644 tests/baselines/reference/implicitAnyDeclareMemberWithoutType2.errors.txt create mode 100644 tests/baselines/reference/implicitAnyDeclareMemberWithoutType2.js create mode 100644 tests/baselines/reference/implicitAnyDeclareTypePropertyWithoutType.errors.txt create mode 100644 tests/baselines/reference/implicitAnyDeclareTypePropertyWithoutType.js create mode 100644 tests/baselines/reference/implicitAnyDeclareVariablesWithoutTypeAndInit.errors.txt create mode 100644 tests/baselines/reference/implicitAnyDeclareVariablesWithoutTypeAndInit.js create mode 100644 tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.errors.txt create mode 100644 tests/baselines/reference/implicitAnyFunctionInvocationWithAnyArguements.js create mode 100644 tests/baselines/reference/implicitAnyFunctionOverloadWithImplicitAnyReturnType.errors.txt create mode 100644 tests/baselines/reference/implicitAnyFunctionOverloadWithImplicitAnyReturnType.js create mode 100644 tests/baselines/reference/implicitAnyFunctionReturnNullOrUndefined.errors.txt create mode 100644 tests/baselines/reference/implicitAnyFunctionReturnNullOrUndefined.js create mode 100644 tests/baselines/reference/implicitAnyGenericTypeInference.errors.txt create mode 100644 tests/baselines/reference/implicitAnyGenericTypeInference.js create mode 100644 tests/baselines/reference/implicitAnyGenerics.js create mode 100644 tests/baselines/reference/implicitAnyGetAndSetAccessorWithAnyReturnType.errors.txt create mode 100644 tests/baselines/reference/implicitAnyInAmbientDeclaration.errors.txt create mode 100644 tests/baselines/reference/implicitAnyInAmbientDeclaration2.d.errors.txt create mode 100644 tests/baselines/reference/implicitAnyInCatch.js create mode 100644 tests/baselines/reference/implicitAnyNewExprLackConstructorSignature.errors.txt create mode 100644 tests/baselines/reference/implicitAnyNewExprLackConstructorSignature.js create mode 100644 tests/baselines/reference/implicitAnyWidenToAny.errors.txt create mode 100644 tests/baselines/reference/implicitAnyWidenToAny.js create mode 100644 tests/baselines/reference/importAliasAnExternalModuleInsideAnInternalModule.errors.txt create mode 100644 tests/baselines/reference/importAliasAnExternalModuleInsideAnInternalModule.js create mode 100644 tests/baselines/reference/importAliasIdentifiers.js create mode 100644 tests/baselines/reference/importAliasWithDottedName.js create mode 100644 tests/baselines/reference/importAnImport.errors.txt create mode 100644 tests/baselines/reference/importAnImport.js create mode 100644 tests/baselines/reference/importAndVariableDeclarationConflict1.errors.txt create mode 100644 tests/baselines/reference/importAndVariableDeclarationConflict1.js create mode 100644 tests/baselines/reference/importAndVariableDeclarationConflict2.js create mode 100644 tests/baselines/reference/importAndVariableDeclarationConflict3.errors.txt create mode 100644 tests/baselines/reference/importAndVariableDeclarationConflict3.js create mode 100644 tests/baselines/reference/importAndVariableDeclarationConflict4.errors.txt create mode 100644 tests/baselines/reference/importAndVariableDeclarationConflict4.js create mode 100644 tests/baselines/reference/importAsBaseClass.errors.txt create mode 100644 tests/baselines/reference/importAsBaseClass.js create mode 100644 tests/baselines/reference/importDecl.errors.txt create mode 100644 tests/baselines/reference/importDecl.js create mode 100644 tests/baselines/reference/importDeclRefereingExternalModuleWithNoResolve.errors.txt create mode 100644 tests/baselines/reference/importDeclRefereingExternalModuleWithNoResolve.js create mode 100644 tests/baselines/reference/importDeclWithClassModifiers.errors.txt create mode 100644 tests/baselines/reference/importDeclWithDeclareModifier.errors.txt create mode 100644 tests/baselines/reference/importDeclWithDeclareModifierInAmbientContext.errors.txt create mode 100644 tests/baselines/reference/importDeclWithExportModifier.errors.txt create mode 100644 tests/baselines/reference/importDeclWithExportModifier.js create mode 100644 tests/baselines/reference/importDeclWithExportModifierAndExportAssignment.errors.txt create mode 100644 tests/baselines/reference/importDeclWithExportModifierAndExportAssignment.js create mode 100644 tests/baselines/reference/importDeclWithExportModifierAndExportAssignmentInAmbientContext.errors.txt create mode 100644 tests/baselines/reference/importDeclWithExportModifierAndExportAssignmentInAmbientContext.js create mode 100644 tests/baselines/reference/importDeclWithExportModifierInAmbientContext.js create mode 100644 tests/baselines/reference/importDeclarationUsedAsTypeQuery.js create mode 100644 tests/baselines/reference/importImportOnlyModule.js create mode 100644 tests/baselines/reference/importInTypePosition.js create mode 100644 tests/baselines/reference/importInsideModule.errors.txt create mode 100644 tests/baselines/reference/importNonExternalModule.errors.txt create mode 100644 tests/baselines/reference/importNonExternalModule.js create mode 100644 tests/baselines/reference/importNonStringLiteral.errors.txt create mode 100644 tests/baselines/reference/importOnAliasedIdentifiers.js create mode 100644 tests/baselines/reference/importShadowsGlobalName.js create mode 100644 tests/baselines/reference/importStatements.js create mode 100644 tests/baselines/reference/importStatementsInterfaces.errors.txt create mode 100644 tests/baselines/reference/importStatementsInterfaces.js create mode 100644 tests/baselines/reference/importTsBeforeDTs.errors.txt create mode 100644 tests/baselines/reference/importTsBeforeDTs.js create mode 100644 tests/baselines/reference/importUsedInExtendsList1.js create mode 100644 tests/baselines/reference/import_reference-exported-alias.js create mode 100644 tests/baselines/reference/import_reference-to-type-alias.js create mode 100644 tests/baselines/reference/import_unneeded-require-when-referenecing-aliased-type-throug-array.js create mode 100644 tests/baselines/reference/import_var-referencing-an-imported-module-alias.js create mode 100644 tests/baselines/reference/importedModuleAddToGlobal.errors.txt create mode 100644 tests/baselines/reference/importedModuleAddToGlobal.js create mode 100644 tests/baselines/reference/importedModuleClassNameClash.js create mode 100644 tests/baselines/reference/inOperator.errors.txt create mode 100644 tests/baselines/reference/inOperator.js create mode 100644 tests/baselines/reference/inOperatorWithFunction.js create mode 100644 tests/baselines/reference/inOperatorWithGeneric.js create mode 100644 tests/baselines/reference/inOperatorWithInvalidOperands.errors.txt create mode 100644 tests/baselines/reference/inOperatorWithInvalidOperands.js create mode 100644 tests/baselines/reference/inOperatorWithValidOperands.js create mode 100644 tests/baselines/reference/incompatibleExports1.errors.txt create mode 100644 tests/baselines/reference/incompatibleExports1.js create mode 100644 tests/baselines/reference/incompatibleExports2.errors.txt create mode 100644 tests/baselines/reference/incompatibleExports2.js create mode 100644 tests/baselines/reference/incompatibleGenericTypes.errors.txt create mode 100644 tests/baselines/reference/incompatibleGenericTypes.js create mode 100644 tests/baselines/reference/incompatibleTypes.errors.txt create mode 100644 tests/baselines/reference/incompatibleTypes.js create mode 100644 tests/baselines/reference/incompleteDottedExpressionAtEOF.errors.txt create mode 100644 tests/baselines/reference/incompleteObjectLiteral1.errors.txt create mode 100644 tests/baselines/reference/incorrectClassOverloadChain.errors.txt create mode 100644 tests/baselines/reference/incorrectClassOverloadChain.js create mode 100644 tests/baselines/reference/incrementAndDecrement.errors.txt create mode 100644 tests/baselines/reference/incrementOnTypeParameter.errors.txt create mode 100644 tests/baselines/reference/incrementOnTypeParameter.js create mode 100644 tests/baselines/reference/incrementOperatorWithAnyOtherType.js create mode 100644 tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.errors.txt create mode 100644 tests/baselines/reference/incrementOperatorWithAnyOtherTypeInvalidOperations.js create mode 100644 tests/baselines/reference/incrementOperatorWithEnumType.js create mode 100644 tests/baselines/reference/incrementOperatorWithEnumTypeInvalidOperations.errors.txt create mode 100644 tests/baselines/reference/incrementOperatorWithEnumTypeInvalidOperations.js create mode 100644 tests/baselines/reference/incrementOperatorWithNumberType.js create mode 100644 tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.errors.txt create mode 100644 tests/baselines/reference/incrementOperatorWithNumberTypeInvalidOperations.js create mode 100644 tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.errors.txt create mode 100644 tests/baselines/reference/incrementOperatorWithUnsupportedBooleanType.js create mode 100644 tests/baselines/reference/incrementOperatorWithUnsupportedStringType.errors.txt create mode 100644 tests/baselines/reference/incrementOperatorWithUnsupportedStringType.js create mode 100644 tests/baselines/reference/indexClassByNumber.js create mode 100644 tests/baselines/reference/indexIntoArraySubclass.errors.txt create mode 100644 tests/baselines/reference/indexIntoArraySubclass.js create mode 100644 tests/baselines/reference/indexIntoEnum.js create mode 100644 tests/baselines/reference/indexSignatureMustHaveTypeAnnotation.errors.txt create mode 100644 tests/baselines/reference/indexSignatureTypeCheck.errors.txt create mode 100644 tests/baselines/reference/indexSignatureTypeCheck2.errors.txt create mode 100644 tests/baselines/reference/indexSignatureWithAccessibilityModifier.errors.txt create mode 100644 tests/baselines/reference/indexSignatureWithInitializer.errors.txt create mode 100644 tests/baselines/reference/indexSignaturesInferentialTyping.js create mode 100644 tests/baselines/reference/indexTypeCheck.errors.txt create mode 100644 tests/baselines/reference/indexWithoutParamType.errors.txt create mode 100644 tests/baselines/reference/indexWithoutParamType2.errors.txt create mode 100644 tests/baselines/reference/indexer.js create mode 100644 tests/baselines/reference/indexer2.js create mode 100644 tests/baselines/reference/indexer2A.errors.txt create mode 100644 tests/baselines/reference/indexer2A.js create mode 100644 tests/baselines/reference/indexer3.js create mode 100644 tests/baselines/reference/indexerA.js create mode 100644 tests/baselines/reference/indexerAsOptional.errors.txt create mode 100644 tests/baselines/reference/indexerAssignability.errors.txt create mode 100644 tests/baselines/reference/indexerAssignability.js create mode 100644 tests/baselines/reference/indexerConstraints.errors.txt create mode 100644 tests/baselines/reference/indexerConstraints.js create mode 100644 tests/baselines/reference/indexerConstraints2.errors.txt create mode 100644 tests/baselines/reference/indexerConstraints2.js create mode 100644 tests/baselines/reference/indexerReturningTypeParameter1.js create mode 100644 tests/baselines/reference/indexerSignatureWithRestParam.errors.txt create mode 100644 tests/baselines/reference/indexersInClassType.js create mode 100644 tests/baselines/reference/indirectSelfReference.errors.txt create mode 100644 tests/baselines/reference/indirectSelfReference.js create mode 100644 tests/baselines/reference/indirectSelfReferenceGeneric.errors.txt create mode 100644 tests/baselines/reference/indirectSelfReferenceGeneric.js create mode 100644 tests/baselines/reference/inferSecondaryParameter.js create mode 100644 tests/baselines/reference/inferSetterParamType.errors.txt create mode 100644 tests/baselines/reference/inferTypeArgumentsInSignatureWithRestParameters.js create mode 100644 tests/baselines/reference/inferentialTypingWithFunctionType.js create mode 100644 tests/baselines/reference/inferentialTypingWithFunctionType2.js create mode 100644 tests/baselines/reference/inferentialTypingWithFunctionTypeNested.js create mode 100644 tests/baselines/reference/inferentialTypingWithFunctionTypeSyntacticScenarios.js create mode 100644 tests/baselines/reference/inferentialTypingWithFunctionTypeZip.js create mode 100644 tests/baselines/reference/inferentialTypingWithObjectLiteralProperties.errors.txt create mode 100644 tests/baselines/reference/inferentialTypingWithObjectLiteralProperties.js create mode 100644 tests/baselines/reference/inferentiallyTypingAnEmptyArray.js create mode 100644 tests/baselines/reference/inferredFunctionReturnTypeIsEmptyType.errors.txt create mode 100644 tests/baselines/reference/inferredFunctionReturnTypeIsEmptyType.js create mode 100644 tests/baselines/reference/infiniteExpandingTypeThroughInheritanceInstantiation.js create mode 100644 tests/baselines/reference/infiniteExpansionThroughInstantiation.errors.txt create mode 100644 tests/baselines/reference/infiniteExpansionThroughInstantiation.js create mode 100644 tests/baselines/reference/infiniteExpansionThroughInstantiation2.errors.txt create mode 100644 tests/baselines/reference/infiniteExpansionThroughInstantiation2.js create mode 100644 tests/baselines/reference/infiniteExpansionThroughTypeInference.js create mode 100644 tests/baselines/reference/infinitelyExpandingBaseTypes1.js create mode 100644 tests/baselines/reference/infinitelyExpandingBaseTypes2.js create mode 100644 tests/baselines/reference/infinitelyExpandingOverloads.errors.txt create mode 100644 tests/baselines/reference/infinitelyExpandingTypeAssignability.js create mode 100644 tests/baselines/reference/infinitelyExpandingTypes1.errors.txt create mode 100644 tests/baselines/reference/infinitelyExpandingTypes1.js create mode 100644 tests/baselines/reference/infinitelyExpandingTypes2.errors.txt create mode 100644 tests/baselines/reference/infinitelyExpandingTypes2.js create mode 100644 tests/baselines/reference/infinitelyExpandingTypes3.js create mode 100644 tests/baselines/reference/infinitelyExpandingTypes4.js create mode 100644 tests/baselines/reference/infinitelyExpandingTypes5.js create mode 100644 tests/baselines/reference/infinitelyExpandingTypesNonGenericBase.js create mode 100644 tests/baselines/reference/infinitelyGenerativeInheritance1.js create mode 100644 tests/baselines/reference/inheritFromGenericTypeParameter.errors.txt create mode 100644 tests/baselines/reference/inheritFromGenericTypeParameter.js create mode 100644 tests/baselines/reference/inheritSameNamePrivatePropertiesFromDifferentOrigins.errors.txt create mode 100644 tests/baselines/reference/inheritSameNamePrivatePropertiesFromDifferentOrigins.js create mode 100644 tests/baselines/reference/inheritSameNamePrivatePropertiesFromSameOrigin.js create mode 100644 tests/baselines/reference/inheritSameNamePropertiesWithDifferentOptionality.errors.txt create mode 100644 tests/baselines/reference/inheritSameNamePropertiesWithDifferentOptionality.js create mode 100644 tests/baselines/reference/inheritSameNamePropertiesWithDifferentVisibility.errors.txt create mode 100644 tests/baselines/reference/inheritSameNamePropertiesWithDifferentVisibility.js create mode 100644 tests/baselines/reference/inheritance.errors.txt create mode 100644 tests/baselines/reference/inheritance.js create mode 100644 tests/baselines/reference/inheritance1.errors.txt create mode 100644 tests/baselines/reference/inheritance1.js create mode 100644 tests/baselines/reference/inheritanceGrandParentPrivateMemberCollision.errors.txt create mode 100644 tests/baselines/reference/inheritanceGrandParentPrivateMemberCollision.js create mode 100644 tests/baselines/reference/inheritanceGrandParentPrivateMemberCollisionWithPublicMember.errors.txt create mode 100644 tests/baselines/reference/inheritanceGrandParentPrivateMemberCollisionWithPublicMember.js create mode 100644 tests/baselines/reference/inheritanceGrandParentPublicMemberCollisionWithPrivateMember.errors.txt create mode 100644 tests/baselines/reference/inheritanceGrandParentPublicMemberCollisionWithPrivateMember.js create mode 100644 tests/baselines/reference/inheritanceMemberAccessorOverridingAccessor.errors.txt create mode 100644 tests/baselines/reference/inheritanceMemberAccessorOverridingMethod.errors.txt create mode 100644 tests/baselines/reference/inheritanceMemberAccessorOverridingProperty.errors.txt create mode 100644 tests/baselines/reference/inheritanceMemberFuncOverridingAccessor.errors.txt create mode 100644 tests/baselines/reference/inheritanceMemberFuncOverridingMethod.js create mode 100644 tests/baselines/reference/inheritanceMemberFuncOverridingProperty.errors.txt create mode 100644 tests/baselines/reference/inheritanceMemberFuncOverridingProperty.js create mode 100644 tests/baselines/reference/inheritanceMemberPropertyOverridingAccessor.errors.txt create mode 100644 tests/baselines/reference/inheritanceMemberPropertyOverridingMethod.errors.txt create mode 100644 tests/baselines/reference/inheritanceMemberPropertyOverridingMethod.js create mode 100644 tests/baselines/reference/inheritanceMemberPropertyOverridingProperty.js create mode 100644 tests/baselines/reference/inheritanceOfGenericConstructorMethod1.js create mode 100644 tests/baselines/reference/inheritanceOfGenericConstructorMethod2.js create mode 100644 tests/baselines/reference/inheritanceStaticAccessorOverridingAccessor.errors.txt create mode 100644 tests/baselines/reference/inheritanceStaticAccessorOverridingMethod.errors.txt create mode 100644 tests/baselines/reference/inheritanceStaticAccessorOverridingProperty.errors.txt create mode 100644 tests/baselines/reference/inheritanceStaticFuncOverridingAccessor.errors.txt create mode 100644 tests/baselines/reference/inheritanceStaticFuncOverridingAccessorOfFuncType.errors.txt create mode 100644 tests/baselines/reference/inheritanceStaticFuncOverridingMethod.js create mode 100644 tests/baselines/reference/inheritanceStaticFuncOverridingProperty.errors.txt create mode 100644 tests/baselines/reference/inheritanceStaticFuncOverridingProperty.js create mode 100644 tests/baselines/reference/inheritanceStaticFuncOverridingPropertyOfFuncType.js create mode 100644 tests/baselines/reference/inheritanceStaticFunctionOverridingInstanceProperty.js create mode 100644 tests/baselines/reference/inheritanceStaticMembersCompatible.js create mode 100644 tests/baselines/reference/inheritanceStaticMembersIncompatible.errors.txt create mode 100644 tests/baselines/reference/inheritanceStaticMembersIncompatible.js create mode 100644 tests/baselines/reference/inheritanceStaticPropertyOverridingAccessor.errors.txt create mode 100644 tests/baselines/reference/inheritanceStaticPropertyOverridingMethod.errors.txt create mode 100644 tests/baselines/reference/inheritanceStaticPropertyOverridingMethod.js create mode 100644 tests/baselines/reference/inheritanceStaticPropertyOverridingProperty.js create mode 100644 tests/baselines/reference/inheritedConstructorWithRestParams.errors.txt create mode 100644 tests/baselines/reference/inheritedConstructorWithRestParams.js create mode 100644 tests/baselines/reference/inheritedConstructorWithRestParams2.errors.txt create mode 100644 tests/baselines/reference/inheritedConstructorWithRestParams2.js create mode 100644 tests/baselines/reference/inheritedFunctionAssignmentCompatibility.js create mode 100644 tests/baselines/reference/inheritedGenericCallSignature.js create mode 100644 tests/baselines/reference/inheritedMembersAndIndexSignaturesFromDifferentBases.errors.txt create mode 100644 tests/baselines/reference/inheritedMembersAndIndexSignaturesFromDifferentBases.js create mode 100644 tests/baselines/reference/inheritedMembersAndIndexSignaturesFromDifferentBases2.js create mode 100644 tests/baselines/reference/inheritedModuleMembersForClodule.errors.txt create mode 100644 tests/baselines/reference/inheritedModuleMembersForClodule.js create mode 100644 tests/baselines/reference/inheritedStringIndexersFromDifferentBaseTypes.errors.txt create mode 100644 tests/baselines/reference/inheritedStringIndexersFromDifferentBaseTypes.js create mode 100644 tests/baselines/reference/inheritedStringIndexersFromDifferentBaseTypes2.errors.txt create mode 100644 tests/baselines/reference/inheritedStringIndexersFromDifferentBaseTypes2.js create mode 100644 tests/baselines/reference/initializerReferencingConstructorLocals.errors.txt create mode 100644 tests/baselines/reference/initializerReferencingConstructorParameters.errors.txt create mode 100644 tests/baselines/reference/initializersInDeclarations.errors.txt create mode 100644 tests/baselines/reference/initializersWidened.js create mode 100644 tests/baselines/reference/innerAliases.errors.txt create mode 100644 tests/baselines/reference/innerAliases.js create mode 100644 tests/baselines/reference/innerAliases2.js create mode 100644 tests/baselines/reference/innerBoundLambdaEmit.js create mode 100644 tests/baselines/reference/innerExtern.js create mode 100644 tests/baselines/reference/innerFunc.js create mode 100644 tests/baselines/reference/innerModExport1.errors.txt create mode 100644 tests/baselines/reference/innerModExport2.errors.txt create mode 100644 tests/baselines/reference/innerOverloads.js create mode 100644 tests/baselines/reference/innerTypeArgumentInference.js create mode 100644 tests/baselines/reference/innerTypeCheckOfLambdaArgument.errors.txt create mode 100644 tests/baselines/reference/innerTypeCheckOfLambdaArgument.js create mode 100644 tests/baselines/reference/innerTypeParameterShadowingOuterOne.js create mode 100644 tests/baselines/reference/innerTypeParameterShadowingOuterOne2.js create mode 100644 tests/baselines/reference/instanceAndStaticDeclarations1.js create mode 100644 tests/baselines/reference/instanceMemberAssignsToClassPrototype.errors.txt create mode 100644 tests/baselines/reference/instanceMemberAssignsToClassPrototype.js create mode 100644 tests/baselines/reference/instanceMemberInitialization.js create mode 100644 tests/baselines/reference/instanceOfInExternalModules.js create mode 100644 tests/baselines/reference/instancePropertiesInheritedIntoClassType.errors.txt create mode 100644 tests/baselines/reference/instancePropertyInClassType.errors.txt create mode 100644 tests/baselines/reference/instanceSubtypeCheck1.js create mode 100644 tests/baselines/reference/instanceSubtypeCheck2.errors.txt create mode 100644 tests/baselines/reference/instanceSubtypeCheck2.js create mode 100644 tests/baselines/reference/instanceofOperator.errors.txt create mode 100644 tests/baselines/reference/instanceofOperator.js create mode 100644 tests/baselines/reference/instanceofOperatorWithAny.js create mode 100644 tests/baselines/reference/instanceofOperatorWithInvalidOperands.errors.txt create mode 100644 tests/baselines/reference/instanceofOperatorWithInvalidOperands.js create mode 100644 tests/baselines/reference/instanceofOperatorWithLHSIsObject.js create mode 100644 tests/baselines/reference/instanceofOperatorWithLHSIsTypeParameter.js create mode 100644 tests/baselines/reference/instanceofOperatorWithRHSIsSubtypeOfFunction.js create mode 100644 tests/baselines/reference/instantiateConstraintsToTypeArguments2.errors.txt create mode 100644 tests/baselines/reference/instantiateConstraintsToTypeArguments2.js create mode 100644 tests/baselines/reference/instantiateGenericClassWithWrongNumberOfTypeArguments.errors.txt create mode 100644 tests/baselines/reference/instantiateGenericClassWithWrongNumberOfTypeArguments.js create mode 100644 tests/baselines/reference/instantiateGenericClassWithZeroTypeArguments.js create mode 100644 tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.errors.txt create mode 100644 tests/baselines/reference/instantiateNonGenericTypeWithTypeArguments.js create mode 100644 tests/baselines/reference/instantiateTypeParameter.errors.txt create mode 100644 tests/baselines/reference/instantiatedBaseTypeConstraints.errors.txt create mode 100644 tests/baselines/reference/instantiatedBaseTypeConstraints.js create mode 100644 tests/baselines/reference/instantiatedBaseTypeConstraints2.errors.txt create mode 100644 tests/baselines/reference/instantiatedBaseTypeConstraints2.js create mode 100644 tests/baselines/reference/instantiatedModule.js create mode 100644 tests/baselines/reference/instantiatedReturnTypeContravariance.js create mode 100644 tests/baselines/reference/intTypeCheck.errors.txt create mode 100644 tests/baselines/reference/interMixingModulesInterfaces0.js create mode 100644 tests/baselines/reference/interMixingModulesInterfaces1.js create mode 100644 tests/baselines/reference/interMixingModulesInterfaces2.js create mode 100644 tests/baselines/reference/interMixingModulesInterfaces3.js create mode 100644 tests/baselines/reference/interMixingModulesInterfaces4.js create mode 100644 tests/baselines/reference/interMixingModulesInterfaces5.js create mode 100644 tests/baselines/reference/interface0.js create mode 100644 tests/baselines/reference/interfaceAssignmentCompat.errors.txt create mode 100644 tests/baselines/reference/interfaceAssignmentCompat.js create mode 100644 tests/baselines/reference/interfaceContextualType.js create mode 100644 tests/baselines/reference/interfaceDeclaration1.errors.txt create mode 100644 tests/baselines/reference/interfaceDeclaration1.js create mode 100644 tests/baselines/reference/interfaceDeclaration2.errors.txt create mode 100644 tests/baselines/reference/interfaceDeclaration2.js create mode 100644 tests/baselines/reference/interfaceDeclaration3.errors.txt create mode 100644 tests/baselines/reference/interfaceDeclaration3.js create mode 100644 tests/baselines/reference/interfaceDeclaration4.errors.txt create mode 100644 tests/baselines/reference/interfaceDeclaration5.js create mode 100644 tests/baselines/reference/interfaceDeclaration6.errors.txt create mode 100644 tests/baselines/reference/interfaceDeclaration6.js create mode 100644 tests/baselines/reference/interfaceExtendingClass.errors.txt create mode 100644 tests/baselines/reference/interfaceExtendingClass2.errors.txt create mode 100644 tests/baselines/reference/interfaceExtendingClassWithPrivates.errors.txt create mode 100644 tests/baselines/reference/interfaceExtendingClassWithPrivates.js create mode 100644 tests/baselines/reference/interfaceExtendingClassWithPrivates2.errors.txt create mode 100644 tests/baselines/reference/interfaceExtendingClassWithPrivates2.js create mode 100644 tests/baselines/reference/interfaceExtendsClass1.js create mode 100644 tests/baselines/reference/interfaceExtendsClassWithPrivate1.errors.txt create mode 100644 tests/baselines/reference/interfaceExtendsClassWithPrivate1.js create mode 100644 tests/baselines/reference/interfaceExtendsClassWithPrivate2.errors.txt create mode 100644 tests/baselines/reference/interfaceExtendsClassWithPrivate2.js create mode 100644 tests/baselines/reference/interfaceImplementation1.errors.txt create mode 100644 tests/baselines/reference/interfaceImplementation1.js create mode 100644 tests/baselines/reference/interfaceImplementation2.errors.txt create mode 100644 tests/baselines/reference/interfaceImplementation2.js create mode 100644 tests/baselines/reference/interfaceImplementation3.errors.txt create mode 100644 tests/baselines/reference/interfaceImplementation3.js create mode 100644 tests/baselines/reference/interfaceImplementation4.errors.txt create mode 100644 tests/baselines/reference/interfaceImplementation4.js create mode 100644 tests/baselines/reference/interfaceImplementation5.errors.txt create mode 100644 tests/baselines/reference/interfaceImplementation6.errors.txt create mode 100644 tests/baselines/reference/interfaceImplementation6.js create mode 100644 tests/baselines/reference/interfaceImplementation7.errors.txt create mode 100644 tests/baselines/reference/interfaceImplementation7.js create mode 100644 tests/baselines/reference/interfaceImplementation8.errors.txt create mode 100644 tests/baselines/reference/interfaceImplementation8.js create mode 100644 tests/baselines/reference/interfaceInReopenedModule.js create mode 100644 tests/baselines/reference/interfaceInheritance.errors.txt create mode 100644 tests/baselines/reference/interfaceInheritance.js create mode 100644 tests/baselines/reference/interfaceInheritance2.js create mode 100644 tests/baselines/reference/interfaceMayNotBeExtendedWitACall.errors.txt create mode 100644 tests/baselines/reference/interfaceMemberValidation.errors.txt create mode 100644 tests/baselines/reference/interfaceMemberValidation.js create mode 100644 tests/baselines/reference/interfaceNameAsIdentifier.errors.txt create mode 100644 tests/baselines/reference/interfaceNameAsIdentifier.js create mode 100644 tests/baselines/reference/interfaceNaming1.errors.txt create mode 100644 tests/baselines/reference/interfaceOnly.js create mode 100644 tests/baselines/reference/interfacePropertiesWithSameName1.js create mode 100644 tests/baselines/reference/interfacePropertiesWithSameName2.errors.txt create mode 100644 tests/baselines/reference/interfacePropertiesWithSameName2.js create mode 100644 tests/baselines/reference/interfacePropertiesWithSameName3.errors.txt create mode 100644 tests/baselines/reference/interfacePropertiesWithSameName3.js create mode 100644 tests/baselines/reference/interfaceSubtyping.js create mode 100644 tests/baselines/reference/interfaceThatHidesBaseProperty.js create mode 100644 tests/baselines/reference/interfaceThatHidesBaseProperty2.errors.txt create mode 100644 tests/baselines/reference/interfaceThatHidesBaseProperty2.js create mode 100644 tests/baselines/reference/interfaceThatIndirectlyInheritsFromItself.errors.txt create mode 100644 tests/baselines/reference/interfaceThatIndirectlyInheritsFromItself.js create mode 100644 tests/baselines/reference/interfaceThatInheritsFromItself.errors.txt create mode 100644 tests/baselines/reference/interfaceWithCallAndConstructSignature.js create mode 100644 tests/baselines/reference/interfaceWithCallSignaturesThatHidesBaseSignature.js create mode 100644 tests/baselines/reference/interfaceWithCallSignaturesThatHidesBaseSignature2.js create mode 100644 tests/baselines/reference/interfaceWithConstructSignaturesThatHidesBaseSignature.js create mode 100644 tests/baselines/reference/interfaceWithConstructSignaturesThatHidesBaseSignature2.js create mode 100644 tests/baselines/reference/interfaceWithImplements1.errors.txt create mode 100644 tests/baselines/reference/interfaceWithMultipleBaseTypes.errors.txt create mode 100644 tests/baselines/reference/interfaceWithMultipleBaseTypes.js create mode 100644 tests/baselines/reference/interfaceWithMultipleBaseTypes2.errors.txt create mode 100644 tests/baselines/reference/interfaceWithMultipleBaseTypes2.js create mode 100644 tests/baselines/reference/interfaceWithMultipleDeclarations.errors.txt create mode 100644 tests/baselines/reference/interfaceWithMultipleDeclarations.js create mode 100644 tests/baselines/reference/interfaceWithOptionalProperty.js create mode 100644 tests/baselines/reference/interfaceWithOverloadedCallAndConstructSignatures.js create mode 100644 tests/baselines/reference/interfaceWithPrivateMember.errors.txt create mode 100644 tests/baselines/reference/interfaceWithPropertyOfEveryType.js create mode 100644 tests/baselines/reference/interfaceWithPropertyThatIsPrivateInBaseType.errors.txt create mode 100644 tests/baselines/reference/interfaceWithPropertyThatIsPrivateInBaseType.js create mode 100644 tests/baselines/reference/interfaceWithPropertyThatIsPrivateInBaseType2.errors.txt create mode 100644 tests/baselines/reference/interfaceWithPropertyThatIsPrivateInBaseType2.js create mode 100644 tests/baselines/reference/interfaceWithSpecializedCallAndConstructSignatures.js create mode 100644 tests/baselines/reference/interfaceWithStringIndexerHidingBaseTypeIndexer.errors.txt create mode 100644 tests/baselines/reference/interfaceWithStringIndexerHidingBaseTypeIndexer.js create mode 100644 tests/baselines/reference/interfaceWithStringIndexerHidingBaseTypeIndexer2.errors.txt create mode 100644 tests/baselines/reference/interfaceWithStringIndexerHidingBaseTypeIndexer2.js create mode 100644 tests/baselines/reference/interfaceWithStringIndexerHidingBaseTypeIndexer3.errors.txt create mode 100644 tests/baselines/reference/interfaceWithStringIndexerHidingBaseTypeIndexer3.js create mode 100644 tests/baselines/reference/interfacedecl.js create mode 100644 tests/baselines/reference/interfacedeclWithIndexerErrors.errors.txt create mode 100644 tests/baselines/reference/interfacedeclWithIndexerErrors.js create mode 100644 tests/baselines/reference/interfacesWithPredefinedTypesAsNames.errors.txt create mode 100644 tests/baselines/reference/internalAliasClass.js create mode 100644 tests/baselines/reference/internalAliasClassInsideLocalModuleWithExport.js create mode 100644 tests/baselines/reference/internalAliasClassInsideLocalModuleWithoutExport.js create mode 100644 tests/baselines/reference/internalAliasClassInsideLocalModuleWithoutExportAccessError.errors.txt create mode 100644 tests/baselines/reference/internalAliasClassInsideLocalModuleWithoutExportAccessError.js create mode 100644 tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithExport.js create mode 100644 tests/baselines/reference/internalAliasClassInsideTopLevelModuleWithoutExport.js create mode 100644 tests/baselines/reference/internalAliasEnum.js create mode 100644 tests/baselines/reference/internalAliasEnumInsideLocalModuleWithExport.js create mode 100644 tests/baselines/reference/internalAliasEnumInsideLocalModuleWithoutExport.js create mode 100644 tests/baselines/reference/internalAliasEnumInsideLocalModuleWithoutExportAccessError.errors.txt create mode 100644 tests/baselines/reference/internalAliasEnumInsideLocalModuleWithoutExportAccessError.js create mode 100644 tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithExport.js create mode 100644 tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithoutExport.js create mode 100644 tests/baselines/reference/internalAliasFunction.js create mode 100644 tests/baselines/reference/internalAliasFunctionInsideLocalModuleWithExport.js create mode 100644 tests/baselines/reference/internalAliasFunctionInsideLocalModuleWithoutExport.js create mode 100644 tests/baselines/reference/internalAliasFunctionInsideLocalModuleWithoutExportAccessError.errors.txt create mode 100644 tests/baselines/reference/internalAliasFunctionInsideLocalModuleWithoutExportAccessError.js create mode 100644 tests/baselines/reference/internalAliasFunctionInsideTopLevelModuleWithExport.js create mode 100644 tests/baselines/reference/internalAliasFunctionInsideTopLevelModuleWithoutExport.js create mode 100644 tests/baselines/reference/internalAliasInitializedModule.js create mode 100644 tests/baselines/reference/internalAliasInitializedModuleInsideLocalModuleWithExport.js create mode 100644 tests/baselines/reference/internalAliasInitializedModuleInsideLocalModuleWithoutExport.js create mode 100644 tests/baselines/reference/internalAliasInitializedModuleInsideLocalModuleWithoutExportAccessError.errors.txt create mode 100644 tests/baselines/reference/internalAliasInitializedModuleInsideLocalModuleWithoutExportAccessError.js create mode 100644 tests/baselines/reference/internalAliasInitializedModuleInsideTopLevelModuleWithExport.js create mode 100644 tests/baselines/reference/internalAliasInitializedModuleInsideTopLevelModuleWithoutExport.js create mode 100644 tests/baselines/reference/internalAliasInterface.js create mode 100644 tests/baselines/reference/internalAliasInterfaceInsideLocalModuleWithExport.js create mode 100644 tests/baselines/reference/internalAliasInterfaceInsideLocalModuleWithoutExport.js create mode 100644 tests/baselines/reference/internalAliasInterfaceInsideLocalModuleWithoutExportAccessError.errors.txt create mode 100644 tests/baselines/reference/internalAliasInterfaceInsideLocalModuleWithoutExportAccessError.js create mode 100644 tests/baselines/reference/internalAliasInterfaceInsideTopLevelModuleWithExport.js create mode 100644 tests/baselines/reference/internalAliasInterfaceInsideTopLevelModuleWithoutExport.js create mode 100644 tests/baselines/reference/internalAliasUninitializedModule.js create mode 100644 tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithExport.js create mode 100644 tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExport.js create mode 100644 tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.errors.txt create mode 100644 tests/baselines/reference/internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.js create mode 100644 tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithExport.js create mode 100644 tests/baselines/reference/internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.js create mode 100644 tests/baselines/reference/internalAliasVar.js create mode 100644 tests/baselines/reference/internalAliasVarInsideLocalModuleWithExport.js create mode 100644 tests/baselines/reference/internalAliasVarInsideLocalModuleWithoutExport.js create mode 100644 tests/baselines/reference/internalAliasVarInsideLocalModuleWithoutExportAccessError.errors.txt create mode 100644 tests/baselines/reference/internalAliasVarInsideLocalModuleWithoutExportAccessError.js create mode 100644 tests/baselines/reference/internalAliasVarInsideTopLevelModuleWithExport.js create mode 100644 tests/baselines/reference/internalAliasVarInsideTopLevelModuleWithoutExport.js create mode 100644 tests/baselines/reference/internalAliasWithDottedNameEmit.js create mode 100644 tests/baselines/reference/internalImportInstantiatedModuleMergedWithClassNotReferencingInstance.js create mode 100644 tests/baselines/reference/internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.js create mode 100644 tests/baselines/reference/internalImportInstantiatedModuleNotReferencingInstance.js create mode 100644 tests/baselines/reference/internalImportUnInstantiatedModuleMergedWithClassNotReferencingInstance.js create mode 100644 tests/baselines/reference/internalImportUnInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.js create mode 100644 tests/baselines/reference/internalImportUnInstantiatedModuleNotReferencingInstanceNoConflict.js create mode 100644 tests/baselines/reference/intrinsics.errors.txt create mode 100644 tests/baselines/reference/intrinsics.js create mode 100644 tests/baselines/reference/invalidAssignmentsToVoid.errors.txt create mode 100644 tests/baselines/reference/invalidAssignmentsToVoid.js create mode 100644 tests/baselines/reference/invalidBooleanAssignments.errors.txt create mode 100644 tests/baselines/reference/invalidBooleanAssignments.js create mode 100644 tests/baselines/reference/invalidConstraint1.errors.txt create mode 100644 tests/baselines/reference/invalidConstraint1.js create mode 100644 tests/baselines/reference/invalidDoWhileBreakStatements.js create mode 100644 tests/baselines/reference/invalidDoWhileContinueStatements.js create mode 100644 tests/baselines/reference/invalidEnumAssignments.errors.txt create mode 100644 tests/baselines/reference/invalidEnumAssignments.js create mode 100644 tests/baselines/reference/invalidForBreakStatements.js create mode 100644 tests/baselines/reference/invalidForContinueStatements.js create mode 100644 tests/baselines/reference/invalidForInBreakStatements.js create mode 100644 tests/baselines/reference/invalidForInContinueStatements.js create mode 100644 tests/baselines/reference/invalidImportAliasIdentifiers.errors.txt create mode 100644 tests/baselines/reference/invalidImportAliasIdentifiers.js create mode 100644 tests/baselines/reference/invalidInstantiatedModule.errors.txt create mode 100644 tests/baselines/reference/invalidInstantiatedModule.js create mode 100644 tests/baselines/reference/invalidModuleWithStatementsOfEveryKind.errors.txt create mode 100644 tests/baselines/reference/invalidModuleWithVarStatements.errors.txt create mode 100644 tests/baselines/reference/invalidMultipleVariableDeclarations.errors.txt create mode 100644 tests/baselines/reference/invalidMultipleVariableDeclarations.js create mode 100644 tests/baselines/reference/invalidNestedModules.errors.txt create mode 100644 tests/baselines/reference/invalidNestedModules.js create mode 100644 tests/baselines/reference/invalidNumberAssignments.errors.txt create mode 100644 tests/baselines/reference/invalidNumberAssignments.js create mode 100644 tests/baselines/reference/invalidReferenceSyntax1.errors.txt create mode 100644 tests/baselines/reference/invalidReturnStatements.errors.txt create mode 100644 tests/baselines/reference/invalidReturnStatements.js create mode 100644 tests/baselines/reference/invalidSplice.js create mode 100644 tests/baselines/reference/invalidStaticField.errors.txt create mode 100644 tests/baselines/reference/invalidStaticField.js create mode 100644 tests/baselines/reference/invalidStringAssignments.errors.txt create mode 100644 tests/baselines/reference/invalidStringAssignments.js create mode 100644 tests/baselines/reference/invalidSwitchBreakStatement.js create mode 100644 tests/baselines/reference/invalidSwitchContinueStatement.js create mode 100644 tests/baselines/reference/invalidSymbolInTypeParameter1.errors.txt create mode 100644 tests/baselines/reference/invalidSymbolInTypeParameter1.js create mode 100644 tests/baselines/reference/invalidThrowStatement.errors.txt create mode 100644 tests/baselines/reference/invalidTripleSlashReference.errors.txt create mode 100644 tests/baselines/reference/invalidTryStatements.errors.txt create mode 100644 tests/baselines/reference/invalidTryStatements2.errors.txt create mode 100644 tests/baselines/reference/invalidTypeNames.js create mode 100644 tests/baselines/reference/invalidTypeOfTarget.errors.txt create mode 100644 tests/baselines/reference/invalidUndefinedAssignments.errors.txt create mode 100644 tests/baselines/reference/invalidUndefinedAssignments.js create mode 100644 tests/baselines/reference/invalidUndefinedValues.js create mode 100644 tests/baselines/reference/invalidUnicodeEscapeSequance.errors.txt create mode 100644 tests/baselines/reference/invalidUnicodeEscapeSequance2.errors.txt create mode 100644 tests/baselines/reference/invalidUnicodeEscapeSequance3.errors.txt create mode 100644 tests/baselines/reference/invalidUnicodeEscapeSequance4.errors.txt create mode 100644 tests/baselines/reference/invalidVoidAssignments.errors.txt create mode 100644 tests/baselines/reference/invalidVoidAssignments.js create mode 100644 tests/baselines/reference/invalidVoidValues.errors.txt create mode 100644 tests/baselines/reference/invalidVoidValues.js create mode 100644 tests/baselines/reference/invalidWhileBreakStatements.js create mode 100644 tests/baselines/reference/invalidWhileContinueStatements.js create mode 100644 tests/baselines/reference/invocationExpressionInFunctionParameter.errors.txt create mode 100644 tests/baselines/reference/invocationExpressionInFunctionParameter.js create mode 100644 tests/baselines/reference/invokingNonGenericMethodWithTypeArguments1.errors.txt create mode 100644 tests/baselines/reference/invokingNonGenericMethodWithTypeArguments1.js create mode 100644 tests/baselines/reference/invokingNonGenericMethodWithTypeArguments2.errors.txt create mode 100644 tests/baselines/reference/invokingNonGenericMethodWithTypeArguments2.js create mode 100644 tests/baselines/reference/ipromise2.js create mode 100644 tests/baselines/reference/ipromise3.js create mode 100644 tests/baselines/reference/ipromise4.js create mode 100644 tests/baselines/reference/isLiteral1.js create mode 100644 tests/baselines/reference/isLiteral2.js create mode 100644 tests/baselines/reference/keywordField.js create mode 100644 tests/baselines/reference/knockout.errors.txt create mode 100644 tests/baselines/reference/knockout.js create mode 100644 tests/baselines/reference/lambdaASIEmit.js create mode 100644 tests/baselines/reference/lambdaArgCrash.errors.txt create mode 100644 tests/baselines/reference/lambdaArgCrash.js create mode 100644 tests/baselines/reference/lambdaExpression.js create mode 100644 tests/baselines/reference/lambdaParamTypes.errors.txt create mode 100644 tests/baselines/reference/lambdaParamTypes.js create mode 100644 tests/baselines/reference/lambdaPropSelf.errors.txt create mode 100644 tests/baselines/reference/lambdaPropSelf.js create mode 100644 tests/baselines/reference/lastPropertyInLiteralWins.errors.txt create mode 100644 tests/baselines/reference/lastPropertyInLiteralWins.js create mode 100644 tests/baselines/reference/libMembers.errors.txt create mode 100644 tests/baselines/reference/libdtsFix.js create mode 100644 tests/baselines/reference/library_ArraySlice.js create mode 100644 tests/baselines/reference/library_DatePrototypeProperties.js create mode 100644 tests/baselines/reference/library_ObjectPrototypeProperties.js create mode 100644 tests/baselines/reference/library_RegExpExecArraySlice.js create mode 100644 tests/baselines/reference/library_StringSlice.js create mode 100644 tests/baselines/reference/lift.errors.txt create mode 100644 tests/baselines/reference/lift.js create mode 100644 tests/baselines/reference/listFailure.js create mode 100644 tests/baselines/reference/literals-negative.errors.txt create mode 100644 tests/baselines/reference/literals-negative.js create mode 100644 tests/baselines/reference/literals.errors.txt create mode 100644 tests/baselines/reference/literals.js create mode 100644 tests/baselines/reference/literals1.js create mode 100644 tests/baselines/reference/localAliasExportAssignment.js create mode 100644 tests/baselines/reference/localImportNameVsGlobalName.js create mode 100644 tests/baselines/reference/localVariablesReturnedFromCatchBlocks.js create mode 100644 tests/baselines/reference/logicalAndOperatorWithEveryType.js create mode 100644 tests/baselines/reference/logicalAndOperatorWithTypeParameters.js create mode 100644 tests/baselines/reference/logicalNotExpression1.js create mode 100644 tests/baselines/reference/logicalNotOperatorInvalidOperations.errors.txt create mode 100644 tests/baselines/reference/logicalNotOperatorWithAnyOtherType.errors.txt create mode 100644 tests/baselines/reference/logicalNotOperatorWithAnyOtherType.js create mode 100644 tests/baselines/reference/logicalNotOperatorWithBooleanType.js create mode 100644 tests/baselines/reference/logicalNotOperatorWithEnumType.js create mode 100644 tests/baselines/reference/logicalNotOperatorWithNumberType.js create mode 100644 tests/baselines/reference/logicalNotOperatorWithStringType.js create mode 100644 tests/baselines/reference/logicalOrExpressionIsContextuallyTyped.js create mode 100644 tests/baselines/reference/logicalOrExpressionIsNotContextuallyTyped.js create mode 100644 tests/baselines/reference/logicalOrOperatorWithEveryType.js create mode 100644 tests/baselines/reference/logicalOrOperatorWithTypeParameters.js create mode 100644 tests/baselines/reference/m7Bugs.js create mode 100644 tests/baselines/reference/matchReturnTypeInAllBranches.errors.txt create mode 100644 tests/baselines/reference/matchReturnTypeInAllBranches.js create mode 100644 tests/baselines/reference/matchingOfObjectLiteralConstraints.errors.txt create mode 100644 tests/baselines/reference/matchingOfObjectLiteralConstraints.js create mode 100644 tests/baselines/reference/maxConstraints.errors.txt create mode 100644 tests/baselines/reference/maxConstraints.js create mode 100644 tests/baselines/reference/memberAccessMustUseModuleInstances.js create mode 100644 tests/baselines/reference/memberAccessOnConstructorType.js create mode 100644 tests/baselines/reference/memberFunctionOverloadMixingStaticAndInstance.errors.txt create mode 100644 tests/baselines/reference/memberFunctionOverloadMixingStaticAndInstance.js create mode 100644 tests/baselines/reference/memberFunctionsWithPrivateOverloads.errors.txt create mode 100644 tests/baselines/reference/memberFunctionsWithPrivateOverloads.js create mode 100644 tests/baselines/reference/memberFunctionsWithPublicOverloads.js create mode 100644 tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.errors.txt create mode 100644 tests/baselines/reference/memberFunctionsWithPublicPrivateOverloads.js create mode 100644 tests/baselines/reference/memberOverride.errors.txt create mode 100644 tests/baselines/reference/memberOverride.js create mode 100644 tests/baselines/reference/memberScope.errors.txt create mode 100644 tests/baselines/reference/memberScope.js create mode 100644 tests/baselines/reference/memberVariableDeclarations1.js create mode 100644 tests/baselines/reference/mergeThreeInterfaces.js create mode 100644 tests/baselines/reference/mergeThreeInterfaces2.js create mode 100644 tests/baselines/reference/mergeTwoInterfaces.js create mode 100644 tests/baselines/reference/mergeTwoInterfaces2.js create mode 100644 tests/baselines/reference/mergedDeclarations1.js create mode 100644 tests/baselines/reference/mergedDeclarations2.errors.txt create mode 100644 tests/baselines/reference/mergedDeclarations2.js create mode 100644 tests/baselines/reference/mergedDeclarations3.errors.txt create mode 100644 tests/baselines/reference/mergedDeclarations3.js create mode 100644 tests/baselines/reference/mergedDeclarations4.js create mode 100644 tests/baselines/reference/mergedEnumDeclarationCodeGen.js create mode 100644 tests/baselines/reference/mergedInterfaceFromMultipleFiles1.js create mode 100644 tests/baselines/reference/mergedInterfacesWithConflictingPropertyNames.errors.txt create mode 100644 tests/baselines/reference/mergedInterfacesWithConflictingPropertyNames.js create mode 100644 tests/baselines/reference/mergedInterfacesWithConflictingPropertyNames2.errors.txt create mode 100644 tests/baselines/reference/mergedInterfacesWithConflictingPropertyNames2.js create mode 100644 tests/baselines/reference/mergedInterfacesWithIndexers.js create mode 100644 tests/baselines/reference/mergedInterfacesWithIndexers2.errors.txt create mode 100644 tests/baselines/reference/mergedInterfacesWithIndexers2.js create mode 100644 tests/baselines/reference/mergedInterfacesWithInheritedPrivates.errors.txt create mode 100644 tests/baselines/reference/mergedInterfacesWithInheritedPrivates.js create mode 100644 tests/baselines/reference/mergedInterfacesWithInheritedPrivates2.errors.txt create mode 100644 tests/baselines/reference/mergedInterfacesWithInheritedPrivates2.js create mode 100644 tests/baselines/reference/mergedInterfacesWithInheritedPrivates3.errors.txt create mode 100644 tests/baselines/reference/mergedInterfacesWithInheritedPrivates3.js create mode 100644 tests/baselines/reference/mergedInterfacesWithMultipleBases.js create mode 100644 tests/baselines/reference/mergedInterfacesWithMultipleBases2.js create mode 100644 tests/baselines/reference/mergedInterfacesWithMultipleBases3.js create mode 100644 tests/baselines/reference/mergedInterfacesWithMultipleBases4.errors.txt create mode 100644 tests/baselines/reference/mergedInterfacesWithMultipleBases4.js create mode 100644 tests/baselines/reference/mergedModuleDeclarationCodeGen.errors.txt create mode 100644 tests/baselines/reference/mergedModuleDeclarationCodeGen.js create mode 100644 tests/baselines/reference/mergedModuleDeclarationCodeGen2.js create mode 100644 tests/baselines/reference/mergedModuleDeclarationCodeGen3.js create mode 100644 tests/baselines/reference/mergedModuleDeclarationCodeGen4.js create mode 100644 tests/baselines/reference/mergedModuleDeclarationCodeGen5.js create mode 100644 tests/baselines/reference/mergedModuleDeclarationWithSharedExportedVar.js create mode 100644 tests/baselines/reference/methodContainingLocalFunction.js create mode 100644 tests/baselines/reference/methodSignatureDeclarationEmit1.js create mode 100644 tests/baselines/reference/methodSignaturesWithOverloads.errors.txt create mode 100644 tests/baselines/reference/methodSignaturesWithOverloads.js create mode 100644 tests/baselines/reference/methodSignaturesWithOverloads2.js create mode 100644 tests/baselines/reference/mismatchedClassConstructorVariable.errors.txt create mode 100644 tests/baselines/reference/mismatchedClassConstructorVariable.js create mode 100644 tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.errors.txt create mode 100644 tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.js create mode 100644 tests/baselines/reference/mismatchedGenericArguments1.js create mode 100644 tests/baselines/reference/missingImportAfterModuleImport.js create mode 100644 tests/baselines/reference/missingReturnStatement.js create mode 100644 tests/baselines/reference/missingReturnStatement1.js create mode 100644 tests/baselines/reference/missingSelf.js create mode 100644 tests/baselines/reference/missingTypeArguments1.errors.txt create mode 100644 tests/baselines/reference/missingTypeArguments1.js create mode 100644 tests/baselines/reference/missingTypeArguments2.errors.txt create mode 100644 tests/baselines/reference/missingTypeArguments2.js create mode 100644 tests/baselines/reference/missingTypeArguments3.js create mode 100644 tests/baselines/reference/mixingFunctionAndAmbientModule1.js create mode 100644 tests/baselines/reference/mixingStaticAndInstanceOverloads.errors.txt create mode 100644 tests/baselines/reference/mixingStaticAndInstanceOverloads.js create mode 100644 tests/baselines/reference/modFunctionCrash.js create mode 100644 tests/baselines/reference/modKeyword.js create mode 100644 tests/baselines/reference/moduleAliasAsFunctionArgument.js create mode 100644 tests/baselines/reference/moduleAliasInterface.js create mode 100644 tests/baselines/reference/moduleAndInterfaceSharingName.js create mode 100644 tests/baselines/reference/moduleAndInterfaceSharingName2.errors.txt create mode 100644 tests/baselines/reference/moduleAndInterfaceSharingName2.js create mode 100644 tests/baselines/reference/moduleAndInterfaceSharingName3.js create mode 100644 tests/baselines/reference/moduleAndInterfaceSharingName4.js create mode 100644 tests/baselines/reference/moduleAndInterfaceWithSameName.errors.txt create mode 100644 tests/baselines/reference/moduleAndInterfaceWithSameName.js create mode 100644 tests/baselines/reference/moduleAsBaseType.errors.txt create mode 100644 tests/baselines/reference/moduleAsBaseType.js create mode 100644 tests/baselines/reference/moduleAssignmentCompat1.errors.txt create mode 100644 tests/baselines/reference/moduleAssignmentCompat1.js create mode 100644 tests/baselines/reference/moduleAssignmentCompat2.errors.txt create mode 100644 tests/baselines/reference/moduleAssignmentCompat2.js create mode 100644 tests/baselines/reference/moduleAssignmentCompat3.errors.txt create mode 100644 tests/baselines/reference/moduleAssignmentCompat3.js create mode 100644 tests/baselines/reference/moduleAssignmentCompat4.errors.txt create mode 100644 tests/baselines/reference/moduleAssignmentCompat4.js create mode 100644 tests/baselines/reference/moduleClassArrayCodeGenTest.errors.txt create mode 100644 tests/baselines/reference/moduleClassArrayCodeGenTest.js create mode 100644 tests/baselines/reference/moduleCodeGenTest3.js create mode 100644 tests/baselines/reference/moduleCodeGenTest5.js create mode 100644 tests/baselines/reference/moduleCodegenTest4.js create mode 100644 tests/baselines/reference/moduleCrashBug1.errors.txt create mode 100644 tests/baselines/reference/moduleCrashBug1.js create mode 100644 tests/baselines/reference/moduleExports1.errors.txt create mode 100644 tests/baselines/reference/moduleExports1.js create mode 100644 tests/baselines/reference/moduleIdentifiers.js create mode 100644 tests/baselines/reference/moduleImport.errors.txt create mode 100644 tests/baselines/reference/moduleImport.js create mode 100644 tests/baselines/reference/moduleImportedForTypeArgumentPosition.js create mode 100644 tests/baselines/reference/moduleInTypePosition1.errors.txt create mode 100644 tests/baselines/reference/moduleInTypePosition1.js create mode 100644 tests/baselines/reference/moduleKeywordRepeatError.errors.txt create mode 100644 tests/baselines/reference/moduleMemberWithoutTypeAnnotation1.js create mode 100644 tests/baselines/reference/moduleMemberWithoutTypeAnnotation2.js create mode 100644 tests/baselines/reference/moduleMerge.js create mode 100644 tests/baselines/reference/moduleNewExportBug.errors.txt create mode 100644 tests/baselines/reference/moduleNewExportBug.js create mode 100644 tests/baselines/reference/moduleNoEmit.js create mode 100644 tests/baselines/reference/moduleOuterQualification.js create mode 100644 tests/baselines/reference/moduleProperty1.errors.txt create mode 100644 tests/baselines/reference/moduleProperty2.errors.txt create mode 100644 tests/baselines/reference/moduleProperty2.js create mode 100644 tests/baselines/reference/moduleRedifinitionErrors.js create mode 100644 tests/baselines/reference/moduleReopenedTypeOtherBlock.js create mode 100644 tests/baselines/reference/moduleReopenedTypeSameBlock.js create mode 100644 tests/baselines/reference/moduleScoping.errors.txt create mode 100644 tests/baselines/reference/moduleScoping.js create mode 100644 tests/baselines/reference/moduleScopingBug.js create mode 100644 tests/baselines/reference/moduleUnassignedVariable.js create mode 100644 tests/baselines/reference/moduleVariableArrayIndexer.js create mode 100644 tests/baselines/reference/moduleVariables.js create mode 100644 tests/baselines/reference/moduleVisibilityTest1.js create mode 100644 tests/baselines/reference/moduleVisibilityTest2.errors.txt create mode 100644 tests/baselines/reference/moduleVisibilityTest2.js create mode 100644 tests/baselines/reference/moduleVisibilityTest3.errors.txt create mode 100644 tests/baselines/reference/moduleVisibilityTest3.js create mode 100644 tests/baselines/reference/moduleWithNoValuesAsType.errors.txt create mode 100644 tests/baselines/reference/moduleWithNoValuesAsType.js create mode 100644 tests/baselines/reference/moduleWithStatementsOfEveryKind.js create mode 100644 tests/baselines/reference/moduleWithTryStatement1.js create mode 100644 tests/baselines/reference/moduleWithValuesAsType.errors.txt create mode 100644 tests/baselines/reference/moduleWithValuesAsType.js create mode 100644 tests/baselines/reference/module_augmentExistingAmbientVariable.errors.txt create mode 100644 tests/baselines/reference/module_augmentExistingAmbientVariable.js create mode 100644 tests/baselines/reference/module_augmentExistingVariable.errors.txt create mode 100644 tests/baselines/reference/module_augmentExistingVariable.js create mode 100644 tests/baselines/reference/moduledecl.errors.txt create mode 100644 tests/baselines/reference/multiCallOverloads.js create mode 100644 tests/baselines/reference/multiExtendsSplitInterfaces1.errors.txt create mode 100644 tests/baselines/reference/multiExtendsSplitInterfaces1.js create mode 100644 tests/baselines/reference/multiExtendsSplitInterfaces2.js create mode 100644 tests/baselines/reference/multiImportExport.errors.txt create mode 100644 tests/baselines/reference/multiImportExport.js create mode 100644 tests/baselines/reference/multiLineErrors.errors.txt create mode 100644 tests/baselines/reference/multiLineErrors.js create mode 100644 tests/baselines/reference/multiModuleClodule1.js create mode 100644 tests/baselines/reference/multiModuleFundule1.js create mode 100644 tests/baselines/reference/multipleBaseInterfaesWithIncompatibleProperties.errors.txt create mode 100644 tests/baselines/reference/multipleBaseInterfaesWithIncompatibleProperties.js create mode 100644 tests/baselines/reference/multipleClassPropertyModifiers.errors.txt create mode 100644 tests/baselines/reference/multipleClassPropertyModifiersErrors.errors.txt create mode 100644 tests/baselines/reference/multipleExportAssignments.errors.txt create mode 100644 tests/baselines/reference/multipleExportAssignments.js create mode 100644 tests/baselines/reference/multipleExportAssignmentsInAmbientDeclaration.errors.txt create mode 100644 tests/baselines/reference/multipleExportAssignmentsInAmbientDeclaration.js create mode 100644 tests/baselines/reference/multipleInheritance.errors.txt create mode 100644 tests/baselines/reference/multipleNumericIndexers.errors.txt create mode 100644 tests/baselines/reference/multipleNumericIndexers.js create mode 100644 tests/baselines/reference/multipleStringIndexers.errors.txt create mode 100644 tests/baselines/reference/multipleStringIndexers.js create mode 100644 tests/baselines/reference/multivar.errors.txt create mode 100644 tests/baselines/reference/multivar.js create mode 100644 tests/baselines/reference/mutrec.js create mode 100644 tests/baselines/reference/mutuallyRecursiveGenericBaseTypes1.js create mode 100644 tests/baselines/reference/mutuallyRecursiveGenericBaseTypes2.js create mode 100644 tests/baselines/reference/nameCollision.js create mode 100644 tests/baselines/reference/nameCollisions.errors.txt create mode 100644 tests/baselines/reference/nameCollisions.js create mode 100644 tests/baselines/reference/nameDelimitedBySlashes.js create mode 100644 tests/baselines/reference/nameWithFileExtension.errors.txt create mode 100644 tests/baselines/reference/nameWithFileExtension.js create mode 100644 tests/baselines/reference/nameWithRelativePaths.js create mode 100644 tests/baselines/reference/namedFunctionExpressionAssignedToClassProperty.js create mode 100644 tests/baselines/reference/namedFunctionExpressionCall.js create mode 100644 tests/baselines/reference/namedFunctionExpressionCallErrors.errors.txt create mode 100644 tests/baselines/reference/namedFunctionExpressionCallErrors.js create mode 100644 tests/baselines/reference/namedFunctionExpressionInModule.js create mode 100644 tests/baselines/reference/namespaces1.js create mode 100644 tests/baselines/reference/namespaces2.js create mode 100644 tests/baselines/reference/negateOperatorInvalidOperations.errors.txt create mode 100644 tests/baselines/reference/negateOperatorWithAnyOtherType.js create mode 100644 tests/baselines/reference/negateOperatorWithBooleanType.js create mode 100644 tests/baselines/reference/negateOperatorWithEnumType.js create mode 100644 tests/baselines/reference/negateOperatorWithNumberType.js create mode 100644 tests/baselines/reference/negateOperatorWithStringType.js create mode 100644 tests/baselines/reference/negativeZero.js create mode 100644 tests/baselines/reference/nestedClassDeclaration.errors.txt create mode 100644 tests/baselines/reference/nestedGenerics.js create mode 100644 tests/baselines/reference/nestedIfStatement.js create mode 100644 tests/baselines/reference/nestedIndexer.js create mode 100644 tests/baselines/reference/nestedInfinitelyExpandedRecursiveTypes.js create mode 100644 tests/baselines/reference/nestedModulePrivateAccess.js create mode 100644 tests/baselines/reference/nestedModules.js create mode 100644 tests/baselines/reference/nestedRecursiveLambda.js create mode 100644 tests/baselines/reference/nestedSelf.js create mode 100644 tests/baselines/reference/newArrays.js create mode 100644 tests/baselines/reference/newExpressionWithCast.errors.txt create mode 100644 tests/baselines/reference/newExpressionWithTypeParameterConstrainedToOuterTypeParameter.js create mode 100644 tests/baselines/reference/newFunctionImplicitAny.errors.txt create mode 100644 tests/baselines/reference/newFunctionImplicitAny.js create mode 100644 tests/baselines/reference/newMissingIdentifier.errors.txt create mode 100644 tests/baselines/reference/newNonReferenceType.errors.txt create mode 100644 tests/baselines/reference/newNonReferenceType.js create mode 100644 tests/baselines/reference/newOnInstanceSymbol.errors.txt create mode 100644 tests/baselines/reference/newOnInstanceSymbol.js create mode 100644 tests/baselines/reference/newOperator.errors.txt create mode 100644 tests/baselines/reference/newOperatorConformance.js create mode 100644 tests/baselines/reference/newOperatorErrorCases.errors.txt create mode 100644 tests/baselines/reference/noCatchBlock.js create mode 100644 tests/baselines/reference/noCatchBlock.js.map create mode 100644 tests/baselines/reference/noCatchBlock.sourcemap.txt create mode 100644 tests/baselines/reference/noCollisionThisExpressionAndClassInGlobal.js create mode 100644 tests/baselines/reference/noCollisionThisExpressionAndLocalVarInAccessors.errors.txt create mode 100644 tests/baselines/reference/noCollisionThisExpressionAndLocalVarInConstructor.js create mode 100644 tests/baselines/reference/noCollisionThisExpressionAndLocalVarInFunction.js create mode 100644 tests/baselines/reference/noCollisionThisExpressionAndLocalVarInLambda.js create mode 100644 tests/baselines/reference/noCollisionThisExpressionAndLocalVarInMethod.js create mode 100644 tests/baselines/reference/noCollisionThisExpressionAndLocalVarInProperty.js create mode 100644 tests/baselines/reference/noCollisionThisExpressionAndVarInGlobal.js create mode 100644 tests/baselines/reference/noCollisionThisExpressionInFunctionAndVarInGlobal.js create mode 100644 tests/baselines/reference/noConstraintInReturnType1.js create mode 100644 tests/baselines/reference/noErrorsInCallback.errors.txt create mode 100644 tests/baselines/reference/noErrorsInCallback.js create mode 100644 tests/baselines/reference/noImplicitAnyAndPrivateMembersWithoutTypeAnnotations.js create mode 100644 tests/baselines/reference/noImplicitAnyForIn.errors.txt create mode 100644 tests/baselines/reference/noImplicitAnyForIn.js create mode 100644 tests/baselines/reference/noImplicitAnyForMethodParameters.errors.txt create mode 100644 tests/baselines/reference/noImplicitAnyForMethodParameters.js create mode 100644 tests/baselines/reference/noImplicitAnyForwardReferencedInterface.errors.txt create mode 100644 tests/baselines/reference/noImplicitAnyForwardReferencedInterface.js create mode 100644 tests/baselines/reference/noImplicitAnyFunctionExpressionAssignment.errors.txt create mode 100644 tests/baselines/reference/noImplicitAnyFunctionExpressionAssignment.js create mode 100644 tests/baselines/reference/noImplicitAnyFunctions.errors.txt create mode 100644 tests/baselines/reference/noImplicitAnyFunctions.js create mode 100644 tests/baselines/reference/noImplicitAnyInBareInterface.errors.txt create mode 100644 tests/baselines/reference/noImplicitAnyInBareInterface.js create mode 100644 tests/baselines/reference/noImplicitAnyInContextuallyTypesFunctionParamter.js create mode 100644 tests/baselines/reference/noImplicitAnyIndexing.errors.txt create mode 100644 tests/baselines/reference/noImplicitAnyIndexing.js create mode 100644 tests/baselines/reference/noImplicitAnyModule.errors.txt create mode 100644 tests/baselines/reference/noImplicitAnyModule.js create mode 100644 tests/baselines/reference/noImplicitAnyParametersInAmbientClass.errors.txt create mode 100644 tests/baselines/reference/noImplicitAnyParametersInAmbientClass.js create mode 100644 tests/baselines/reference/noImplicitAnyParametersInAmbientFunctions.errors.txt create mode 100644 tests/baselines/reference/noImplicitAnyParametersInAmbientFunctions.js create mode 100644 tests/baselines/reference/noImplicitAnyParametersInAmbientModule.errors.txt create mode 100644 tests/baselines/reference/noImplicitAnyParametersInAmbientModule.js create mode 100644 tests/baselines/reference/noImplicitAnyParametersInBareFunctions.errors.txt create mode 100644 tests/baselines/reference/noImplicitAnyParametersInBareFunctions.js create mode 100644 tests/baselines/reference/noImplicitAnyParametersInClass.errors.txt create mode 100644 tests/baselines/reference/noImplicitAnyParametersInClass.js create mode 100644 tests/baselines/reference/noImplicitAnyParametersInInterface.errors.txt create mode 100644 tests/baselines/reference/noImplicitAnyParametersInInterface.js create mode 100644 tests/baselines/reference/noImplicitAnyParametersInModule.errors.txt create mode 100644 tests/baselines/reference/noImplicitAnyParametersInModule.js create mode 100644 tests/baselines/reference/noImplicitAnyReferencingDeclaredInterface.errors.txt create mode 100644 tests/baselines/reference/noImplicitAnyReferencingDeclaredInterface.js create mode 100644 tests/baselines/reference/noImplicitAnyStringIndexerOnObject.errors.txt create mode 100644 tests/baselines/reference/noImplicitAnyStringIndexerOnObject.js create mode 100644 tests/baselines/reference/noImplicitAnyWithOverloads.errors.txt create mode 100644 tests/baselines/reference/noImplicitAnyWithOverloads.js create mode 100644 tests/baselines/reference/noSelfOnVars.js create mode 100644 tests/baselines/reference/noTypeArgumentOnReturnType1.errors.txt create mode 100644 tests/baselines/reference/noTypeArgumentOnReturnType1.js create mode 100644 tests/baselines/reference/nominalSubtypeCheckOfTypeParameter.js create mode 100644 tests/baselines/reference/nominalSubtypeCheckOfTypeParameter2.js create mode 100644 tests/baselines/reference/nonArrayRestArgs.errors.txt create mode 100644 tests/baselines/reference/nonArrayRestArgs.js create mode 100644 tests/baselines/reference/nonConflictingRecursiveBaseTypeMembers.js create mode 100644 tests/baselines/reference/nonContextuallyTypedLogicalOr.errors.txt create mode 100644 tests/baselines/reference/nonContextuallyTypedLogicalOr.js create mode 100644 tests/baselines/reference/nonExportedElementsOfMergedModules.errors.txt create mode 100644 tests/baselines/reference/nonExportedElementsOfMergedModules.js create mode 100644 tests/baselines/reference/nonGenericClassExtendingGenericClassWithAny.js create mode 100644 tests/baselines/reference/nonInstantiatedModule.js create mode 100644 tests/baselines/reference/null.js create mode 100644 tests/baselines/reference/nullAssignableToEveryType.js create mode 100644 tests/baselines/reference/nullAssignedToUndefined.errors.txt create mode 100644 tests/baselines/reference/nullAssignedToUndefined.js create mode 100644 tests/baselines/reference/nullIsSubtypeOfEverythingButUndefined.js create mode 100644 tests/baselines/reference/nullKeyword.errors.txt create mode 100644 tests/baselines/reference/nullKeyword.js create mode 100644 tests/baselines/reference/numLit.errors.txt create mode 100644 tests/baselines/reference/numberAsInLHS.js create mode 100644 tests/baselines/reference/numberAssignableToEnum.js create mode 100644 tests/baselines/reference/numberOnLeftSideOfInExpression.js create mode 100644 tests/baselines/reference/numberPropertyAccess.js create mode 100644 tests/baselines/reference/numberToString.errors.txt create mode 100644 tests/baselines/reference/numberToString.js create mode 100644 tests/baselines/reference/numericClassMembers1.errors.txt create mode 100644 tests/baselines/reference/numericClassMembers1.js create mode 100644 tests/baselines/reference/numericIndexExpressions.errors.txt create mode 100644 tests/baselines/reference/numericIndexExpressions.js create mode 100644 tests/baselines/reference/numericIndexerConstrainsPropertyDeclarations.errors.txt create mode 100644 tests/baselines/reference/numericIndexerConstrainsPropertyDeclarations2.errors.txt create mode 100644 tests/baselines/reference/numericIndexerConstrainsPropertyDeclarations2.js create mode 100644 tests/baselines/reference/numericIndexerConstraint.errors.txt create mode 100644 tests/baselines/reference/numericIndexerConstraint.js create mode 100644 tests/baselines/reference/numericIndexerConstraint1.errors.txt create mode 100644 tests/baselines/reference/numericIndexerConstraint1.js create mode 100644 tests/baselines/reference/numericIndexerConstraint2.errors.txt create mode 100644 tests/baselines/reference/numericIndexerConstraint2.js create mode 100644 tests/baselines/reference/numericIndexerConstraint3.js create mode 100644 tests/baselines/reference/numericIndexerConstraint4.js create mode 100644 tests/baselines/reference/numericIndexerConstraint5.errors.txt create mode 100644 tests/baselines/reference/numericIndexerConstraint5.js create mode 100644 tests/baselines/reference/numericIndexerTyping1.errors.txt create mode 100644 tests/baselines/reference/numericIndexerTyping1.js create mode 100644 tests/baselines/reference/numericIndexerTyping2.errors.txt create mode 100644 tests/baselines/reference/numericIndexerTyping2.js create mode 100644 tests/baselines/reference/numericIndexingResults.js create mode 100644 tests/baselines/reference/numericMethodName1.js create mode 100644 tests/baselines/reference/numericNamedPropertyDuplicates.errors.txt create mode 100644 tests/baselines/reference/numericStringNamedPropertyEquivalence.errors.txt create mode 100644 tests/baselines/reference/numericStringNamedPropertyEquivalence.js create mode 100644 tests/baselines/reference/objectCreationExpressionInFunctionParameter.errors.txt create mode 100644 tests/baselines/reference/objectCreationOfElementAccessExpression.errors.txt create mode 100644 tests/baselines/reference/objectCreationOfElementAccessExpression.js create mode 100644 tests/baselines/reference/objectIndexer.js create mode 100644 tests/baselines/reference/objectLitArrayDeclNoNew.errors.txt create mode 100644 tests/baselines/reference/objectLitGetterSetter.js create mode 100644 tests/baselines/reference/objectLitIndexerContextualType.errors.txt create mode 100644 tests/baselines/reference/objectLitIndexerContextualType.js create mode 100644 tests/baselines/reference/objectLitPropertyScoping.errors.txt create mode 100644 tests/baselines/reference/objectLitStructuralTypeMismatch.errors.txt create mode 100644 tests/baselines/reference/objectLitStructuralTypeMismatch.js create mode 100644 tests/baselines/reference/objectLitTargetTypeCallSite.errors.txt create mode 100644 tests/baselines/reference/objectLitTargetTypeCallSite.js create mode 100644 tests/baselines/reference/objectLiteral1.js create mode 100644 tests/baselines/reference/objectLiteral2.js create mode 100644 tests/baselines/reference/objectLiteralArraySpecialization.js create mode 100644 tests/baselines/reference/objectLiteralDeclarationGeneration1.js create mode 100644 tests/baselines/reference/objectLiteralErrors.errors.txt create mode 100644 tests/baselines/reference/objectLiteralErrors.js create mode 100644 tests/baselines/reference/objectLiteralErrorsES3.errors.txt create mode 100644 tests/baselines/reference/objectLiteralFunctionArgContextualTyping.errors.txt create mode 100644 tests/baselines/reference/objectLiteralFunctionArgContextualTyping.js create mode 100644 tests/baselines/reference/objectLiteralFunctionArgContextualTyping2.errors.txt create mode 100644 tests/baselines/reference/objectLiteralFunctionArgContextualTyping2.js create mode 100644 tests/baselines/reference/objectLiteralGettersAndSetters.errors.txt create mode 100644 tests/baselines/reference/objectLiteralIndexerErrors.errors.txt create mode 100644 tests/baselines/reference/objectLiteralIndexerErrors.js create mode 100644 tests/baselines/reference/objectLiteralIndexers.js create mode 100644 tests/baselines/reference/objectLiteralParameterResolution.errors.txt create mode 100644 tests/baselines/reference/objectLiteralParameterResolution.js create mode 100644 tests/baselines/reference/objectLiteralReferencingInternalProperties.errors.txt create mode 100644 tests/baselines/reference/objectLiteralReferencingInternalProperties.js create mode 100644 tests/baselines/reference/objectLiteralWidened.js create mode 100644 tests/baselines/reference/objectLiteralWithGetAccessorInsideFunction.errors.txt create mode 100644 tests/baselines/reference/objectLiteralWithNumericPropertyName.errors.txt create mode 100644 tests/baselines/reference/objectLiteralWithNumericPropertyName.js create mode 100644 tests/baselines/reference/objectMembersOnTypes.js create mode 100644 tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.errors.txt create mode 100644 tests/baselines/reference/objectTypeHidingMembersOfExtendedObject.js create mode 100644 tests/baselines/reference/objectTypeHidingMembersOfObject.js create mode 100644 tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.errors.txt create mode 100644 tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat.js create mode 100644 tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.errors.txt create mode 100644 tests/baselines/reference/objectTypeHidingMembersOfObjectAssignmentCompat2.js create mode 100644 tests/baselines/reference/objectTypeLiteralSyntax.js create mode 100644 tests/baselines/reference/objectTypeLiteralSyntax2.errors.txt create mode 100644 tests/baselines/reference/objectTypePropertyAccess.js create mode 100644 tests/baselines/reference/objectTypeWithCallSignatureAppearsToBeFunctionType.js create mode 100644 tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.js create mode 100644 tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunction.js create mode 100644 tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.errors.txt create mode 100644 tests/baselines/reference/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.js create mode 100644 tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.errors.txt create mode 100644 tests/baselines/reference/objectTypeWithConstructSignatureAppearsToBeFunctionType.js create mode 100644 tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.js create mode 100644 tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunction.js create mode 100644 tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.errors.txt create mode 100644 tests/baselines/reference/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.js create mode 100644 tests/baselines/reference/objectTypeWithDuplicateNumericProperty.errors.txt create mode 100644 tests/baselines/reference/objectTypeWithDuplicateNumericProperty.js create mode 100644 tests/baselines/reference/objectTypeWithNumericProperty.js create mode 100644 tests/baselines/reference/objectTypeWithRecursiveWrappedProperty.errors.txt create mode 100644 tests/baselines/reference/objectTypeWithRecursiveWrappedProperty.js create mode 100644 tests/baselines/reference/objectTypeWithRecursiveWrappedProperty2.errors.txt create mode 100644 tests/baselines/reference/objectTypeWithRecursiveWrappedProperty2.js create mode 100644 tests/baselines/reference/objectTypeWithRecursiveWrappedPropertyCheckedNominally.errors.txt create mode 100644 tests/baselines/reference/objectTypeWithRecursiveWrappedPropertyCheckedNominally.js create mode 100644 tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.errors.txt create mode 100644 tests/baselines/reference/objectTypeWithStringIndexerHidingObjectIndexer.js create mode 100644 tests/baselines/reference/objectTypeWithStringNamedNumericProperty.js create mode 100644 tests/baselines/reference/objectTypeWithStringNamedPropertyOfIllegalCharacters.js create mode 100644 tests/baselines/reference/objectTypesIdentity.js create mode 100644 tests/baselines/reference/objectTypesIdentity2.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithCallSignatures.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithCallSignatures2.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithCallSignatures3.errors.txt create mode 100644 tests/baselines/reference/objectTypesIdentityWithCallSignatures3.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithCallSignaturesWithOverloads.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithComplexConstraints.errors.txt create mode 100644 tests/baselines/reference/objectTypesIdentityWithComplexConstraints.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithConstructSignatures.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithConstructSignatures2.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithConstructSignaturesDifferingParamCounts.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericCallSignatures2.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.errors.txt create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.errors.txt create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams2.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericCallSignaturesOptionalParams3.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.errors.txt create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.errors.txt create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterNames.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams2.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithGenericConstructSignaturesOptionalParams3.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithNumericIndexers1.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithNumericIndexers2.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithNumericIndexers3.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithOptionality.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithPrivates.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithPrivates2.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithPublics.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithStringIndexers.js create mode 100644 tests/baselines/reference/objectTypesIdentityWithStringIndexers2.js create mode 100644 tests/baselines/reference/objectTypesWithOptionalProperties.errors.txt create mode 100644 tests/baselines/reference/objectTypesWithOptionalProperties2.errors.txt create mode 100644 tests/baselines/reference/objectTypesWithPredefinedTypesAsName.errors.txt create mode 100644 tests/baselines/reference/objectTypesWithPredefinedTypesAsName.js create mode 100644 tests/baselines/reference/objectTypesWithPredefinedTypesAsName2.errors.txt create mode 100644 tests/baselines/reference/operatorAddNullUndefined.errors.txt create mode 100644 tests/baselines/reference/operatorAddNullUndefined.js create mode 100644 tests/baselines/reference/optionalAccessorsInInterface1.js create mode 100644 tests/baselines/reference/optionalArgsWithDefaultValues.errors.txt create mode 100644 tests/baselines/reference/optionalConstructorArgInSuper.js create mode 100644 tests/baselines/reference/optionalFunctionArgAssignability.errors.txt create mode 100644 tests/baselines/reference/optionalFunctionArgAssignability.js create mode 100644 tests/baselines/reference/optionalParamArgsTest.errors.txt create mode 100644 tests/baselines/reference/optionalParamAssignmentCompat.errors.txt create mode 100644 tests/baselines/reference/optionalParamAssignmentCompat.js create mode 100644 tests/baselines/reference/optionalParamInOverride.js create mode 100644 tests/baselines/reference/optionalParamReferencingOtherParams1.js create mode 100644 tests/baselines/reference/optionalParamReferencingOtherParams2.errors.txt create mode 100644 tests/baselines/reference/optionalParamReferencingOtherParams2.js create mode 100644 tests/baselines/reference/optionalParamReferencingOtherParams3.errors.txt create mode 100644 tests/baselines/reference/optionalParamReferencingOtherParams3.js create mode 100644 tests/baselines/reference/optionalParamTypeComparison.errors.txt create mode 100644 tests/baselines/reference/optionalParamTypeComparison.js create mode 100644 tests/baselines/reference/optionalPropertiesInClasses.errors.txt create mode 100644 tests/baselines/reference/optionalPropertiesInClasses.js create mode 100644 tests/baselines/reference/optionalPropertiesSyntax.errors.txt create mode 100644 tests/baselines/reference/optionalPropertiesTest.errors.txt create mode 100644 tests/baselines/reference/optionalPropertiesTest.js create mode 100644 tests/baselines/reference/optionalSetterParam.errors.txt create mode 100644 tests/baselines/reference/orderMattersForSignatureGroupIdentity.errors.txt create mode 100644 tests/baselines/reference/orderMattersForSignatureGroupIdentity.js create mode 100644 tests/baselines/reference/out-flag.js create mode 100644 tests/baselines/reference/out-flag.js.map create mode 100644 tests/baselines/reference/out-flag.sourcemap.txt create mode 100644 tests/baselines/reference/overEagerReturnTypeSpecialization.errors.txt create mode 100644 tests/baselines/reference/overEagerReturnTypeSpecialization.js create mode 100644 tests/baselines/reference/overload1.errors.txt create mode 100644 tests/baselines/reference/overload1.js create mode 100644 tests/baselines/reference/overload2.js create mode 100644 tests/baselines/reference/overloadAssignmentCompat.errors.txt create mode 100644 tests/baselines/reference/overloadAssignmentCompat.js create mode 100644 tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries.js create mode 100644 tests/baselines/reference/overloadBindingAcrossDeclarationBoundaries2.js create mode 100644 tests/baselines/reference/overloadCallTest.js create mode 100644 tests/baselines/reference/overloadCrash.js create mode 100644 tests/baselines/reference/overloadEquivalenceWithStatics.js create mode 100644 tests/baselines/reference/overloadGenericFunctionWithRestArgs.js create mode 100644 tests/baselines/reference/overloadModifiersMustAgree.errors.txt create mode 100644 tests/baselines/reference/overloadModifiersMustAgree.js create mode 100644 tests/baselines/reference/overloadOnConstAsTypeAnnotation.errors.txt create mode 100644 tests/baselines/reference/overloadOnConstConstraintChecks1.js create mode 100644 tests/baselines/reference/overloadOnConstConstraintChecks2.js create mode 100644 tests/baselines/reference/overloadOnConstConstraintChecks3.js create mode 100644 tests/baselines/reference/overloadOnConstConstraintChecks4.errors.txt create mode 100644 tests/baselines/reference/overloadOnConstConstraintChecks4.js create mode 100644 tests/baselines/reference/overloadOnConstDuplicateOverloads1.errors.txt create mode 100644 tests/baselines/reference/overloadOnConstDuplicateOverloads1.js create mode 100644 tests/baselines/reference/overloadOnConstInBaseWithBadImplementationInDerived.errors.txt create mode 100644 tests/baselines/reference/overloadOnConstInBaseWithBadImplementationInDerived.js create mode 100644 tests/baselines/reference/overloadOnConstInCallback1.errors.txt create mode 100644 tests/baselines/reference/overloadOnConstInCallback1.js create mode 100644 tests/baselines/reference/overloadOnConstInObjectLiteralImplementingAnInterface.errors.txt create mode 100644 tests/baselines/reference/overloadOnConstInObjectLiteralImplementingAnInterface.js create mode 100644 tests/baselines/reference/overloadOnConstInheritance1.js create mode 100644 tests/baselines/reference/overloadOnConstInheritance2.errors.txt create mode 100644 tests/baselines/reference/overloadOnConstInheritance2.js create mode 100644 tests/baselines/reference/overloadOnConstInheritance3.errors.txt create mode 100644 tests/baselines/reference/overloadOnConstInheritance3.js create mode 100644 tests/baselines/reference/overloadOnConstInheritance4.errors.txt create mode 100644 tests/baselines/reference/overloadOnConstInheritance4.js create mode 100644 tests/baselines/reference/overloadOnConstNoAnyImplementation.errors.txt create mode 100644 tests/baselines/reference/overloadOnConstNoAnyImplementation.js create mode 100644 tests/baselines/reference/overloadOnConstNoAnyImplementation2.errors.txt create mode 100644 tests/baselines/reference/overloadOnConstNoAnyImplementation2.js create mode 100644 tests/baselines/reference/overloadOnConstNoNonSpecializedSignature.errors.txt create mode 100644 tests/baselines/reference/overloadOnConstNoNonSpecializedSignature.js create mode 100644 tests/baselines/reference/overloadOnConstNoStringImplementation.errors.txt create mode 100644 tests/baselines/reference/overloadOnConstNoStringImplementation.js create mode 100644 tests/baselines/reference/overloadOnConstNoStringImplementation2.errors.txt create mode 100644 tests/baselines/reference/overloadOnConstNoStringImplementation2.js create mode 100644 tests/baselines/reference/overloadOnConstantsInvalidOverload1.errors.txt create mode 100644 tests/baselines/reference/overloadOnConstantsInvalidOverload1.js create mode 100644 tests/baselines/reference/overloadOnGenericArity.js create mode 100644 tests/baselines/reference/overloadOnGenericClassAndNonGenericClass.js create mode 100644 tests/baselines/reference/overloadResolution.errors.txt create mode 100644 tests/baselines/reference/overloadResolution.js create mode 100644 tests/baselines/reference/overloadResolutionClassConstructors.errors.txt create mode 100644 tests/baselines/reference/overloadResolutionClassConstructors.js create mode 100644 tests/baselines/reference/overloadResolutionConstructors.errors.txt create mode 100644 tests/baselines/reference/overloadResolutionConstructors.js create mode 100644 tests/baselines/reference/overloadResolutionOnDefaultConstructor1.js create mode 100644 tests/baselines/reference/overloadResolutionOverCTLambda.errors.txt create mode 100644 tests/baselines/reference/overloadResolutionOverCTLambda.js create mode 100644 tests/baselines/reference/overloadResolutionOverNonCTLambdas.js create mode 100644 tests/baselines/reference/overloadResolutionOverNonCTObjectLit.js create mode 100644 tests/baselines/reference/overloadResolutionTest1.errors.txt create mode 100644 tests/baselines/reference/overloadResolutionTest1.js create mode 100644 tests/baselines/reference/overloadResolutionWithAny.js create mode 100644 tests/baselines/reference/overloadRet.js create mode 100644 tests/baselines/reference/overloadReturnTypes.js create mode 100644 tests/baselines/reference/overloadWithCallbacksWithDifferingOptionalityOnArgs.js create mode 100644 tests/baselines/reference/overloadedStaticMethodSpecialization.js create mode 100644 tests/baselines/reference/overloadingOnConstants1.errors.txt create mode 100644 tests/baselines/reference/overloadingOnConstants1.js create mode 100644 tests/baselines/reference/overloadingOnConstants2.errors.txt create mode 100644 tests/baselines/reference/overloadingOnConstants2.js create mode 100644 tests/baselines/reference/overloadingOnConstantsInImplementation.errors.txt create mode 100644 tests/baselines/reference/overloadingOnConstantsInImplementation.js create mode 100644 tests/baselines/reference/overloadingStaticFunctionsInFunctions.errors.txt create mode 100644 tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.errors.txt create mode 100644 tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.js create mode 100644 tests/baselines/reference/overloadsAndTypeArgumentArity.js create mode 100644 tests/baselines/reference/overloadsAndTypeArgumentArityErrors.errors.txt create mode 100644 tests/baselines/reference/overloadsAndTypeArgumentArityErrors.js create mode 100644 tests/baselines/reference/overloadsInDifferentContainersDisagreeOnAmbient.errors.txt create mode 100644 tests/baselines/reference/overloadsInDifferentContainersDisagreeOnAmbient.js create mode 100644 tests/baselines/reference/overloadsWithProvisionalErrors.errors.txt create mode 100644 tests/baselines/reference/overloadsWithProvisionalErrors.js create mode 100644 tests/baselines/reference/overloadsWithinClasses.errors.txt create mode 100644 tests/baselines/reference/overloadsWithinClasses.js create mode 100644 tests/baselines/reference/overridingPrivateStaticMembers.errors.txt create mode 100644 tests/baselines/reference/overridingPrivateStaticMembers.js create mode 100644 tests/baselines/reference/paramPropertiesInSignatures.errors.txt create mode 100644 tests/baselines/reference/paramPropertiesInSignatures.js create mode 100644 tests/baselines/reference/parameterPropertyInConstructor1.errors.txt create mode 100644 tests/baselines/reference/parameterPropertyInConstructor1.js create mode 100644 tests/baselines/reference/parameterPropertyInConstructor2.errors.txt create mode 100644 tests/baselines/reference/parameterPropertyInConstructor2.js create mode 100644 tests/baselines/reference/parameterPropertyInitializerInInitializers.js create mode 100644 tests/baselines/reference/parameterPropertyOutsideConstructor.errors.txt create mode 100644 tests/baselines/reference/parameterPropertyOutsideConstructor.js create mode 100644 tests/baselines/reference/parameterPropertyReferencingOtherParameter.js create mode 100644 tests/baselines/reference/parameterReferencesOtherParameter1.js create mode 100644 tests/baselines/reference/parameterReferencesOtherParameter2.js create mode 100644 tests/baselines/reference/parametersWithNoAnnotationAreAny.js create mode 100644 tests/baselines/reference/parse1.errors.txt create mode 100644 tests/baselines/reference/parse2.errors.txt create mode 100644 tests/baselines/reference/parseShortform.js create mode 100644 tests/baselines/reference/parseTypes.errors.txt create mode 100644 tests/baselines/reference/parseTypes.js create mode 100644 tests/baselines/reference/parser0_004152.errors.txt create mode 100644 tests/baselines/reference/parser10.1.1-8gs.errors.txt create mode 100644 tests/baselines/reference/parser10.1.1-8gs.js create mode 100644 tests/baselines/reference/parser15.4.4.14-9-2.errors.txt create mode 100644 tests/baselines/reference/parser15.4.4.14-9-2.js create mode 100644 tests/baselines/reference/parser509534.errors.txt create mode 100644 tests/baselines/reference/parser509534.js create mode 100644 tests/baselines/reference/parser509546.errors.txt create mode 100644 tests/baselines/reference/parser509546.js create mode 100644 tests/baselines/reference/parser509546_1.errors.txt create mode 100644 tests/baselines/reference/parser509546_1.js create mode 100644 tests/baselines/reference/parser509546_2.errors.txt create mode 100644 tests/baselines/reference/parser509546_2.js create mode 100644 tests/baselines/reference/parser509618.errors.txt create mode 100644 tests/baselines/reference/parser509630.errors.txt create mode 100644 tests/baselines/reference/parser509667.errors.txt create mode 100644 tests/baselines/reference/parser509668.errors.txt create mode 100644 tests/baselines/reference/parser509669.errors.txt create mode 100644 tests/baselines/reference/parser509677.js create mode 100644 tests/baselines/reference/parser509693.errors.txt create mode 100644 tests/baselines/reference/parser509693.js create mode 100644 tests/baselines/reference/parser509698.errors.txt create mode 100644 tests/baselines/reference/parser509698.js create mode 100644 tests/baselines/reference/parser512084.errors.txt create mode 100644 tests/baselines/reference/parser512097.errors.txt create mode 100644 tests/baselines/reference/parser512325.errors.txt create mode 100644 tests/baselines/reference/parser519458.errors.txt create mode 100644 tests/baselines/reference/parser521128.errors.txt create mode 100644 tests/baselines/reference/parser536727.errors.txt create mode 100644 tests/baselines/reference/parser536727.js create mode 100644 tests/baselines/reference/parser537152.js create mode 100644 tests/baselines/reference/parser553699.errors.txt create mode 100644 tests/baselines/reference/parser553699.js create mode 100644 tests/baselines/reference/parser566700.errors.txt create mode 100644 tests/baselines/reference/parser579071.js create mode 100644 tests/baselines/reference/parser585151.errors.txt create mode 100644 tests/baselines/reference/parser596700.errors.txt create mode 100644 tests/baselines/reference/parser618973.errors.txt create mode 100644 tests/baselines/reference/parser630933.errors.txt create mode 100644 tests/baselines/reference/parser642331.js create mode 100644 tests/baselines/reference/parser642331_1.js create mode 100644 tests/baselines/reference/parser643728.js create mode 100644 tests/baselines/reference/parser645086_1.errors.txt create mode 100644 tests/baselines/reference/parser645086_2.errors.txt create mode 100644 tests/baselines/reference/parser645086_3.errors.txt create mode 100644 tests/baselines/reference/parser645086_4.errors.txt create mode 100644 tests/baselines/reference/parser645484.js create mode 100644 tests/baselines/reference/parser768531.js create mode 100644 tests/baselines/reference/parserAccessibilityAfterStatic1.errors.txt create mode 100644 tests/baselines/reference/parserAccessibilityAfterStatic10.errors.txt create mode 100644 tests/baselines/reference/parserAccessibilityAfterStatic11.js create mode 100644 tests/baselines/reference/parserAccessibilityAfterStatic14.js create mode 100644 tests/baselines/reference/parserAccessibilityAfterStatic2.js create mode 100644 tests/baselines/reference/parserAccessibilityAfterStatic3.js create mode 100644 tests/baselines/reference/parserAccessibilityAfterStatic4.js create mode 100644 tests/baselines/reference/parserAccessibilityAfterStatic5.js create mode 100644 tests/baselines/reference/parserAccessibilityAfterStatic6.errors.txt create mode 100644 tests/baselines/reference/parserAccessibilityAfterStatic7.errors.txt create mode 100644 tests/baselines/reference/parserAccessors1.errors.txt create mode 100644 tests/baselines/reference/parserAccessors1.js create mode 100644 tests/baselines/reference/parserAccessors10.errors.txt create mode 100644 tests/baselines/reference/parserAccessors2.js create mode 100644 tests/baselines/reference/parserAccessors3.errors.txt create mode 100644 tests/baselines/reference/parserAccessors3.js create mode 100644 tests/baselines/reference/parserAccessors4.js create mode 100644 tests/baselines/reference/parserAccessors5.errors.txt create mode 100644 tests/baselines/reference/parserAccessors6.errors.txt create mode 100644 tests/baselines/reference/parserAccessors7.errors.txt create mode 100644 tests/baselines/reference/parserAccessors8.errors.txt create mode 100644 tests/baselines/reference/parserAccessors9.errors.txt create mode 100644 tests/baselines/reference/parserAdditiveExpression1.errors.txt create mode 100644 tests/baselines/reference/parserAdditiveExpression1.js create mode 100644 tests/baselines/reference/parserAmbiguity1.errors.txt create mode 100644 tests/baselines/reference/parserAmbiguity1.js create mode 100644 tests/baselines/reference/parserAmbiguity2.errors.txt create mode 100644 tests/baselines/reference/parserAmbiguity2.js create mode 100644 tests/baselines/reference/parserAmbiguity3.errors.txt create mode 100644 tests/baselines/reference/parserAmbiguity3.js create mode 100644 tests/baselines/reference/parserArgumentList1.errors.txt create mode 100644 tests/baselines/reference/parserArgumentList1.js create mode 100644 tests/baselines/reference/parserArrayLiteralExpression1.js create mode 100644 tests/baselines/reference/parserArrayLiteralExpression10.js create mode 100644 tests/baselines/reference/parserArrayLiteralExpression11.js create mode 100644 tests/baselines/reference/parserArrayLiteralExpression12.js create mode 100644 tests/baselines/reference/parserArrayLiteralExpression13.js create mode 100644 tests/baselines/reference/parserArrayLiteralExpression14.js create mode 100644 tests/baselines/reference/parserArrayLiteralExpression15.js create mode 100644 tests/baselines/reference/parserArrayLiteralExpression2.js create mode 100644 tests/baselines/reference/parserArrayLiteralExpression3.js create mode 100644 tests/baselines/reference/parserArrayLiteralExpression4.js create mode 100644 tests/baselines/reference/parserArrayLiteralExpression5.js create mode 100644 tests/baselines/reference/parserArrayLiteralExpression6.js create mode 100644 tests/baselines/reference/parserArrayLiteralExpression7.js create mode 100644 tests/baselines/reference/parserArrayLiteralExpression8.js create mode 100644 tests/baselines/reference/parserArrayLiteralExpression9.js create mode 100644 tests/baselines/reference/parserArrowFunctionExpression1.errors.txt create mode 100644 tests/baselines/reference/parserArrowFunctionExpression1.js create mode 100644 tests/baselines/reference/parserArrowFunctionExpression2.errors.txt create mode 100644 tests/baselines/reference/parserArrowFunctionExpression3.errors.txt create mode 100644 tests/baselines/reference/parserArrowFunctionExpression4.errors.txt create mode 100644 tests/baselines/reference/parserArrowFunctionExpression4.js create mode 100644 tests/baselines/reference/parserAssignmentExpression1.errors.txt create mode 100644 tests/baselines/reference/parserAssignmentExpression1.js create mode 100644 tests/baselines/reference/parserAstSpans1.errors.txt create mode 100644 tests/baselines/reference/parserAutomaticSemicolonInsertion1.errors.txt create mode 100644 tests/baselines/reference/parserAutomaticSemicolonInsertion1.js create mode 100644 tests/baselines/reference/parserBlockStatement1.d.errors.txt create mode 100644 tests/baselines/reference/parserBreakStatement1.d.errors.txt create mode 100644 tests/baselines/reference/parserCastVersusArrowFunction1.errors.txt create mode 100644 tests/baselines/reference/parserCastVersusArrowFunction1.js create mode 100644 tests/baselines/reference/parserCatchClauseWithTypeAnnotation1.errors.txt create mode 100644 tests/baselines/reference/parserClass1.errors.txt create mode 100644 tests/baselines/reference/parserClass1.js create mode 100644 tests/baselines/reference/parserClass2.errors.txt create mode 100644 tests/baselines/reference/parserClass2.js create mode 100644 tests/baselines/reference/parserClassDeclaration1.errors.txt create mode 100644 tests/baselines/reference/parserClassDeclaration10.errors.txt create mode 100644 tests/baselines/reference/parserClassDeclaration10.js create mode 100644 tests/baselines/reference/parserClassDeclaration11.errors.txt create mode 100644 tests/baselines/reference/parserClassDeclaration11.js create mode 100644 tests/baselines/reference/parserClassDeclaration12.errors.txt create mode 100644 tests/baselines/reference/parserClassDeclaration12.js create mode 100644 tests/baselines/reference/parserClassDeclaration13.errors.txt create mode 100644 tests/baselines/reference/parserClassDeclaration13.js create mode 100644 tests/baselines/reference/parserClassDeclaration14.errors.txt create mode 100644 tests/baselines/reference/parserClassDeclaration14.js create mode 100644 tests/baselines/reference/parserClassDeclaration15.errors.txt create mode 100644 tests/baselines/reference/parserClassDeclaration15.js create mode 100644 tests/baselines/reference/parserClassDeclaration16.js create mode 100644 tests/baselines/reference/parserClassDeclaration17.js create mode 100644 tests/baselines/reference/parserClassDeclaration18.errors.txt create mode 100644 tests/baselines/reference/parserClassDeclaration19.js create mode 100644 tests/baselines/reference/parserClassDeclaration2.errors.txt create mode 100644 tests/baselines/reference/parserClassDeclaration20.js create mode 100644 tests/baselines/reference/parserClassDeclaration21.errors.txt create mode 100644 tests/baselines/reference/parserClassDeclaration21.js create mode 100644 tests/baselines/reference/parserClassDeclaration22.errors.txt create mode 100644 tests/baselines/reference/parserClassDeclaration22.js create mode 100644 tests/baselines/reference/parserClassDeclaration23.js create mode 100644 tests/baselines/reference/parserClassDeclaration24.errors.txt create mode 100644 tests/baselines/reference/parserClassDeclaration24.js create mode 100644 tests/baselines/reference/parserClassDeclaration25.errors.txt create mode 100644 tests/baselines/reference/parserClassDeclaration25.js create mode 100644 tests/baselines/reference/parserClassDeclaration26.errors.txt create mode 100644 tests/baselines/reference/parserClassDeclaration3.errors.txt create mode 100644 tests/baselines/reference/parserClassDeclaration4.errors.txt create mode 100644 tests/baselines/reference/parserClassDeclaration5.errors.txt create mode 100644 tests/baselines/reference/parserClassDeclaration6.errors.txt create mode 100644 tests/baselines/reference/parserClassDeclaration7.errors.txt create mode 100644 tests/baselines/reference/parserClassDeclaration8.errors.txt create mode 100644 tests/baselines/reference/parserClassDeclaration8.js create mode 100644 tests/baselines/reference/parserClassDeclaration9.errors.txt create mode 100644 tests/baselines/reference/parserClassDeclaration9.js create mode 100644 tests/baselines/reference/parserClassDeclarationIndexSignature1.js create mode 100644 tests/baselines/reference/parserCommaInTypeMemberList1.errors.txt create mode 100644 tests/baselines/reference/parserCommaInTypeMemberList2.errors.txt create mode 100644 tests/baselines/reference/parserConditionalExpression1.errors.txt create mode 100644 tests/baselines/reference/parserConditionalExpression1.js create mode 100644 tests/baselines/reference/parserConstructorAmbiguity1.errors.txt create mode 100644 tests/baselines/reference/parserConstructorAmbiguity1.js create mode 100644 tests/baselines/reference/parserConstructorAmbiguity2.errors.txt create mode 100644 tests/baselines/reference/parserConstructorAmbiguity2.js create mode 100644 tests/baselines/reference/parserConstructorAmbiguity3.errors.txt create mode 100644 tests/baselines/reference/parserConstructorAmbiguity4.errors.txt create mode 100644 tests/baselines/reference/parserConstructorAmbiguity4.js create mode 100644 tests/baselines/reference/parserConstructorDeclaration1.js create mode 100644 tests/baselines/reference/parserConstructorDeclaration10.errors.txt create mode 100644 tests/baselines/reference/parserConstructorDeclaration11.errors.txt create mode 100644 tests/baselines/reference/parserConstructorDeclaration2.errors.txt create mode 100644 tests/baselines/reference/parserConstructorDeclaration3.errors.txt create mode 100644 tests/baselines/reference/parserConstructorDeclaration4.errors.txt create mode 100644 tests/baselines/reference/parserConstructorDeclaration5.errors.txt create mode 100644 tests/baselines/reference/parserConstructorDeclaration6.errors.txt create mode 100644 tests/baselines/reference/parserConstructorDeclaration7.errors.txt create mode 100644 tests/baselines/reference/parserConstructorDeclaration8.errors.txt create mode 100644 tests/baselines/reference/parserConstructorDeclaration9.errors.txt create mode 100644 tests/baselines/reference/parserContinueStatement1.d.errors.txt create mode 100644 tests/baselines/reference/parserDebuggerStatement1.d.errors.txt create mode 100644 tests/baselines/reference/parserDebuggerStatement1.js create mode 100644 tests/baselines/reference/parserDebuggerStatement2.js create mode 100644 tests/baselines/reference/parserDoStatement1.d.errors.txt create mode 100644 tests/baselines/reference/parserDoStatement2.js create mode 100644 tests/baselines/reference/parserES3Accessors1.errors.txt create mode 100644 tests/baselines/reference/parserES3Accessors2.errors.txt create mode 100644 tests/baselines/reference/parserES3Accessors3.errors.txt create mode 100644 tests/baselines/reference/parserES3Accessors4.errors.txt create mode 100644 tests/baselines/reference/parserEmptyFile1.js create mode 100644 tests/baselines/reference/parserEmptyParenthesizedExpression1.errors.txt create mode 100644 tests/baselines/reference/parserEmptyStatement1.d.errors.txt create mode 100644 tests/baselines/reference/parserEmptyStatement1.js create mode 100644 tests/baselines/reference/parserEnum1.errors.txt create mode 100644 tests/baselines/reference/parserEnum1.js create mode 100644 tests/baselines/reference/parserEnum2.errors.txt create mode 100644 tests/baselines/reference/parserEnum2.js create mode 100644 tests/baselines/reference/parserEnum3.errors.txt create mode 100644 tests/baselines/reference/parserEnum3.js create mode 100644 tests/baselines/reference/parserEnum4.errors.txt create mode 100644 tests/baselines/reference/parserEnum5.errors.txt create mode 100644 tests/baselines/reference/parserEnum6.js create mode 100644 tests/baselines/reference/parserEnum7.js create mode 100644 tests/baselines/reference/parserEnumDeclaration1.js create mode 100644 tests/baselines/reference/parserEnumDeclaration2.errors.txt create mode 100644 tests/baselines/reference/parserEnumDeclaration3.d.errors.txt create mode 100644 tests/baselines/reference/parserEnumDeclaration3.js create mode 100644 tests/baselines/reference/parserEnumDeclaration4.errors.txt create mode 100644 tests/baselines/reference/parserEnumDeclaration5.js create mode 100644 tests/baselines/reference/parserEnumDeclaration6.errors.txt create mode 100644 tests/baselines/reference/parserEqualsGreaterThanAfterFunction1.errors.txt create mode 100644 tests/baselines/reference/parserEqualsGreaterThanAfterFunction2.errors.txt create mode 100644 tests/baselines/reference/parserErrantAccessibilityModifierInModule1.errors.txt create mode 100644 tests/baselines/reference/parserErrantEqualsGreaterThanAfterFunction1.errors.txt create mode 100644 tests/baselines/reference/parserErrantEqualsGreaterThanAfterFunction2.errors.txt create mode 100644 tests/baselines/reference/parserErrantSemicolonInClass1.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecoveryArrayLiteralExpression1.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecoveryArrayLiteralExpression2.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecoveryArrayLiteralExpression3.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecoveryIfStatement1.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecoveryIfStatement2.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecoveryIfStatement3.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecoveryIfStatement4.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecoveryIfStatement5.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecoveryIfStatement6.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ArgumentList1.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ArgumentList2.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ArgumentList3.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ArgumentList4.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ArgumentList5.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ArgumentList6.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ArgumentList7.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_Block1.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_Block2.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_Block3.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ClassElement1.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ClassElement2.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ClassElement3.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_Expression1.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ExtendsOrImplementsClause1.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ExtendsOrImplementsClause2.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ExtendsOrImplementsClause3.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ExtendsOrImplementsClause4.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ExtendsOrImplementsClause5.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ExtendsOrImplementsClause6.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable1.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_IncompleteMemberVariable2.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_LeftShift1.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ModuleElement1.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ModuleElement2.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ObjectLiteral1.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ObjectLiteral2.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ObjectLiteral3.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ObjectLiteral4.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ObjectLiteral5.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ParameterList1.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ParameterList2.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ParameterList3.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ParameterList4.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ParameterList5.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_ParameterList6.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_SourceUnit1.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_SwitchStatement1.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_SwitchStatement2.errors.txt create mode 100644 tests/baselines/reference/parserErrorRecovery_VariableList1.errors.txt create mode 100644 tests/baselines/reference/parserExportAsFunctionIdentifier.js create mode 100644 tests/baselines/reference/parserExportAssignment1.errors.txt create mode 100644 tests/baselines/reference/parserExportAssignment1.js create mode 100644 tests/baselines/reference/parserExportAssignment2.errors.txt create mode 100644 tests/baselines/reference/parserExportAssignment2.js create mode 100644 tests/baselines/reference/parserExportAssignment3.errors.txt create mode 100644 tests/baselines/reference/parserExportAssignment4.errors.txt create mode 100644 tests/baselines/reference/parserExportAssignment5.errors.txt create mode 100644 tests/baselines/reference/parserExportAssignment6.errors.txt create mode 100644 tests/baselines/reference/parserExportAssignment6.js create mode 100644 tests/baselines/reference/parserExportAssignment7.errors.txt create mode 100644 tests/baselines/reference/parserExportAssignment7.js create mode 100644 tests/baselines/reference/parserExportAssignment8.errors.txt create mode 100644 tests/baselines/reference/parserExportAssignment8.js create mode 100644 tests/baselines/reference/parserExpressionStatement1.d.errors.txt create mode 100644 tests/baselines/reference/parserForInStatement1.d.errors.txt create mode 100644 tests/baselines/reference/parserForInStatement2.errors.txt create mode 100644 tests/baselines/reference/parserForInStatement3.errors.txt create mode 100644 tests/baselines/reference/parserForInStatement4.errors.txt create mode 100644 tests/baselines/reference/parserForInStatement4.js create mode 100644 tests/baselines/reference/parserForInStatement5.errors.txt create mode 100644 tests/baselines/reference/parserForInStatement5.js create mode 100644 tests/baselines/reference/parserForInStatement6.errors.txt create mode 100644 tests/baselines/reference/parserForInStatement7.errors.txt create mode 100644 tests/baselines/reference/parserForStatement1.d.errors.txt create mode 100644 tests/baselines/reference/parserForStatement2.errors.txt create mode 100644 tests/baselines/reference/parserForStatement2.js create mode 100644 tests/baselines/reference/parserForStatement3.errors.txt create mode 100644 tests/baselines/reference/parserForStatement3.js create mode 100644 tests/baselines/reference/parserForStatement4.errors.txt create mode 100644 tests/baselines/reference/parserForStatement4.js create mode 100644 tests/baselines/reference/parserForStatement5.errors.txt create mode 100644 tests/baselines/reference/parserForStatement5.js create mode 100644 tests/baselines/reference/parserForStatement6.errors.txt create mode 100644 tests/baselines/reference/parserForStatement6.js create mode 100644 tests/baselines/reference/parserForStatement7.errors.txt create mode 100644 tests/baselines/reference/parserForStatement7.js create mode 100644 tests/baselines/reference/parserForStatement8.errors.txt create mode 100644 tests/baselines/reference/parserForStatement8.js create mode 100644 tests/baselines/reference/parserFunctionDeclaration1.errors.txt create mode 100644 tests/baselines/reference/parserFunctionDeclaration2.d.errors.txt create mode 100644 tests/baselines/reference/parserFunctionDeclaration2.errors.txt create mode 100644 tests/baselines/reference/parserFunctionDeclaration3.errors.txt create mode 100644 tests/baselines/reference/parserFunctionDeclaration3.js create mode 100644 tests/baselines/reference/parserFunctionDeclaration4.errors.txt create mode 100644 tests/baselines/reference/parserFunctionDeclaration4.js create mode 100644 tests/baselines/reference/parserFunctionDeclaration5.js create mode 100644 tests/baselines/reference/parserFunctionDeclaration6.errors.txt create mode 100644 tests/baselines/reference/parserFunctionDeclaration6.js create mode 100644 tests/baselines/reference/parserFunctionDeclaration7.errors.txt create mode 100644 tests/baselines/reference/parserFunctionDeclaration7.js create mode 100644 tests/baselines/reference/parserFunctionDeclaration8.js create mode 100644 tests/baselines/reference/parserFunctionPropertyAssignment1.js create mode 100644 tests/baselines/reference/parserFunctionPropertyAssignment2.js create mode 100644 tests/baselines/reference/parserFunctionPropertyAssignment3.js create mode 100644 tests/baselines/reference/parserFunctionPropertyAssignment4.js create mode 100644 tests/baselines/reference/parserFuzz1.errors.txt create mode 100644 tests/baselines/reference/parserGenericClass1.js create mode 100644 tests/baselines/reference/parserGenericClass2.js create mode 100644 tests/baselines/reference/parserGenericConstraint1.js create mode 100644 tests/baselines/reference/parserGenericConstraint2.errors.txt create mode 100644 tests/baselines/reference/parserGenericConstraint2.js create mode 100644 tests/baselines/reference/parserGenericConstraint3.errors.txt create mode 100644 tests/baselines/reference/parserGenericConstraint3.js create mode 100644 tests/baselines/reference/parserGenericConstraint4.errors.txt create mode 100644 tests/baselines/reference/parserGenericConstraint4.js create mode 100644 tests/baselines/reference/parserGenericConstraint5.errors.txt create mode 100644 tests/baselines/reference/parserGenericConstraint5.js create mode 100644 tests/baselines/reference/parserGenericConstraint6.errors.txt create mode 100644 tests/baselines/reference/parserGenericConstraint6.js create mode 100644 tests/baselines/reference/parserGenericConstraint7.errors.txt create mode 100644 tests/baselines/reference/parserGenericConstraint7.js create mode 100644 tests/baselines/reference/parserGenericsInInterfaceDeclaration1.errors.txt create mode 100644 tests/baselines/reference/parserGenericsInInterfaceDeclaration1.js create mode 100644 tests/baselines/reference/parserGenericsInTypeContexts1.errors.txt create mode 100644 tests/baselines/reference/parserGenericsInTypeContexts1.js create mode 100644 tests/baselines/reference/parserGenericsInTypeContexts2.errors.txt create mode 100644 tests/baselines/reference/parserGenericsInTypeContexts2.js create mode 100644 tests/baselines/reference/parserGenericsInVariableDeclaration1.errors.txt create mode 100644 tests/baselines/reference/parserGenericsInVariableDeclaration1.js create mode 100644 tests/baselines/reference/parserGetAccessorWithTypeParameters1.errors.txt create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity1.js create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity10.js create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity11.errors.txt create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity11.js create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity12.errors.txt create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity13.errors.txt create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity14.errors.txt create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity15.errors.txt create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity15.js create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity16.errors.txt create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity16.js create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity17.errors.txt create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity18.errors.txt create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity19.errors.txt create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity2.errors.txt create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity20.errors.txt create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity20.js create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity3.errors.txt create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity4.errors.txt create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity5.js create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity6.js create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity7.errors.txt create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity8.errors.txt create mode 100644 tests/baselines/reference/parserGreaterThanTokenAmbiguity9.errors.txt create mode 100644 tests/baselines/reference/parserIfStatement1.d.errors.txt create mode 100644 tests/baselines/reference/parserIfStatement2.errors.txt create mode 100644 tests/baselines/reference/parserIfStatement2.js create mode 100644 tests/baselines/reference/parserImportDeclaration1.errors.txt create mode 100644 tests/baselines/reference/parserImportDeclaration1.js create mode 100644 tests/baselines/reference/parserInExpression1.errors.txt create mode 100644 tests/baselines/reference/parserInExpression1.js create mode 100644 tests/baselines/reference/parserIndexMemberDeclaration1.js create mode 100644 tests/baselines/reference/parserIndexMemberDeclaration10.errors.txt create mode 100644 tests/baselines/reference/parserIndexMemberDeclaration2.js create mode 100644 tests/baselines/reference/parserIndexMemberDeclaration3.js create mode 100644 tests/baselines/reference/parserIndexMemberDeclaration4.js create mode 100644 tests/baselines/reference/parserIndexMemberDeclaration5.errors.txt create mode 100644 tests/baselines/reference/parserIndexMemberDeclaration6.errors.txt create mode 100644 tests/baselines/reference/parserIndexMemberDeclaration7.errors.txt create mode 100644 tests/baselines/reference/parserIndexMemberDeclaration8.errors.txt create mode 100644 tests/baselines/reference/parserIndexMemberDeclaration9.errors.txt create mode 100644 tests/baselines/reference/parserIndexSignature1.errors.txt create mode 100644 tests/baselines/reference/parserIndexSignature10.errors.txt create mode 100644 tests/baselines/reference/parserIndexSignature11.errors.txt create mode 100644 tests/baselines/reference/parserIndexSignature2.errors.txt create mode 100644 tests/baselines/reference/parserIndexSignature3.errors.txt create mode 100644 tests/baselines/reference/parserIndexSignature4.errors.txt create mode 100644 tests/baselines/reference/parserIndexSignature5.errors.txt create mode 100644 tests/baselines/reference/parserIndexSignature6.errors.txt create mode 100644 tests/baselines/reference/parserIndexSignature7.errors.txt create mode 100644 tests/baselines/reference/parserIndexSignature8.errors.txt create mode 100644 tests/baselines/reference/parserIndexSignature9.errors.txt create mode 100644 tests/baselines/reference/parserInterfaceDeclaration1.errors.txt create mode 100644 tests/baselines/reference/parserInterfaceDeclaration2.errors.txt create mode 100644 tests/baselines/reference/parserInterfaceDeclaration3.errors.txt create mode 100644 tests/baselines/reference/parserInterfaceDeclaration4.errors.txt create mode 100644 tests/baselines/reference/parserInterfaceDeclaration5.errors.txt create mode 100644 tests/baselines/reference/parserInterfaceDeclaration6.errors.txt create mode 100644 tests/baselines/reference/parserInterfaceDeclaration7.errors.txt create mode 100644 tests/baselines/reference/parserInterfaceDeclaration7.js create mode 100644 tests/baselines/reference/parserInterfaceDeclaration8.errors.txt create mode 100644 tests/baselines/reference/parserInterfaceDeclaration8.js create mode 100644 tests/baselines/reference/parserInterfaceKeywordInEnum.js create mode 100644 tests/baselines/reference/parserInterfaceKeywordInEnum1.js create mode 100644 tests/baselines/reference/parserInvalidIdentifiersInVariableStatements1.errors.txt create mode 100644 tests/baselines/reference/parserInvocationOfMemberAccessOffOfObjectCreationExpression1.errors.txt create mode 100644 tests/baselines/reference/parserInvocationOfMemberAccessOffOfObjectCreationExpression1.js create mode 100644 tests/baselines/reference/parserKeywordsAsIdentifierName1.js create mode 100644 tests/baselines/reference/parserKeywordsAsIdentifierName2.js create mode 100644 tests/baselines/reference/parserLabeledStatement1.d.errors.txt create mode 100644 tests/baselines/reference/parserMemberAccessAfterPostfixExpression1.errors.txt create mode 100644 tests/baselines/reference/parserMemberAccessExpression1.errors.txt create mode 100644 tests/baselines/reference/parserMemberAccessOffOfGenericType1.errors.txt create mode 100644 tests/baselines/reference/parserMemberAccessor1.errors.txt create mode 100644 tests/baselines/reference/parserMemberAccessor1.js create mode 100644 tests/baselines/reference/parserMemberAccessorDeclaration1.errors.txt create mode 100644 tests/baselines/reference/parserMemberAccessorDeclaration1.js create mode 100644 tests/baselines/reference/parserMemberAccessorDeclaration10.errors.txt create mode 100644 tests/baselines/reference/parserMemberAccessorDeclaration11.errors.txt create mode 100644 tests/baselines/reference/parserMemberAccessorDeclaration12.errors.txt create mode 100644 tests/baselines/reference/parserMemberAccessorDeclaration13.errors.txt create mode 100644 tests/baselines/reference/parserMemberAccessorDeclaration14.errors.txt create mode 100644 tests/baselines/reference/parserMemberAccessorDeclaration15.errors.txt create mode 100644 tests/baselines/reference/parserMemberAccessorDeclaration16.errors.txt create mode 100644 tests/baselines/reference/parserMemberAccessorDeclaration17.errors.txt create mode 100644 tests/baselines/reference/parserMemberAccessorDeclaration18.errors.txt create mode 100644 tests/baselines/reference/parserMemberAccessorDeclaration2.errors.txt create mode 100644 tests/baselines/reference/parserMemberAccessorDeclaration2.js create mode 100644 tests/baselines/reference/parserMemberAccessorDeclaration3.errors.txt create mode 100644 tests/baselines/reference/parserMemberAccessorDeclaration3.js create mode 100644 tests/baselines/reference/parserMemberAccessorDeclaration4.js create mode 100644 tests/baselines/reference/parserMemberAccessorDeclaration5.js create mode 100644 tests/baselines/reference/parserMemberAccessorDeclaration6.js create mode 100644 tests/baselines/reference/parserMemberAccessorDeclaration7.errors.txt create mode 100644 tests/baselines/reference/parserMemberAccessorDeclaration8.errors.txt create mode 100644 tests/baselines/reference/parserMemberAccessorDeclaration9.errors.txt create mode 100644 tests/baselines/reference/parserMemberFunctionDeclaration1.errors.txt create mode 100644 tests/baselines/reference/parserMemberFunctionDeclaration2.errors.txt create mode 100644 tests/baselines/reference/parserMemberFunctionDeclaration3.errors.txt create mode 100644 tests/baselines/reference/parserMemberFunctionDeclaration4.errors.txt create mode 100644 tests/baselines/reference/parserMemberFunctionDeclaration5.errors.txt create mode 100644 tests/baselines/reference/parserMemberFunctionDeclarationAmbiguities1.errors.txt create mode 100644 tests/baselines/reference/parserMemberFunctionDeclarationAmbiguities1.js create mode 100644 tests/baselines/reference/parserMemberVariableDeclaration1.errors.txt create mode 100644 tests/baselines/reference/parserMemberVariableDeclaration2.errors.txt create mode 100644 tests/baselines/reference/parserMemberVariableDeclaration3.errors.txt create mode 100644 tests/baselines/reference/parserMemberVariableDeclaration4.errors.txt create mode 100644 tests/baselines/reference/parserMemberVariableDeclaration5.errors.txt create mode 100644 tests/baselines/reference/parserMethodSignature1.js create mode 100644 tests/baselines/reference/parserMethodSignature10.js create mode 100644 tests/baselines/reference/parserMethodSignature11.js create mode 100644 tests/baselines/reference/parserMethodSignature12.js create mode 100644 tests/baselines/reference/parserMethodSignature2.js create mode 100644 tests/baselines/reference/parserMethodSignature3.js create mode 100644 tests/baselines/reference/parserMethodSignature4.js create mode 100644 tests/baselines/reference/parserMethodSignature5.js create mode 100644 tests/baselines/reference/parserMethodSignature6.js create mode 100644 tests/baselines/reference/parserMethodSignature7.js create mode 100644 tests/baselines/reference/parserMethodSignature8.js create mode 100644 tests/baselines/reference/parserMethodSignature9.js create mode 100644 tests/baselines/reference/parserMissingLambdaOpenBrace1.errors.txt create mode 100644 tests/baselines/reference/parserMissingToken1.errors.txt create mode 100644 tests/baselines/reference/parserMissingToken2.errors.txt create mode 100644 tests/baselines/reference/parserModifierOnPropertySignature1.errors.txt create mode 100644 tests/baselines/reference/parserModifierOnPropertySignature2.js create mode 100644 tests/baselines/reference/parserModifierOnStatementInBlock1.errors.txt create mode 100644 tests/baselines/reference/parserModifierOnStatementInBlock2.errors.txt create mode 100644 tests/baselines/reference/parserModifierOnStatementInBlock3.errors.txt create mode 100644 tests/baselines/reference/parserModifierOnStatementInBlock4.errors.txt create mode 100644 tests/baselines/reference/parserModule1.errors.txt create mode 100644 tests/baselines/reference/parserModule1.js create mode 100644 tests/baselines/reference/parserModuleDeclaration1.d.errors.txt create mode 100644 tests/baselines/reference/parserModuleDeclaration1.errors.txt create mode 100644 tests/baselines/reference/parserModuleDeclaration1.js create mode 100644 tests/baselines/reference/parserModuleDeclaration10.errors.txt create mode 100644 tests/baselines/reference/parserModuleDeclaration10.js create mode 100644 tests/baselines/reference/parserModuleDeclaration11.js create mode 100644 tests/baselines/reference/parserModuleDeclaration12.js create mode 100644 tests/baselines/reference/parserModuleDeclaration2.d.errors.txt create mode 100644 tests/baselines/reference/parserModuleDeclaration2.js create mode 100644 tests/baselines/reference/parserModuleDeclaration3.errors.txt create mode 100644 tests/baselines/reference/parserModuleDeclaration4.d.errors.txt create mode 100644 tests/baselines/reference/parserModuleDeclaration4.js create mode 100644 tests/baselines/reference/parserModuleDeclaration5.errors.txt create mode 100644 tests/baselines/reference/parserModuleDeclaration6.js create mode 100644 tests/baselines/reference/parserModuleDeclaration7.js create mode 100644 tests/baselines/reference/parserModuleDeclaration8.js create mode 100644 tests/baselines/reference/parserModuleDeclaration9.js create mode 100644 tests/baselines/reference/parserNoASIOnCallAfterFunctionExpression1.errors.txt create mode 100644 tests/baselines/reference/parserNoASIOnCallAfterFunctionExpression1.js create mode 100644 tests/baselines/reference/parserNotHexLiteral1.errors.txt create mode 100644 tests/baselines/reference/parserNotHexLiteral1.js create mode 100644 tests/baselines/reference/parserNotRegex1.errors.txt create mode 100644 tests/baselines/reference/parserNotRegex1.js create mode 100644 tests/baselines/reference/parserObjectCreation1.errors.txt create mode 100644 tests/baselines/reference/parserObjectCreation1.js create mode 100644 tests/baselines/reference/parserObjectCreation2.errors.txt create mode 100644 tests/baselines/reference/parserObjectCreation2.js create mode 100644 tests/baselines/reference/parserObjectCreationArrayLiteral1.errors.txt create mode 100644 tests/baselines/reference/parserObjectCreationArrayLiteral2.errors.txt create mode 100644 tests/baselines/reference/parserObjectCreationArrayLiteral2.js create mode 100644 tests/baselines/reference/parserObjectCreationArrayLiteral3.errors.txt create mode 100644 tests/baselines/reference/parserObjectCreationArrayLiteral4.errors.txt create mode 100644 tests/baselines/reference/parserObjectCreationArrayLiteral4.js create mode 100644 tests/baselines/reference/parserObjectLiterals1.js create mode 100644 tests/baselines/reference/parserObjectType1.js create mode 100644 tests/baselines/reference/parserObjectType2.js create mode 100644 tests/baselines/reference/parserObjectType3.js create mode 100644 tests/baselines/reference/parserObjectType4.js create mode 100644 tests/baselines/reference/parserObjectType5.errors.txt create mode 100644 tests/baselines/reference/parserObjectType6.errors.txt create mode 100644 tests/baselines/reference/parserOptionalTypeMembers1.errors.txt create mode 100644 tests/baselines/reference/parserOptionalTypeMembers1.js create mode 100644 tests/baselines/reference/parserOverloadOnConstants1.errors.txt create mode 100644 tests/baselines/reference/parserOverloadOnConstants1.js create mode 100644 tests/baselines/reference/parserParameterList1.errors.txt create mode 100644 tests/baselines/reference/parserParameterList10.errors.txt create mode 100644 tests/baselines/reference/parserParameterList11.errors.txt create mode 100644 tests/baselines/reference/parserParameterList12.errors.txt create mode 100644 tests/baselines/reference/parserParameterList13.errors.txt create mode 100644 tests/baselines/reference/parserParameterList13.js create mode 100644 tests/baselines/reference/parserParameterList14.errors.txt create mode 100644 tests/baselines/reference/parserParameterList14.js create mode 100644 tests/baselines/reference/parserParameterList15.errors.txt create mode 100644 tests/baselines/reference/parserParameterList15.js create mode 100644 tests/baselines/reference/parserParameterList16.errors.txt create mode 100644 tests/baselines/reference/parserParameterList16.js create mode 100644 tests/baselines/reference/parserParameterList17.errors.txt create mode 100644 tests/baselines/reference/parserParameterList17.js create mode 100644 tests/baselines/reference/parserParameterList2.errors.txt create mode 100644 tests/baselines/reference/parserParameterList3.errors.txt create mode 100644 tests/baselines/reference/parserParameterList4.errors.txt create mode 100644 tests/baselines/reference/parserParameterList4.js create mode 100644 tests/baselines/reference/parserParameterList5.errors.txt create mode 100644 tests/baselines/reference/parserParameterList5.js create mode 100644 tests/baselines/reference/parserParameterList6.errors.txt create mode 100644 tests/baselines/reference/parserParameterList6.js create mode 100644 tests/baselines/reference/parserParameterList7.errors.txt create mode 100644 tests/baselines/reference/parserParameterList7.js create mode 100644 tests/baselines/reference/parserParameterList8.errors.txt create mode 100644 tests/baselines/reference/parserParameterList8.js create mode 100644 tests/baselines/reference/parserParameterList9.errors.txt create mode 100644 tests/baselines/reference/parserPostfixPostfixExpression1.errors.txt create mode 100644 tests/baselines/reference/parserPostfixUnaryExpression1.errors.txt create mode 100644 tests/baselines/reference/parserPropertySignature1.js create mode 100644 tests/baselines/reference/parserPropertySignature10.js create mode 100644 tests/baselines/reference/parserPropertySignature11.js create mode 100644 tests/baselines/reference/parserPropertySignature12.js create mode 100644 tests/baselines/reference/parserPropertySignature2.js create mode 100644 tests/baselines/reference/parserPropertySignature3.js create mode 100644 tests/baselines/reference/parserPropertySignature4.js create mode 100644 tests/baselines/reference/parserPropertySignature5.js create mode 100644 tests/baselines/reference/parserPropertySignature6.js create mode 100644 tests/baselines/reference/parserPropertySignature7.js create mode 100644 tests/baselines/reference/parserPropertySignature8.js create mode 100644 tests/baselines/reference/parserPropertySignature9.js create mode 100644 tests/baselines/reference/parserPublicBreak1.errors.txt create mode 100644 tests/baselines/reference/parserRealSource1.errors.txt create mode 100644 tests/baselines/reference/parserRealSource10.errors.txt create mode 100644 tests/baselines/reference/parserRealSource11.errors.txt create mode 100644 tests/baselines/reference/parserRealSource12.errors.txt create mode 100644 tests/baselines/reference/parserRealSource13.errors.txt create mode 100644 tests/baselines/reference/parserRealSource14.errors.txt create mode 100644 tests/baselines/reference/parserRealSource2.errors.txt create mode 100644 tests/baselines/reference/parserRealSource3.errors.txt create mode 100644 tests/baselines/reference/parserRealSource4.errors.txt create mode 100644 tests/baselines/reference/parserRealSource5.errors.txt create mode 100644 tests/baselines/reference/parserRealSource6.errors.txt create mode 100644 tests/baselines/reference/parserRealSource7.errors.txt create mode 100644 tests/baselines/reference/parserRealSource8.errors.txt create mode 100644 tests/baselines/reference/parserRealSource9.errors.txt create mode 100644 tests/baselines/reference/parserRegularExpression1.errors.txt create mode 100644 tests/baselines/reference/parserRegularExpression1.js create mode 100644 tests/baselines/reference/parserRegularExpression2.errors.txt create mode 100644 tests/baselines/reference/parserRegularExpression3.errors.txt create mode 100644 tests/baselines/reference/parserRegularExpression3.js create mode 100644 tests/baselines/reference/parserRegularExpression4.errors.txt create mode 100644 tests/baselines/reference/parserRegularExpression4.js create mode 100644 tests/baselines/reference/parserRegularExpression5.errors.txt create mode 100644 tests/baselines/reference/parserRegularExpression5.js create mode 100644 tests/baselines/reference/parserRegularExpressionDivideAmbiguity1.errors.txt create mode 100644 tests/baselines/reference/parserRegularExpressionDivideAmbiguity1.js create mode 100644 tests/baselines/reference/parserRegularExpressionDivideAmbiguity2.errors.txt create mode 100644 tests/baselines/reference/parserRegularExpressionDivideAmbiguity2.js create mode 100644 tests/baselines/reference/parserRegularExpressionDivideAmbiguity3.errors.txt create mode 100644 tests/baselines/reference/parserRegularExpressionDivideAmbiguity3.js create mode 100644 tests/baselines/reference/parserRegularExpressionDivideAmbiguity4.errors.txt create mode 100644 tests/baselines/reference/parserRegularExpressionDivideAmbiguity5.errors.txt create mode 100644 tests/baselines/reference/parserRegularExpressionDivideAmbiguity5.js create mode 100644 tests/baselines/reference/parserReturnStatement1.d.errors.txt create mode 100644 tests/baselines/reference/parserReturnStatement1.js create mode 100644 tests/baselines/reference/parserReturnStatement2.js create mode 100644 tests/baselines/reference/parserReturnStatement3.js create mode 100644 tests/baselines/reference/parserReturnStatement4.errors.txt create mode 100644 tests/baselines/reference/parserS12.11_A3_T4.errors.txt create mode 100644 tests/baselines/reference/parserS7.2_A1.5_T2.errors.txt create mode 100644 tests/baselines/reference/parserS7.2_A1.5_T2.js create mode 100644 tests/baselines/reference/parserS7.3_A1.1_T2.errors.txt create mode 100644 tests/baselines/reference/parserS7.3_A1.1_T2.js create mode 100644 tests/baselines/reference/parserS7.6.1.1_A1.10.js create mode 100644 tests/baselines/reference/parserS7.6_A4.2_T1.errors.txt create mode 100644 tests/baselines/reference/parserS7.6_A4.2_T1.js create mode 100644 tests/baselines/reference/parserS7.9_A5.7_T1.errors.txt create mode 100644 tests/baselines/reference/parserS7.9_A5.7_T1.js create mode 100644 tests/baselines/reference/parserSbp_7.9_A9_T3.js create mode 100644 tests/baselines/reference/parserSetAccessorWithTypeAnnotation1.errors.txt create mode 100644 tests/baselines/reference/parserSetAccessorWithTypeParameters1.errors.txt create mode 100644 tests/baselines/reference/parserSkippedTokens1.errors.txt create mode 100644 tests/baselines/reference/parserSkippedTokens10.errors.txt create mode 100644 tests/baselines/reference/parserSkippedTokens11.errors.txt create mode 100644 tests/baselines/reference/parserSkippedTokens12.errors.txt create mode 100644 tests/baselines/reference/parserSkippedTokens13.errors.txt create mode 100644 tests/baselines/reference/parserSkippedTokens14.errors.txt create mode 100644 tests/baselines/reference/parserSkippedTokens15.errors.txt create mode 100644 tests/baselines/reference/parserSkippedTokens16.errors.txt create mode 100644 tests/baselines/reference/parserSkippedTokens17.errors.txt create mode 100644 tests/baselines/reference/parserSkippedTokens18.errors.txt create mode 100644 tests/baselines/reference/parserSkippedTokens19.errors.txt create mode 100644 tests/baselines/reference/parserSkippedTokens2.errors.txt create mode 100644 tests/baselines/reference/parserSkippedTokens20.errors.txt create mode 100644 tests/baselines/reference/parserSkippedTokens3.errors.txt create mode 100644 tests/baselines/reference/parserSkippedTokens4.errors.txt create mode 100644 tests/baselines/reference/parserSkippedTokens5.errors.txt create mode 100644 tests/baselines/reference/parserSkippedTokens6.errors.txt create mode 100644 tests/baselines/reference/parserSkippedTokens7.errors.txt create mode 100644 tests/baselines/reference/parserSkippedTokens8.errors.txt create mode 100644 tests/baselines/reference/parserSkippedTokens9.errors.txt create mode 100644 tests/baselines/reference/parserStatementIsNotAMemberVariableDeclaration1.errors.txt create mode 100644 tests/baselines/reference/parserStatementIsNotAMemberVariableDeclaration1.js create mode 100644 tests/baselines/reference/parserStrictMode1.errors.txt create mode 100644 tests/baselines/reference/parserStrictMode1.js create mode 100644 tests/baselines/reference/parserStrictMode10.js create mode 100644 tests/baselines/reference/parserStrictMode11.js create mode 100644 tests/baselines/reference/parserStrictMode12.errors.txt create mode 100644 tests/baselines/reference/parserStrictMode13.js create mode 100644 tests/baselines/reference/parserStrictMode14.errors.txt create mode 100644 tests/baselines/reference/parserStrictMode14.js create mode 100644 tests/baselines/reference/parserStrictMode15-negative.errors.txt create mode 100644 tests/baselines/reference/parserStrictMode15-negative.js create mode 100644 tests/baselines/reference/parserStrictMode15.errors.txt create mode 100644 tests/baselines/reference/parserStrictMode15.js create mode 100644 tests/baselines/reference/parserStrictMode16.js create mode 100644 tests/baselines/reference/parserStrictMode2.errors.txt create mode 100644 tests/baselines/reference/parserStrictMode2.js create mode 100644 tests/baselines/reference/parserStrictMode3-negative.errors.txt create mode 100644 tests/baselines/reference/parserStrictMode3-negative.js create mode 100644 tests/baselines/reference/parserStrictMode3.errors.txt create mode 100644 tests/baselines/reference/parserStrictMode3.js create mode 100644 tests/baselines/reference/parserStrictMode4.errors.txt create mode 100644 tests/baselines/reference/parserStrictMode4.js create mode 100644 tests/baselines/reference/parserStrictMode5.errors.txt create mode 100644 tests/baselines/reference/parserStrictMode5.js create mode 100644 tests/baselines/reference/parserStrictMode6-negative.errors.txt create mode 100644 tests/baselines/reference/parserStrictMode6-negative.js create mode 100644 tests/baselines/reference/parserStrictMode6.errors.txt create mode 100644 tests/baselines/reference/parserStrictMode6.js create mode 100644 tests/baselines/reference/parserStrictMode7.errors.txt create mode 100644 tests/baselines/reference/parserStrictMode7.js create mode 100644 tests/baselines/reference/parserStrictMode8.errors.txt create mode 100644 tests/baselines/reference/parserStrictMode8.js create mode 100644 tests/baselines/reference/parserStrictMode9.js create mode 100644 tests/baselines/reference/parserSuperExpression1.errors.txt create mode 100644 tests/baselines/reference/parserSuperExpression1.js create mode 100644 tests/baselines/reference/parserSuperExpression2.errors.txt create mode 100644 tests/baselines/reference/parserSuperExpression3.errors.txt create mode 100644 tests/baselines/reference/parserSuperExpression3.js create mode 100644 tests/baselines/reference/parserSuperExpression4.errors.txt create mode 100644 tests/baselines/reference/parserSuperExpression4.js create mode 100644 tests/baselines/reference/parserSwitchStatement1.d.errors.txt create mode 100644 tests/baselines/reference/parserSyntaxWalker.generated.js create mode 100644 tests/baselines/reference/parserTernaryAndCommaOperators1.errors.txt create mode 100644 tests/baselines/reference/parserTernaryAndCommaOperators1.js create mode 100644 tests/baselines/reference/parserThrowStatement1.d.errors.txt create mode 100644 tests/baselines/reference/parserTryStatement1.d.errors.txt create mode 100644 tests/baselines/reference/parserTypeAssertionInObjectCreationExpression1.errors.txt create mode 100644 tests/baselines/reference/parserTypeQuery1.errors.txt create mode 100644 tests/baselines/reference/parserTypeQuery1.js create mode 100644 tests/baselines/reference/parserTypeQuery2.errors.txt create mode 100644 tests/baselines/reference/parserTypeQuery2.js create mode 100644 tests/baselines/reference/parserTypeQuery3.errors.txt create mode 100644 tests/baselines/reference/parserTypeQuery4.errors.txt create mode 100644 tests/baselines/reference/parserTypeQuery5.errors.txt create mode 100644 tests/baselines/reference/parserTypeQuery5.js create mode 100644 tests/baselines/reference/parserTypeQuery6.errors.txt create mode 100644 tests/baselines/reference/parserTypeQuery6.js create mode 100644 tests/baselines/reference/parserTypeQuery7.errors.txt create mode 100644 tests/baselines/reference/parserTypeQuery7.js create mode 100644 tests/baselines/reference/parserTypeQuery8.errors.txt create mode 100644 tests/baselines/reference/parserTypeQuery9.errors.txt create mode 100644 tests/baselines/reference/parserTypeQuery9.js create mode 100644 tests/baselines/reference/parserUnaryExpression1.errors.txt create mode 100644 tests/baselines/reference/parserUnaryExpression1.js create mode 100644 tests/baselines/reference/parserUnaryExpression2.errors.txt create mode 100644 tests/baselines/reference/parserUnaryExpression2.js create mode 100644 tests/baselines/reference/parserUnaryExpression3.errors.txt create mode 100644 tests/baselines/reference/parserUnaryExpression3.js create mode 100644 tests/baselines/reference/parserUnaryExpression4.errors.txt create mode 100644 tests/baselines/reference/parserUnaryExpression4.js create mode 100644 tests/baselines/reference/parserUnaryExpression5.errors.txt create mode 100644 tests/baselines/reference/parserUnaryExpression5.js create mode 100644 tests/baselines/reference/parserUnaryExpression6.js create mode 100644 tests/baselines/reference/parserUnaryExpression7.errors.txt create mode 100644 tests/baselines/reference/parserUnaryExpression7.js create mode 100644 tests/baselines/reference/parserUnfinishedTypeNameBeforeKeyword1.errors.txt create mode 100644 tests/baselines/reference/parserUnicode1.errors.txt create mode 100644 tests/baselines/reference/parserUnicode1.js create mode 100644 tests/baselines/reference/parserUnicode2.js create mode 100644 tests/baselines/reference/parserUnicode3.js create mode 100644 tests/baselines/reference/parserUnicodeWhitespaceCharacter1.js create mode 100644 tests/baselines/reference/parserUnterminatedGeneric1.errors.txt create mode 100644 tests/baselines/reference/parserUnterminatedGeneric2.errors.txt create mode 100644 tests/baselines/reference/parserUsingConstructorAsIdentifier.errors.txt create mode 100644 tests/baselines/reference/parserUsingConstructorAsIdentifier.js create mode 100644 tests/baselines/reference/parserVariableDeclaration1.errors.txt create mode 100644 tests/baselines/reference/parserVariableDeclaration1.js create mode 100644 tests/baselines/reference/parserVariableDeclaration10.errors.txt create mode 100644 tests/baselines/reference/parserVariableDeclaration11.js create mode 100644 tests/baselines/reference/parserVariableDeclaration2.errors.txt create mode 100644 tests/baselines/reference/parserVariableDeclaration2.js create mode 100644 tests/baselines/reference/parserVariableDeclaration3.errors.txt create mode 100644 tests/baselines/reference/parserVariableDeclaration3.js create mode 100644 tests/baselines/reference/parserVariableDeclaration4.errors.txt create mode 100644 tests/baselines/reference/parserVariableDeclaration5.errors.txt create mode 100644 tests/baselines/reference/parserVariableDeclaration6.errors.txt create mode 100644 tests/baselines/reference/parserVariableDeclaration7.js create mode 100644 tests/baselines/reference/parserVariableDeclaration8.errors.txt create mode 100644 tests/baselines/reference/parserVariableDeclaration9.js create mode 100644 tests/baselines/reference/parserVariableStatement1.d.errors.txt create mode 100644 tests/baselines/reference/parserVariableStatement1.js create mode 100644 tests/baselines/reference/parserVariableStatement2.d.errors.txt create mode 100644 tests/baselines/reference/parserVariableStatement2.js create mode 100644 tests/baselines/reference/parserVariableStatement3.js create mode 100644 tests/baselines/reference/parserVariableStatement4.js create mode 100644 tests/baselines/reference/parserVoidExpression1.js create mode 100644 tests/baselines/reference/parserWhileStatement1.d.errors.txt create mode 100644 tests/baselines/reference/parserWithStatement1.d.errors.txt create mode 100644 tests/baselines/reference/parserWithStatement2.js create mode 100644 tests/baselines/reference/parserX_ArrowFunction1.errors.txt create mode 100644 tests/baselines/reference/parserX_ArrowFunction2.errors.txt create mode 100644 tests/baselines/reference/parserX_ArrowFunction3.errors.txt create mode 100644 tests/baselines/reference/parserX_ArrowFunction4.js create mode 100644 tests/baselines/reference/parserX_TypeArgumentList1.errors.txt create mode 100644 tests/baselines/reference/parser_breakInIterationOrSwitchStatement1.js create mode 100644 tests/baselines/reference/parser_breakInIterationOrSwitchStatement2.js create mode 100644 tests/baselines/reference/parser_breakInIterationOrSwitchStatement3.js create mode 100644 tests/baselines/reference/parser_breakInIterationOrSwitchStatement4.errors.txt create mode 100644 tests/baselines/reference/parser_breakInIterationOrSwitchStatement4.js create mode 100644 tests/baselines/reference/parser_breakNotInIterationOrSwitchStatement1.js create mode 100644 tests/baselines/reference/parser_breakNotInIterationOrSwitchStatement2.js create mode 100644 tests/baselines/reference/parser_breakTarget1.js create mode 100644 tests/baselines/reference/parser_breakTarget2.js create mode 100644 tests/baselines/reference/parser_breakTarget3.js create mode 100644 tests/baselines/reference/parser_breakTarget4.js create mode 100644 tests/baselines/reference/parser_breakTarget5.js create mode 100644 tests/baselines/reference/parser_breakTarget6.js create mode 100644 tests/baselines/reference/parser_continueInIterationStatement1.js create mode 100644 tests/baselines/reference/parser_continueInIterationStatement2.js create mode 100644 tests/baselines/reference/parser_continueInIterationStatement3.js create mode 100644 tests/baselines/reference/parser_continueInIterationStatement4.errors.txt create mode 100644 tests/baselines/reference/parser_continueInIterationStatement4.js create mode 100644 tests/baselines/reference/parser_continueLabel.js create mode 100644 tests/baselines/reference/parser_continueNotInIterationStatement1.js create mode 100644 tests/baselines/reference/parser_continueNotInIterationStatement2.js create mode 100644 tests/baselines/reference/parser_continueNotInIterationStatement3.js create mode 100644 tests/baselines/reference/parser_continueNotInIterationStatement4.js create mode 100644 tests/baselines/reference/parser_continueTarget1.js create mode 100644 tests/baselines/reference/parser_continueTarget2.js create mode 100644 tests/baselines/reference/parser_continueTarget3.js create mode 100644 tests/baselines/reference/parser_continueTarget4.js create mode 100644 tests/baselines/reference/parser_continueTarget5.js create mode 100644 tests/baselines/reference/parser_continueTarget6.js create mode 100644 tests/baselines/reference/parser_duplicateLabel1.js create mode 100644 tests/baselines/reference/parser_duplicateLabel2.js create mode 100644 tests/baselines/reference/parser_duplicateLabel3.js create mode 100644 tests/baselines/reference/parser_duplicateLabel4.js create mode 100644 tests/baselines/reference/parserharness.errors.txt create mode 100644 tests/baselines/reference/parserindenter.errors.txt create mode 100644 tests/baselines/reference/parservoidInQualifiedName0.js create mode 100644 tests/baselines/reference/parservoidInQualifiedName1.errors.txt create mode 100644 tests/baselines/reference/parservoidInQualifiedName2.errors.txt create mode 100644 tests/baselines/reference/partiallyAmbientClodule.js create mode 100644 tests/baselines/reference/partiallyAmbientFundule.js create mode 100644 tests/baselines/reference/plusOperatorInvalidOperations.errors.txt create mode 100644 tests/baselines/reference/plusOperatorWithAnyOtherType.errors.txt create mode 100644 tests/baselines/reference/plusOperatorWithAnyOtherType.js create mode 100644 tests/baselines/reference/plusOperatorWithBooleanType.js create mode 100644 tests/baselines/reference/plusOperatorWithEnumType.js create mode 100644 tests/baselines/reference/plusOperatorWithNumberType.js create mode 100644 tests/baselines/reference/plusOperatorWithStringType.js create mode 100644 tests/baselines/reference/prefixIncrementAsOperandOfPlusExpression.js create mode 100644 tests/baselines/reference/prespecializedGenericMembers1.js create mode 100644 tests/baselines/reference/primaryExpressionMods.errors.txt create mode 100644 tests/baselines/reference/primaryExpressionMods.js create mode 100644 tests/baselines/reference/primitiveConstraints1.errors.txt create mode 100644 tests/baselines/reference/primitiveConstraints1.js create mode 100644 tests/baselines/reference/primitiveConstraints2.errors.txt create mode 100644 tests/baselines/reference/primitiveConstraints2.js create mode 100644 tests/baselines/reference/primitiveMembers.errors.txt create mode 100644 tests/baselines/reference/primitiveTypeAsClassName.errors.txt create mode 100644 tests/baselines/reference/primitiveTypeAsClassName.js create mode 100644 tests/baselines/reference/primitiveTypeAsInterfaceName.errors.txt create mode 100644 tests/baselines/reference/primitiveTypeAsInterfaceName.js create mode 100644 tests/baselines/reference/primitiveTypeAsInterfaceNameGeneric.errors.txt create mode 100644 tests/baselines/reference/primitiveTypeAsInterfaceNameGeneric.js create mode 100644 tests/baselines/reference/primitiveTypeAsmoduleName.js create mode 100644 tests/baselines/reference/primitiveTypeAssignment.errors.txt create mode 100644 tests/baselines/reference/primitiveTypeAssignment.js create mode 100644 tests/baselines/reference/primtiveTypesAreIdentical.js create mode 100644 tests/baselines/reference/privacyCheckAnonymousFunctionParameter.js create mode 100644 tests/baselines/reference/privacyCheckAnonymousFunctionParameter2.js create mode 100644 tests/baselines/reference/privacyCheckCallbackOfInterfaceMethodWithTypeParameter.js create mode 100644 tests/baselines/reference/privacyCheckExportAssignmentOnExportedGenericInterface1.js create mode 100644 tests/baselines/reference/privacyCheckExportAssignmentOnExportedGenericInterface2.js create mode 100644 tests/baselines/reference/privacyCheckExternalModuleExportAssignmentOfGenericClass.js create mode 100644 tests/baselines/reference/privacyCheckOnTypeParameterReferenceInConstructorParameter.js create mode 100644 tests/baselines/reference/privacyCheckTypeOfFunction.errors.txt create mode 100644 tests/baselines/reference/privacyCheckTypeOfFunction.js create mode 100644 tests/baselines/reference/privacyCheckTypeOfInvisibleModuleError.js create mode 100644 tests/baselines/reference/privacyCheckTypeOfInvisibleModuleNoError.js create mode 100644 tests/baselines/reference/privacyClass.js create mode 100644 tests/baselines/reference/privacyFunc.js create mode 100644 tests/baselines/reference/privacyGetter.errors.txt create mode 100644 tests/baselines/reference/privacyGloClass.js create mode 100644 tests/baselines/reference/privacyGloFunc.js create mode 100644 tests/baselines/reference/privacyGloGetter.errors.txt create mode 100644 tests/baselines/reference/privacyGloImport.errors.txt create mode 100644 tests/baselines/reference/privacyGloInterface.js create mode 100644 tests/baselines/reference/privacyGloVar.js create mode 100644 tests/baselines/reference/privacyImport.errors.txt create mode 100644 tests/baselines/reference/privacyInterface.js create mode 100644 tests/baselines/reference/privacyLocalInternalReferenceImportWithExport.js create mode 100644 tests/baselines/reference/privacyLocalInternalReferenceImportWithoutExport.js create mode 100644 tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.errors.txt create mode 100644 tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithExport.js create mode 100644 tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithoutExport.errors.txt create mode 100644 tests/baselines/reference/privacyTopLevelAmbientExternalModuleImportWithoutExport.js create mode 100644 tests/baselines/reference/privacyTopLevelInternalReferenceImportWithExport.js create mode 100644 tests/baselines/reference/privacyTopLevelInternalReferenceImportWithoutExport.js create mode 100644 tests/baselines/reference/privacyTypeParameterOfFunction.errors.txt create mode 100644 tests/baselines/reference/privacyTypeParameterOfFunction.js create mode 100644 tests/baselines/reference/privacyTypeParametersOfClass.errors.txt create mode 100644 tests/baselines/reference/privacyTypeParametersOfClass.js create mode 100644 tests/baselines/reference/privacyTypeParametersOfInterface.errors.txt create mode 100644 tests/baselines/reference/privacyTypeParametersOfInterface.js create mode 100644 tests/baselines/reference/privacyVar.js create mode 100644 tests/baselines/reference/privateAccessInSubclass1.js create mode 100644 tests/baselines/reference/privateClassPropertyAccessibleWithinClass.errors.txt create mode 100644 tests/baselines/reference/privateIndexer.errors.txt create mode 100644 tests/baselines/reference/privateIndexer2.errors.txt create mode 100644 tests/baselines/reference/privateInstanceMemberAccessibility.errors.txt create mode 100644 tests/baselines/reference/privateInstanceVisibility.js create mode 100644 tests/baselines/reference/privateInterfaceProperties.errors.txt create mode 100644 tests/baselines/reference/privateInterfaceProperties.js create mode 100644 tests/baselines/reference/privatePropertyUsingObjectType.js create mode 100644 tests/baselines/reference/privateStaticMemberAccessibility.errors.txt create mode 100644 tests/baselines/reference/privateStaticMemberAccessibility.js create mode 100644 tests/baselines/reference/privateStaticNotAccessibleInClodule.errors.txt create mode 100644 tests/baselines/reference/privateStaticNotAccessibleInClodule.js create mode 100644 tests/baselines/reference/privateStaticNotAccessibleInClodule2.errors.txt create mode 100644 tests/baselines/reference/privateStaticNotAccessibleInClodule2.js create mode 100644 tests/baselines/reference/privateVisibility.errors.txt create mode 100644 tests/baselines/reference/privateVisibility.js create mode 100644 tests/baselines/reference/privateVisibles.js create mode 100644 tests/baselines/reference/project/baseline/amd/baseline.json create mode 100644 tests/baselines/reference/project/baseline/amd/decl.js create mode 100644 tests/baselines/reference/project/baseline/amd/emit.js create mode 100644 tests/baselines/reference/project/baseline/node/baseline.json create mode 100644 tests/baselines/reference/project/baseline/node/decl.js create mode 100644 tests/baselines/reference/project/baseline/node/emit.js create mode 100644 tests/baselines/reference/project/baseline2/amd/baseline2.json create mode 100644 tests/baselines/reference/project/baseline2/amd/decl.js create mode 100644 tests/baselines/reference/project/baseline2/amd/dont_emit.js create mode 100644 tests/baselines/reference/project/baseline2/node/baseline2.json create mode 100644 tests/baselines/reference/project/baseline2/node/decl.js create mode 100644 tests/baselines/reference/project/baseline2/node/dont_emit.js create mode 100644 tests/baselines/reference/project/baseline3/amd/baseline3.json create mode 100644 tests/baselines/reference/project/baseline3/amd/nestedModule.js create mode 100644 tests/baselines/reference/project/baseline3/node/baseline3.json create mode 100644 tests/baselines/reference/project/baseline3/node/nestedModule.js create mode 100644 tests/baselines/reference/project/cantFindTheModule/amd/cantFindTheModule.errors.txt create mode 100644 tests/baselines/reference/project/cantFindTheModule/amd/cantFindTheModule.json create mode 100644 tests/baselines/reference/project/cantFindTheModule/node/cantFindTheModule.errors.txt create mode 100644 tests/baselines/reference/project/cantFindTheModule/node/cantFindTheModule.json create mode 100644 tests/baselines/reference/project/circularReferencing/amd/circularReferencing.json create mode 100644 tests/baselines/reference/project/circularReferencing/node/circularReferencing.json create mode 100644 tests/baselines/reference/project/circularReferencing2/amd/circularReferencing2.json create mode 100644 tests/baselines/reference/project/circularReferencing2/node/circularReferencing2.json create mode 100644 tests/baselines/reference/project/declarationsCascadingImports/amd/declarationsCascadingImports.json create mode 100644 tests/baselines/reference/project/declarationsCascadingImports/amd/m4.d.ts create mode 100644 tests/baselines/reference/project/declarationsCascadingImports/amd/m4.js create mode 100644 tests/baselines/reference/project/declarationsCascadingImports/amd/useModule.d.ts create mode 100644 tests/baselines/reference/project/declarationsCascadingImports/amd/useModule.js create mode 100644 tests/baselines/reference/project/declarationsCascadingImports/node/declarationsCascadingImports.json create mode 100644 tests/baselines/reference/project/declarationsCascadingImports/node/m4.d.ts create mode 100644 tests/baselines/reference/project/declarationsCascadingImports/node/m4.js create mode 100644 tests/baselines/reference/project/declarationsCascadingImports/node/useModule.d.ts create mode 100644 tests/baselines/reference/project/declarationsCascadingImports/node/useModule.js create mode 100644 tests/baselines/reference/project/declarationsGlobalImport/amd/declarationsGlobalImport.json create mode 100644 tests/baselines/reference/project/declarationsGlobalImport/amd/glo_m4.d.ts create mode 100644 tests/baselines/reference/project/declarationsGlobalImport/amd/glo_m4.js create mode 100644 tests/baselines/reference/project/declarationsGlobalImport/amd/useModule.d.ts create mode 100644 tests/baselines/reference/project/declarationsGlobalImport/amd/useModule.js create mode 100644 tests/baselines/reference/project/declarationsGlobalImport/node/declarationsGlobalImport.json create mode 100644 tests/baselines/reference/project/declarationsGlobalImport/node/glo_m4.d.ts create mode 100644 tests/baselines/reference/project/declarationsGlobalImport/node/glo_m4.js create mode 100644 tests/baselines/reference/project/declarationsGlobalImport/node/useModule.d.ts create mode 100644 tests/baselines/reference/project/declarationsGlobalImport/node/useModule.js create mode 100644 tests/baselines/reference/project/declarationsImportedInPrivate/amd/declarationsImportedInPrivate.json create mode 100644 tests/baselines/reference/project/declarationsImportedInPrivate/amd/private_m4.d.ts create mode 100644 tests/baselines/reference/project/declarationsImportedInPrivate/amd/private_m4.js create mode 100644 tests/baselines/reference/project/declarationsImportedInPrivate/amd/useModule.d.ts create mode 100644 tests/baselines/reference/project/declarationsImportedInPrivate/amd/useModule.js create mode 100644 tests/baselines/reference/project/declarationsImportedInPrivate/node/declarationsImportedInPrivate.json create mode 100644 tests/baselines/reference/project/declarationsImportedInPrivate/node/private_m4.d.ts create mode 100644 tests/baselines/reference/project/declarationsImportedInPrivate/node/private_m4.js create mode 100644 tests/baselines/reference/project/declarationsImportedInPrivate/node/useModule.d.ts create mode 100644 tests/baselines/reference/project/declarationsImportedInPrivate/node/useModule.js create mode 100644 tests/baselines/reference/project/declarationsImportedUseInFunction/amd/declarationsImportedUseInFunction.json create mode 100644 tests/baselines/reference/project/declarationsImportedUseInFunction/amd/fncOnly_m4.d.ts create mode 100644 tests/baselines/reference/project/declarationsImportedUseInFunction/amd/fncOnly_m4.js create mode 100644 tests/baselines/reference/project/declarationsImportedUseInFunction/amd/useModule.d.ts create mode 100644 tests/baselines/reference/project/declarationsImportedUseInFunction/amd/useModule.js create mode 100644 tests/baselines/reference/project/declarationsImportedUseInFunction/node/declarationsImportedUseInFunction.json create mode 100644 tests/baselines/reference/project/declarationsImportedUseInFunction/node/fncOnly_m4.d.ts create mode 100644 tests/baselines/reference/project/declarationsImportedUseInFunction/node/fncOnly_m4.js create mode 100644 tests/baselines/reference/project/declarationsImportedUseInFunction/node/useModule.d.ts create mode 100644 tests/baselines/reference/project/declarationsImportedUseInFunction/node/useModule.js create mode 100644 tests/baselines/reference/project/declarationsIndirectImportShouldResultInError/amd/declarationsIndirectImportShouldResultInError.json create mode 100644 tests/baselines/reference/project/declarationsIndirectImportShouldResultInError/amd/m4.js create mode 100644 tests/baselines/reference/project/declarationsIndirectImportShouldResultInError/amd/m5.js create mode 100644 tests/baselines/reference/project/declarationsIndirectImportShouldResultInError/amd/useModule.js create mode 100644 tests/baselines/reference/project/declarationsIndirectImportShouldResultInError/node/declarationsIndirectImportShouldResultInError.json create mode 100644 tests/baselines/reference/project/declarationsIndirectImportShouldResultInError/node/m4.js create mode 100644 tests/baselines/reference/project/declarationsIndirectImportShouldResultInError/node/m5.js create mode 100644 tests/baselines/reference/project/declarationsIndirectImportShouldResultInError/node/useModule.js create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesImport/amd/declarationsMultipleTimesImport.json create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesImport/amd/m4.d.ts create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesImport/amd/m4.js create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesImport/amd/useModule.d.ts create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesImport/amd/useModule.js create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesImport/node/declarationsMultipleTimesImport.json create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesImport/node/m4.d.ts create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesImport/node/m4.js create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesImport/node/useModule.d.ts create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesImport/node/useModule.js create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/amd/declarationsMultipleTimesMultipleImport.json create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/amd/m4.d.ts create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/amd/m4.js create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/amd/m5.d.ts create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/amd/m5.js create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/amd/useModule.d.ts create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/amd/useModule.js create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/node/declarationsMultipleTimesMultipleImport.json create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/node/m4.d.ts create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/node/m4.js create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/node/m5.d.ts create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/node/m5.js create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/node/useModule.d.ts create mode 100644 tests/baselines/reference/project/declarationsMultipleTimesMultipleImport/node/useModule.js create mode 100644 tests/baselines/reference/project/declarationsSimpleImport/amd/declarationsSimpleImport.json create mode 100644 tests/baselines/reference/project/declarationsSimpleImport/amd/m4.d.ts create mode 100644 tests/baselines/reference/project/declarationsSimpleImport/amd/m4.js create mode 100644 tests/baselines/reference/project/declarationsSimpleImport/amd/useModule.d.ts create mode 100644 tests/baselines/reference/project/declarationsSimpleImport/amd/useModule.js create mode 100644 tests/baselines/reference/project/declarationsSimpleImport/node/declarationsSimpleImport.json create mode 100644 tests/baselines/reference/project/declarationsSimpleImport/node/m4.d.ts create mode 100644 tests/baselines/reference/project/declarationsSimpleImport/node/m4.js create mode 100644 tests/baselines/reference/project/declarationsSimpleImport/node/useModule.d.ts create mode 100644 tests/baselines/reference/project/declarationsSimpleImport/node/useModule.js create mode 100644 tests/baselines/reference/project/declareExportAdded/amd/consumer.js create mode 100644 tests/baselines/reference/project/declareExportAdded/amd/declareExportAdded.json create mode 100644 tests/baselines/reference/project/declareExportAdded/node/consumer.js create mode 100644 tests/baselines/reference/project/declareExportAdded/node/declareExportAdded.json create mode 100644 tests/baselines/reference/project/declareVariableCollision/amd/declareVariableCollision.errors.txt create mode 100644 tests/baselines/reference/project/declareVariableCollision/amd/declareVariableCollision.json create mode 100644 tests/baselines/reference/project/declareVariableCollision/node/declareVariableCollision.errors.txt create mode 100644 tests/baselines/reference/project/declareVariableCollision/node/declareVariableCollision.json create mode 100644 tests/baselines/reference/project/extReferencingExtAndInt/amd/extReferencingExtAndInt.json create mode 100644 tests/baselines/reference/project/extReferencingExtAndInt/node/extReferencingExtAndInt.json create mode 100644 tests/baselines/reference/project/intReferencingExtAndInt/amd/intReferencingExtAndInt.errors.txt create mode 100644 tests/baselines/reference/project/intReferencingExtAndInt/amd/intReferencingExtAndInt.json create mode 100644 tests/baselines/reference/project/intReferencingExtAndInt/node/intReferencingExtAndInt.errors.txt create mode 100644 tests/baselines/reference/project/intReferencingExtAndInt/node/intReferencingExtAndInt.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/amd/mapRootAbsolutePathMixedSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/amd/mapRootAbsolutePathMixedSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/amd/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/amd/ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/amd/ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/node/mapRootAbsolutePathMixedSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/node/mapRootAbsolutePathMixedSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/node/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/node/ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/node/ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/mapRootAbsolutePathModuleMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/mapRootAbsolutePathModuleMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/diskFile1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/mapRootAbsolutePathModuleMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/mapRootAbsolutePathModuleMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/diskFile1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/mapRootAbsolutePathModuleSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/mapRootAbsolutePathModuleSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/mapRootAbsolutePathModuleSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/mapRootAbsolutePathModuleSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/mapRootAbsolutePathModuleSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/mapRootAbsolutePathModuleSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/mapRootAbsolutePathModuleSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/mapRootAbsolutePathModuleSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/mapRootAbsolutePathModuleSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/mapRootAbsolutePathModuleSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/mapRootAbsolutePathModuleSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/mapRootAbsolutePathModuleSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/amd/mapRootAbsolutePathMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/amd/mapRootAbsolutePathMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/node/diskFile1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/node/mapRootAbsolutePathMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/node/mapRootAbsolutePathMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/mapRootAbsolutePathMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/mapRootAbsolutePathMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/node/mapRootAbsolutePathMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/node/mapRootAbsolutePathMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputFile/amd/mapRootAbsolutePathMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputFile/amd/mapRootAbsolutePathMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputFile/node/mapRootAbsolutePathMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathMultifolderSpecifyOutputFile/node/mapRootAbsolutePathMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/amd/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/amd/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/amd/mapRootAbsolutePathSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/amd/mapRootAbsolutePathSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/node/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/node/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/node/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/node/mapRootAbsolutePathSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/node/mapRootAbsolutePathSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/amd/mapRootAbsolutePathSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/amd/mapRootAbsolutePathSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/node/mapRootAbsolutePathSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/node/mapRootAbsolutePathSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/node/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputFile/amd/mapRootAbsolutePathSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputFile/amd/mapRootAbsolutePathSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputFile/node/mapRootAbsolutePathSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSimpleSpecifyOutputFile/node/mapRootAbsolutePathSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileNoOutdir/amd/mapRootAbsolutePathSingleFileNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileNoOutdir/amd/mapRootAbsolutePathSingleFileNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileNoOutdir/node/mapRootAbsolutePathSingleFileNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileNoOutdir/node/mapRootAbsolutePathSingleFileNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputDirectory/amd/mapRootAbsolutePathSingleFileSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputDirectory/amd/mapRootAbsolutePathSingleFileSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputDirectory/node/mapRootAbsolutePathSingleFileSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputDirectory/node/mapRootAbsolutePathSingleFileSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputFile/amd/mapRootAbsolutePathSingleFileSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputFile/amd/mapRootAbsolutePathSingleFileSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputFile/node/mapRootAbsolutePathSingleFileSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSingleFileSpecifyOutputFile/node/mapRootAbsolutePathSingleFileSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/amd/mapRootAbsolutePathSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/amd/mapRootAbsolutePathSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/node/mapRootAbsolutePathSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/node/mapRootAbsolutePathSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/mapRootAbsolutePathSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/mapRootAbsolutePathSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/node/mapRootAbsolutePathSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/node/mapRootAbsolutePathSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputFile/amd/mapRootAbsolutePathSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputFile/amd/mapRootAbsolutePathSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputFile/node/mapRootAbsolutePathSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootAbsolutePathSubfolderSpecifyOutputFile/node/mapRootAbsolutePathSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/amd/mapRootRelativePathMixedSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/amd/mapRootRelativePathMixedSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/amd/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/amd/ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/amd/ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/node/mapRootRelativePathMixedSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/node/mapRootRelativePathMixedSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/node/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/node/ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/node/ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/amd/mapRootRelativePathMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/amd/mapRootRelativePathMixedSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/amd/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/amd/ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/amd/ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/node/mapRootRelativePathMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/node/mapRootRelativePathMixedSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/node/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/node/ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile/node/ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/mapRootRelativePathModuleMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/mapRootRelativePathModuleMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/diskFile1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/mapRootRelativePathModuleMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/mapRootRelativePathModuleMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/mapRootRelativePathModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/mapRootRelativePathModuleMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/diskFile1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/mapRootRelativePathModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/mapRootRelativePathModuleMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/mapRootRelativePathModuleSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/mapRootRelativePathModuleSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/mapRootRelativePathModuleSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/mapRootRelativePathModuleSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/mapRootRelativePathModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/mapRootRelativePathModuleSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/mapRootRelativePathModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/mapRootRelativePathModuleSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/amd/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/amd/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/amd/mapRootRelativePathModuleSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/amd/mapRootRelativePathModuleSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/mapRootRelativePathModuleSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/mapRootRelativePathModuleSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSimpleSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/mapRootRelativePathModuleSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/mapRootRelativePathModuleSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/mapRootRelativePathModuleSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/mapRootRelativePathModuleSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/amd/mapRootRelativePathModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/amd/mapRootRelativePathModuleSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/mapRootRelativePathModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/mapRootRelativePathModuleSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/amd/mapRootRelativePathMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/amd/mapRootRelativePathMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/node/diskFile1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/node/mapRootRelativePathMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/node/mapRootRelativePathMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/amd/mapRootRelativePathMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/amd/mapRootRelativePathMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/node/mapRootRelativePathMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/node/mapRootRelativePathMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputFile/amd/mapRootRelativePathMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputFile/amd/mapRootRelativePathMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputFile/node/mapRootRelativePathMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathMultifolderSpecifyOutputFile/node/mapRootRelativePathMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/amd/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/amd/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/amd/mapRootRelativePathSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/amd/mapRootRelativePathSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/node/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/node/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/node/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/node/mapRootRelativePathSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/node/mapRootRelativePathSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/amd/mapRootRelativePathSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/amd/mapRootRelativePathSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/node/mapRootRelativePathSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/node/mapRootRelativePathSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/node/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputFile/amd/mapRootRelativePathSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputFile/amd/mapRootRelativePathSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputFile/node/mapRootRelativePathSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathSimpleSpecifyOutputFile/node/mapRootRelativePathSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileNoOutdir/amd/mapRootRelativePathSingleFileNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileNoOutdir/amd/mapRootRelativePathSingleFileNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileNoOutdir/node/mapRootRelativePathSingleFileNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileNoOutdir/node/mapRootRelativePathSingleFileNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputDirectory/amd/mapRootRelativePathSingleFileSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputDirectory/amd/mapRootRelativePathSingleFileSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputDirectory/node/mapRootRelativePathSingleFileSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputDirectory/node/mapRootRelativePathSingleFileSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputFile/amd/mapRootRelativePathSingleFileSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputFile/amd/mapRootRelativePathSingleFileSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputFile/node/mapRootRelativePathSingleFileSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathSingleFileSpecifyOutputFile/node/mapRootRelativePathSingleFileSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/amd/mapRootRelativePathSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/amd/mapRootRelativePathSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/node/mapRootRelativePathSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/node/mapRootRelativePathSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/amd/mapRootRelativePathSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/amd/mapRootRelativePathSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/node/mapRootRelativePathSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/node/mapRootRelativePathSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputFile/amd/mapRootRelativePathSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputFile/amd/mapRootRelativePathSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputFile/node/mapRootRelativePathSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/mapRootRelativePathSubfolderSpecifyOutputFile/node/mapRootRelativePathSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/mapRootSourceRootWithNoSourceMapOption/amd/mapRootSourceRootWithNoSourceMapOption.errors.txt create mode 100644 tests/baselines/reference/project/mapRootSourceRootWithNoSourceMapOption/amd/mapRootSourceRootWithNoSourceMapOption.json create mode 100644 tests/baselines/reference/project/mapRootSourceRootWithNoSourceMapOption/node/mapRootSourceRootWithNoSourceMapOption.errors.txt create mode 100644 tests/baselines/reference/project/mapRootSourceRootWithNoSourceMapOption/node/mapRootSourceRootWithNoSourceMapOption.json create mode 100644 tests/baselines/reference/project/mapRootWithNoSourceMapOption/amd/mapRootWithNoSourceMapOption.errors.txt create mode 100644 tests/baselines/reference/project/mapRootWithNoSourceMapOption/amd/mapRootWithNoSourceMapOption.json create mode 100644 tests/baselines/reference/project/mapRootWithNoSourceMapOption/node/mapRootWithNoSourceMapOption.errors.txt create mode 100644 tests/baselines/reference/project/mapRootWithNoSourceMapOption/node/mapRootWithNoSourceMapOption.json create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/amd/maprootUrlMixedSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/amd/maprootUrlMixedSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/amd/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/amd/ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/amd/ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/node/maprootUrlMixedSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/node/maprootUrlMixedSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/node/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/node/ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/node/ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/amd/maprootUrlMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/amd/maprootUrlMixedSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/node/maprootUrlMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/node/maprootUrlMixedSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/amd/maprootUrlMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/amd/maprootUrlMixedSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/amd/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/amd/ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/amd/ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/node/maprootUrlMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/node/maprootUrlMixedSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/node/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/node/ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFile/node/ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/maprootUrlModuleMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/maprootUrlModuleMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/diskFile1.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/maprootUrlModuleMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/maprootUrlModuleMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/maprootUrlModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/maprootUrlModuleMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/maprootUrlModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/maprootUrlModuleMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/diskFile1.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleMultifolderSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/maprootUrlModuleSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/maprootUrlModuleSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/maprootUrlModuleSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/maprootUrlModuleSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/maprootUrlModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/maprootUrlModuleSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/maprootUrlModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/maprootUrlModuleSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/amd/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/amd/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/amd/maprootUrlModuleSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/amd/maprootUrlModuleSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlModuleSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlModuleSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSimpleSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/maprootUrlModuleSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/maprootUrlModuleSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/maprootUrlModuleSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/maprootUrlModuleSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/maprootUrlModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/maprootUrlModuleSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/maprootUrlModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/maprootUrlModuleSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/amd/maprootUrlModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/amd/maprootUrlModuleSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlModuleSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/maprootUrlModuleSubfolderSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/amd/maprootUrlMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/amd/maprootUrlMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/node/diskFile1.js create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/node/maprootUrlMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/node/maprootUrlMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/amd/maprootUrlMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/amd/maprootUrlMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.js create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/node/maprootUrlMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/node/maprootUrlMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.js create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputFile/amd/maprootUrlMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputFile/amd/maprootUrlMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputFile/node/maprootUrlMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlMultifolderSpecifyOutputFile/node/maprootUrlMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlSimpleNoOutdir/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSimpleNoOutdir/amd/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlSimpleNoOutdir/amd/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSimpleNoOutdir/amd/maprootUrlSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlSimpleNoOutdir/amd/maprootUrlSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlSimpleNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSimpleNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/maprootUrlSimpleNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSimpleNoOutdir/node/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSimpleNoOutdir/node/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlSimpleNoOutdir/node/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSimpleNoOutdir/node/maprootUrlSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlSimpleNoOutdir/node/maprootUrlSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlSimpleNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSimpleNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/maprootUrlSimpleNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/amd/maprootUrlSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/amd/maprootUrlSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/node/maprootUrlSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/node/maprootUrlSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/node/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputFile/amd/maprootUrlSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputFile/amd/maprootUrlSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputFile/node/maprootUrlSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlSimpleSpecifyOutputFile/node/maprootUrlSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileNoOutdir/amd/maprootUrlSingleFileNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileNoOutdir/amd/maprootUrlSingleFileNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileNoOutdir/node/maprootUrlSingleFileNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileNoOutdir/node/maprootUrlSingleFileNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputDirectory/amd/maprootUrlSingleFileSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputDirectory/amd/maprootUrlSingleFileSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputDirectory/node/maprootUrlSingleFileSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputDirectory/node/maprootUrlSingleFileSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputFile/amd/maprootUrlSingleFileSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputFile/amd/maprootUrlSingleFileSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputFile/node/maprootUrlSingleFileSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlSingleFileSpecifyOutputFile/node/maprootUrlSingleFileSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/amd/maprootUrlSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/amd/maprootUrlSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/node/maprootUrlSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/node/maprootUrlSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/amd/maprootUrlSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/amd/maprootUrlSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/node/maprootUrlSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/node/maprootUrlSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputFile/amd/maprootUrlSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputFile/amd/maprootUrlSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputFile/node/maprootUrlSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlSubfolderSpecifyOutputFile/node/maprootUrlSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/amd/maprootUrlsourcerootUrlMixedSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/amd/maprootUrlsourcerootUrlMixedSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/amd/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/amd/ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/amd/ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/node/maprootUrlsourcerootUrlMixedSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/node/maprootUrlsourcerootUrlMixedSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/node/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/node/ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/node/ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/amd/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/amd/ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/amd/ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/node/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/node/ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile/node/ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/maprootUrlsourcerootUrlModuleMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/maprootUrlsourcerootUrlModuleMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/diskFile1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/maprootUrlsourcerootUrlModuleMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/maprootUrlsourcerootUrlModuleMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/diskFile1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/maprootUrlsourcerootUrlModuleSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/maprootUrlsourcerootUrlModuleSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/maprootUrlsourcerootUrlModuleSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/maprootUrlsourcerootUrlModuleSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/amd/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/amd/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/maprootUrlsourcerootUrlModuleSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/maprootUrlsourcerootUrlModuleSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/maprootUrlsourcerootUrlModuleSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/maprootUrlsourcerootUrlModuleSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/amd/maprootUrlsourcerootUrlMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/amd/maprootUrlsourcerootUrlMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/node/diskFile1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/node/maprootUrlsourcerootUrlMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/node/maprootUrlsourcerootUrlMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile/node/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile/node/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/amd/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/amd/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/amd/maprootUrlsourcerootUrlSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/amd/maprootUrlsourcerootUrlSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/node/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/node/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/node/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/node/maprootUrlsourcerootUrlSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/node/maprootUrlsourcerootUrlSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/node/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/node/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/node/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputFile/amd/maprootUrlsourcerootUrlSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputFile/amd/maprootUrlsourcerootUrlSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputFile/node/maprootUrlsourcerootUrlSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSimpleSpecifyOutputFile/node/maprootUrlsourcerootUrlSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileNoOutdir/amd/maprootUrlsourcerootUrlSingleFileNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileNoOutdir/amd/maprootUrlsourcerootUrlSingleFileNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileNoOutdir/node/maprootUrlsourcerootUrlSingleFileNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileNoOutdir/node/maprootUrlsourcerootUrlSingleFileNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory/node/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory/node/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile/amd/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile/amd/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile/node/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile/node/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/amd/maprootUrlsourcerootUrlSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/amd/maprootUrlsourcerootUrlSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/node/maprootUrlsourcerootUrlSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/node/maprootUrlsourcerootUrlSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/amd/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/node/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile/amd/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile/node/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/moduleIdentifier/amd/moduleIdentifier.json create mode 100644 tests/baselines/reference/project/moduleIdentifier/node/moduleIdentifier.json create mode 100644 tests/baselines/reference/project/moduleMergingOrdering1/amd/moduleMergingOrdering1.json create mode 100644 tests/baselines/reference/project/moduleMergingOrdering1/node/moduleMergingOrdering1.json create mode 100644 tests/baselines/reference/project/moduleMergingOrdering2/amd/moduleMergingOrdering2.json create mode 100644 tests/baselines/reference/project/moduleMergingOrdering2/node/moduleMergingOrdering2.json create mode 100644 tests/baselines/reference/project/multipleLevelsModuleResolution/amd/multipleLevelsModuleResolution.json create mode 100644 tests/baselines/reference/project/multipleLevelsModuleResolution/node/multipleLevelsModuleResolution.json create mode 100644 tests/baselines/reference/project/nestedDeclare/amd/nestedDeclare.json create mode 100644 tests/baselines/reference/project/nestedDeclare/node/nestedDeclare.json create mode 100644 tests/baselines/reference/project/nestedLocalModuleSimpleCase/amd/nestedLocalModuleSimpleCase.errors.txt create mode 100644 tests/baselines/reference/project/nestedLocalModuleSimpleCase/amd/nestedLocalModuleSimpleCase.json create mode 100644 tests/baselines/reference/project/nestedLocalModuleSimpleCase/node/nestedLocalModuleSimpleCase.errors.txt create mode 100644 tests/baselines/reference/project/nestedLocalModuleSimpleCase/node/nestedLocalModuleSimpleCase.json create mode 100644 tests/baselines/reference/project/nestedLocalModuleWithRecursiveTypecheck/amd/nestedLocalModuleWithRecursiveTypecheck.errors.txt create mode 100644 tests/baselines/reference/project/nestedLocalModuleWithRecursiveTypecheck/amd/nestedLocalModuleWithRecursiveTypecheck.json create mode 100644 tests/baselines/reference/project/nestedLocalModuleWithRecursiveTypecheck/node/nestedLocalModuleWithRecursiveTypecheck.errors.txt create mode 100644 tests/baselines/reference/project/nestedLocalModuleWithRecursiveTypecheck/node/nestedLocalModuleWithRecursiveTypecheck.json create mode 100644 tests/baselines/reference/project/nestedReferenceTags/amd/nestedReferenceTags.json create mode 100644 tests/baselines/reference/project/nestedReferenceTags/node/nestedReferenceTags.json create mode 100644 tests/baselines/reference/project/noDefaultLib/amd/noDefaultLib.errors.txt create mode 100644 tests/baselines/reference/project/noDefaultLib/amd/noDefaultLib.json create mode 100644 tests/baselines/reference/project/noDefaultLib/node/noDefaultLib.errors.txt create mode 100644 tests/baselines/reference/project/noDefaultLib/node/noDefaultLib.json create mode 100644 tests/baselines/reference/project/nonRelative/amd/consume.js create mode 100644 tests/baselines/reference/project/nonRelative/amd/decl.js create mode 100644 tests/baselines/reference/project/nonRelative/amd/lib/bar/a.js create mode 100644 tests/baselines/reference/project/nonRelative/amd/lib/foo/a.js create mode 100644 tests/baselines/reference/project/nonRelative/amd/lib/foo/b.js create mode 100644 tests/baselines/reference/project/nonRelative/amd/nonRelative.json create mode 100644 tests/baselines/reference/project/nonRelative/node/consume.js create mode 100644 tests/baselines/reference/project/nonRelative/node/decl.js create mode 100644 tests/baselines/reference/project/nonRelative/node/lib/bar/a.js create mode 100644 tests/baselines/reference/project/nonRelative/node/lib/foo/a.js create mode 100644 tests/baselines/reference/project/nonRelative/node/lib/foo/b.js create mode 100644 tests/baselines/reference/project/nonRelative/node/nonRelative.json create mode 100644 tests/baselines/reference/project/outMixedSubfolderNoOutdir/amd/outMixedSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/outMixedSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outMixedSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/outMixedSubfolderNoOutdir/amd/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/outMixedSubfolderNoOutdir/amd/ref/m2.js create mode 100644 tests/baselines/reference/project/outMixedSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/outMixedSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/outMixedSubfolderNoOutdir/node/outMixedSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/outMixedSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outMixedSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/outMixedSubfolderNoOutdir/node/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/outMixedSubfolderNoOutdir/node/ref/m2.js create mode 100644 tests/baselines/reference/project/outMixedSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/outMixedSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputDirectory/amd/outMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputDirectory/node/outMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFile/amd/outMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFile/amd/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFile/amd/ref/m2.js create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFile/node/outMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFile/node/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFile/node/ref/m2.js create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.d.ts create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.js create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/outMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.js create mode 100644 tests/baselines/reference/project/outModuleMultifolderNoOutdir/amd/diskFile0.js create mode 100644 tests/baselines/reference/project/outModuleMultifolderNoOutdir/amd/diskFile1.d.ts create mode 100644 tests/baselines/reference/project/outModuleMultifolderNoOutdir/amd/outModuleMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/outModuleMultifolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outModuleMultifolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/outModuleMultifolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleMultifolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/outModuleMultifolderNoOutdir/node/diskFile0.js create mode 100644 tests/baselines/reference/project/outModuleMultifolderNoOutdir/node/diskFile1.d.ts create mode 100644 tests/baselines/reference/project/outModuleMultifolderNoOutdir/node/outModuleMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/outModuleMultifolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outModuleMultifolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/outModuleMultifolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleMultifolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/amd/outModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/node/outModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/diskFile0.js create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/diskFile1.d.ts create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/outModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/diskFile0.js create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/diskFile1.d.ts create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/outModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/ref/m1.js create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleMultifolderSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/outModuleSimpleNoOutdir/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/outModuleSimpleNoOutdir/amd/m1.js create mode 100644 tests/baselines/reference/project/outModuleSimpleNoOutdir/amd/outModuleSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/outModuleSimpleNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleSimpleNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/outModuleSimpleNoOutdir/node/m1.d.ts create mode 100644 tests/baselines/reference/project/outModuleSimpleNoOutdir/node/m1.js create mode 100644 tests/baselines/reference/project/outModuleSimpleNoOutdir/node/outModuleSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/outModuleSimpleNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleSimpleNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/amd/outModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/node/outModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/amd/m1.js create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/amd/outModuleSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/m1.d.ts create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/m1.js create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/outModuleSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleSimpleSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/outModuleSubfolderNoOutdir/amd/outModuleSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/outModuleSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outModuleSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/outModuleSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/outModuleSubfolderNoOutdir/node/outModuleSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/outModuleSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outModuleSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/outModuleSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/amd/outModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/node/outModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/amd/outModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/outModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/ref/m1.js create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/outModuleSubfolderSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/outMultifolderNoOutdir/amd/diskFile0.js create mode 100644 tests/baselines/reference/project/outMultifolderNoOutdir/amd/diskFile1.d.ts create mode 100644 tests/baselines/reference/project/outMultifolderNoOutdir/amd/outMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/outMultifolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outMultifolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/outMultifolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/outMultifolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/outMultifolderNoOutdir/node/diskFile0.js create mode 100644 tests/baselines/reference/project/outMultifolderNoOutdir/node/diskFile1.d.ts create mode 100644 tests/baselines/reference/project/outMultifolderNoOutdir/node/outMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/outMultifolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outMultifolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/outMultifolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/outMultifolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/outMultifolderSpecifyOutputDirectory/amd/outMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/outMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/outMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/outMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.js create mode 100644 tests/baselines/reference/project/outMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/outMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/outMultifolderSpecifyOutputDirectory/node/outMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/outMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/outMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/outMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.js create mode 100644 tests/baselines/reference/project/outMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/outMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/outMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/outMultifolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/outMultifolderSpecifyOutputFile/amd/outMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/outMultifolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/outMultifolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/outMultifolderSpecifyOutputFile/node/outMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/outSimpleNoOutdir/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/outSimpleNoOutdir/amd/m1.js create mode 100644 tests/baselines/reference/project/outSimpleNoOutdir/amd/outSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/outSimpleNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/outSimpleNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/outSimpleNoOutdir/node/m1.d.ts create mode 100644 tests/baselines/reference/project/outSimpleNoOutdir/node/m1.js create mode 100644 tests/baselines/reference/project/outSimpleNoOutdir/node/outSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/outSimpleNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/outSimpleNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/outSimpleSpecifyOutputDirectory/amd/outSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/outSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/outSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/outSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/outSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/outSimpleSpecifyOutputDirectory/node/outSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/outSimpleSpecifyOutputDirectory/node/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/outSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/outSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/outSimpleSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/outSimpleSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/outSimpleSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/outSimpleSpecifyOutputFile/amd/outSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/outSimpleSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/outSimpleSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/outSimpleSpecifyOutputFile/node/outSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/outSingleFileNoOutdir/amd/outSingleFileNoOutdir.json create mode 100644 tests/baselines/reference/project/outSingleFileNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/outSingleFileNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/outSingleFileNoOutdir/node/outSingleFileNoOutdir.json create mode 100644 tests/baselines/reference/project/outSingleFileNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/outSingleFileNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/outSingleFileSpecifyOutputDirectory/amd/outSingleFileSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/outSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/outSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/outSingleFileSpecifyOutputDirectory/node/outSingleFileSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/outSingleFileSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/outSingleFileSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/outSingleFileSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/outSingleFileSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/outSingleFileSpecifyOutputFile/amd/outSingleFileSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/outSingleFileSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/outSingleFileSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/outSingleFileSpecifyOutputFile/node/outSingleFileSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/outSubfolderNoOutdir/amd/outSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/outSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/outSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/outSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/outSubfolderNoOutdir/node/outSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/outSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/outSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/outSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/outSubfolderSpecifyOutputDirectory/amd/outSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/outSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/outSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/outSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/outSubfolderSpecifyOutputDirectory/node/outSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/outSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/outSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/outSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/outSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/outSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/outSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/outSubfolderSpecifyOutputFile/amd/outSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/outSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/outSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/outSubfolderSpecifyOutputFile/node/outSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideModule/amd/privacyCheckOnImportedModuleDeclarationsInsideModule.errors.txt create mode 100644 tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideModule/amd/privacyCheckOnImportedModuleDeclarationsInsideModule.json create mode 100644 tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideModule/node/privacyCheckOnImportedModuleDeclarationsInsideModule.errors.txt create mode 100644 tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideModule/node/privacyCheckOnImportedModuleDeclarationsInsideModule.json create mode 100644 tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule/amd/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule.errors.txt create mode 100644 tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule/amd/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule.json create mode 100644 tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule/node/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule.errors.txt create mode 100644 tests/baselines/reference/project/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule/node/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule.json create mode 100644 tests/baselines/reference/project/privacyCheckOnImportedModuleImportStatementInParentModule/amd/privacyCheckOnImportedModuleImportStatementInParentModule.errors.txt create mode 100644 tests/baselines/reference/project/privacyCheckOnImportedModuleImportStatementInParentModule/amd/privacyCheckOnImportedModuleImportStatementInParentModule.json create mode 100644 tests/baselines/reference/project/privacyCheckOnImportedModuleImportStatementInParentModule/node/privacyCheckOnImportedModuleImportStatementInParentModule.errors.txt create mode 100644 tests/baselines/reference/project/privacyCheckOnImportedModuleImportStatementInParentModule/node/privacyCheckOnImportedModuleImportStatementInParentModule.json create mode 100644 tests/baselines/reference/project/privacyCheckOnImportedModuleSimpleReference/amd/privacyCheckOnImportedModuleSimpleReference.json create mode 100644 tests/baselines/reference/project/privacyCheckOnImportedModuleSimpleReference/node/privacyCheckOnImportedModuleSimpleReference.json create mode 100644 tests/baselines/reference/project/privacyCheckOnIndirectTypeFromTheExternalType/amd/privacyCheckOnIndirectTypeFromTheExternalType.json create mode 100644 tests/baselines/reference/project/privacyCheckOnIndirectTypeFromTheExternalType/node/privacyCheckOnIndirectTypeFromTheExternalType.json create mode 100644 tests/baselines/reference/project/prologueEmit/amd/out.js create mode 100644 tests/baselines/reference/project/prologueEmit/amd/prologueEmit.json create mode 100644 tests/baselines/reference/project/prologueEmit/node/out.js create mode 100644 tests/baselines/reference/project/prologueEmit/node/prologueEmit.json create mode 100644 tests/baselines/reference/project/quotesInFileAndDirectoryNames/amd/li'b/class'A.d.ts create mode 100644 tests/baselines/reference/project/quotesInFileAndDirectoryNames/amd/li'b/class'A.js create mode 100644 tests/baselines/reference/project/quotesInFileAndDirectoryNames/amd/m'ain.d.ts create mode 100644 tests/baselines/reference/project/quotesInFileAndDirectoryNames/amd/m'ain.js create mode 100644 tests/baselines/reference/project/quotesInFileAndDirectoryNames/amd/quotesInFileAndDirectoryNames.json create mode 100644 tests/baselines/reference/project/quotesInFileAndDirectoryNames/node/li'b/class'A.d.ts create mode 100644 tests/baselines/reference/project/quotesInFileAndDirectoryNames/node/li'b/class'A.js create mode 100644 tests/baselines/reference/project/quotesInFileAndDirectoryNames/node/m'ain.d.ts create mode 100644 tests/baselines/reference/project/quotesInFileAndDirectoryNames/node/m'ain.js create mode 100644 tests/baselines/reference/project/quotesInFileAndDirectoryNames/node/quotesInFileAndDirectoryNames.json create mode 100644 tests/baselines/reference/project/relativeGlobal/amd/relativeGlobal.json create mode 100644 tests/baselines/reference/project/relativeGlobal/node/relativeGlobal.json create mode 100644 tests/baselines/reference/project/relativeGlobalRef/amd/relativeGlobalRef.json create mode 100644 tests/baselines/reference/project/relativeGlobalRef/node/relativeGlobalRef.json create mode 100644 tests/baselines/reference/project/relativeNested/amd/relativeNested.json create mode 100644 tests/baselines/reference/project/relativeNested/node/relativeNested.json create mode 100644 tests/baselines/reference/project/relativeNestedRef/amd/relativeNestedRef.json create mode 100644 tests/baselines/reference/project/relativeNestedRef/node/relativeNestedRef.json create mode 100644 tests/baselines/reference/project/relativePaths/amd/relativePaths.json create mode 100644 tests/baselines/reference/project/relativePaths/node/relativePaths.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/amd/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/amd/ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/amd/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/amd/sourceRootAbsolutePathMixedSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/amd/sourceRootAbsolutePathMixedSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/node/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/node/ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/node/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/node/sourceRootAbsolutePathMixedSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/node/sourceRootAbsolutePathMixedSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory/node/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/amd/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/sourceRootAbsolutePathModuleMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/sourceRootAbsolutePathModuleMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/diskFile1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/sourceRootAbsolutePathModuleMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/sourceRootAbsolutePathModuleMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory/node/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/diskFile1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/sourceRootAbsolutePathModuleSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/sourceRootAbsolutePathModuleSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/sourceRootAbsolutePathModuleSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/sourceRootAbsolutePathModuleSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/amd/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory/node/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/sourceRootAbsolutePathModuleSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/sourceRootAbsolutePathModuleSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/sourceRootAbsolutePathModuleSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/sourceRootAbsolutePathModuleSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory/node/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/amd/sourceRootAbsolutePathMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/amd/sourceRootAbsolutePathMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/node/diskFile1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/node/sourceRootAbsolutePathMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/node/sourceRootAbsolutePathMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/node/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory/node/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputFile/amd/sourceRootAbsolutePathMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputFile/amd/sourceRootAbsolutePathMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputFile/node/sourceRootAbsolutePathMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathMultifolderSpecifyOutputFile/node/sourceRootAbsolutePathMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/amd/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/amd/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/amd/sourceRootAbsolutePathSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/amd/sourceRootAbsolutePathSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/node/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/node/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/node/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/node/sourceRootAbsolutePathSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/node/sourceRootAbsolutePathSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/amd/sourceRootAbsolutePathSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/amd/sourceRootAbsolutePathSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/node/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/node/sourceRootAbsolutePathSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory/node/sourceRootAbsolutePathSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputFile/amd/sourceRootAbsolutePathSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputFile/amd/sourceRootAbsolutePathSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputFile/node/sourceRootAbsolutePathSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSimpleSpecifyOutputFile/node/sourceRootAbsolutePathSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileNoOutdir/amd/sourceRootAbsolutePathSingleFileNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileNoOutdir/amd/sourceRootAbsolutePathSingleFileNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileNoOutdir/node/sourceRootAbsolutePathSingleFileNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileNoOutdir/node/sourceRootAbsolutePathSingleFileNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory/amd/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory/amd/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory/node/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory/node/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputFile/amd/sourceRootAbsolutePathSingleFileSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputFile/amd/sourceRootAbsolutePathSingleFileSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputFile/node/sourceRootAbsolutePathSingleFileSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSingleFileSpecifyOutputFile/node/sourceRootAbsolutePathSingleFileSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/amd/sourceRootAbsolutePathSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/amd/sourceRootAbsolutePathSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/node/sourceRootAbsolutePathSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/node/sourceRootAbsolutePathSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/amd/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/node/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory/node/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputFile/amd/sourceRootAbsolutePathSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputFile/amd/sourceRootAbsolutePathSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootAbsolutePathSubfolderSpecifyOutputFile/node/sourceRootAbsolutePathSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/amd/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/amd/ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/amd/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/amd/sourceRootRelativePathMixedSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/amd/sourceRootRelativePathMixedSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/node/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/node/ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/node/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/node/sourceRootRelativePathMixedSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/node/sourceRootRelativePathMixedSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/amd/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory/node/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/amd/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/amd/ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/amd/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/amd/sourceRootRelativePathMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/amd/sourceRootRelativePathMixedSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/node/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/node/ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/node/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/node/sourceRootRelativePathMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile/node/sourceRootRelativePathMixedSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/sourceRootRelativePathModuleMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/sourceRootRelativePathModuleMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/diskFile1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/sourceRootRelativePathModuleMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/sourceRootRelativePathModuleMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/amd/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory/node/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/diskFile1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/sourceRootRelativePathModuleSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/sourceRootRelativePathModuleSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/sourceRootRelativePathModuleSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/sourceRootRelativePathModuleSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/amd/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory/node/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/amd/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/amd/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/amd/sourceRootRelativePathModuleSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/amd/sourceRootRelativePathModuleSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/sourceRootRelativePathModuleSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/sourceRootRelativePathModuleSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/sourceRootRelativePathModuleSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/sourceRootRelativePathModuleSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/sourceRootRelativePathModuleSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/sourceRootRelativePathModuleSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/amd/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory/node/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/amd/sourceRootRelativePathModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/amd/sourceRootRelativePathModuleSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/sourceRootRelativePathModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/sourceRootRelativePathModuleSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/amd/sourceRootRelativePathMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/amd/sourceRootRelativePathMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/node/diskFile1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/node/sourceRootRelativePathMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/node/sourceRootRelativePathMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/amd/sourceRootRelativePathMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/amd/sourceRootRelativePathMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/node/sourceRootRelativePathMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory/node/sourceRootRelativePathMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputFile/amd/sourceRootRelativePathMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputFile/amd/sourceRootRelativePathMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputFile/node/sourceRootRelativePathMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathMultifolderSpecifyOutputFile/node/sourceRootRelativePathMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/amd/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/amd/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/amd/sourceRootRelativePathSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/amd/sourceRootRelativePathSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/node/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/node/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/node/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/node/sourceRootRelativePathSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/node/sourceRootRelativePathSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/amd/sourceRootRelativePathSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/amd/sourceRootRelativePathSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/node/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/node/sourceRootRelativePathSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputDirectory/node/sourceRootRelativePathSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputFile/amd/sourceRootRelativePathSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputFile/amd/sourceRootRelativePathSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputFile/node/sourceRootRelativePathSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSimpleSpecifyOutputFile/node/sourceRootRelativePathSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileNoOutdir/amd/sourceRootRelativePathSingleFileNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileNoOutdir/amd/sourceRootRelativePathSingleFileNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileNoOutdir/node/sourceRootRelativePathSingleFileNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileNoOutdir/node/sourceRootRelativePathSingleFileNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputDirectory/amd/sourceRootRelativePathSingleFileSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputDirectory/amd/sourceRootRelativePathSingleFileSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputDirectory/node/sourceRootRelativePathSingleFileSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputDirectory/node/sourceRootRelativePathSingleFileSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputFile/amd/sourceRootRelativePathSingleFileSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputFile/amd/sourceRootRelativePathSingleFileSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputFile/node/sourceRootRelativePathSingleFileSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSingleFileSpecifyOutputFile/node/sourceRootRelativePathSingleFileSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/amd/sourceRootRelativePathSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/amd/sourceRootRelativePathSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/node/sourceRootRelativePathSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/node/sourceRootRelativePathSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/amd/sourceRootRelativePathSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/amd/sourceRootRelativePathSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/node/sourceRootRelativePathSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory/node/sourceRootRelativePathSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputFile/amd/sourceRootRelativePathSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputFile/amd/sourceRootRelativePathSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputFile/node/sourceRootRelativePathSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourceRootRelativePathSubfolderSpecifyOutputFile/node/sourceRootRelativePathSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourceRootWithNoSourceMapOption/amd/sourceRootWithNoSourceMapOption.errors.txt create mode 100644 tests/baselines/reference/project/sourceRootWithNoSourceMapOption/amd/sourceRootWithNoSourceMapOption.json create mode 100644 tests/baselines/reference/project/sourceRootWithNoSourceMapOption/node/sourceRootWithNoSourceMapOption.errors.txt create mode 100644 tests/baselines/reference/project/sourceRootWithNoSourceMapOption/node/sourceRootWithNoSourceMapOption.json create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/amd/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/amd/ref/m2.js create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/amd/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/amd/sourcemapMixedSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/amd/sourcemapMixedSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/node/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/node/ref/m2.js create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/node/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/node/sourcemapMixedSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/node/sourcemapMixedSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/amd/sourcemapMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/amd/sourcemapMixedSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/node/sourcemapMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputDirectory/node/sourcemapMixedSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/amd/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/amd/ref/m2.js create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/amd/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/amd/sourcemapMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/amd/sourcemapMixedSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/node/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/node/ref/m2.js create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/node/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/node/sourcemapMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFile/node/sourcemapMixedSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.js create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.js create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/sourcemapModuleMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/sourcemapModuleMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/diskFile1.js create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/sourcemapModuleMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/sourcemapModuleMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/sourcemapModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/amd/sourcemapModuleMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/sourcemapModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputDirectory/node/sourcemapModuleMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/sourcemapModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/sourcemapModuleMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/diskFile1.js create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/sourcemapModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/sourcemapModuleMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleMultifolderSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/m1.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/sourcemapModuleSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/sourcemapModuleSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/m1.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/sourcemapModuleSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/sourcemapModuleSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/sourcemapModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/amd/sourcemapModuleSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/sourcemapModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputDirectory/node/sourcemapModuleSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/amd/m1.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/amd/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/amd/sourcemapModuleSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/amd/sourcemapModuleSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/m1.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/sourcemapModuleSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/sourcemapModuleSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSimpleSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/sourcemapModuleSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/sourcemapModuleSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/sourcemapModuleSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/sourcemapModuleSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/sourcemapModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/amd/sourcemapModuleSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/sourcemapModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputDirectory/node/sourcemapModuleSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/amd/sourcemapModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/amd/sourcemapModuleSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/sourcemapModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/sourcemapModuleSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/sourcemapModuleSubfolderSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapMultifolderNoOutdir/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourcemapMultifolderNoOutdir/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/sourcemapMultifolderNoOutdir/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMultifolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMultifolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapMultifolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapMultifolderNoOutdir/amd/sourcemapMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcemapMultifolderNoOutdir/amd/sourcemapMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapMultifolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMultifolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourcemapMultifolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapMultifolderNoOutdir/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourcemapMultifolderNoOutdir/node/diskFile1.js create mode 100644 tests/baselines/reference/project/sourcemapMultifolderNoOutdir/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMultifolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMultifolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapMultifolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapMultifolderNoOutdir/node/sourcemapMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcemapMultifolderNoOutdir/node/sourcemapMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapMultifolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMultifolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourcemapMultifolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.js create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/amd/sourcemapMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/amd/sourcemapMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.js create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/node/sourcemapMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputDirectory/node/sourcemapMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputFile/amd/sourcemapMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputFile/amd/sourcemapMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputFile/node/sourcemapMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcemapMultifolderSpecifyOutputFile/node/sourcemapMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapSimpleNoOutdir/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSimpleNoOutdir/amd/m1.js create mode 100644 tests/baselines/reference/project/sourcemapSimpleNoOutdir/amd/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapSimpleNoOutdir/amd/sourcemapSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcemapSimpleNoOutdir/amd/sourcemapSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapSimpleNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSimpleNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourcemapSimpleNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapSimpleNoOutdir/node/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSimpleNoOutdir/node/m1.js create mode 100644 tests/baselines/reference/project/sourcemapSimpleNoOutdir/node/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapSimpleNoOutdir/node/sourcemapSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcemapSimpleNoOutdir/node/sourcemapSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapSimpleNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSimpleNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourcemapSimpleNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/amd/sourcemapSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/amd/sourcemapSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/node/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/node/sourcemapSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputDirectory/node/sourcemapSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputFile/amd/sourcemapSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputFile/amd/sourcemapSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputFile/node/sourcemapSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcemapSimpleSpecifyOutputFile/node/sourcemapSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapSingleFileNoOutdir/amd/sourcemapSingleFileNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcemapSingleFileNoOutdir/amd/sourcemapSingleFileNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapSingleFileNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSingleFileNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourcemapSingleFileNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapSingleFileNoOutdir/node/sourcemapSingleFileNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcemapSingleFileNoOutdir/node/sourcemapSingleFileNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapSingleFileNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSingleFileNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourcemapSingleFileNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputDirectory/amd/sourcemapSingleFileSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputDirectory/amd/sourcemapSingleFileSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputDirectory/node/sourcemapSingleFileSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputDirectory/node/sourcemapSingleFileSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputFile/amd/sourcemapSingleFileSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputFile/amd/sourcemapSingleFileSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputFile/node/sourcemapSingleFileSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcemapSingleFileSpecifyOutputFile/node/sourcemapSingleFileSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapSubfolderNoOutdir/amd/sourcemapSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcemapSubfolderNoOutdir/amd/sourcemapSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourcemapSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapSubfolderNoOutdir/node/sourcemapSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcemapSubfolderNoOutdir/node/sourcemapSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourcemapSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/amd/sourcemapSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/amd/sourcemapSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/node/sourcemapSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputDirectory/node/sourcemapSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputFile/amd/sourcemapSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputFile/amd/sourcemapSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputFile/node/sourcemapSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcemapSubfolderSpecifyOutputFile/node/sourcemapSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/amd/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/amd/ref/m2.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/amd/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/amd/sourcerootUrlMixedSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/amd/sourcerootUrlMixedSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/node/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/node/ref/m2.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/node/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/node/sourcerootUrlMixedSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/node/sourcerootUrlMixedSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/sourcerootUrlMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/amd/sourcerootUrlMixedSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/sourcerootUrlMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory/node/sourcerootUrlMixedSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/amd/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/amd/ref/m2.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/amd/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/amd/sourcerootUrlMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/amd/sourcerootUrlMixedSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/node/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/node/ref/m2.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/node/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/node/sourcerootUrlMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFile/node/sourcerootUrlMixedSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/bin/outAndOutDirFile.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/outdir/outAndOutDirFolder/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/amd/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/bin/outAndOutDirFile.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/outdir/outAndOutDirFolder/ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory/node/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/sourcerootUrlModuleMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/sourcerootUrlModuleMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/diskFile1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/sourcerootUrlModuleMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/sourcerootUrlModuleMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_module_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/sourcerootUrlModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/amd/sourcerootUrlModuleMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_module_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/sourcerootUrlModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory/node/sourcerootUrlModuleMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/sourcerootUrlModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/sourcerootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/diskFile1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/sourcerootUrlModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/sourcerootUrlModuleMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleMultifolderSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/sourcerootUrlModuleSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/sourcerootUrlModuleSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/sourcerootUrlModuleSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/sourcerootUrlModuleSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/sourcerootUrlModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/amd/sourcerootUrlModuleSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/sourcerootUrlModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory/node/sourcerootUrlModuleSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/sourcerootUrlModuleSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/sourcerootUrlModuleSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/sourcerootUrlModuleSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/sourcerootUrlModuleSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSimpleSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/sourcerootUrlModuleSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/sourcerootUrlModuleSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/sourcerootUrlModuleSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/sourcerootUrlModuleSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/sourcerootUrlModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/amd/sourcerootUrlModuleSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/sourcerootUrlModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory/node/sourcerootUrlModuleSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/sourcerootUrlModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/sourcerootUrlModuleSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/sourcerootUrlModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/sourcerootUrlModuleSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlModuleSubfolderSpecifyOutputFile/node/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/amd/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/amd/diskFile1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/amd/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/amd/sourcerootUrlMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/amd/sourcerootUrlMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/node/diskFile0.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/node/diskFile1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/node/diskFile2.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/node/sourcerootUrlMultifolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/node/sourcerootUrlMultifolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/amd/outdir/simple/outputdir_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/amd/sourcerootUrlMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/amd/sourcerootUrlMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/node/outdir/simple/outputdir_multifolder_ref/m2.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/node/sourcerootUrlMultifolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputDirectory/node/sourcerootUrlMultifolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputFile/amd/sourcerootUrlMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputFile/amd/sourcerootUrlMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputFile/node/sourcerootUrlMultifolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcerootUrlMultifolderSpecifyOutputFile/node/sourcerootUrlMultifolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/amd/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/amd/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/amd/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/amd/sourcerootUrlSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/amd/sourcerootUrlSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/node/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/node/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/node/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/node/sourcerootUrlSimpleNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/node/sourcerootUrlSimpleNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/amd/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/amd/sourcerootUrlSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/amd/sourcerootUrlSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/node/outdir/simple/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/node/outdir/simple/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/node/sourcerootUrlSimpleSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputDirectory/node/sourcerootUrlSimpleSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputFile/amd/sourcerootUrlSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputFile/amd/sourcerootUrlSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputFile/node/sourcerootUrlSimpleSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcerootUrlSimpleSpecifyOutputFile/node/sourcerootUrlSimpleSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileNoOutdir/amd/sourcerootUrlSingleFileNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileNoOutdir/amd/sourcerootUrlSingleFileNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileNoOutdir/node/sourcerootUrlSingleFileNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileNoOutdir/node/sourcerootUrlSingleFileNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputDirectory/amd/sourcerootUrlSingleFileSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputDirectory/amd/sourcerootUrlSingleFileSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputDirectory/node/sourcerootUrlSingleFileSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputDirectory/node/sourcerootUrlSingleFileSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputFile/amd/sourcerootUrlSingleFileSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputFile/amd/sourcerootUrlSingleFileSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputFile/node/sourcerootUrlSingleFileSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcerootUrlSingleFileSpecifyOutputFile/node/sourcerootUrlSingleFileSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/amd/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/amd/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/amd/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/amd/sourcerootUrlSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/amd/sourcerootUrlSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/amd/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/amd/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/amd/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/node/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/node/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/node/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/node/sourcerootUrlSubfolderNoOutdir.json create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/node/sourcerootUrlSubfolderNoOutdir.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/node/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/node/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderNoOutdir/node/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/amd/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/amd/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/amd/sourcerootUrlSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/amd/sourcerootUrlSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/node/outdir/simple/ref/m1.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/node/outdir/simple/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/node/outdir/simple/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/node/sourcerootUrlSubfolderSpecifyOutputDirectory.json create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputDirectory/node/sourcerootUrlSubfolderSpecifyOutputDirectory.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputFile/amd/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputFile/amd/bin/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputFile/amd/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputFile/amd/sourcerootUrlSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputFile/amd/sourcerootUrlSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputFile/node/bin/test.d.ts create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputFile/node/bin/test.js create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputFile/node/bin/test.js.map create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputFile/node/sourcerootUrlSubfolderSpecifyOutputFile.json create mode 100644 tests/baselines/reference/project/sourcerootUrlSubfolderSpecifyOutputFile/node/sourcerootUrlSubfolderSpecifyOutputFile.sourcemap.txt create mode 100644 tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules/amd/commands.js create mode 100644 tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules/amd/fs.js create mode 100644 tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules/amd/server.js create mode 100644 tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules/amd/visibilityOfTypeUsedAcrossModules.json create mode 100644 tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules/node/commands.js create mode 100644 tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules/node/fs.js create mode 100644 tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules/node/server.js create mode 100644 tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules/node/visibilityOfTypeUsedAcrossModules.json create mode 100644 tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules2/amd/visibilityOfTypeUsedAcrossModules2.errors.txt create mode 100644 tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules2/amd/visibilityOfTypeUsedAcrossModules2.json create mode 100644 tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules2/node/visibilityOfTypeUsedAcrossModules2.errors.txt create mode 100644 tests/baselines/reference/project/visibilityOfTypeUsedAcrossModules2/node/visibilityOfTypeUsedAcrossModules2.json create mode 100644 tests/baselines/reference/promiseChaining.js create mode 100644 tests/baselines/reference/promiseChaining1.errors.txt create mode 100644 tests/baselines/reference/promiseChaining1.js create mode 100644 tests/baselines/reference/promiseChaining2.errors.txt create mode 100644 tests/baselines/reference/promiseChaining2.js create mode 100644 tests/baselines/reference/promiseIdentity.js create mode 100644 tests/baselines/reference/promiseIdentity2.errors.txt create mode 100644 tests/baselines/reference/promiseIdentity2.js create mode 100644 tests/baselines/reference/promiseIdentityWithAny.js create mode 100644 tests/baselines/reference/promiseIdentityWithAny2.errors.txt create mode 100644 tests/baselines/reference/promiseIdentityWithAny2.js create mode 100644 tests/baselines/reference/promiseIdentityWithConstraints.js create mode 100644 tests/baselines/reference/promisePermutations.errors.txt create mode 100644 tests/baselines/reference/promisePermutations.js create mode 100644 tests/baselines/reference/promisePermutations2.errors.txt create mode 100644 tests/baselines/reference/promisePermutations2.js create mode 100644 tests/baselines/reference/promisePermutations3.errors.txt create mode 100644 tests/baselines/reference/promisePermutations3.js create mode 100644 tests/baselines/reference/promiseTest.js create mode 100644 tests/baselines/reference/promiseTypeInference.js create mode 100644 tests/baselines/reference/promises.js create mode 100644 tests/baselines/reference/promisesWithConstraints.js create mode 100644 tests/baselines/reference/propagationOfPromiseInitialization.js create mode 100644 tests/baselines/reference/properties.js create mode 100644 tests/baselines/reference/properties.js.map create mode 100644 tests/baselines/reference/properties.sourcemap.txt create mode 100644 tests/baselines/reference/propertiesAndIndexers.errors.txt create mode 100644 tests/baselines/reference/propertiesAndIndexers.js create mode 100644 tests/baselines/reference/propertyAccess.errors.txt create mode 100644 tests/baselines/reference/propertyAccess.js create mode 100644 tests/baselines/reference/propertyAccess1.errors.txt create mode 100644 tests/baselines/reference/propertyAccess1.js create mode 100644 tests/baselines/reference/propertyAccess2.errors.txt create mode 100644 tests/baselines/reference/propertyAccess2.js create mode 100644 tests/baselines/reference/propertyAccess3.errors.txt create mode 100644 tests/baselines/reference/propertyAccess3.js create mode 100644 tests/baselines/reference/propertyAccess4.errors.txt create mode 100644 tests/baselines/reference/propertyAccess4.js create mode 100644 tests/baselines/reference/propertyAccess5.errors.txt create mode 100644 tests/baselines/reference/propertyAccess5.js create mode 100644 tests/baselines/reference/propertyAccess6.js create mode 100644 tests/baselines/reference/propertyAccess7.js create mode 100644 tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints.js create mode 100644 tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints2.js create mode 100644 tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints3.errors.txt create mode 100644 tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints3.js create mode 100644 tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.errors.txt create mode 100644 tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints4.js create mode 100644 tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.errors.txt create mode 100644 tests/baselines/reference/propertyAccessOnTypeParameterWithConstraints5.js create mode 100644 tests/baselines/reference/propertyAccessOnTypeParameterWithoutConstraints.js create mode 100644 tests/baselines/reference/propertyAccessibility1.errors.txt create mode 100644 tests/baselines/reference/propertyAccessibility1.js create mode 100644 tests/baselines/reference/propertyAccessibility2.js create mode 100644 tests/baselines/reference/propertyAndAccessorWithSameName.errors.txt create mode 100644 tests/baselines/reference/propertyAndFunctionWithSameName.errors.txt create mode 100644 tests/baselines/reference/propertyAndFunctionWithSameName.js create mode 100644 tests/baselines/reference/propertyAssignment.errors.txt create mode 100644 tests/baselines/reference/propertyIdentityWithPrivacyMismatch.errors.txt create mode 100644 tests/baselines/reference/propertyIdentityWithPrivacyMismatch.js create mode 100644 tests/baselines/reference/propertyNameWithoutTypeAnnotation.js create mode 100644 tests/baselines/reference/propertyNamedPrototype.errors.txt create mode 100644 tests/baselines/reference/propertyNamedPrototype.js create mode 100644 tests/baselines/reference/propertyNamesOfReservedWords.js create mode 100644 tests/baselines/reference/propertyNamesWithStringLiteral.js create mode 100644 tests/baselines/reference/propertyOrdering.errors.txt create mode 100644 tests/baselines/reference/propertyOrdering.js create mode 100644 tests/baselines/reference/propertyOrdering2.errors.txt create mode 100644 tests/baselines/reference/propertyOrdering2.js create mode 100644 tests/baselines/reference/propertyParameterWithQuestionMark.errors.txt create mode 100644 tests/baselines/reference/propertyParameterWithQuestionMark.js create mode 100644 tests/baselines/reference/propertySignatures.errors.txt create mode 100644 tests/baselines/reference/propertySignatures.js create mode 100644 tests/baselines/reference/propertyWrappedInTry.errors.txt create mode 100644 tests/baselines/reference/protoAsIndexInIndexExpression.js create mode 100644 tests/baselines/reference/protoAssignment.errors.txt create mode 100644 tests/baselines/reference/protoAssignment.js create mode 100644 tests/baselines/reference/protoInIndexer.js create mode 100644 tests/baselines/reference/prototypeInstantiatedWithBaseConstraint.js create mode 100644 tests/baselines/reference/prototypeOnConstructorFunctions.js create mode 100644 tests/baselines/reference/prototypes.errors.txt create mode 100644 tests/baselines/reference/prototypes.js create mode 100644 tests/baselines/reference/publicIndexer.errors.txt create mode 100644 tests/baselines/reference/publicMemberImplementedAsPrivateInDerivedClass.errors.txt create mode 100644 tests/baselines/reference/publicMemberImplementedAsPrivateInDerivedClass.js create mode 100644 tests/baselines/reference/qualifiedModuleLocals.errors.txt create mode 100644 tests/baselines/reference/qualifiedModuleLocals.js create mode 100644 tests/baselines/reference/qualifiedName_ImportDeclarations-entity-names-referencing-a-var.js create mode 100644 tests/baselines/reference/qualifiedName_entity-name-resolution-does-not-affect-class-heritage.errors.txt create mode 100644 tests/baselines/reference/qualifiedName_entity-name-resolution-does-not-affect-class-heritage.js create mode 100644 tests/baselines/reference/qualify.errors.txt create mode 100644 tests/baselines/reference/qualify.js create mode 100644 tests/baselines/reference/quotedAccessorName1.errors.txt create mode 100644 tests/baselines/reference/quotedAccessorName2.errors.txt create mode 100644 tests/baselines/reference/quotedFunctionName1.js create mode 100644 tests/baselines/reference/quotedFunctionName2.js create mode 100644 tests/baselines/reference/quotedModuleNameMustBeAmbient.errors.txt create mode 100644 tests/baselines/reference/quotedModuleNameMustBeAmbient.js create mode 100644 tests/baselines/reference/quotedPropertyName1.js create mode 100644 tests/baselines/reference/quotedPropertyName2.js create mode 100644 tests/baselines/reference/quotedPropertyName3.js create mode 100644 tests/baselines/reference/raiseErrorOnParameterProperty.errors.txt create mode 100644 tests/baselines/reference/raiseErrorOnParameterProperty.js create mode 100644 tests/baselines/reference/randomSemicolons1.js create mode 100644 tests/baselines/reference/reassignStaticProp.errors.txt create mode 100644 tests/baselines/reference/reassignStaticProp.js create mode 100644 tests/baselines/reference/reboundBaseClassSymbol.js create mode 100644 tests/baselines/reference/reboundIdentifierOnImportAlias.js create mode 100644 tests/baselines/reference/rectype.js create mode 100644 tests/baselines/reference/recur1.js create mode 100644 tests/baselines/reference/recursiveBaseCheck.errors.txt create mode 100644 tests/baselines/reference/recursiveBaseCheck.js create mode 100644 tests/baselines/reference/recursiveBaseCheck2.errors.txt create mode 100644 tests/baselines/reference/recursiveBaseCheck2.js create mode 100644 tests/baselines/reference/recursiveBaseCheck3.errors.txt create mode 100644 tests/baselines/reference/recursiveBaseCheck3.js create mode 100644 tests/baselines/reference/recursiveBaseCheck4.errors.txt create mode 100644 tests/baselines/reference/recursiveBaseCheck4.js create mode 100644 tests/baselines/reference/recursiveBaseCheck5.errors.txt create mode 100644 tests/baselines/reference/recursiveBaseCheck5.js create mode 100644 tests/baselines/reference/recursiveBaseCheck6.errors.txt create mode 100644 tests/baselines/reference/recursiveBaseCheck6.js create mode 100644 tests/baselines/reference/recursiveBaseConstructorCreation1.js create mode 100644 tests/baselines/reference/recursiveBaseConstructorCreation2.js create mode 100644 tests/baselines/reference/recursiveBaseConstructorCreation3.errors.txt create mode 100644 tests/baselines/reference/recursiveBaseConstructorCreation3.js create mode 100644 tests/baselines/reference/recursiveClassInstantiationsWithDefaultConstructors.js create mode 100644 tests/baselines/reference/recursiveClassReferenceTest.errors.txt create mode 100644 tests/baselines/reference/recursiveClassReferenceTest.js create mode 100644 tests/baselines/reference/recursiveClassReferenceTest.js.map create mode 100644 tests/baselines/reference/recursiveClassReferenceTest.sourcemap.txt create mode 100644 tests/baselines/reference/recursiveCloduleReference.js create mode 100644 tests/baselines/reference/recursiveComplicatedClasses.js create mode 100644 tests/baselines/reference/recursiveExportAssignmentAndFindAliasedType1.errors.txt create mode 100644 tests/baselines/reference/recursiveExportAssignmentAndFindAliasedType1.js create mode 100644 tests/baselines/reference/recursiveExportAssignmentAndFindAliasedType2.errors.txt create mode 100644 tests/baselines/reference/recursiveExportAssignmentAndFindAliasedType2.js create mode 100644 tests/baselines/reference/recursiveExportAssignmentAndFindAliasedType3.errors.txt create mode 100644 tests/baselines/reference/recursiveExportAssignmentAndFindAliasedType3.js create mode 100644 tests/baselines/reference/recursiveExportAssignmentAndFindAliasedType4.errors.txt create mode 100644 tests/baselines/reference/recursiveExportAssignmentAndFindAliasedType4.js create mode 100644 tests/baselines/reference/recursiveExportAssignmentAndFindAliasedType5.errors.txt create mode 100644 tests/baselines/reference/recursiveExportAssignmentAndFindAliasedType5.js create mode 100644 tests/baselines/reference/recursiveExportAssignmentAndFindAliasedType6.errors.txt create mode 100644 tests/baselines/reference/recursiveExportAssignmentAndFindAliasedType6.js create mode 100644 tests/baselines/reference/recursiveExportAssignmentAndFindAliasedType7.js create mode 100644 tests/baselines/reference/recursiveFunctionTypes.errors.txt create mode 100644 tests/baselines/reference/recursiveFunctionTypes.js create mode 100644 tests/baselines/reference/recursiveFunctionTypes1.js create mode 100644 tests/baselines/reference/recursiveGenericMethodcall.js create mode 100644 tests/baselines/reference/recursiveGenericSignatureInstantiation.js create mode 100644 tests/baselines/reference/recursiveGenericSignatureInstantiation2.js create mode 100644 tests/baselines/reference/recursiveGenericTypeHierarchy.errors.txt create mode 100644 tests/baselines/reference/recursiveGenericTypeHierarchy.js create mode 100644 tests/baselines/reference/recursiveGetterAccess.errors.txt create mode 100644 tests/baselines/reference/recursiveIdenticalAssignment.errors.txt create mode 100644 tests/baselines/reference/recursiveIdenticalAssignment.js create mode 100644 tests/baselines/reference/recursiveIdenticalOverloadResolution.js create mode 100644 tests/baselines/reference/recursiveInference1.js create mode 100644 tests/baselines/reference/recursiveInferenceBug.errors.txt create mode 100644 tests/baselines/reference/recursiveInheritance.errors.txt create mode 100644 tests/baselines/reference/recursiveInheritance.js create mode 100644 tests/baselines/reference/recursiveInheritance2.js create mode 100644 tests/baselines/reference/recursiveInheritance3.errors.txt create mode 100644 tests/baselines/reference/recursiveInheritance3.js create mode 100644 tests/baselines/reference/recursiveInheritanceGeneric.errors.txt create mode 100644 tests/baselines/reference/recursiveInheritanceGeneric.js create mode 100644 tests/baselines/reference/recursiveInitializer.js create mode 100644 tests/baselines/reference/recursiveMods.js create mode 100644 tests/baselines/reference/recursiveNamedLambdaCall.errors.txt create mode 100644 tests/baselines/reference/recursiveNamedLambdaCall.js create mode 100644 tests/baselines/reference/recursiveObjectLiteral.js create mode 100644 tests/baselines/reference/recursiveProperties.js create mode 100644 tests/baselines/reference/recursiveReturns.js create mode 100644 tests/baselines/reference/recursiveSpecializationOfExtendedTypeWithError.js create mode 100644 tests/baselines/reference/recursiveSpecializationOfSignatures.errors.txt create mode 100644 tests/baselines/reference/recursiveTypeIdentity.js create mode 100644 tests/baselines/reference/recursiveTypeInGenericConstraint.errors.txt create mode 100644 tests/baselines/reference/recursiveTypeInGenericConstraint.js create mode 100644 tests/baselines/reference/recursiveTypeParameterConstraintReferenceLacksTypeArgs.errors.txt create mode 100644 tests/baselines/reference/recursiveTypeParameterConstraintReferenceLacksTypeArgs.js create mode 100644 tests/baselines/reference/recursiveTypeParameterReferenceError1.js create mode 100644 tests/baselines/reference/recursiveTypeParameterReferenceError2.js create mode 100644 tests/baselines/reference/recursiveTypes1.errors.txt create mode 100644 tests/baselines/reference/recursiveTypes1.js create mode 100644 tests/baselines/reference/recursiveTypesUsedAsFunctionParameters.errors.txt create mode 100644 tests/baselines/reference/recursiveTypesUsedAsFunctionParameters.js create mode 100644 tests/baselines/reference/recursivelySpecializedConstructorDeclaration.js create mode 100644 tests/baselines/reference/redeclarationOfVarWithGenericType.js create mode 100644 tests/baselines/reference/redefineArray.errors.txt create mode 100644 tests/baselines/reference/redefineArray.js create mode 100644 tests/baselines/reference/relativePathMustResolve.errors.txt create mode 100644 tests/baselines/reference/relativePathMustResolve.js create mode 100644 tests/baselines/reference/relativePathToDeclarationFile.errors.txt create mode 100644 tests/baselines/reference/relativePathToDeclarationFile.js create mode 100644 tests/baselines/reference/reorderProperties.js create mode 100644 tests/baselines/reference/requireEmitSemicolon.js create mode 100644 tests/baselines/reference/requireOfAnEmptyFile1.errors.txt create mode 100644 tests/baselines/reference/requireOfAnEmptyFile1.js create mode 100644 tests/baselines/reference/reservedWords.js create mode 100644 tests/baselines/reference/resolvingClassDeclarationWhenInBaseTypeResolution.js create mode 100644 tests/baselines/reference/restArgAssignmentCompat.errors.txt create mode 100644 tests/baselines/reference/restArgAssignmentCompat.js create mode 100644 tests/baselines/reference/restArgMissingName.errors.txt create mode 100644 tests/baselines/reference/restParamAsOptional.errors.txt create mode 100644 tests/baselines/reference/restParameterAssignmentCompatibility.js create mode 100644 tests/baselines/reference/restParameterNoTypeAnnotation.js create mode 100644 tests/baselines/reference/restParameterNotLast.errors.txt create mode 100644 tests/baselines/reference/restParameterWithoutAnnotationIsAnyArray.errors.txt create mode 100644 tests/baselines/reference/restParameters.js create mode 100644 tests/baselines/reference/restParametersOfNonArrayTypes.errors.txt create mode 100644 tests/baselines/reference/restParametersOfNonArrayTypes2.errors.txt create mode 100644 tests/baselines/reference/restParametersWithArrayTypeAnnotations.errors.txt create mode 100644 tests/baselines/reference/restParamsWithNonRestParams.errors.txt create mode 100644 tests/baselines/reference/restParamsWithNonRestParams.js create mode 100644 tests/baselines/reference/returnInConstructor1.errors.txt create mode 100644 tests/baselines/reference/returnInConstructor1.js create mode 100644 tests/baselines/reference/returnStatement1.js create mode 100644 tests/baselines/reference/returnStatements.js create mode 100644 tests/baselines/reference/returnTypeParameter.errors.txt create mode 100644 tests/baselines/reference/returnTypeParameter.js create mode 100644 tests/baselines/reference/returnTypeParameterWithModules.js create mode 100644 tests/baselines/reference/returnTypeTypeArguments.errors.txt create mode 100644 tests/baselines/reference/returnTypeTypeArguments.js create mode 100644 tests/baselines/reference/returnValueInSetter.errors.txt create mode 100644 tests/baselines/reference/reuseInnerModuleMember.js create mode 100644 tests/baselines/reference/reverseInferenceInContextualInstantiation.js create mode 100644 tests/baselines/reference/reversedRecusiveTypeInstantiation.js create mode 100644 tests/baselines/reference/scanner10.1.1-8gs.errors.txt create mode 100644 tests/baselines/reference/scanner10.1.1-8gs.js create mode 100644 tests/baselines/reference/scannerAdditiveExpression1.errors.txt create mode 100644 tests/baselines/reference/scannerAdditiveExpression1.js create mode 100644 tests/baselines/reference/scannerClass2.errors.txt create mode 100644 tests/baselines/reference/scannerClass2.js create mode 100644 tests/baselines/reference/scannerES3NumericLiteral1.js create mode 100644 tests/baselines/reference/scannerES3NumericLiteral2.js create mode 100644 tests/baselines/reference/scannerES3NumericLiteral3.js create mode 100644 tests/baselines/reference/scannerES3NumericLiteral4.errors.txt create mode 100644 tests/baselines/reference/scannerES3NumericLiteral5.js create mode 100644 tests/baselines/reference/scannerES3NumericLiteral6.errors.txt create mode 100644 tests/baselines/reference/scannerES3NumericLiteral7.js create mode 100644 tests/baselines/reference/scannerEnum1.errors.txt create mode 100644 tests/baselines/reference/scannerEnum1.js create mode 100644 tests/baselines/reference/scannerImportDeclaration1.errors.txt create mode 100644 tests/baselines/reference/scannerImportDeclaration1.js create mode 100644 tests/baselines/reference/scannerNumericLiteral1.js create mode 100644 tests/baselines/reference/scannerNumericLiteral2.js create mode 100644 tests/baselines/reference/scannerNumericLiteral3.js create mode 100644 tests/baselines/reference/scannerNumericLiteral4.errors.txt create mode 100644 tests/baselines/reference/scannerNumericLiteral5.js create mode 100644 tests/baselines/reference/scannerNumericLiteral6.errors.txt create mode 100644 tests/baselines/reference/scannerNumericLiteral7.js create mode 100644 tests/baselines/reference/scannerS7.2_A1.5_T2.errors.txt create mode 100644 tests/baselines/reference/scannerS7.2_A1.5_T2.js create mode 100644 tests/baselines/reference/scannerS7.3_A1.1_T2.errors.txt create mode 100644 tests/baselines/reference/scannerS7.3_A1.1_T2.js create mode 100644 tests/baselines/reference/scannerS7.4_A2_T2.js create mode 100644 tests/baselines/reference/scannerS7.6_A4.2_T1.errors.txt create mode 100644 tests/baselines/reference/scannerS7.6_A4.2_T1.js create mode 100644 tests/baselines/reference/scannerS7.8.3_A6.1_T1.errors.txt create mode 100644 tests/baselines/reference/scannerS7.8.4_A7.1_T4.errors.txt create mode 100644 tests/baselines/reference/scannerStringLiteralWithContainingNullCharacter1.js create mode 100644 tests/baselines/reference/scannerStringLiterals.errors.txt create mode 100644 tests/baselines/reference/scannerUnexpectedNullCharacter1.errors.txt create mode 100644 tests/baselines/reference/scannerUnicodeEscapeInKeyword1.js create mode 100644 tests/baselines/reference/scannertest1.errors.txt create mode 100644 tests/baselines/reference/scopeCheckExtendedClassInsidePublicMethod2.errors.txt create mode 100644 tests/baselines/reference/scopeCheckExtendedClassInsidePublicMethod2.js create mode 100644 tests/baselines/reference/scopeCheckExtendedClassInsideStaticMethod1.errors.txt create mode 100644 tests/baselines/reference/scopeCheckExtendedClassInsideStaticMethod1.js create mode 100644 tests/baselines/reference/scopeCheckInsidePublicMethod1.errors.txt create mode 100644 tests/baselines/reference/scopeCheckInsidePublicMethod1.js create mode 100644 tests/baselines/reference/scopeCheckInsideStaticMethod1.errors.txt create mode 100644 tests/baselines/reference/scopeCheckInsideStaticMethod1.js create mode 100644 tests/baselines/reference/scopeResolutionIdentifiers.js create mode 100644 tests/baselines/reference/scopeTests.errors.txt create mode 100644 tests/baselines/reference/scopeTests.js create mode 100644 tests/baselines/reference/scopingInCatchBlocks.errors.txt create mode 100644 tests/baselines/reference/scopingInCatchBlocks.js create mode 100644 tests/baselines/reference/selfInCallback.js create mode 100644 tests/baselines/reference/selfInLambdas.js create mode 100644 tests/baselines/reference/selfRef.errors.txt create mode 100644 tests/baselines/reference/selfRef.js create mode 100644 tests/baselines/reference/selfReferencesInFunctionParameters.errors.txt create mode 100644 tests/baselines/reference/selfReferencesInFunctionParameters.js create mode 100644 tests/baselines/reference/semicolonsInModuleDeclarations.errors.txt create mode 100644 tests/baselines/reference/separate1-1.errors.txt create mode 100644 tests/baselines/reference/separate1-1.js create mode 100644 tests/baselines/reference/separate1-2.js create mode 100644 tests/baselines/reference/setterBeforeGetter.errors.txt create mode 100644 tests/baselines/reference/setterWithReturn.errors.txt create mode 100644 tests/baselines/reference/shadowPrivateMembers.errors.txt create mode 100644 tests/baselines/reference/shadowPrivateMembers.js create mode 100644 tests/baselines/reference/shadowedInternalModule.errors.txt create mode 100644 tests/baselines/reference/shadowedInternalModule.js create mode 100644 tests/baselines/reference/sigantureIsSubTypeIfTheyAreIdentical.js create mode 100644 tests/baselines/reference/simpleArrowFunctionParameterReferencedInObjectLiteral1.js create mode 100644 tests/baselines/reference/slashBeforeVariableDeclaration1.errors.txt create mode 100644 tests/baselines/reference/sourceMap-Comment1.js create mode 100644 tests/baselines/reference/sourceMap-Comment1.js.map create mode 100644 tests/baselines/reference/sourceMap-Comment1.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMap-EmptyFile1.js create mode 100644 tests/baselines/reference/sourceMap-EmptyFile1.js.map create mode 100644 tests/baselines/reference/sourceMap-EmptyFile1.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMap-FileWithComments.js create mode 100644 tests/baselines/reference/sourceMap-FileWithComments.js.map create mode 100644 tests/baselines/reference/sourceMap-FileWithComments.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMap-InterfacePrecedingVariableDeclaration1.js create mode 100644 tests/baselines/reference/sourceMap-InterfacePrecedingVariableDeclaration1.js.map create mode 100644 tests/baselines/reference/sourceMap-InterfacePrecedingVariableDeclaration1.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMap-NewLine1.js create mode 100644 tests/baselines/reference/sourceMap-NewLine1.js.map create mode 100644 tests/baselines/reference/sourceMap-NewLine1.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMap-SemiColon1.js create mode 100644 tests/baselines/reference/sourceMap-SemiColon1.js.map create mode 100644 tests/baselines/reference/sourceMap-SemiColon1.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMap-SingleSpace1.js create mode 100644 tests/baselines/reference/sourceMap-SingleSpace1.js.map create mode 100644 tests/baselines/reference/sourceMap-SingleSpace1.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMap-StringLiteralWithNewLine.js create mode 100644 tests/baselines/reference/sourceMap-StringLiteralWithNewLine.js.map create mode 100644 tests/baselines/reference/sourceMap-StringLiteralWithNewLine.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapSample.errors.txt create mode 100644 tests/baselines/reference/sourceMapSample.js create mode 100644 tests/baselines/reference/sourceMapSample.js.map create mode 100644 tests/baselines/reference/sourceMapSample.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationClass.js create mode 100644 tests/baselines/reference/sourceMapValidationClass.js.map create mode 100644 tests/baselines/reference/sourceMapValidationClass.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationClassWithDefaultConstructor.js create mode 100644 tests/baselines/reference/sourceMapValidationClassWithDefaultConstructor.js.map create mode 100644 tests/baselines/reference/sourceMapValidationClassWithDefaultConstructor.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.js create mode 100644 tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.js.map create mode 100644 tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndExtendsClause.js create mode 100644 tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndExtendsClause.js.map create mode 100644 tests/baselines/reference/sourceMapValidationClassWithDefaultConstructorAndExtendsClause.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationClasses.js create mode 100644 tests/baselines/reference/sourceMapValidationClasses.js.map create mode 100644 tests/baselines/reference/sourceMapValidationClasses.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationDebugger.js create mode 100644 tests/baselines/reference/sourceMapValidationDebugger.js.map create mode 100644 tests/baselines/reference/sourceMapValidationDebugger.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationDo.js create mode 100644 tests/baselines/reference/sourceMapValidationDo.js.map create mode 100644 tests/baselines/reference/sourceMapValidationDo.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationEnums.errors.txt create mode 100644 tests/baselines/reference/sourceMapValidationEnums.js create mode 100644 tests/baselines/reference/sourceMapValidationEnums.js.map create mode 100644 tests/baselines/reference/sourceMapValidationEnums.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationExportAssignment.js create mode 100644 tests/baselines/reference/sourceMapValidationExportAssignment.js.map create mode 100644 tests/baselines/reference/sourceMapValidationExportAssignment.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationExportAssignmentCommonjs.js create mode 100644 tests/baselines/reference/sourceMapValidationExportAssignmentCommonjs.js.map create mode 100644 tests/baselines/reference/sourceMapValidationExportAssignmentCommonjs.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationFor.errors.txt create mode 100644 tests/baselines/reference/sourceMapValidationFor.js create mode 100644 tests/baselines/reference/sourceMapValidationFor.js.map create mode 100644 tests/baselines/reference/sourceMapValidationFor.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationForIn.errors.txt create mode 100644 tests/baselines/reference/sourceMapValidationForIn.js create mode 100644 tests/baselines/reference/sourceMapValidationForIn.js.map create mode 100644 tests/baselines/reference/sourceMapValidationForIn.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationFunctionExpressions.js create mode 100644 tests/baselines/reference/sourceMapValidationFunctionExpressions.js.map create mode 100644 tests/baselines/reference/sourceMapValidationFunctionExpressions.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationFunctionPropertyAssignment.js create mode 100644 tests/baselines/reference/sourceMapValidationFunctionPropertyAssignment.js.map create mode 100644 tests/baselines/reference/sourceMapValidationFunctionPropertyAssignment.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationFunctions.js create mode 100644 tests/baselines/reference/sourceMapValidationFunctions.js.map create mode 100644 tests/baselines/reference/sourceMapValidationFunctions.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationIfElse.js create mode 100644 tests/baselines/reference/sourceMapValidationIfElse.js.map create mode 100644 tests/baselines/reference/sourceMapValidationIfElse.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationImport.js create mode 100644 tests/baselines/reference/sourceMapValidationImport.js.map create mode 100644 tests/baselines/reference/sourceMapValidationImport.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationLabeled.js create mode 100644 tests/baselines/reference/sourceMapValidationLabeled.js.map create mode 100644 tests/baselines/reference/sourceMapValidationLabeled.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationModule.js create mode 100644 tests/baselines/reference/sourceMapValidationModule.js.map create mode 100644 tests/baselines/reference/sourceMapValidationModule.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationStatements.js create mode 100644 tests/baselines/reference/sourceMapValidationStatements.js.map create mode 100644 tests/baselines/reference/sourceMapValidationStatements.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationSwitch.js create mode 100644 tests/baselines/reference/sourceMapValidationSwitch.js.map create mode 100644 tests/baselines/reference/sourceMapValidationSwitch.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationTryCatchFinally.js create mode 100644 tests/baselines/reference/sourceMapValidationTryCatchFinally.js.map create mode 100644 tests/baselines/reference/sourceMapValidationTryCatchFinally.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationVariables.js create mode 100644 tests/baselines/reference/sourceMapValidationVariables.js.map create mode 100644 tests/baselines/reference/sourceMapValidationVariables.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationWhile.js create mode 100644 tests/baselines/reference/sourceMapValidationWhile.js.map create mode 100644 tests/baselines/reference/sourceMapValidationWhile.sourcemap.txt create mode 100644 tests/baselines/reference/sourceMapValidationWithComments.js create mode 100644 tests/baselines/reference/sourceMapValidationWithComments.js.map create mode 100644 tests/baselines/reference/sourceMapValidationWithComments.sourcemap.txt create mode 100644 tests/baselines/reference/sourcemapValidationDuplicateNames.js create mode 100644 tests/baselines/reference/sourcemapValidationDuplicateNames.js.map create mode 100644 tests/baselines/reference/sourcemapValidationDuplicateNames.sourcemap.txt create mode 100644 tests/baselines/reference/specializationError.js create mode 100644 tests/baselines/reference/specializationOfExportedClass.js create mode 100644 tests/baselines/reference/specializationsShouldNotAffectEachOther.js create mode 100644 tests/baselines/reference/specializeVarArgs1.js create mode 100644 tests/baselines/reference/specializedInheritedConstructors1.js create mode 100644 tests/baselines/reference/specializedLambdaTypeArguments.js create mode 100644 tests/baselines/reference/specializedOverloadWithRestParameters.errors.txt create mode 100644 tests/baselines/reference/specializedOverloadWithRestParameters.js create mode 100644 tests/baselines/reference/specializedSignatureAsCallbackParameter1.errors.txt create mode 100644 tests/baselines/reference/specializedSignatureAsCallbackParameter1.js create mode 100644 tests/baselines/reference/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.errors.txt create mode 100644 tests/baselines/reference/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.js create mode 100644 tests/baselines/reference/specializedSignatureIsSubtypeOfNonSpecializedSignature.js create mode 100644 tests/baselines/reference/specializedSignatureOverloadReturnTypeWithIndexers.errors.txt create mode 100644 tests/baselines/reference/specializedSignatureOverloadReturnTypeWithIndexers.js create mode 100644 tests/baselines/reference/staticAndMemberFunctions.js create mode 100644 tests/baselines/reference/staticAndNonStaticPropertiesSameName.js create mode 100644 tests/baselines/reference/staticClassMemberError.errors.txt create mode 100644 tests/baselines/reference/staticClassMemberError.js create mode 100644 tests/baselines/reference/staticClassProps.errors.txt create mode 100644 tests/baselines/reference/staticFactory1.js create mode 100644 tests/baselines/reference/staticGetter1.errors.txt create mode 100644 tests/baselines/reference/staticGetter2.js create mode 100644 tests/baselines/reference/staticGetterAndSetter.errors.txt create mode 100644 tests/baselines/reference/staticIndexer.errors.txt create mode 100644 tests/baselines/reference/staticIndexers.errors.txt create mode 100644 tests/baselines/reference/staticInheritance.js create mode 100644 tests/baselines/reference/staticInstanceResolution.js create mode 100644 tests/baselines/reference/staticInstanceResolution2.js create mode 100644 tests/baselines/reference/staticInstanceResolution3.js create mode 100644 tests/baselines/reference/staticInstanceResolution4.errors.txt create mode 100644 tests/baselines/reference/staticInstanceResolution4.js create mode 100644 tests/baselines/reference/staticInstanceResolution5.errors.txt create mode 100644 tests/baselines/reference/staticInstanceResolution5.js create mode 100644 tests/baselines/reference/staticInterfaceAssignmentCompat.js create mode 100644 tests/baselines/reference/staticMemberAccessOffDerivedType1.js create mode 100644 tests/baselines/reference/staticMemberAssignsToConstructorFunctionMembers.errors.txt create mode 100644 tests/baselines/reference/staticMemberAssignsToConstructorFunctionMembers.js create mode 100644 tests/baselines/reference/staticMemberExportAccess.errors.txt create mode 100644 tests/baselines/reference/staticMemberExportAccess.js create mode 100644 tests/baselines/reference/staticMemberInitialization.js create mode 100644 tests/baselines/reference/staticMemberOfClassAndPublicMemberOfAnotherClassAssignment.errors.txt create mode 100644 tests/baselines/reference/staticMemberOfClassAndPublicMemberOfAnotherClassAssignment.js create mode 100644 tests/baselines/reference/staticMemberWithStringAndNumberNames.js create mode 100644 tests/baselines/reference/staticMembersUsingClassTypeParameter.errors.txt create mode 100644 tests/baselines/reference/staticMembersUsingClassTypeParameter.js create mode 100644 tests/baselines/reference/staticMethodReferencingTypeArgument1.errors.txt create mode 100644 tests/baselines/reference/staticMethodReferencingTypeArgument1.js create mode 100644 tests/baselines/reference/staticMethodsReferencingClassTypeParameters.errors.txt create mode 100644 tests/baselines/reference/staticMethodsReferencingClassTypeParameters.js create mode 100644 tests/baselines/reference/staticModifierAlreadySeen.errors.txt create mode 100644 tests/baselines/reference/staticMustPrecedePublic.errors.txt create mode 100644 tests/baselines/reference/staticOffOfInstance1.errors.txt create mode 100644 tests/baselines/reference/staticOffOfInstance1.js create mode 100644 tests/baselines/reference/staticOffOfInstance2.errors.txt create mode 100644 tests/baselines/reference/staticOffOfInstance2.js create mode 100644 tests/baselines/reference/staticPropSuper.errors.txt create mode 100644 tests/baselines/reference/staticPropSuper.js create mode 100644 tests/baselines/reference/staticPropertyAndFunctionWithSameName.js create mode 100644 tests/baselines/reference/staticPropertyNotInClassType.errors.txt create mode 100644 tests/baselines/reference/staticPrototypeProperty.errors.txt create mode 100644 tests/baselines/reference/staticPrototypeProperty.js create mode 100644 tests/baselines/reference/staticPrototypePropertyOnClass.js create mode 100644 tests/baselines/reference/staticVisibility.errors.txt create mode 100644 tests/baselines/reference/statics.errors.txt create mode 100644 tests/baselines/reference/statics.js create mode 100644 tests/baselines/reference/staticsInAFunction.errors.txt create mode 100644 tests/baselines/reference/staticsInConstructorBodies.errors.txt create mode 100644 tests/baselines/reference/staticsNotInScopeInClodule.errors.txt create mode 100644 tests/baselines/reference/staticsNotInScopeInClodule.js create mode 100644 tests/baselines/reference/stradac.js create mode 100644 tests/baselines/reference/strictMode1.js create mode 100644 tests/baselines/reference/strictMode2.js create mode 100644 tests/baselines/reference/strictMode3.js create mode 100644 tests/baselines/reference/strictMode4.js create mode 100644 tests/baselines/reference/strictModeInConstructor.errors.txt create mode 100644 tests/baselines/reference/strictModeInConstructor.js create mode 100644 tests/baselines/reference/stringHasStringValuedNumericIndexer.js create mode 100644 tests/baselines/reference/stringIndexerAndConstructor.errors.txt create mode 100644 tests/baselines/reference/stringIndexerAndConstructor.js create mode 100644 tests/baselines/reference/stringIndexerAndConstructor1.errors.txt create mode 100644 tests/baselines/reference/stringIndexerAndConstructor1.js create mode 100644 tests/baselines/reference/stringIndexerAssignments1.errors.txt create mode 100644 tests/baselines/reference/stringIndexerAssignments1.js create mode 100644 tests/baselines/reference/stringIndexerAssignments2.errors.txt create mode 100644 tests/baselines/reference/stringIndexerAssignments2.js create mode 100644 tests/baselines/reference/stringIndexerConstrainsPropertyDeclarations.errors.txt create mode 100644 tests/baselines/reference/stringIndexerConstrainsPropertyDeclarations2.errors.txt create mode 100644 tests/baselines/reference/stringIndexerConstrainsPropertyDeclarations2.js create mode 100644 tests/baselines/reference/stringIndexingResults.js create mode 100644 tests/baselines/reference/stringLiteralObjectLiteralDeclaration1.js create mode 100644 tests/baselines/reference/stringLiteralPropertyNameWithLineContinuation1.js create mode 100644 tests/baselines/reference/stringLiteralType.errors.txt create mode 100644 tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.errors.txt create mode 100644 tests/baselines/reference/stringLiteralTypeIsSubtypeOfString.js create mode 100644 tests/baselines/reference/stringLiteralTypesInImplementationSignatures.errors.txt create mode 100644 tests/baselines/reference/stringLiteralTypesInImplementationSignatures.js create mode 100644 tests/baselines/reference/stringLiteralTypesInImplementationSignatures2.errors.txt create mode 100644 tests/baselines/reference/stringLiteralTypesInImplementationSignatures2.js create mode 100644 tests/baselines/reference/stringLiteralsErrors.errors.txt create mode 100644 tests/baselines/reference/stringNamedPropertyAccess.js create mode 100644 tests/baselines/reference/stringNamedPropertyDuplicates.errors.txt create mode 100644 tests/baselines/reference/stringPropCodeGen.js create mode 100644 tests/baselines/reference/stringPropertyAccess.js create mode 100644 tests/baselines/reference/stringPropertyAccessWithError.errors.txt create mode 100644 tests/baselines/reference/stringPropertyAccessWithError.js create mode 100644 tests/baselines/reference/structural1.js create mode 100644 tests/baselines/reference/structuralTypeInDeclareFileForModule.js create mode 100644 tests/baselines/reference/styleOptions.js create mode 100644 tests/baselines/reference/subtypesOfAny.js create mode 100644 tests/baselines/reference/subtypesOfTypeParameter.errors.txt create mode 100644 tests/baselines/reference/subtypesOfTypeParameter.js create mode 100644 tests/baselines/reference/subtypesOfTypeParameterWithConstraints.errors.txt create mode 100644 tests/baselines/reference/subtypesOfTypeParameterWithConstraints.js create mode 100644 tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.errors.txt create mode 100644 tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.js create mode 100644 tests/baselines/reference/subtypesOfTypeParameterWithConstraints3.errors.txt create mode 100644 tests/baselines/reference/subtypesOfTypeParameterWithConstraints3.js create mode 100644 tests/baselines/reference/subtypesOfTypeParameterWithConstraints4.errors.txt create mode 100644 tests/baselines/reference/subtypesOfTypeParameterWithConstraints4.js create mode 100644 tests/baselines/reference/subtypesOfTypeParameterWithRecursiveConstraints.errors.txt create mode 100644 tests/baselines/reference/subtypesOfTypeParameterWithRecursiveConstraints.js create mode 100644 tests/baselines/reference/subtypingTransitivity.js create mode 100644 tests/baselines/reference/subtypingWithCallSignatures.js create mode 100644 tests/baselines/reference/subtypingWithCallSignatures2.js create mode 100644 tests/baselines/reference/subtypingWithCallSignatures3.js create mode 100644 tests/baselines/reference/subtypingWithCallSignatures4.js create mode 100644 tests/baselines/reference/subtypingWithCallSignaturesA.errors.txt create mode 100644 tests/baselines/reference/subtypingWithCallSignaturesA.js create mode 100644 tests/baselines/reference/subtypingWithCallSignaturesWithOptionalParameters.errors.txt create mode 100644 tests/baselines/reference/subtypingWithCallSignaturesWithOptionalParameters.js create mode 100644 tests/baselines/reference/subtypingWithCallSignaturesWithRestParameters.errors.txt create mode 100644 tests/baselines/reference/subtypingWithCallSignaturesWithRestParameters.js create mode 100644 tests/baselines/reference/subtypingWithCallSignaturesWithSpecializedSignatures.errors.txt create mode 100644 tests/baselines/reference/subtypingWithCallSignaturesWithSpecializedSignatures.js create mode 100644 tests/baselines/reference/subtypingWithConstructSignatures.js create mode 100644 tests/baselines/reference/subtypingWithConstructSignatures2.js create mode 100644 tests/baselines/reference/subtypingWithConstructSignatures3.js create mode 100644 tests/baselines/reference/subtypingWithConstructSignatures4.js create mode 100644 tests/baselines/reference/subtypingWithConstructSignatures5.js create mode 100644 tests/baselines/reference/subtypingWithConstructSignatures6.js create mode 100644 tests/baselines/reference/subtypingWithConstructSignaturesWithOptionalParameters.errors.txt create mode 100644 tests/baselines/reference/subtypingWithConstructSignaturesWithOptionalParameters.js create mode 100644 tests/baselines/reference/subtypingWithConstructSignaturesWithSpecializedSignatures.errors.txt create mode 100644 tests/baselines/reference/subtypingWithConstructSignaturesWithSpecializedSignatures.js create mode 100644 tests/baselines/reference/subtypingWithGenericCallSignaturesWithOptionalParameters.errors.txt create mode 100644 tests/baselines/reference/subtypingWithGenericCallSignaturesWithOptionalParameters.js create mode 100644 tests/baselines/reference/subtypingWithGenericConstructSignaturesWithOptionalParameters.errors.txt create mode 100644 tests/baselines/reference/subtypingWithGenericConstructSignaturesWithOptionalParameters.js create mode 100644 tests/baselines/reference/subtypingWithNumericIndexer.errors.txt create mode 100644 tests/baselines/reference/subtypingWithNumericIndexer.js create mode 100644 tests/baselines/reference/subtypingWithNumericIndexer2.errors.txt create mode 100644 tests/baselines/reference/subtypingWithNumericIndexer2.js create mode 100644 tests/baselines/reference/subtypingWithNumericIndexer3.errors.txt create mode 100644 tests/baselines/reference/subtypingWithNumericIndexer3.js create mode 100644 tests/baselines/reference/subtypingWithNumericIndexer4.errors.txt create mode 100644 tests/baselines/reference/subtypingWithNumericIndexer4.js create mode 100644 tests/baselines/reference/subtypingWithNumericIndexer5.errors.txt create mode 100644 tests/baselines/reference/subtypingWithNumericIndexer5.js create mode 100644 tests/baselines/reference/subtypingWithObjectMembers.errors.txt create mode 100644 tests/baselines/reference/subtypingWithObjectMembers.js create mode 100644 tests/baselines/reference/subtypingWithObjectMembers2.errors.txt create mode 100644 tests/baselines/reference/subtypingWithObjectMembers2.js create mode 100644 tests/baselines/reference/subtypingWithObjectMembers3.errors.txt create mode 100644 tests/baselines/reference/subtypingWithObjectMembers3.js create mode 100644 tests/baselines/reference/subtypingWithObjectMembers4.js create mode 100644 tests/baselines/reference/subtypingWithObjectMembers5.errors.txt create mode 100644 tests/baselines/reference/subtypingWithObjectMembers5.js create mode 100644 tests/baselines/reference/subtypingWithObjectMembersAccessibility.errors.txt create mode 100644 tests/baselines/reference/subtypingWithObjectMembersAccessibility.js create mode 100644 tests/baselines/reference/subtypingWithObjectMembersAccessibility2.errors.txt create mode 100644 tests/baselines/reference/subtypingWithObjectMembersAccessibility2.js create mode 100644 tests/baselines/reference/subtypingWithObjectMembersOptionality.js create mode 100644 tests/baselines/reference/subtypingWithObjectMembersOptionality2.errors.txt create mode 100644 tests/baselines/reference/subtypingWithObjectMembersOptionality2.js create mode 100644 tests/baselines/reference/subtypingWithObjectMembersOptionality3.js create mode 100644 tests/baselines/reference/subtypingWithObjectMembersOptionality4.js create mode 100644 tests/baselines/reference/subtypingWithOptionalProperties.js create mode 100644 tests/baselines/reference/subtypingWithStringIndexer.errors.txt create mode 100644 tests/baselines/reference/subtypingWithStringIndexer.js create mode 100644 tests/baselines/reference/subtypingWithStringIndexer2.errors.txt create mode 100644 tests/baselines/reference/subtypingWithStringIndexer2.js create mode 100644 tests/baselines/reference/subtypingWithStringIndexer3.errors.txt create mode 100644 tests/baselines/reference/subtypingWithStringIndexer3.js create mode 100644 tests/baselines/reference/subtypingWithStringIndexer4.errors.txt create mode 100644 tests/baselines/reference/subtypingWithStringIndexer4.js create mode 100644 tests/baselines/reference/super.errors.txt create mode 100644 tests/baselines/reference/super.js create mode 100644 tests/baselines/reference/super1.errors.txt create mode 100644 tests/baselines/reference/super1.js create mode 100644 tests/baselines/reference/super2.js create mode 100644 tests/baselines/reference/superAccess.errors.txt create mode 100644 tests/baselines/reference/superAccess.js create mode 100644 tests/baselines/reference/superAccess2.errors.txt create mode 100644 tests/baselines/reference/superAccessInFatArrow1.js create mode 100644 tests/baselines/reference/superCallArgsMustMatch.js create mode 100644 tests/baselines/reference/superCallAssignResult.errors.txt create mode 100644 tests/baselines/reference/superCallAssignResult.js create mode 100644 tests/baselines/reference/superCallFromClassThatDerivesFromGenericType1.js create mode 100644 tests/baselines/reference/superCallFromClassThatDerivesFromGenericType2.js create mode 100644 tests/baselines/reference/superCallInConstructorWithNoBaseType.errors.txt create mode 100644 tests/baselines/reference/superCallInConstructorWithNoBaseType.js create mode 100644 tests/baselines/reference/superCallInNonStaticMethod.errors.txt create mode 100644 tests/baselines/reference/superCallInStaticMethod.errors.txt create mode 100644 tests/baselines/reference/superCallOutsideConstructor.errors.txt create mode 100644 tests/baselines/reference/superCallOutsideConstructor.js create mode 100644 tests/baselines/reference/superCalls.js create mode 100644 tests/baselines/reference/superCallsInConstructor.errors.txt create mode 100644 tests/baselines/reference/superCallsInConstructor.js create mode 100644 tests/baselines/reference/superErrors.errors.txt create mode 100644 tests/baselines/reference/superInCatchBlock1.js create mode 100644 tests/baselines/reference/superInConstructorParam1.errors.txt create mode 100644 tests/baselines/reference/superInConstructorParam1.js create mode 100644 tests/baselines/reference/superInLambdas.errors.txt create mode 100644 tests/baselines/reference/superPropertyAccess.errors.txt create mode 100644 tests/baselines/reference/superPropertyAccess1.errors.txt create mode 100644 tests/baselines/reference/superPropertyAccess2.errors.txt create mode 100644 tests/baselines/reference/superPropertyAccessNoError.errors.txt create mode 100644 tests/baselines/reference/superWithGenericSpecialization.js create mode 100644 tests/baselines/reference/superWithGenerics.js create mode 100644 tests/baselines/reference/superWithTypeArgument.errors.txt create mode 100644 tests/baselines/reference/superWithTypeArgument2.errors.txt create mode 100644 tests/baselines/reference/superWithTypeArgument3.errors.txt create mode 100644 tests/baselines/reference/super_inside-object-literal-getters-and-setters.errors.txt create mode 100644 tests/baselines/reference/switchAssignmentCompat.errors.txt create mode 100644 tests/baselines/reference/switchAssignmentCompat.js create mode 100644 tests/baselines/reference/switchBreakStatements.js create mode 100644 tests/baselines/reference/switchCases.js create mode 100644 tests/baselines/reference/switchCasesExpressionTypeMismatch.errors.txt create mode 100644 tests/baselines/reference/switchCasesExpressionTypeMismatch.js create mode 100644 tests/baselines/reference/switchFallThroughs.js create mode 100644 tests/baselines/reference/switchStatements.js create mode 100644 tests/baselines/reference/targetTypeArgs.js create mode 100644 tests/baselines/reference/targetTypeBaseCalls.errors.txt create mode 100644 tests/baselines/reference/targetTypeBaseCalls.js create mode 100644 tests/baselines/reference/targetTypeCalls.js create mode 100644 tests/baselines/reference/targetTypeCastTest.errors.txt create mode 100644 tests/baselines/reference/targetTypeCastTest.js create mode 100644 tests/baselines/reference/targetTypeObjectLiteral.js create mode 100644 tests/baselines/reference/targetTypeObjectLiteralToAny.js create mode 100644 tests/baselines/reference/targetTypeTest1.errors.txt create mode 100644 tests/baselines/reference/targetTypeTest1.js create mode 100644 tests/baselines/reference/targetTypeTest2.js create mode 100644 tests/baselines/reference/targetTypeTest3.errors.txt create mode 100644 tests/baselines/reference/targetTypeTest3.js create mode 100644 tests/baselines/reference/targetTypeVoidFunc.errors.txt create mode 100644 tests/baselines/reference/targetTypeVoidFunc.js create mode 100644 tests/baselines/reference/targetTypingOnFunctions.js create mode 100644 tests/baselines/reference/ternaryExpressionSourceMap.js create mode 100644 tests/baselines/reference/ternaryExpressionSourceMap.js.map create mode 100644 tests/baselines/reference/ternaryExpressionSourceMap.sourcemap.txt create mode 100644 tests/baselines/reference/testTypings.errors.txt create mode 100644 tests/baselines/reference/testTypings.js create mode 100644 tests/baselines/reference/thisBinding.errors.txt create mode 100644 tests/baselines/reference/thisBinding.js create mode 100644 tests/baselines/reference/thisBinding2.js create mode 100644 tests/baselines/reference/thisCapture1.js create mode 100644 tests/baselines/reference/thisExpressionInCallExpressionWithTypeArguments.errors.txt create mode 100644 tests/baselines/reference/thisExpressionInCallExpressionWithTypeArguments.js create mode 100644 tests/baselines/reference/thisExpressionInIndexExpression.js create mode 100644 tests/baselines/reference/thisExpressionOfGenericObject.js create mode 100644 tests/baselines/reference/thisInAccessors.errors.txt create mode 100644 tests/baselines/reference/thisInArrowFunctionInStaticInitializer1.errors.txt create mode 100644 tests/baselines/reference/thisInArrowFunctionInStaticInitializer1.js create mode 100644 tests/baselines/reference/thisInConstructorParameter1.errors.txt create mode 100644 tests/baselines/reference/thisInConstructorParameter1.js create mode 100644 tests/baselines/reference/thisInConstructorParameter2.errors.txt create mode 100644 tests/baselines/reference/thisInConstructorParameter2.js create mode 100644 tests/baselines/reference/thisInGenericStaticMembers.js create mode 100644 tests/baselines/reference/thisInInnerFunctions.js create mode 100644 tests/baselines/reference/thisInInstanceMemberInitializer.js create mode 100644 tests/baselines/reference/thisInInvalidContexts.errors.txt create mode 100644 tests/baselines/reference/thisInInvalidContextsExternalModule.errors.txt create mode 100644 tests/baselines/reference/thisInLambda.js create mode 100644 tests/baselines/reference/thisInModule.errors.txt create mode 100644 tests/baselines/reference/thisInModule.js create mode 100644 tests/baselines/reference/thisInModuleFunction1.js create mode 100644 tests/baselines/reference/thisInObjectLiterals.js create mode 100644 tests/baselines/reference/thisInOuterClassBody.errors.txt create mode 100644 tests/baselines/reference/thisInOuterClassBody.js create mode 100644 tests/baselines/reference/thisInPropertyBoundDeclarations.js create mode 100644 tests/baselines/reference/thisInStaticMethod1.js create mode 100644 tests/baselines/reference/thisInStatics.errors.txt create mode 100644 tests/baselines/reference/thisInSuperCall.errors.txt create mode 100644 tests/baselines/reference/thisInSuperCall.js create mode 100644 tests/baselines/reference/thisInSuperCall1.errors.txt create mode 100644 tests/baselines/reference/thisInSuperCall1.js create mode 100644 tests/baselines/reference/thisInSuperCall2.errors.txt create mode 100644 tests/baselines/reference/thisInSuperCall2.js create mode 100644 tests/baselines/reference/thisInSuperCall3.errors.txt create mode 100644 tests/baselines/reference/thisInSuperCall3.js create mode 100644 tests/baselines/reference/thisKeyword.errors.txt create mode 100644 tests/baselines/reference/thisKeyword.js create mode 100644 tests/baselines/reference/thisReferencedInFunctionInsideArrowFunction1.js create mode 100644 tests/baselines/reference/thisWhenTypeCheckFails.errors.txt create mode 100644 tests/baselines/reference/thisWhenTypeCheckFails.js create mode 100644 tests/baselines/reference/this_inside-enum-should-not-be-allowed.errors.txt create mode 100644 tests/baselines/reference/this_inside-enum-should-not-be-allowed.js create mode 100644 tests/baselines/reference/this_inside-object-literal-getters-and-setters.errors.txt create mode 100644 tests/baselines/reference/throwInEnclosingStatements.js create mode 100644 tests/baselines/reference/throwStatements.js create mode 100644 tests/baselines/reference/toStringOnPrimitives.js create mode 100644 tests/baselines/reference/tooFewArgumentsInGenericFunctionTypedArgument.js create mode 100644 tests/baselines/reference/tooManyTypeParameters1.errors.txt create mode 100644 tests/baselines/reference/tooManyTypeParameters1.js create mode 100644 tests/baselines/reference/topLevel.js create mode 100644 tests/baselines/reference/topLevelAmbientModule.js create mode 100644 tests/baselines/reference/topLevelExports.js create mode 100644 tests/baselines/reference/topLevelFileModule.js create mode 100644 tests/baselines/reference/topLevelFileModuleMissing.errors.txt create mode 100644 tests/baselines/reference/topLevelFileModuleMissing.js create mode 100644 tests/baselines/reference/topLevelLambda.errors.txt create mode 100644 tests/baselines/reference/topLevelLambda.js create mode 100644 tests/baselines/reference/topLevelLambda2.js create mode 100644 tests/baselines/reference/topLevelLambda3.js create mode 100644 tests/baselines/reference/topLevelLambda4.js create mode 100644 tests/baselines/reference/topLevelModuleDeclarationAndFile.errors.txt create mode 100644 tests/baselines/reference/topLevelModuleDeclarationAndFile.js create mode 100644 tests/baselines/reference/trailingCommaInHeterogenousArrayLiteral1.errors.txt create mode 100644 tests/baselines/reference/trailingCommaInHeterogenousArrayLiteral1.js create mode 100644 tests/baselines/reference/trailingSeparatorInFunctionCall.errors.txt create mode 100644 tests/baselines/reference/transitiveTypeArgumentInference1.js create mode 100644 tests/baselines/reference/tryCatchFinally.js create mode 100644 tests/baselines/reference/tryStatements.js create mode 100644 tests/baselines/reference/twoAccessorsWithSameName.errors.txt create mode 100644 tests/baselines/reference/twoAccessorsWithSameName2.errors.txt create mode 100644 tests/baselines/reference/twoGenericInterfacesDifferingByTypeParameterName.errors.txt create mode 100644 tests/baselines/reference/twoGenericInterfacesDifferingByTypeParameterName.js create mode 100644 tests/baselines/reference/twoGenericInterfacesDifferingByTypeParameterName2.errors.txt create mode 100644 tests/baselines/reference/twoGenericInterfacesDifferingByTypeParameterName2.js create mode 100644 tests/baselines/reference/twoGenericInterfacesWithDifferentConstraints.errors.txt create mode 100644 tests/baselines/reference/twoGenericInterfacesWithDifferentConstraints.js create mode 100644 tests/baselines/reference/twoGenericInterfacesWithTheSameNameButDifferentArity.errors.txt create mode 100644 tests/baselines/reference/twoGenericInterfacesWithTheSameNameButDifferentArity.js create mode 100644 tests/baselines/reference/twoInterfacesDifferentRootModule.errors.txt create mode 100644 tests/baselines/reference/twoInterfacesDifferentRootModule.js create mode 100644 tests/baselines/reference/twoInterfacesDifferentRootModule2.errors.txt create mode 100644 tests/baselines/reference/twoInterfacesDifferentRootModule2.js create mode 100644 tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads.js create mode 100644 tests/baselines/reference/twoMergedInterfacesWithDifferingOverloads2.js create mode 100644 tests/baselines/reference/typeAnnotationBestCommonTypeInArrayLiteral.js create mode 100644 tests/baselines/reference/typeArgInference.js create mode 100644 tests/baselines/reference/typeArgInference2.js create mode 100644 tests/baselines/reference/typeArgInference2WithError.errors.txt create mode 100644 tests/baselines/reference/typeArgInference2WithError.js create mode 100644 tests/baselines/reference/typeArgInferenceWithNull.js create mode 100644 tests/baselines/reference/typeArgumentConstraintResolution1.errors.txt create mode 100644 tests/baselines/reference/typeArgumentConstraintResolution1.js create mode 100644 tests/baselines/reference/typeArgumentInference.js create mode 100644 tests/baselines/reference/typeArgumentInferenceConstructSignatures.errors.txt create mode 100644 tests/baselines/reference/typeArgumentInferenceConstructSignatures.js create mode 100644 tests/baselines/reference/typeArgumentInferenceErrors.errors.txt create mode 100644 tests/baselines/reference/typeArgumentInferenceErrors.js create mode 100644 tests/baselines/reference/typeArgumentInferenceOrdering.js create mode 100644 tests/baselines/reference/typeArgumentInferenceTransitiveConstraints.errors.txt create mode 100644 tests/baselines/reference/typeArgumentInferenceTransitiveConstraints.js create mode 100644 tests/baselines/reference/typeArgumentInferenceWithConstraintAsCommonRoot.js create mode 100644 tests/baselines/reference/typeArgumentInferenceWithConstraints.errors.txt create mode 100644 tests/baselines/reference/typeArgumentInferenceWithConstraints.js create mode 100644 tests/baselines/reference/typeArgumentsInFunctionExpressions.js create mode 100644 tests/baselines/reference/typeArgumentsOnFunctionsWithNoTypeParameters.errors.txt create mode 100644 tests/baselines/reference/typeArgumentsOnFunctionsWithNoTypeParameters.js create mode 100644 tests/baselines/reference/typeArgumentsShouldDisallowNonGenericOverloads.errors.txt create mode 100644 tests/baselines/reference/typeArgumentsShouldDisallowNonGenericOverloads.js create mode 100644 tests/baselines/reference/typeAssertionToGenericFunctionType.errors.txt create mode 100644 tests/baselines/reference/typeAssertionToGenericFunctionType.js create mode 100644 tests/baselines/reference/typeAssertions.errors.txt create mode 100644 tests/baselines/reference/typeAssertions.js create mode 100644 tests/baselines/reference/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.js create mode 100644 tests/baselines/reference/typeCheckTypeArgument.errors.txt create mode 100644 tests/baselines/reference/typeCheckTypeArgument.js create mode 100644 tests/baselines/reference/typeCheckingInsideFunctionExpressionInArray.errors.txt create mode 100644 tests/baselines/reference/typeCheckingInsideFunctionExpressionInArray.js create mode 100644 tests/baselines/reference/typeConstraintsWithConstructSignatures.js create mode 100644 tests/baselines/reference/typeIdentityConsidersBrands.errors.txt create mode 100644 tests/baselines/reference/typeIdentityConsidersBrands.js create mode 100644 tests/baselines/reference/typeInfer1.errors.txt create mode 100644 tests/baselines/reference/typeInfer1.js create mode 100644 tests/baselines/reference/typeInferenceConflictingCandidates.js create mode 100644 tests/baselines/reference/typeInferenceFixEarly.js create mode 100644 tests/baselines/reference/typeInferenceReturnTypeCallback.js create mode 100644 tests/baselines/reference/typeInferenceWithTypeAnnotation.js create mode 100644 tests/baselines/reference/typeLiteralCallback.js create mode 100644 tests/baselines/reference/typeMatch1.errors.txt create mode 100644 tests/baselines/reference/typeMatch1.js create mode 100644 tests/baselines/reference/typeMatch2.errors.txt create mode 100644 tests/baselines/reference/typeMatch2.js create mode 100644 tests/baselines/reference/typeName1.errors.txt create mode 100644 tests/baselines/reference/typeName1.js create mode 100644 tests/baselines/reference/typeOfEnumAndVarRedeclarations.errors.txt create mode 100644 tests/baselines/reference/typeOfEnumAndVarRedeclarations.js create mode 100644 tests/baselines/reference/typeOfOnTypeArg.errors.txt create mode 100644 tests/baselines/reference/typeOfOnTypeArg.js create mode 100644 tests/baselines/reference/typeOfOperator1.errors.txt create mode 100644 tests/baselines/reference/typeOfOperator1.js create mode 100644 tests/baselines/reference/typeOfPrototype.js create mode 100644 tests/baselines/reference/typeOfSuperCall.js create mode 100644 tests/baselines/reference/typeOfThis.errors.txt create mode 100644 tests/baselines/reference/typeOfThisInAccessor.errors.txt create mode 100644 tests/baselines/reference/typeOfThisInConstructorParamList.errors.txt create mode 100644 tests/baselines/reference/typeOfThisInConstructorParamList.js create mode 100644 tests/baselines/reference/typeOfThisInFunctionExpression.js create mode 100644 tests/baselines/reference/typeOfThisInInstanceMember.errors.txt create mode 100644 tests/baselines/reference/typeOfThisInInstanceMember2.errors.txt create mode 100644 tests/baselines/reference/typeOfThisInMemberFunctions.js create mode 100644 tests/baselines/reference/typeOfThisInStaticMembers.js create mode 100644 tests/baselines/reference/typeOfThisInStaticMembers2.errors.txt create mode 100644 tests/baselines/reference/typeOfThisInStaticMembers2.js create mode 100644 tests/baselines/reference/typeOfThisInStatics.errors.txt create mode 100644 tests/baselines/reference/typeParamExtendsOtherTypeParam.errors.txt create mode 100644 tests/baselines/reference/typeParamExtendsOtherTypeParam.js create mode 100644 tests/baselines/reference/typeParameterAndArgumentOfSameName1.js create mode 100644 tests/baselines/reference/typeParameterArgumentEquivalence.errors.txt create mode 100644 tests/baselines/reference/typeParameterArgumentEquivalence.js create mode 100644 tests/baselines/reference/typeParameterArgumentEquivalence2.errors.txt create mode 100644 tests/baselines/reference/typeParameterArgumentEquivalence2.js create mode 100644 tests/baselines/reference/typeParameterArgumentEquivalence3.errors.txt create mode 100644 tests/baselines/reference/typeParameterArgumentEquivalence3.js create mode 100644 tests/baselines/reference/typeParameterArgumentEquivalence4.errors.txt create mode 100644 tests/baselines/reference/typeParameterArgumentEquivalence4.js create mode 100644 tests/baselines/reference/typeParameterArgumentEquivalence5.errors.txt create mode 100644 tests/baselines/reference/typeParameterArgumentEquivalence5.js create mode 100644 tests/baselines/reference/typeParameterAsBaseClass.errors.txt create mode 100644 tests/baselines/reference/typeParameterAsBaseClass.js create mode 100644 tests/baselines/reference/typeParameterAsBaseType.errors.txt create mode 100644 tests/baselines/reference/typeParameterAsBaseType.js create mode 100644 tests/baselines/reference/typeParameterAsElementType.js create mode 100644 tests/baselines/reference/typeParameterAsTypeArgument.js create mode 100644 tests/baselines/reference/typeParameterAsTypeParameterConstraint.errors.txt create mode 100644 tests/baselines/reference/typeParameterAsTypeParameterConstraint.js create mode 100644 tests/baselines/reference/typeParameterAsTypeParameterConstraint2.errors.txt create mode 100644 tests/baselines/reference/typeParameterAsTypeParameterConstraint2.js create mode 100644 tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively.js create mode 100644 tests/baselines/reference/typeParameterAsTypeParameterConstraintTransitively2.js create mode 100644 tests/baselines/reference/typeParameterAssignability.errors.txt create mode 100644 tests/baselines/reference/typeParameterAssignability.js create mode 100644 tests/baselines/reference/typeParameterAssignability2.errors.txt create mode 100644 tests/baselines/reference/typeParameterAssignability2.js create mode 100644 tests/baselines/reference/typeParameterAssignability3.errors.txt create mode 100644 tests/baselines/reference/typeParameterAssignability3.js create mode 100644 tests/baselines/reference/typeParameterAssignmentCompat1.errors.txt create mode 100644 tests/baselines/reference/typeParameterAssignmentCompat1.js create mode 100644 tests/baselines/reference/typeParameterAssignmentWithConstraints.errors.txt create mode 100644 tests/baselines/reference/typeParameterAssignmentWithConstraints.js create mode 100644 tests/baselines/reference/typeParameterCompatibilityAccrossDeclarations.js create mode 100644 tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter.js create mode 100644 tests/baselines/reference/typeParameterConstrainedToOuterTypeParameter2.js create mode 100644 tests/baselines/reference/typeParameterConstraints1.errors.txt create mode 100644 tests/baselines/reference/typeParameterDirectlyConstrainedToItself.errors.txt create mode 100644 tests/baselines/reference/typeParameterDirectlyConstrainedToItself.js create mode 100644 tests/baselines/reference/typeParameterExplicitlyExtendsAny.errors.txt create mode 100644 tests/baselines/reference/typeParameterExplicitlyExtendsAny.js create mode 100644 tests/baselines/reference/typeParameterHasSelfAsConstraint.errors.txt create mode 100644 tests/baselines/reference/typeParameterHasSelfAsConstraint.js create mode 100644 tests/baselines/reference/typeParameterIndirectlyConstrainedToItself.errors.txt create mode 100644 tests/baselines/reference/typeParameterIndirectlyConstrainedToItself.js create mode 100644 tests/baselines/reference/typeParameterOrderReversal.errors.txt create mode 100644 tests/baselines/reference/typeParameterOrderReversal.js create mode 100644 tests/baselines/reference/typeParameterUsedAsConstraint.errors.txt create mode 100644 tests/baselines/reference/typeParameterUsedAsConstraint.js create mode 100644 tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint.errors.txt create mode 100644 tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint.js create mode 100644 tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint2.errors.txt create mode 100644 tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint2.js create mode 100644 tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint3.js create mode 100644 tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint4.errors.txt create mode 100644 tests/baselines/reference/typeParameterUsedAsTypeParameterConstraint4.js create mode 100644 tests/baselines/reference/typeParameterWithInvalidConstraintType.errors.txt create mode 100644 tests/baselines/reference/typeParameterWithInvalidConstraintType.js create mode 100644 tests/baselines/reference/typeParametersAreIdenticalToThemselves.js create mode 100644 tests/baselines/reference/typeParametersAvailableInNestedScope.js create mode 100644 tests/baselines/reference/typeParametersAvailableInNestedScope2.js create mode 100644 tests/baselines/reference/typeParametersInStaticAccessors.errors.txt create mode 100644 tests/baselines/reference/typeParametersInStaticMethods.errors.txt create mode 100644 tests/baselines/reference/typeParametersInStaticMethods.js create mode 100644 tests/baselines/reference/typeParametersInStaticProperties.errors.txt create mode 100644 tests/baselines/reference/typeParametersInStaticProperties.js create mode 100644 tests/baselines/reference/typeParametersShouldNotBeEqual.errors.txt create mode 100644 tests/baselines/reference/typeParametersShouldNotBeEqual.js create mode 100644 tests/baselines/reference/typeParametersShouldNotBeEqual2.errors.txt create mode 100644 tests/baselines/reference/typeParametersShouldNotBeEqual2.js create mode 100644 tests/baselines/reference/typeParametersShouldNotBeEqual3.errors.txt create mode 100644 tests/baselines/reference/typeParametersShouldNotBeEqual3.js create mode 100644 tests/baselines/reference/typeQueryOnClass.errors.txt create mode 100644 tests/baselines/reference/typeResolution.js create mode 100644 tests/baselines/reference/typeResolution.js.map create mode 100644 tests/baselines/reference/typeResolution.sourcemap.txt create mode 100644 tests/baselines/reference/typeVal.js create mode 100644 tests/baselines/reference/typeValueConflict1.errors.txt create mode 100644 tests/baselines/reference/typeValueConflict1.js create mode 100644 tests/baselines/reference/typeValueConflict2.errors.txt create mode 100644 tests/baselines/reference/typeValueConflict2.js create mode 100644 tests/baselines/reference/typecheckCommaExpression.errors.txt create mode 100644 tests/baselines/reference/typecheckCommaExpression.js create mode 100644 tests/baselines/reference/typecheckIfCondition.errors.txt create mode 100644 tests/baselines/reference/typecheckIfCondition.js create mode 100644 tests/baselines/reference/typedGenericPrototypeMember.js create mode 100644 tests/baselines/reference/typeofANonExportedType.errors.txt create mode 100644 tests/baselines/reference/typeofANonExportedType.js create mode 100644 tests/baselines/reference/typeofAmbientExternalModules.errors.txt create mode 100644 tests/baselines/reference/typeofAmbientExternalModules.js create mode 100644 tests/baselines/reference/typeofAnExportedType.errors.txt create mode 100644 tests/baselines/reference/typeofAnExportedType.js create mode 100644 tests/baselines/reference/typeofClass.errors.txt create mode 100644 tests/baselines/reference/typeofClass.js create mode 100644 tests/baselines/reference/typeofClass2.js create mode 100644 tests/baselines/reference/typeofClassWithPrivates.errors.txt create mode 100644 tests/baselines/reference/typeofClassWithPrivates.js create mode 100644 tests/baselines/reference/typeofEnum.js create mode 100644 tests/baselines/reference/typeofExternalModules.errors.txt create mode 100644 tests/baselines/reference/typeofExternalModules.js create mode 100644 tests/baselines/reference/typeofInObjectLiteralType.errors.txt create mode 100644 tests/baselines/reference/typeofInObjectLiteralType.js create mode 100644 tests/baselines/reference/typeofInterface.js create mode 100644 tests/baselines/reference/typeofInternalModules.errors.txt create mode 100644 tests/baselines/reference/typeofInternalModules.js create mode 100644 tests/baselines/reference/typeofModuleWithoutExports.js create mode 100644 tests/baselines/reference/typeofOperatorInvalidOperations.errors.txt create mode 100644 tests/baselines/reference/typeofOperatorWithAnyOtherType.errors.txt create mode 100644 tests/baselines/reference/typeofOperatorWithAnyOtherType.js create mode 100644 tests/baselines/reference/typeofOperatorWithBooleanType.js create mode 100644 tests/baselines/reference/typeofOperatorWithEnumType.js create mode 100644 tests/baselines/reference/typeofOperatorWithNumberType.js create mode 100644 tests/baselines/reference/typeofOperatorWithStringType.js create mode 100644 tests/baselines/reference/typeofProperty.errors.txt create mode 100644 tests/baselines/reference/typeofProperty.js create mode 100644 tests/baselines/reference/typeofSimple.errors.txt create mode 100644 tests/baselines/reference/typeofSimple.js create mode 100644 tests/baselines/reference/typeofTypeParameter.errors.txt create mode 100644 tests/baselines/reference/typeofTypeParameter.js create mode 100644 tests/baselines/reference/typeofUndefined.js create mode 100644 tests/baselines/reference/typeofUnknownSymbol.errors.txt create mode 100644 tests/baselines/reference/typeofUnknownSymbol.js create mode 100644 tests/baselines/reference/typesOnlyExternalModuleStillHasInstance.errors.txt create mode 100644 tests/baselines/reference/typesOnlyExternalModuleStillHasInstance.js create mode 100644 tests/baselines/reference/typesWithDuplicateTypeParameters.errors.txt create mode 100644 tests/baselines/reference/typesWithDuplicateTypeParameters.js create mode 100644 tests/baselines/reference/typesWithOptionalProperty.js create mode 100644 tests/baselines/reference/typesWithPrivateConstructor.errors.txt create mode 100644 tests/baselines/reference/typesWithPublicConstructor.errors.txt create mode 100644 tests/baselines/reference/typesWithPublicConstructor.js create mode 100644 tests/baselines/reference/typesWithSpecializedCallSignatures.js create mode 100644 tests/baselines/reference/typesWithSpecializedConstructSignatures.js create mode 100644 tests/baselines/reference/unaryOperators1.js create mode 100644 tests/baselines/reference/unaryPlus.js create mode 100644 tests/baselines/reference/uncaughtCompilerError1.js create mode 100644 tests/baselines/reference/uncaughtCompilerError2.errors.txt create mode 100644 tests/baselines/reference/undeclaredBase.errors.txt create mode 100644 tests/baselines/reference/undeclaredBase.js create mode 100644 tests/baselines/reference/undeclaredMethod.errors.txt create mode 100644 tests/baselines/reference/undeclaredMethod.js create mode 100644 tests/baselines/reference/undeclaredModuleError.errors.txt create mode 100644 tests/baselines/reference/undeclaredModuleError.js create mode 100644 tests/baselines/reference/undeclaredVarEmit.errors.txt create mode 100644 tests/baselines/reference/undeclaredVarEmit.js create mode 100644 tests/baselines/reference/undefinedArgumentInference.js create mode 100644 tests/baselines/reference/undefinedAssignableToEveryType.js create mode 100644 tests/baselines/reference/undefinedInferentialTyping.js create mode 100644 tests/baselines/reference/undefinedIsSubtypeOfEverything.js create mode 100644 tests/baselines/reference/undefinedSymbolReferencedInArrayLiteral1.errors.txt create mode 100644 tests/baselines/reference/undefinedSymbolReferencedInArrayLiteral1.js create mode 100644 tests/baselines/reference/undefinedTypeArgument1.errors.txt create mode 100644 tests/baselines/reference/undefinedTypeArgument1.js create mode 100644 tests/baselines/reference/undefinedTypeArgument2.errors.txt create mode 100644 tests/baselines/reference/undefinedTypeArgument2.js create mode 100644 tests/baselines/reference/underscoreMapFirst.js create mode 100644 tests/baselines/reference/underscoreTest1.js create mode 100644 tests/baselines/reference/unexpectedStatementBlockTerminator.errors.txt create mode 100644 tests/baselines/reference/unexportedInstanceClassVariables.js create mode 100644 tests/baselines/reference/unicodeIdentifierName2.errors.txt create mode 100644 tests/baselines/reference/unicodeIdentifierNames.js create mode 100644 tests/baselines/reference/unknownSymbolInGenericReturnType.errors.txt create mode 100644 tests/baselines/reference/unknownSymbolInGenericReturnType.js create mode 100644 tests/baselines/reference/unknownSymbolOffContextualType1.errors.txt create mode 100644 tests/baselines/reference/unknownSymbolOffContextualType1.js create mode 100644 tests/baselines/reference/unknownSymbols1.errors.txt create mode 100644 tests/baselines/reference/unknownSymbols1.js create mode 100644 tests/baselines/reference/unknownSymbols2.errors.txt create mode 100644 tests/baselines/reference/unknownSymbols2.js create mode 100644 tests/baselines/reference/unknownTypeArgOnCall.errors.txt create mode 100644 tests/baselines/reference/unknownTypeArgOnCall.js create mode 100644 tests/baselines/reference/unknownTypeErrors.errors.txt create mode 100644 tests/baselines/reference/unknownTypeErrors.js create mode 100644 tests/baselines/reference/unqualifiedCallToClassStatic1.errors.txt create mode 100644 tests/baselines/reference/unqualifiedCallToClassStatic1.js create mode 100644 tests/baselines/reference/unresolvedTypeAssertionSymbol.errors.txt create mode 100644 tests/baselines/reference/unresolvedTypeAssertionSymbol.js create mode 100644 tests/baselines/reference/unspecializedConstraints.errors.txt create mode 100644 tests/baselines/reference/unspecializedConstraints.js create mode 100644 tests/baselines/reference/unterminatedRegexAtEndOfSource1.errors.txt create mode 100644 tests/baselines/reference/unterminatedStringLiteralWithBackslash1.errors.txt create mode 100644 tests/baselines/reference/untypedArgumentInLambdaExpression.js create mode 100644 tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.errors.txt create mode 100644 tests/baselines/reference/untypedFunctionCallsWithTypeParameters1.js create mode 100644 tests/baselines/reference/unusedImportDeclaration.js create mode 100644 tests/baselines/reference/usingModuleWithExportImportInValuePosition.js create mode 100644 tests/baselines/reference/validBooleanAssignments.js create mode 100644 tests/baselines/reference/validEnumAssignments.js create mode 100644 tests/baselines/reference/validMultipleVariableDeclarations.js create mode 100644 tests/baselines/reference/validNullAssignments.errors.txt create mode 100644 tests/baselines/reference/validNullAssignments.js create mode 100644 tests/baselines/reference/validNumberAssignments.js create mode 100644 tests/baselines/reference/validRegexp.errors.txt create mode 100644 tests/baselines/reference/validStringAssignments.js create mode 100644 tests/baselines/reference/validUndefinedAssignments.js create mode 100644 tests/baselines/reference/validUndefinedValues.js create mode 100644 tests/baselines/reference/validUseOfThisInSuper.js create mode 100644 tests/baselines/reference/validVoidAssignments.js create mode 100644 tests/baselines/reference/validVoidValues.js create mode 100644 tests/baselines/reference/varAndFunctionShareName.errors.txt create mode 100644 tests/baselines/reference/varAndFunctionShareName.js create mode 100644 tests/baselines/reference/varArgConstructorMemberParameter.errors.txt create mode 100644 tests/baselines/reference/varArgParamTypeCheck.js create mode 100644 tests/baselines/reference/varArgWithNoParamName.errors.txt create mode 100644 tests/baselines/reference/varArgsOnConstructorTypes.js create mode 100644 tests/baselines/reference/varAsID.errors.txt create mode 100644 tests/baselines/reference/varBlock.errors.txt create mode 100644 tests/baselines/reference/varInFunctionInVarInitializer.js create mode 100644 tests/baselines/reference/varNameConflictsWithImportInDifferentPartOfModule.errors.txt create mode 100644 tests/baselines/reference/varNameConflictsWithImportInDifferentPartOfModule.js create mode 100644 tests/baselines/reference/vararg.errors.txt create mode 100644 tests/baselines/reference/vararg.js create mode 100644 tests/baselines/reference/vardecl.js create mode 100644 tests/baselines/reference/variableDeclarator1.js create mode 100644 tests/baselines/reference/variableDeclaratorResolvedDuringContextualTyping.errors.txt create mode 100644 tests/baselines/reference/variableDeclaratorResolvedDuringContextualTyping.js create mode 100644 tests/baselines/reference/visSyntax.js create mode 100644 tests/baselines/reference/visibilityOfCrossModuleTypeUsage.js create mode 100644 tests/baselines/reference/voidArrayLit.errors.txt create mode 100644 tests/baselines/reference/voidArrayLit.js create mode 100644 tests/baselines/reference/voidAsNonAmbiguousReturnType.errors.txt create mode 100644 tests/baselines/reference/voidAsNonAmbiguousReturnType.js create mode 100644 tests/baselines/reference/voidAsOperator.js create mode 100644 tests/baselines/reference/voidConstructor.js create mode 100644 tests/baselines/reference/voidFunctionAssignmentCompat.js create mode 100644 tests/baselines/reference/voidOperator1.js create mode 100644 tests/baselines/reference/voidOperatorInvalidOperations.errors.txt create mode 100644 tests/baselines/reference/voidOperatorWithAnyOtherType.errors.txt create mode 100644 tests/baselines/reference/voidOperatorWithAnyOtherType.js create mode 100644 tests/baselines/reference/voidOperatorWithBooleanType.js create mode 100644 tests/baselines/reference/voidOperatorWithEnumType.js create mode 100644 tests/baselines/reference/voidOperatorWithNumberType.js create mode 100644 tests/baselines/reference/voidOperatorWithStringType.js create mode 100644 tests/baselines/reference/voidReturnLambdaValue.js create mode 100644 tests/baselines/reference/whileBreakStatements.js create mode 100644 tests/baselines/reference/whileContinueStatements.js create mode 100644 tests/baselines/reference/widenToAny1.errors.txt create mode 100644 tests/baselines/reference/widenToAny1.js create mode 100644 tests/baselines/reference/widenToAny2.errors.txt create mode 100644 tests/baselines/reference/widenToAny2.js create mode 100644 tests/baselines/reference/widenedTypes.errors.txt create mode 100644 tests/baselines/reference/widenedTypes.js create mode 100644 tests/baselines/reference/widenedTypes1.js create mode 100644 tests/baselines/reference/withExportDecl.errors.txt create mode 100644 tests/baselines/reference/withImportDecl.js create mode 100644 tests/baselines/reference/withStatement.errors.txt create mode 100644 tests/baselines/reference/withStatement.js create mode 100644 tests/baselines/reference/withStatementErrors.errors.txt create mode 100644 tests/baselines/reference/withStatementNestedScope.js create mode 100644 tests/baselines/reference/withStatements.errors.txt create mode 100644 tests/baselines/reference/withStatements.js create mode 100644 tests/baselines/reference/witness.errors.txt create mode 100644 tests/baselines/reference/witness.js create mode 100644 tests/baselines/reference/wrappedAndRecursiveConstraints.js create mode 100644 tests/baselines/reference/wrappedAndRecursiveConstraints2.errors.txt create mode 100644 tests/baselines/reference/wrappedAndRecursiveConstraints2.js create mode 100644 tests/baselines/reference/wrappedAndRecursiveConstraints3.js create mode 100644 tests/baselines/reference/wrappedAndRecursiveConstraints4.errors.txt create mode 100644 tests/baselines/reference/wrappedAndRecursiveConstraints4.js create mode 100644 tests/baselines/reference/wrappedRecursiveGenericType.errors.txt create mode 100644 tests/baselines/reference/wrappedRecursiveGenericType.js create mode 100644 tests/cases/compiler/2dArrays.ts create mode 100644 tests/cases/compiler/ArrowFunctionExpression1.ts create mode 100644 tests/cases/compiler/ClassDeclaration10.ts create mode 100644 tests/cases/compiler/ClassDeclaration11.ts create mode 100644 tests/cases/compiler/ClassDeclaration13.ts create mode 100644 tests/cases/compiler/ClassDeclaration14.ts create mode 100644 tests/cases/compiler/ClassDeclaration15.ts create mode 100644 tests/cases/compiler/ClassDeclaration21.ts create mode 100644 tests/cases/compiler/ClassDeclaration22.ts create mode 100644 tests/cases/compiler/ClassDeclaration24.ts create mode 100644 tests/cases/compiler/ClassDeclaration25.ts create mode 100644 tests/cases/compiler/ClassDeclaration8.ts create mode 100644 tests/cases/compiler/ClassDeclaration9.ts create mode 100644 tests/cases/compiler/ExportAssignment7.ts create mode 100644 tests/cases/compiler/ExportAssignment8.ts create mode 100644 tests/cases/compiler/FunctionDeclaration3.ts create mode 100644 tests/cases/compiler/FunctionDeclaration4.ts create mode 100644 tests/cases/compiler/FunctionDeclaration6.ts create mode 100644 tests/cases/compiler/FunctionDeclaration7.ts create mode 100644 tests/cases/compiler/InterfaceDeclaration8.ts create mode 100644 tests/cases/compiler/MemberAccessorDeclaration15.ts create mode 100644 tests/cases/compiler/ParameterList13.ts create mode 100644 tests/cases/compiler/ParameterList4.ts create mode 100644 tests/cases/compiler/ParameterList5.ts create mode 100644 tests/cases/compiler/ParameterList6.ts create mode 100644 tests/cases/compiler/ParameterList7.ts create mode 100644 tests/cases/compiler/ParameterList8.ts create mode 100644 tests/cases/compiler/acceptableAlias1.ts create mode 100644 tests/cases/compiler/accessOverriddenBaseClassMember1.ts create mode 100644 tests/cases/compiler/accessorParameterAccessibilityModifier.ts create mode 100644 tests/cases/compiler/accessorWithInitializer.ts create mode 100644 tests/cases/compiler/accessorWithRestParam.ts create mode 100644 tests/cases/compiler/accessorsEmit.ts create mode 100644 tests/cases/compiler/accessorsInAmbientContext.ts create mode 100644 tests/cases/compiler/accessorsNotAllowedInES3.ts create mode 100644 tests/cases/compiler/accessors_spec_section-4.5_error-cases.ts create mode 100644 tests/cases/compiler/accessors_spec_section-4.5_inference.ts create mode 100644 tests/cases/compiler/addMoreCallSignaturesToBaseSignature.ts create mode 100644 tests/cases/compiler/addMoreCallSignaturesToBaseSignature2.ts create mode 100644 tests/cases/compiler/addMoreOverloadsToBaseSignature.ts create mode 100644 tests/cases/compiler/aliasAssignments.ts create mode 100644 tests/cases/compiler/aliasBug.ts create mode 100644 tests/cases/compiler/aliasErrors.ts create mode 100644 tests/cases/compiler/aliasInaccessibleModule.ts create mode 100644 tests/cases/compiler/aliasInaccessibleModule2.ts create mode 100644 tests/cases/compiler/aliasOnMergedModuleInterface.ts create mode 100644 tests/cases/compiler/aliasUsageInAccessorsOfClass.ts create mode 100644 tests/cases/compiler/aliasUsageInArray.ts create mode 100644 tests/cases/compiler/aliasUsageInFunctionExpression.ts create mode 100644 tests/cases/compiler/aliasUsageInGenericFunction.ts create mode 100644 tests/cases/compiler/aliasUsageInIndexerOfClass.ts create mode 100644 tests/cases/compiler/aliasUsageInObjectLiteral.ts create mode 100644 tests/cases/compiler/aliasUsageInOrExpression.ts create mode 100644 tests/cases/compiler/aliasUsageInTypeArgumentOfExtendsClause.ts create mode 100644 tests/cases/compiler/aliasUsageInVarAssignment.ts create mode 100644 tests/cases/compiler/aliasUsedAsNameValue.ts create mode 100644 tests/cases/compiler/aliasWithInterfaceExportAssignmentUsedInVarInitializer.ts create mode 100644 tests/cases/compiler/ambientClassDeclarationWithExtends.ts create mode 100644 tests/cases/compiler/ambientClassOverloadForFunction.ts create mode 100644 tests/cases/compiler/ambientEnumElementInitializer1.ts create mode 100644 tests/cases/compiler/ambientEnumElementInitializer2.ts create mode 100644 tests/cases/compiler/ambientEnumElementInitializer3.ts create mode 100644 tests/cases/compiler/ambientEnumElementInitializer4.ts create mode 100644 tests/cases/compiler/ambientEnumElementInitializer5.ts create mode 100644 tests/cases/compiler/ambientEnumElementInitializer6.ts create mode 100644 tests/cases/compiler/ambientExternalModuleInAnotherExternalModule.ts create mode 100644 tests/cases/compiler/ambientExternalModuleReopen.ts create mode 100644 tests/cases/compiler/ambientExternalModuleWithInternalImportDeclaration.ts create mode 100644 tests/cases/compiler/ambientExternalModuleWithRelativeExternalImportDeclaration.ts create mode 100644 tests/cases/compiler/ambientExternalModuleWithRelativeModuleName.ts create mode 100644 tests/cases/compiler/ambientExternalModuleWithoutInternalImportDeclaration.ts create mode 100644 tests/cases/compiler/ambientFundule.ts create mode 100644 tests/cases/compiler/ambientGetters.ts create mode 100644 tests/cases/compiler/ambientModuleExports.ts create mode 100644 tests/cases/compiler/ambientModuleWithClassDeclarationWithExtends.ts create mode 100644 tests/cases/compiler/ambientModules.ts create mode 100644 tests/cases/compiler/ambientWithStatements.ts create mode 100644 tests/cases/compiler/ambiguousCallsWhereReturnTypesAgree.ts create mode 100644 tests/cases/compiler/ambiguousGenericAssertion1.ts create mode 100644 tests/cases/compiler/ambiguousOverload.ts create mode 100644 tests/cases/compiler/ambiguousOverloadResolution.ts create mode 100644 tests/cases/compiler/amdDependencyComment1.ts create mode 100644 tests/cases/compiler/amdDependencyComment2.ts create mode 100644 tests/cases/compiler/anonterface.ts create mode 100644 tests/cases/compiler/anonymousModules.ts create mode 100644 tests/cases/compiler/anyAsReturnTypeForNewOnCall.ts create mode 100644 tests/cases/compiler/anyDeclare.ts create mode 100644 tests/cases/compiler/anyIdenticalToItself.ts create mode 100644 tests/cases/compiler/anyInferenceAnonymousFunctions.ts create mode 100644 tests/cases/compiler/anyIsAssignableToObject.ts create mode 100644 tests/cases/compiler/anyIsAssignableToVoid.ts create mode 100644 tests/cases/compiler/anyPlusAny1.ts create mode 100644 tests/cases/compiler/argsInScope.ts create mode 100644 tests/cases/compiler/arguments.ts create mode 100644 tests/cases/compiler/argumentsBindsToFunctionScopeArgumentList.ts create mode 100644 tests/cases/compiler/argumentsUsedInObjectLiteralProperty.ts create mode 100644 tests/cases/compiler/arithAssignTyping.ts create mode 100644 tests/cases/compiler/arithmeticOnInvalidTypes.ts create mode 100644 tests/cases/compiler/arithmeticOnInvalidTypes2.ts create mode 100644 tests/cases/compiler/arrayAssignmentTest1.ts create mode 100644 tests/cases/compiler/arrayAssignmentTest2.ts create mode 100644 tests/cases/compiler/arrayAssignmentTest3.ts create mode 100644 tests/cases/compiler/arrayAssignmentTest4.ts create mode 100644 tests/cases/compiler/arrayAssignmentTest5.ts create mode 100644 tests/cases/compiler/arrayAssignmentTest6.ts create mode 100644 tests/cases/compiler/arrayAugment.ts create mode 100644 tests/cases/compiler/arrayBestCommonTypes.ts create mode 100644 tests/cases/compiler/arrayCast.ts create mode 100644 tests/cases/compiler/arrayConcat2.ts create mode 100644 tests/cases/compiler/arrayConcatMap.ts create mode 100644 tests/cases/compiler/arrayConstructors1.ts create mode 100644 tests/cases/compiler/arrayLiteral1.ts create mode 100644 tests/cases/compiler/arrayLiteral2.ts create mode 100644 tests/cases/compiler/arrayLiteralAndArrayConstructorEquivalence1.ts create mode 100644 tests/cases/compiler/arrayLiteralContextualType.ts create mode 100644 tests/cases/compiler/arrayLiteralInNonVarArgParameter.ts create mode 100644 tests/cases/compiler/arrayLiteralTypeInference.ts create mode 100644 tests/cases/compiler/arrayOfExportedClass.ts create mode 100644 tests/cases/compiler/arrayReferenceWithoutTypeArgs.ts create mode 100644 tests/cases/compiler/arraySigChecking.ts create mode 100644 tests/cases/compiler/arrayTypeInSignatureOfInterfaceAndClass.ts create mode 100644 tests/cases/compiler/arrayconcat.ts create mode 100644 tests/cases/compiler/arrowFunctionInConstructorArgument1.ts create mode 100644 tests/cases/compiler/arrowFunctionInExpressionStatement1.ts create mode 100644 tests/cases/compiler/arrowFunctionInExpressionStatement2.ts create mode 100644 tests/cases/compiler/asiArith.ts create mode 100644 tests/cases/compiler/asiInES6Classes.ts create mode 100644 tests/cases/compiler/assertInWrapSomeTypeParameter.ts create mode 100644 tests/cases/compiler/assign1.ts create mode 100644 tests/cases/compiler/assignLambdaToNominalSubtypeOfFunction.ts create mode 100644 tests/cases/compiler/assignToEnum.ts create mode 100644 tests/cases/compiler/assignToExistingClass.ts create mode 100644 tests/cases/compiler/assignToFn.ts create mode 100644 tests/cases/compiler/assignToInvalidLHS.ts create mode 100644 tests/cases/compiler/assignToModule.ts create mode 100644 tests/cases/compiler/assignToObjectTypeWithPrototypeProperty.ts create mode 100644 tests/cases/compiler/assignToPrototype1.ts create mode 100644 tests/cases/compiler/assignmentCompat1.ts create mode 100644 tests/cases/compiler/assignmentCompatBug2.ts create mode 100644 tests/cases/compiler/assignmentCompatBug3.ts create mode 100644 tests/cases/compiler/assignmentCompatBug5.ts create mode 100644 tests/cases/compiler/assignmentCompatForEnums.ts create mode 100644 tests/cases/compiler/assignmentCompatFunctionsWithOptionalArgs.ts create mode 100644 tests/cases/compiler/assignmentCompatInterfaceWithStringIndexSignature.ts create mode 100644 tests/cases/compiler/assignmentCompatOnNew.ts create mode 100644 tests/cases/compiler/assignmentCompatWithOverloads.ts create mode 100644 tests/cases/compiler/assignmentCompatability1.ts create mode 100644 tests/cases/compiler/assignmentCompatability10.ts create mode 100644 tests/cases/compiler/assignmentCompatability11.ts create mode 100644 tests/cases/compiler/assignmentCompatability12.ts create mode 100644 tests/cases/compiler/assignmentCompatability13.ts create mode 100644 tests/cases/compiler/assignmentCompatability14.ts create mode 100644 tests/cases/compiler/assignmentCompatability15.ts create mode 100644 tests/cases/compiler/assignmentCompatability16.ts create mode 100644 tests/cases/compiler/assignmentCompatability17.ts create mode 100644 tests/cases/compiler/assignmentCompatability18.ts create mode 100644 tests/cases/compiler/assignmentCompatability19.ts create mode 100644 tests/cases/compiler/assignmentCompatability2.ts create mode 100644 tests/cases/compiler/assignmentCompatability20.ts create mode 100644 tests/cases/compiler/assignmentCompatability21.ts create mode 100644 tests/cases/compiler/assignmentCompatability22.ts create mode 100644 tests/cases/compiler/assignmentCompatability23.ts create mode 100644 tests/cases/compiler/assignmentCompatability24.ts create mode 100644 tests/cases/compiler/assignmentCompatability25.ts create mode 100644 tests/cases/compiler/assignmentCompatability26.ts create mode 100644 tests/cases/compiler/assignmentCompatability27.ts create mode 100644 tests/cases/compiler/assignmentCompatability28.ts create mode 100644 tests/cases/compiler/assignmentCompatability29.ts create mode 100644 tests/cases/compiler/assignmentCompatability3.ts create mode 100644 tests/cases/compiler/assignmentCompatability30.ts create mode 100644 tests/cases/compiler/assignmentCompatability31.ts create mode 100644 tests/cases/compiler/assignmentCompatability32.ts create mode 100644 tests/cases/compiler/assignmentCompatability33.ts create mode 100644 tests/cases/compiler/assignmentCompatability34.ts create mode 100644 tests/cases/compiler/assignmentCompatability35.ts create mode 100644 tests/cases/compiler/assignmentCompatability36.ts create mode 100644 tests/cases/compiler/assignmentCompatability37.ts create mode 100644 tests/cases/compiler/assignmentCompatability38.ts create mode 100644 tests/cases/compiler/assignmentCompatability39.ts create mode 100644 tests/cases/compiler/assignmentCompatability4.ts create mode 100644 tests/cases/compiler/assignmentCompatability40.ts create mode 100644 tests/cases/compiler/assignmentCompatability41.ts create mode 100644 tests/cases/compiler/assignmentCompatability42.ts create mode 100644 tests/cases/compiler/assignmentCompatability43.ts create mode 100644 tests/cases/compiler/assignmentCompatability5.ts create mode 100644 tests/cases/compiler/assignmentCompatability6.ts create mode 100644 tests/cases/compiler/assignmentCompatability7.ts create mode 100644 tests/cases/compiler/assignmentCompatability8.ts create mode 100644 tests/cases/compiler/assignmentCompatability9.ts create mode 100644 tests/cases/compiler/assignmentCompatability_checking-apply-member-off-of-function-interface.ts create mode 100644 tests/cases/compiler/assignmentCompatability_checking-call-member-off-of-function-interface.ts create mode 100644 tests/cases/compiler/assignmentCompatibilityForConstrainedTypeParameters.ts create mode 100644 tests/cases/compiler/assignmentStricterConstraints.ts create mode 100644 tests/cases/compiler/assignmentToFunction.ts create mode 100644 tests/cases/compiler/assignmentToObject.ts create mode 100644 tests/cases/compiler/assignmentToObjectAndFunction.ts create mode 100644 tests/cases/compiler/assignmentToParenthesizedExpression1.ts create mode 100644 tests/cases/compiler/assignmentToReferenceTypes.ts create mode 100644 tests/cases/compiler/augmentedClassWithPrototypePropertyOnModule.ts create mode 100644 tests/cases/compiler/augmentedTypeAssignmentCompatIndexSignature.ts create mode 100644 tests/cases/compiler/augmentedTypeBracketAccessIndexSignature.ts create mode 100644 tests/cases/compiler/augmentedTypeBracketNamedPropertyAccess.ts create mode 100644 tests/cases/compiler/augmentedTypesClass.ts create mode 100644 tests/cases/compiler/augmentedTypesClass2.ts create mode 100644 tests/cases/compiler/augmentedTypesClass2a.ts create mode 100644 tests/cases/compiler/augmentedTypesClass3.ts create mode 100644 tests/cases/compiler/augmentedTypesClass4.ts create mode 100644 tests/cases/compiler/augmentedTypesEnum.ts create mode 100644 tests/cases/compiler/augmentedTypesEnum2.ts create mode 100644 tests/cases/compiler/augmentedTypesEnum3.ts create mode 100644 tests/cases/compiler/augmentedTypesExternalModule1.ts create mode 100644 tests/cases/compiler/augmentedTypesFunction.ts create mode 100644 tests/cases/compiler/augmentedTypesInterface.ts create mode 100644 tests/cases/compiler/augmentedTypesModules.ts create mode 100644 tests/cases/compiler/augmentedTypesModules2.ts create mode 100644 tests/cases/compiler/augmentedTypesModules3.ts create mode 100644 tests/cases/compiler/augmentedTypesModules3b.ts create mode 100644 tests/cases/compiler/augmentedTypesModules4.ts create mode 100644 tests/cases/compiler/augmentedTypesVar.ts create mode 100644 tests/cases/compiler/autoAsiForStaticsInClassDeclaration.ts create mode 100644 tests/cases/compiler/autoLift2.ts create mode 100644 tests/cases/compiler/autolift3.ts create mode 100644 tests/cases/compiler/autolift4.ts create mode 100644 tests/cases/compiler/autonumberingInEnums.ts create mode 100644 tests/cases/compiler/avoid.ts create mode 100644 tests/cases/compiler/badArrayIndex.ts create mode 100644 tests/cases/compiler/badArraySyntax.ts create mode 100644 tests/cases/compiler/badExternalModuleReference.ts create mode 100644 tests/cases/compiler/badOverloadError.ts create mode 100644 tests/cases/compiler/badThisBinding.ts create mode 100644 tests/cases/compiler/baseCheck.ts create mode 100644 tests/cases/compiler/baseIndexSignatureResolution.ts create mode 100644 tests/cases/compiler/baseTypeAfterDerivedType.ts create mode 100644 tests/cases/compiler/baseTypeOrderChecking.ts create mode 100644 tests/cases/compiler/baseTypePrivateMemberClash.ts create mode 100644 tests/cases/compiler/bases.ts create mode 100644 tests/cases/compiler/bestCommonTypeReturnStatement.ts create mode 100644 tests/cases/compiler/bestCommonTypeWithContextualTyping.ts create mode 100644 tests/cases/compiler/bestCommonTypeWithOptionalProperties.ts create mode 100644 tests/cases/compiler/binaryArithmatic1.ts create mode 100644 tests/cases/compiler/binaryArithmatic2.ts create mode 100644 tests/cases/compiler/binaryArithmatic3.ts create mode 100644 tests/cases/compiler/binaryArithmatic4.ts create mode 100644 tests/cases/compiler/bind1.ts create mode 100644 tests/cases/compiler/bind2.ts create mode 100644 tests/cases/compiler/binopAssignmentShouldHaveType.ts create mode 100644 tests/cases/compiler/bom-utf16be.ts create mode 100644 tests/cases/compiler/bom-utf16le.ts create mode 100644 tests/cases/compiler/bom-utf8.ts create mode 100644 tests/cases/compiler/breakInIterationOrSwitchStatement1.ts create mode 100644 tests/cases/compiler/breakInIterationOrSwitchStatement2.ts create mode 100644 tests/cases/compiler/breakInIterationOrSwitchStatement3.ts create mode 100644 tests/cases/compiler/breakInIterationOrSwitchStatement4.ts create mode 100644 tests/cases/compiler/breakNotInIterationOrSwitchStatement1.ts create mode 100644 tests/cases/compiler/breakNotInIterationOrSwitchStatement2.ts create mode 100644 tests/cases/compiler/breakTarget1.ts create mode 100644 tests/cases/compiler/breakTarget2.ts create mode 100644 tests/cases/compiler/breakTarget3.ts create mode 100644 tests/cases/compiler/breakTarget4.ts create mode 100644 tests/cases/compiler/breakTarget5.ts create mode 100644 tests/cases/compiler/breakTarget6.ts create mode 100644 tests/cases/compiler/callConstructAssignment.ts create mode 100644 tests/cases/compiler/callExpressionWithTypeParameterConstrainedToOuterTypeParameter.ts create mode 100644 tests/cases/compiler/callOnClass.ts create mode 100644 tests/cases/compiler/callOnInstance.ts create mode 100644 tests/cases/compiler/callOverloadViaElementAccessExpression.ts create mode 100644 tests/cases/compiler/callOverloads1.ts create mode 100644 tests/cases/compiler/callOverloads2.ts create mode 100644 tests/cases/compiler/callOverloads3.ts create mode 100644 tests/cases/compiler/callOverloads4.ts create mode 100644 tests/cases/compiler/callOverloads5.ts create mode 100644 tests/cases/compiler/callSignatureFunctionOverload.ts create mode 100644 tests/cases/compiler/callSignaturesShouldBeResolvedBeforeSpecialization.ts create mode 100644 tests/cases/compiler/callWithWrongNumberOfTypeArguments.ts create mode 100644 tests/cases/compiler/callbackArgsDifferByOptionality.ts create mode 100644 tests/cases/compiler/callbacksDontShareTypes.ts create mode 100644 tests/cases/compiler/cannotInvokeNewOnErrorExpression.ts create mode 100644 tests/cases/compiler/cannotInvokeNewOnIndexExpression.ts create mode 100644 tests/cases/compiler/castExpressionParentheses.ts create mode 100644 tests/cases/compiler/castNewObjectBug.ts create mode 100644 tests/cases/compiler/castParentheses.ts create mode 100644 tests/cases/compiler/castTest.ts create mode 100644 tests/cases/compiler/catch.ts create mode 100644 tests/cases/compiler/catchClauseWithTypeAnnotation.ts create mode 100644 tests/cases/compiler/cf.ts create mode 100644 tests/cases/compiler/chainedAssignment1.ts create mode 100644 tests/cases/compiler/chainedAssignment2.ts create mode 100644 tests/cases/compiler/chainedAssignment3.ts create mode 100644 tests/cases/compiler/chainedAssignmentChecking.ts create mode 100644 tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter.ts create mode 100644 tests/cases/compiler/chainedCallsWithTypeParameterConstrainedToOtherTypeParameter2.ts create mode 100644 tests/cases/compiler/chainedImportAlias.ts create mode 100644 tests/cases/compiler/chainedSpecializationToObjectTypeLiteral.ts create mode 100644 tests/cases/compiler/checkForObjectTooStrict.ts create mode 100644 tests/cases/compiler/checkInterfaceBases.ts create mode 100644 tests/cases/compiler/circularModuleImports.ts create mode 100644 tests/cases/compiler/class1.ts create mode 100644 tests/cases/compiler/class2.ts create mode 100644 tests/cases/compiler/classAndInterface1.ts create mode 100644 tests/cases/compiler/classCannotExtendVar.ts create mode 100644 tests/cases/compiler/classDeclarationMergedInModuleWithContinuation.ts create mode 100644 tests/cases/compiler/classExtendingQualifiedName.ts create mode 100644 tests/cases/compiler/classExtendingQualifiedName2.ts create mode 100644 tests/cases/compiler/classExtendsClauseClassMergedWithModuleNotReferingConstructor.ts create mode 100644 tests/cases/compiler/classExtendsClauseClassNotReferringConstructor.ts create mode 100644 tests/cases/compiler/classExtendsInterface.ts create mode 100644 tests/cases/compiler/classExtendsInterfaceThatExtendsClassWithPrivates1.ts create mode 100644 tests/cases/compiler/classExtendsMultipleBaseClasses.ts create mode 100644 tests/cases/compiler/classHeritageWithTrailingSeparator.ts create mode 100644 tests/cases/compiler/classImplementingInterfaceIndexer.ts create mode 100644 tests/cases/compiler/classImplementsClass1.ts create mode 100644 tests/cases/compiler/classImplementsClass2.ts create mode 100644 tests/cases/compiler/classImplementsClass3.ts create mode 100644 tests/cases/compiler/classImplementsClass4.ts create mode 100644 tests/cases/compiler/classImplementsClass5.ts create mode 100644 tests/cases/compiler/classImplementsClass6.ts create mode 100644 tests/cases/compiler/classImplementsImportedInterface.ts create mode 100644 tests/cases/compiler/classIndexer.ts create mode 100644 tests/cases/compiler/classIndexer2.ts create mode 100644 tests/cases/compiler/classIndexer3.ts create mode 100644 tests/cases/compiler/classIndexer4.ts create mode 100644 tests/cases/compiler/classInheritence.ts create mode 100644 tests/cases/compiler/classMemberInitializerScoping.ts create mode 100644 tests/cases/compiler/classMemberInitializerWithLamdaScoping.ts create mode 100644 tests/cases/compiler/classMemberInitializerWithLamdaScoping2.ts create mode 100644 tests/cases/compiler/classMemberInitializerWithLamdaScoping3.ts create mode 100644 tests/cases/compiler/classMemberInitializerWithLamdaScoping4.ts create mode 100644 tests/cases/compiler/classMemberInitializerWithLamdaScoping5.ts create mode 100644 tests/cases/compiler/classMethodWithKeywordName1.ts create mode 100644 tests/cases/compiler/classOrder1.ts create mode 100644 tests/cases/compiler/classOrder2.ts create mode 100644 tests/cases/compiler/classOrderBug.ts create mode 100644 tests/cases/compiler/classOverloadForFunction.ts create mode 100644 tests/cases/compiler/classOverloadForFunction2.ts create mode 100644 tests/cases/compiler/classSideInheritance1.ts create mode 100644 tests/cases/compiler/classSideInheritance2.ts create mode 100644 tests/cases/compiler/classSideInheritance3.ts create mode 100644 tests/cases/compiler/classTypeParametersInStatics.ts create mode 100644 tests/cases/compiler/classUpdateTests.ts create mode 100644 tests/cases/compiler/classWithMultipleBaseClasses.ts create mode 100644 tests/cases/compiler/classWithOverloadImplementationOfWrongName.ts create mode 100644 tests/cases/compiler/classWithOverloadImplementationOfWrongName2.ts create mode 100644 tests/cases/compiler/classdecl.ts create mode 100644 tests/cases/compiler/clinterfaces.ts create mode 100644 tests/cases/compiler/cloduleAcrossModuleDefinitions.ts create mode 100644 tests/cases/compiler/cloduleAndTypeParameters.ts create mode 100644 tests/cases/compiler/cloduleSplitAcrossFiles.ts create mode 100644 tests/cases/compiler/cloduleStaticMembers.ts create mode 100644 tests/cases/compiler/cloduleTest1.ts create mode 100644 tests/cases/compiler/cloduleTest2.ts create mode 100644 tests/cases/compiler/cloduleWithDuplicateMember1.ts create mode 100644 tests/cases/compiler/cloduleWithDuplicateMember2.ts create mode 100644 tests/cases/compiler/cloduleWithRecursiveReference.ts create mode 100644 tests/cases/compiler/clodulesDerivedClasses.ts create mode 100644 tests/cases/compiler/collisionArgumentsArrowFunctions.ts create mode 100644 tests/cases/compiler/collisionArgumentsClassConstructor.ts create mode 100644 tests/cases/compiler/collisionArgumentsClassMethod.ts create mode 100644 tests/cases/compiler/collisionArgumentsFunction.ts create mode 100644 tests/cases/compiler/collisionArgumentsFunctionExpressions.ts create mode 100644 tests/cases/compiler/collisionArgumentsInType.ts create mode 100644 tests/cases/compiler/collisionArgumentsInterfaceMembers.ts create mode 100644 tests/cases/compiler/collisionCodeGenEnumWithEnumMemberConflict.ts create mode 100644 tests/cases/compiler/collisionCodeGenModuleWithAccessorChildren.ts create mode 100644 tests/cases/compiler/collisionCodeGenModuleWithConstructorChildren.ts create mode 100644 tests/cases/compiler/collisionCodeGenModuleWithEnumMemberConflict.ts create mode 100644 tests/cases/compiler/collisionCodeGenModuleWithFunctionChildren.ts create mode 100644 tests/cases/compiler/collisionCodeGenModuleWithMemberClassConflict.ts create mode 100644 tests/cases/compiler/collisionCodeGenModuleWithMemberInterfaceConflict.ts create mode 100644 tests/cases/compiler/collisionCodeGenModuleWithMemberVariable.ts create mode 100644 tests/cases/compiler/collisionCodeGenModuleWithMethodChildren.ts create mode 100644 tests/cases/compiler/collisionCodeGenModuleWithModuleChildren.ts create mode 100644 tests/cases/compiler/collisionCodeGenModuleWithModuleReopening.ts create mode 100644 tests/cases/compiler/collisionCodeGenModuleWithPrivateMember.ts create mode 100644 tests/cases/compiler/collisionCodeGenModuleWithUnicodeNames.ts create mode 100644 tests/cases/compiler/collisionExportsRequireAndAlias.ts create mode 100644 tests/cases/compiler/collisionExportsRequireAndClass.ts create mode 100644 tests/cases/compiler/collisionExportsRequireAndEnum.ts create mode 100644 tests/cases/compiler/collisionExportsRequireAndFunction.ts create mode 100644 tests/cases/compiler/collisionExportsRequireAndModule.ts create mode 100644 tests/cases/compiler/collisionExportsRequireAndUninstantiatedModule.ts create mode 100644 tests/cases/compiler/collisionExportsRequireAndVar.ts create mode 100644 tests/cases/compiler/collisionRestParameterArrowFunctions.ts create mode 100644 tests/cases/compiler/collisionRestParameterClassConstructor.ts create mode 100644 tests/cases/compiler/collisionRestParameterClassMethod.ts create mode 100644 tests/cases/compiler/collisionRestParameterFunction.ts create mode 100644 tests/cases/compiler/collisionRestParameterFunctionExpressions.ts create mode 100644 tests/cases/compiler/collisionRestParameterInType.ts create mode 100644 tests/cases/compiler/collisionRestParameterInterfaceMembers.ts create mode 100644 tests/cases/compiler/collisionRestParameterUnderscoreIUsage.ts create mode 100644 tests/cases/compiler/collisionSuperAndLocalFunctionInAccessors.ts create mode 100644 tests/cases/compiler/collisionSuperAndLocalFunctionInConstructor.ts create mode 100644 tests/cases/compiler/collisionSuperAndLocalFunctionInMethod.ts create mode 100644 tests/cases/compiler/collisionSuperAndLocalFunctionInProperty.ts create mode 100644 tests/cases/compiler/collisionSuperAndLocalVarInAccessors.ts create mode 100644 tests/cases/compiler/collisionSuperAndLocalVarInConstructor.ts create mode 100644 tests/cases/compiler/collisionSuperAndLocalVarInMethod.ts create mode 100644 tests/cases/compiler/collisionSuperAndLocalVarInProperty.ts create mode 100644 tests/cases/compiler/collisionSuperAndNameResolution.ts create mode 100644 tests/cases/compiler/collisionSuperAndParameter.ts create mode 100644 tests/cases/compiler/collisionSuperAndParameter1.ts create mode 100644 tests/cases/compiler/collisionSuperAndPropertyNameAsConstuctorParameter.ts create mode 100644 tests/cases/compiler/collisionThisExpressionAndAliasInGlobal.ts create mode 100644 tests/cases/compiler/collisionThisExpressionAndAmbientClassInGlobal.ts create mode 100644 tests/cases/compiler/collisionThisExpressionAndAmbientVarInGlobal.ts create mode 100644 tests/cases/compiler/collisionThisExpressionAndClassInGlobal.ts create mode 100644 tests/cases/compiler/collisionThisExpressionAndEnumInGlobal.ts create mode 100644 tests/cases/compiler/collisionThisExpressionAndFunctionInGlobal.ts create mode 100644 tests/cases/compiler/collisionThisExpressionAndLocalVarInAccessors.ts create mode 100644 tests/cases/compiler/collisionThisExpressionAndLocalVarInConstructor.ts create mode 100644 tests/cases/compiler/collisionThisExpressionAndLocalVarInFunction.ts create mode 100644 tests/cases/compiler/collisionThisExpressionAndLocalVarInLambda.ts create mode 100644 tests/cases/compiler/collisionThisExpressionAndLocalVarInMethod.ts create mode 100644 tests/cases/compiler/collisionThisExpressionAndLocalVarInProperty.ts create mode 100644 tests/cases/compiler/collisionThisExpressionAndLocalVarWithSuperExperssion.ts create mode 100644 tests/cases/compiler/collisionThisExpressionAndModuleInGlobal.ts create mode 100644 tests/cases/compiler/collisionThisExpressionAndNameResolution.ts create mode 100644 tests/cases/compiler/collisionThisExpressionAndParameter.ts create mode 100644 tests/cases/compiler/collisionThisExpressionAndPropertyNameAsConstuctorParameter.ts create mode 100644 tests/cases/compiler/collisionThisExpressionAndVarInGlobal.ts create mode 100644 tests/cases/compiler/commaOperator1.ts create mode 100644 tests/cases/compiler/commentBeforeStaticMethod1.ts create mode 100644 tests/cases/compiler/commentInEmptyParameterList1.ts create mode 100644 tests/cases/compiler/commentInMethodCall.ts create mode 100644 tests/cases/compiler/commentOnAmbientClass1.ts create mode 100644 tests/cases/compiler/commentOnAmbientVariable1.ts create mode 100644 tests/cases/compiler/commentOnAmbientVariable2.ts create mode 100644 tests/cases/compiler/commentOnClassAccessor1.ts create mode 100644 tests/cases/compiler/commentOnClassAccessor2.ts create mode 100644 tests/cases/compiler/commentOnClassMethod1.ts create mode 100644 tests/cases/compiler/commentOnElidedModule1.ts create mode 100644 tests/cases/compiler/commentOnExpressionStatement1.ts create mode 100644 tests/cases/compiler/commentOnIfStatement1.ts create mode 100644 tests/cases/compiler/commentOnImportStatement1.ts create mode 100644 tests/cases/compiler/commentOnImportStatement2.ts create mode 100644 tests/cases/compiler/commentOnImportStatement3.ts create mode 100644 tests/cases/compiler/commentOnInterface1.ts create mode 100644 tests/cases/compiler/commentOnParenthesizedExpressionOpenParen1.ts create mode 100644 tests/cases/compiler/commentOnSignature1.ts create mode 100644 tests/cases/compiler/commentOnSimpleArrowFunctionBody1.ts create mode 100644 tests/cases/compiler/commentOnStaticMember1.ts create mode 100644 tests/cases/compiler/commentsAtEndOfFile1.ts create mode 100644 tests/cases/compiler/commentsBeforeFunctionExpression1.ts create mode 100644 tests/cases/compiler/commentsBeforeVariableStatement1.ts create mode 100644 tests/cases/compiler/commentsClass.ts create mode 100644 tests/cases/compiler/commentsClassMembers.ts create mode 100644 tests/cases/compiler/commentsCommentParsing.ts create mode 100644 tests/cases/compiler/commentsDottedModuleName.ts create mode 100644 tests/cases/compiler/commentsEnums.ts create mode 100644 tests/cases/compiler/commentsExternalModules.ts create mode 100644 tests/cases/compiler/commentsFunction.ts create mode 100644 tests/cases/compiler/commentsInheritance.ts create mode 100644 tests/cases/compiler/commentsInterface.ts create mode 100644 tests/cases/compiler/commentsModules.ts create mode 100644 tests/cases/compiler/commentsMultiModuleMultiFile.ts create mode 100644 tests/cases/compiler/commentsMultiModuleSingleFile.ts create mode 100644 tests/cases/compiler/commentsOnObjectLiteral1.ts create mode 100644 tests/cases/compiler/commentsOnObjectLiteral2.ts create mode 100644 tests/cases/compiler/commentsOnObjectLiteral3.ts create mode 100644 tests/cases/compiler/commentsOnObjectLiteral4.ts create mode 100644 tests/cases/compiler/commentsOnReturnStatement1.ts create mode 100644 tests/cases/compiler/commentsOnStaticMembers.ts create mode 100644 tests/cases/compiler/commentsOverloads.ts create mode 100644 tests/cases/compiler/commentsPropertySignature1.ts create mode 100644 tests/cases/compiler/commentsVarDecl.ts create mode 100644 tests/cases/compiler/commentsVariableStatement1.ts create mode 100644 tests/cases/compiler/commentsdoNotEmitComments.ts create mode 100644 tests/cases/compiler/commentsemitComments.ts create mode 100644 tests/cases/compiler/complexClassRelationships.ts create mode 100644 tests/cases/compiler/complicatedGenericRecursiveBaseClassReference.ts create mode 100644 tests/cases/compiler/complicatedPrivacy.ts create mode 100644 tests/cases/compiler/compositeGenericFunction.ts create mode 100644 tests/cases/compiler/compoundVarDecl1.ts create mode 100644 tests/cases/compiler/concatClassAndString.ts create mode 100644 tests/cases/compiler/concatError.ts create mode 100644 tests/cases/compiler/conditionalExpression1.ts create mode 100644 tests/cases/compiler/conditionalExpressions2.ts create mode 100644 tests/cases/compiler/conditionallyDuplicateOverloadsCausedByOverloadResolution.ts create mode 100644 tests/cases/compiler/conflictingMemberTypesInBases.ts create mode 100644 tests/cases/compiler/conflictingTypeAnnotatedVar.ts create mode 100644 tests/cases/compiler/constantOverloadFunction.ts create mode 100644 tests/cases/compiler/constantOverloadFunctionNoSubtypeError.ts create mode 100644 tests/cases/compiler/constraintCheckInGenericBaseTypeReference.ts create mode 100644 tests/cases/compiler/constraintErrors1.ts create mode 100644 tests/cases/compiler/constraintPropagationThroughReturnTypes.ts create mode 100644 tests/cases/compiler/constraintReferencingTypeParameterFromSameTypeParameterList.ts create mode 100644 tests/cases/compiler/constraints0.ts create mode 100644 tests/cases/compiler/constraintsThatReferenceOtherContstraints1.ts create mode 100644 tests/cases/compiler/constraintsUsedInPrototypeProperty.ts create mode 100644 tests/cases/compiler/constructorArgWithGenericCallSignature.ts create mode 100644 tests/cases/compiler/constructorArgs.ts create mode 100644 tests/cases/compiler/constructorArgsErrors1.ts create mode 100644 tests/cases/compiler/constructorArgsErrors2.ts create mode 100644 tests/cases/compiler/constructorArgsErrors3.ts create mode 100644 tests/cases/compiler/constructorArgsErrors4.ts create mode 100644 tests/cases/compiler/constructorArgsErrors5.ts create mode 100644 tests/cases/compiler/constructorAsType.ts create mode 100644 tests/cases/compiler/constructorInvocationWithTooFewTypeArgs.ts create mode 100644 tests/cases/compiler/constructorOverloads1.ts create mode 100644 tests/cases/compiler/constructorOverloads2.ts create mode 100644 tests/cases/compiler/constructorOverloads3.ts create mode 100644 tests/cases/compiler/constructorOverloads4.ts create mode 100644 tests/cases/compiler/constructorOverloads5.ts create mode 100644 tests/cases/compiler/constructorOverloads6.ts create mode 100644 tests/cases/compiler/constructorOverloads7.ts create mode 100644 tests/cases/compiler/constructorOverloads8.ts create mode 100644 tests/cases/compiler/constructorParametersInVariableDeclarations.ts create mode 100644 tests/cases/compiler/constructorParametersThatShadowExternalNamesInVariableDeclarations.ts create mode 100644 tests/cases/compiler/constructorReturningAPrimitive.ts create mode 100644 tests/cases/compiler/constructorReturnsInvalidType.ts create mode 100644 tests/cases/compiler/constructorStaticParamName.ts create mode 100644 tests/cases/compiler/constructorStaticParamNameErrors.ts create mode 100644 tests/cases/compiler/constructorTypeWithTypeParameters.ts create mode 100644 tests/cases/compiler/constructorsWithSpecializedSignatures.ts create mode 100644 tests/cases/compiler/contextualSigInstantiationRestParams.ts create mode 100644 tests/cases/compiler/contextualSignatureInstantiation1.ts create mode 100644 tests/cases/compiler/contextualSignatureInstantiation2.ts create mode 100644 tests/cases/compiler/contextualSignatureInstantiationWithTypeParameterConstrainedToOuterTypeParameter.ts create mode 100644 tests/cases/compiler/contextualSignatureInstatiationContravariance.ts create mode 100644 tests/cases/compiler/contextualSignatureInstatiationCovariance.ts create mode 100644 tests/cases/compiler/contextualTypeAny.ts create mode 100644 tests/cases/compiler/contextualTypeAppliedToVarArgs.ts create mode 100644 tests/cases/compiler/contextualTypeArrayReturnType.ts create mode 100644 tests/cases/compiler/contextualTyping.ts create mode 100644 tests/cases/compiler/contextualTyping1.ts create mode 100644 tests/cases/compiler/contextualTyping10.ts create mode 100644 tests/cases/compiler/contextualTyping11.ts create mode 100644 tests/cases/compiler/contextualTyping12.ts create mode 100644 tests/cases/compiler/contextualTyping13.ts create mode 100644 tests/cases/compiler/contextualTyping14.ts create mode 100644 tests/cases/compiler/contextualTyping15.ts create mode 100644 tests/cases/compiler/contextualTyping16.ts create mode 100644 tests/cases/compiler/contextualTyping17.ts create mode 100644 tests/cases/compiler/contextualTyping18.ts create mode 100644 tests/cases/compiler/contextualTyping19.ts create mode 100644 tests/cases/compiler/contextualTyping2.ts create mode 100644 tests/cases/compiler/contextualTyping20.ts create mode 100644 tests/cases/compiler/contextualTyping21.ts create mode 100644 tests/cases/compiler/contextualTyping22.ts create mode 100644 tests/cases/compiler/contextualTyping23.ts create mode 100644 tests/cases/compiler/contextualTyping24.ts create mode 100644 tests/cases/compiler/contextualTyping25.ts create mode 100644 tests/cases/compiler/contextualTyping26.ts create mode 100644 tests/cases/compiler/contextualTyping27.ts create mode 100644 tests/cases/compiler/contextualTyping28.ts create mode 100644 tests/cases/compiler/contextualTyping29.ts create mode 100644 tests/cases/compiler/contextualTyping3.ts create mode 100644 tests/cases/compiler/contextualTyping30.ts create mode 100644 tests/cases/compiler/contextualTyping31.ts create mode 100644 tests/cases/compiler/contextualTyping32.ts create mode 100644 tests/cases/compiler/contextualTyping33.ts create mode 100644 tests/cases/compiler/contextualTyping34.ts create mode 100644 tests/cases/compiler/contextualTyping35.ts create mode 100644 tests/cases/compiler/contextualTyping36.ts create mode 100644 tests/cases/compiler/contextualTyping37.ts create mode 100644 tests/cases/compiler/contextualTyping38.ts create mode 100644 tests/cases/compiler/contextualTyping39.ts create mode 100644 tests/cases/compiler/contextualTyping4.ts create mode 100644 tests/cases/compiler/contextualTyping40.ts create mode 100644 tests/cases/compiler/contextualTyping41.ts create mode 100644 tests/cases/compiler/contextualTyping5.ts create mode 100644 tests/cases/compiler/contextualTyping6.ts create mode 100644 tests/cases/compiler/contextualTyping7.ts create mode 100644 tests/cases/compiler/contextualTyping8.ts create mode 100644 tests/cases/compiler/contextualTyping9.ts create mode 100644 tests/cases/compiler/contextualTypingArrayOfLambdas.ts create mode 100644 tests/cases/compiler/contextualTypingOfAccessors.ts create mode 100644 tests/cases/compiler/contextualTypingOfArrayLiterals1.ts create mode 100644 tests/cases/compiler/contextualTypingOfConditionalExpression.ts create mode 100644 tests/cases/compiler/contextualTypingOfConditionalExpression2.ts create mode 100644 tests/cases/compiler/contextualTypingOfGenericFunctionTypedArguments1.ts create mode 100644 tests/cases/compiler/contextualTypingOfLambdaReturnExpression.ts create mode 100644 tests/cases/compiler/contextualTypingOfLambdaWithMultipleSignatures.ts create mode 100644 tests/cases/compiler/contextualTypingOfLambdaWithMultipleSignatures2.ts create mode 100644 tests/cases/compiler/contextualTypingOfObjectLiterals.ts create mode 100644 tests/cases/compiler/contextualTypingOfObjectLiterals2.ts create mode 100644 tests/cases/compiler/contextualTypingTwoInstancesOfSameTypeParameter.ts create mode 100644 tests/cases/compiler/contextualTypingWithFixedTypeParameters1.ts create mode 100644 tests/cases/compiler/contextualTypingWithGenericAndNonGenericSignature.ts create mode 100644 tests/cases/compiler/contextualTypingWithGenericSignature.ts create mode 100644 tests/cases/compiler/contextuallyTypingOrOperator.ts create mode 100644 tests/cases/compiler/contextuallyTypingOrOperator2.ts create mode 100644 tests/cases/compiler/contextuallyTypingOrOperator3.ts create mode 100644 tests/cases/compiler/continueInIterationStatement1.ts create mode 100644 tests/cases/compiler/continueInIterationStatement2.ts create mode 100644 tests/cases/compiler/continueInIterationStatement3.ts create mode 100644 tests/cases/compiler/continueInIterationStatement4.ts create mode 100644 tests/cases/compiler/continueLabel.ts create mode 100644 tests/cases/compiler/continueNotInIterationStatement1.ts create mode 100644 tests/cases/compiler/continueNotInIterationStatement2.ts create mode 100644 tests/cases/compiler/continueNotInIterationStatement3.ts create mode 100644 tests/cases/compiler/continueNotInIterationStatement4.ts create mode 100644 tests/cases/compiler/continueTarget1.ts create mode 100644 tests/cases/compiler/continueTarget2.ts create mode 100644 tests/cases/compiler/continueTarget3.ts create mode 100644 tests/cases/compiler/continueTarget4.ts create mode 100644 tests/cases/compiler/continueTarget5.ts create mode 100644 tests/cases/compiler/continueTarget6.ts create mode 100644 tests/cases/compiler/convertKeywords.ts create mode 100644 tests/cases/compiler/convertKeywordsYes.ts create mode 100644 tests/cases/compiler/copyrightWithNewLine1.ts create mode 100644 tests/cases/compiler/copyrightWithoutNewLine1.ts create mode 100644 tests/cases/compiler/couldNotSelectGenericOverload.ts create mode 100644 tests/cases/compiler/covariance1.ts create mode 100644 tests/cases/compiler/crashInResolveInterface.ts create mode 100644 tests/cases/compiler/crashInresolveReturnStatement.ts create mode 100644 tests/cases/compiler/crashInsourcePropertyIsRelatableToTargetProperty.ts create mode 100644 tests/cases/compiler/crashIntypeCheckInvocationExpression.ts create mode 100644 tests/cases/compiler/crashIntypeCheckObjectCreationExpression.ts create mode 100644 tests/cases/compiler/crashOnMethodSignatures.ts create mode 100644 tests/cases/compiler/crashRegressionTest.ts create mode 100644 tests/cases/compiler/createArray.ts create mode 100644 tests/cases/compiler/customEventDetail.ts create mode 100644 tests/cases/compiler/cyclicModuleImport.ts create mode 100644 tests/cases/compiler/debugger.ts create mode 100644 tests/cases/compiler/debuggerEmit.ts create mode 100644 tests/cases/compiler/declFileAccessors.ts create mode 100644 tests/cases/compiler/declFileAmbientExternalModuleWithSingleExportedModule.ts create mode 100644 tests/cases/compiler/declFileCallSignatures.ts create mode 100644 tests/cases/compiler/declFileClassWithIndexSignature.ts create mode 100644 tests/cases/compiler/declFileClassWithStaticMethodReturningConstructor.ts create mode 100644 tests/cases/compiler/declFileConstructSignatures.ts create mode 100644 tests/cases/compiler/declFileConstructors.ts create mode 100644 tests/cases/compiler/declFileEnumUsedAsValue.ts create mode 100644 tests/cases/compiler/declFileEnums.ts create mode 100644 tests/cases/compiler/declFileExportAssignmentImportInternalModule.ts create mode 100644 tests/cases/compiler/declFileExportAssignmentOfGenericInterface.ts create mode 100644 tests/cases/compiler/declFileExportImportChain.ts create mode 100644 tests/cases/compiler/declFileExportImportChain2.ts create mode 100644 tests/cases/compiler/declFileForClassWithMultipleBaseClasses.ts create mode 100644 tests/cases/compiler/declFileForClassWithPrivateOverloadedFunction.ts create mode 100644 tests/cases/compiler/declFileForExportedImport.ts create mode 100644 tests/cases/compiler/declFileForFunctionTypeAsTypeParameter.ts create mode 100644 tests/cases/compiler/declFileForInterfaceWithOptionalFunction.ts create mode 100644 tests/cases/compiler/declFileForInterfaceWithRestParams.ts create mode 100644 tests/cases/compiler/declFileForTypeParameters.ts create mode 100644 tests/cases/compiler/declFileForVarList.ts create mode 100644 tests/cases/compiler/declFileFunctions.ts create mode 100644 tests/cases/compiler/declFileGenericClassWithGenericExtendedClass.ts create mode 100644 tests/cases/compiler/declFileGenericType.ts create mode 100644 tests/cases/compiler/declFileGenericType2.ts create mode 100644 tests/cases/compiler/declFileImportModuleWithExportAssignment.ts create mode 100644 tests/cases/compiler/declFileImportedTypeUseInTypeArgPosition.ts create mode 100644 tests/cases/compiler/declFileIndexSignatures.ts create mode 100644 tests/cases/compiler/declFileInternalAliases.ts create mode 100644 tests/cases/compiler/declFileMethods.ts create mode 100644 tests/cases/compiler/declFileModuleAssignmentInObjectLiteralProperty.ts create mode 100644 tests/cases/compiler/declFileModuleContinuation.ts create mode 100644 tests/cases/compiler/declFileModuleWithPropertyOfTypeModule.ts create mode 100644 tests/cases/compiler/declFileObjectLiteralWithAccessors.ts create mode 100644 tests/cases/compiler/declFileObjectLiteralWithOnlyGetter.ts create mode 100644 tests/cases/compiler/declFileObjectLiteralWithOnlySetter.ts create mode 100644 tests/cases/compiler/declFileOptionalInterfaceMethod.ts create mode 100644 tests/cases/compiler/declFilePrivateStatic.ts create mode 100644 tests/cases/compiler/declFileRegressionTests.ts create mode 100644 tests/cases/compiler/declFileRestParametersOfFunctionAndFunctionType.ts create mode 100644 tests/cases/compiler/declFileTypeofClass.ts create mode 100644 tests/cases/compiler/declFileTypeofEnum.ts create mode 100644 tests/cases/compiler/declFileTypeofFunction.ts create mode 100644 tests/cases/compiler/declFileTypeofInAnonymousType.ts create mode 100644 tests/cases/compiler/declFileTypeofModule.ts create mode 100644 tests/cases/compiler/declFileWithClassNameConflictingWithClassReferredByExtendsClause.ts create mode 100644 tests/cases/compiler/declFileWithExtendsClauseThatHasItsContainerNameConflict.ts create mode 100644 tests/cases/compiler/declFileWithInternalModuleNameConflictsInExtendsClause1.ts create mode 100644 tests/cases/compiler/declFileWithInternalModuleNameConflictsInExtendsClause2.ts create mode 100644 tests/cases/compiler/declFileWithInternalModuleNameConflictsInExtendsClause3.ts create mode 100644 tests/cases/compiler/declInput-2.ts create mode 100644 tests/cases/compiler/declInput.ts create mode 100644 tests/cases/compiler/declInput3.ts create mode 100644 tests/cases/compiler/declInput4.ts create mode 100644 tests/cases/compiler/declarationEmit_array-types-from-generic-array-usage.ts create mode 100644 tests/cases/compiler/declarationEmit_nameConflicts.ts create mode 100644 tests/cases/compiler/declarationEmit_nameConflicts2.ts create mode 100644 tests/cases/compiler/declarationEmit_nameConflicts3.ts create mode 100644 tests/cases/compiler/declarationEmit_nameConflictsWithAlias.ts create mode 100644 tests/cases/compiler/declareAlreadySeen.ts create mode 100644 tests/cases/compiler/declareClassInterfaceImplementation.ts create mode 100644 tests/cases/compiler/declareDottedExtend.ts create mode 100644 tests/cases/compiler/declareDottedModuleName.ts create mode 100644 tests/cases/compiler/declareExternalModuleWithExportAssignedFundule.ts create mode 100644 tests/cases/compiler/declareFileExportAssignment.ts create mode 100644 tests/cases/compiler/declaredExternalModule.ts create mode 100644 tests/cases/compiler/declaredExternalModuleWithExportAssignment.ts create mode 100644 tests/cases/compiler/decrementAndIncrementOperators.ts create mode 100644 tests/cases/compiler/defaultArgsForwardReferencing.ts create mode 100644 tests/cases/compiler/defaultArgsInFunctionExpressions.ts create mode 100644 tests/cases/compiler/defaultArgsInOverloads.ts create mode 100644 tests/cases/compiler/defaultBestCommonTypesHaveDecls.ts create mode 100644 tests/cases/compiler/defaultIndexProps1.ts create mode 100644 tests/cases/compiler/defaultIndexProps2.ts create mode 100644 tests/cases/compiler/defaultValueInConstructorOverload1.ts create mode 100644 tests/cases/compiler/defaultValueInFunctionOverload1.ts create mode 100644 tests/cases/compiler/defaultValueInFunctionTypes.ts create mode 100644 tests/cases/compiler/deleteOperator1.ts create mode 100644 tests/cases/compiler/dependencyViaImportAlias.ts create mode 100644 tests/cases/compiler/deprecatedBool.ts create mode 100644 tests/cases/compiler/derivedClassOverridesPrivateFunction1.ts create mode 100644 tests/cases/compiler/derivedClasses.ts create mode 100644 tests/cases/compiler/derivedInterfaceCallSignature.ts create mode 100644 tests/cases/compiler/derivedTypeCallingBaseImplWithOptionalParams.ts create mode 100644 tests/cases/compiler/derivedTypeIncompatibleSignatures.ts create mode 100644 tests/cases/compiler/detachedCommentAtStartOfFunctionBody1.ts create mode 100644 tests/cases/compiler/detachedCommentAtStartOfFunctionBody2.ts create mode 100644 tests/cases/compiler/doNotWidenAtObjectLiteralPropertyAssignment.ts create mode 100644 tests/cases/compiler/doWhileLoop.ts create mode 100644 tests/cases/compiler/dontShowCompilerGeneratedMembers.ts create mode 100644 tests/cases/compiler/dottedModuleName.ts create mode 100644 tests/cases/compiler/dottedModuleName2.ts create mode 100644 tests/cases/compiler/dottedSymbolResolution1.ts create mode 100644 tests/cases/compiler/duplicateAnonymousInners1.ts create mode 100644 tests/cases/compiler/duplicateAnonymousModuleClasses.ts create mode 100644 tests/cases/compiler/duplicateClassElements.ts create mode 100644 tests/cases/compiler/duplicateConstructSignature.ts create mode 100644 tests/cases/compiler/duplicateConstructSignature2.ts create mode 100644 tests/cases/compiler/duplicateConstructorOverloadSignature.ts create mode 100644 tests/cases/compiler/duplicateConstructorOverloadSignature2.ts create mode 100644 tests/cases/compiler/duplicateIdentifierInCatchBlock.ts create mode 100644 tests/cases/compiler/duplicateIdentifierShouldNotShortCircuitBaseTypeBinding.ts create mode 100644 tests/cases/compiler/duplicateIdentifiersAcrossContainerBoundaries.ts create mode 100644 tests/cases/compiler/duplicateInterfaceMembers1.ts create mode 100644 tests/cases/compiler/duplicateLabel1.ts create mode 100644 tests/cases/compiler/duplicateLabel2.ts create mode 100644 tests/cases/compiler/duplicateLabel3.ts create mode 100644 tests/cases/compiler/duplicateLabel4.ts create mode 100644 tests/cases/compiler/duplicateLocalVariable1.ts create mode 100644 tests/cases/compiler/duplicateLocalVariable2.ts create mode 100644 tests/cases/compiler/duplicateLocalVariable3.ts create mode 100644 tests/cases/compiler/duplicateLocalVariable4.ts create mode 100644 tests/cases/compiler/duplicateObjectLiteralProperty.ts create mode 100644 tests/cases/compiler/duplicateOverloadInTypeAugmentation1.ts create mode 100644 tests/cases/compiler/duplicateStringNamedProperty1.ts create mode 100644 tests/cases/compiler/duplicateSymbolsExportMatching.ts create mode 100644 tests/cases/compiler/duplicateTypeParameters1.ts create mode 100644 tests/cases/compiler/duplicateTypeParameters2.ts create mode 100644 tests/cases/compiler/duplicateTypeParameters3.ts create mode 100644 tests/cases/compiler/duplicateVariableDeclaration1.ts create mode 100644 tests/cases/compiler/duplicateVariablesByScope.ts create mode 100644 tests/cases/compiler/duplicateVariablesWithAny.ts create mode 100644 tests/cases/compiler/duplicateVarsAcrossFileBoundaries.ts create mode 100644 tests/cases/compiler/dynamicModuleTypecheckError.ts create mode 100644 tests/cases/compiler/emitCommentsOnlyFile.ts create mode 100644 tests/cases/compiler/emitMemberAccessExpression.ts create mode 100644 tests/cases/compiler/emitPostComments.ts create mode 100644 tests/cases/compiler/emitPreComments.ts create mode 100644 tests/cases/compiler/emitThisInSuperMethodCall.ts create mode 100644 tests/cases/compiler/emptyEnum.ts create mode 100644 tests/cases/compiler/emptyExpr.ts create mode 100644 tests/cases/compiler/emptyFile-declaration.ts create mode 100644 tests/cases/compiler/emptyFile-souremap.ts create mode 100644 tests/cases/compiler/emptyFile.ts create mode 100644 tests/cases/compiler/emptyGenericParamList.ts create mode 100644 tests/cases/compiler/emptyIndexer.ts create mode 100644 tests/cases/compiler/emptyMemberAccess.ts create mode 100644 tests/cases/compiler/emptyTypeArgumentList.ts create mode 100644 tests/cases/compiler/emptyTypeArgumentListWithNew.ts create mode 100644 tests/cases/compiler/enumAssignmentCompat.ts create mode 100644 tests/cases/compiler/enumAssignmentCompat2.ts create mode 100644 tests/cases/compiler/enumBasics1.ts create mode 100644 tests/cases/compiler/enumCodeGenNewLines1.ts create mode 100644 tests/cases/compiler/enumConflictsWithGlobalIdentifier.ts create mode 100644 tests/cases/compiler/enumDecl1.ts create mode 100644 tests/cases/compiler/enumFromExternalModule.ts create mode 100644 tests/cases/compiler/enumGenericTypeClash.ts create mode 100644 tests/cases/compiler/enumIdenticalIdentifierValues.ts create mode 100644 tests/cases/compiler/enumIdentifierLiterals.ts create mode 100644 tests/cases/compiler/enumIndexer.ts create mode 100644 tests/cases/compiler/enumInitializersWithExponents.ts create mode 100644 tests/cases/compiler/enumMapBackIntoItself.ts create mode 100644 tests/cases/compiler/enumMemberResolution.ts create mode 100644 tests/cases/compiler/enumNegativeLiteral1.ts create mode 100644 tests/cases/compiler/enumNumbering1.ts create mode 100644 tests/cases/compiler/enumOperations.ts create mode 100644 tests/cases/compiler/enumPropertyAccess.ts create mode 100644 tests/cases/compiler/enumWithParenthesizedInitializer1.ts create mode 100644 tests/cases/compiler/enumWithPrimitiveName.ts create mode 100644 tests/cases/compiler/enumWithQuotedElementName1.ts create mode 100644 tests/cases/compiler/enumWithQuotedElementName2.ts create mode 100644 tests/cases/compiler/enumWithUnicodeEscape1.ts create mode 100644 tests/cases/compiler/enumWithoutInitializerAfterComputedMember.ts create mode 100644 tests/cases/compiler/enumsWithMultipleDeclarations1.ts create mode 100644 tests/cases/compiler/enumsWithMultipleDeclarations2.ts create mode 100644 tests/cases/compiler/enumsWithMultipleDeclarations3.ts create mode 100644 tests/cases/compiler/errorForwardReferenceForwadingConstructor.ts create mode 100644 tests/cases/compiler/errorLocationForInterfaceExtension.ts create mode 100644 tests/cases/compiler/errorMessageOnObjectLiteralType.ts create mode 100644 tests/cases/compiler/errorOnContextuallyTypedReturnType.ts create mode 100644 tests/cases/compiler/errorSupression1.ts create mode 100644 tests/cases/compiler/errorTypesAsTypeArguments.ts create mode 100644 tests/cases/compiler/errorsInGenericTypeReference.ts create mode 100644 tests/cases/compiler/errorsOnImportedSymbol.ts create mode 100644 tests/cases/compiler/es3-amd.ts create mode 100644 tests/cases/compiler/es3-declaration-amd.ts create mode 100644 tests/cases/compiler/es3-sourcemap-amd.ts create mode 100644 tests/cases/compiler/es5-amd.ts create mode 100644 tests/cases/compiler/es5-declaration-amd.ts create mode 100644 tests/cases/compiler/es5-souremap-amd.ts create mode 100644 tests/cases/compiler/es6ClassSuperCodegenBug.ts create mode 100644 tests/cases/compiler/es6ClassTest.ts create mode 100644 tests/cases/compiler/es6ClassTest2.ts create mode 100644 tests/cases/compiler/es6ClassTest3.ts create mode 100644 tests/cases/compiler/es6ClassTest4.ts create mode 100644 tests/cases/compiler/es6ClassTest5.ts create mode 100644 tests/cases/compiler/es6ClassTest7.ts create mode 100644 tests/cases/compiler/es6ClassTest8.ts create mode 100644 tests/cases/compiler/es6ClassTest9.ts create mode 100644 tests/cases/compiler/es6DeclOrdering.ts create mode 100644 tests/cases/compiler/es6MemberScoping.ts create mode 100644 tests/cases/compiler/escapedIdentifiers.ts create mode 100644 tests/cases/compiler/exportAlreadySeen.ts create mode 100644 tests/cases/compiler/exportAssignClassAndModule.ts create mode 100644 tests/cases/compiler/exportAssignValueAndType.ts create mode 100644 tests/cases/compiler/exportAssignedTypeAsTypeAnnotation.ts create mode 100644 tests/cases/compiler/exportAssignmentClass.ts create mode 100644 tests/cases/compiler/exportAssignmentEnum.ts create mode 100644 tests/cases/compiler/exportAssignmentError.ts create mode 100644 tests/cases/compiler/exportAssignmentFunction.ts create mode 100644 tests/cases/compiler/exportAssignmentInterface.ts create mode 100644 tests/cases/compiler/exportAssignmentInternalModule.ts create mode 100644 tests/cases/compiler/exportAssignmentOfDeclaredExternalModule.ts create mode 100644 tests/cases/compiler/exportAssignmentOfGenericType1.ts create mode 100644 tests/cases/compiler/exportAssignmentVariable.ts create mode 100644 tests/cases/compiler/exportAssignmentWithExports.ts create mode 100644 tests/cases/compiler/exportAssignmentWithImportStatementPrivacyError.ts create mode 100644 tests/cases/compiler/exportAssignmentWithPrivacyError.ts create mode 100644 tests/cases/compiler/exportAssignmentWithoutIdentifier1.ts create mode 100644 tests/cases/compiler/exportDeclareClass1.ts create mode 100644 tests/cases/compiler/exportEqualCallable.ts create mode 100644 tests/cases/compiler/exportEqualErrorType.ts create mode 100644 tests/cases/compiler/exportEqualMemberMissing.ts create mode 100644 tests/cases/compiler/exportEqualNamespaces.ts create mode 100644 tests/cases/compiler/exportImport.ts create mode 100644 tests/cases/compiler/exportImportAndClodule.ts create mode 100644 tests/cases/compiler/exportImportMultipleFiles.ts create mode 100644 tests/cases/compiler/exportImportNonInstantiatedModule.ts create mode 100644 tests/cases/compiler/exportImportNonInstantiatedModule2.ts create mode 100644 tests/cases/compiler/exportPrivateType.ts create mode 100644 tests/cases/compiler/exportSameNameFuncVar.ts create mode 100644 tests/cases/compiler/exportVisibility.ts create mode 100644 tests/cases/compiler/exportedInterfaceInaccessibleInCallbackInModule.ts create mode 100644 tests/cases/compiler/exportedVariable1.ts create mode 100644 tests/cases/compiler/exportingContainingVisibleType.ts create mode 100644 tests/cases/compiler/expr.ts create mode 100644 tests/cases/compiler/extBaseClass1.ts create mode 100644 tests/cases/compiler/extBaseClass2.ts create mode 100644 tests/cases/compiler/extendAndImplementTheSameBaseType.ts create mode 100644 tests/cases/compiler/extendAndImplementTheSameBaseType2.ts create mode 100644 tests/cases/compiler/extendArray.ts create mode 100644 tests/cases/compiler/extendBaseClassBeforeItsDeclared.ts create mode 100644 tests/cases/compiler/extendGenericArray.ts create mode 100644 tests/cases/compiler/extendGenericArray2.ts create mode 100644 tests/cases/compiler/extendNonClassSymbol1.ts create mode 100644 tests/cases/compiler/extendNonClassSymbol2.ts create mode 100644 tests/cases/compiler/extendedInterfaceGenericType.ts create mode 100644 tests/cases/compiler/extendedInterfacesWithDuplicateTypeParameters.ts create mode 100644 tests/cases/compiler/extendingClassFromAliasAndUsageInIndexer.ts create mode 100644 tests/cases/compiler/extendsClauseAlreadySeen.ts create mode 100644 tests/cases/compiler/extendsClauseAlreadySeen2.ts create mode 100644 tests/cases/compiler/extension.ts create mode 100644 tests/cases/compiler/externFunc.ts create mode 100644 tests/cases/compiler/externModule.ts create mode 100644 tests/cases/compiler/externModuleClobber.ts create mode 100644 tests/cases/compiler/externSemantics.ts create mode 100644 tests/cases/compiler/externSyntax.ts create mode 100644 tests/cases/compiler/externalModuleAssignToVar.ts create mode 100644 tests/cases/compiler/externalModuleExportingGenericClass.ts create mode 100644 tests/cases/compiler/externalModuleQualification.ts create mode 100644 tests/cases/compiler/externalModuleReferenceOfImportDeclarationWithExportModifier.ts create mode 100644 tests/cases/compiler/externalModuleRefernceResolutionOrderInImportDeclaration.ts create mode 100644 tests/cases/compiler/externalModuleResolution.ts create mode 100644 tests/cases/compiler/externalModuleResolution2.ts create mode 100644 tests/cases/compiler/externalModuleWithoutCompilerFlag1.ts create mode 100644 tests/cases/compiler/fatArrowSelf.ts create mode 100644 tests/cases/compiler/fatArrowfunctionAsType.ts create mode 100644 tests/cases/compiler/fatarrowfunctions.ts create mode 100644 tests/cases/compiler/fatarrowfunctionsErrors.ts create mode 100644 tests/cases/compiler/fatarrowfunctionsInFunctionParameterDefaults.ts create mode 100644 tests/cases/compiler/fatarrowfunctionsInFunctions.ts create mode 100644 tests/cases/compiler/fatarrowfunctionsOptionalArgs.ts create mode 100644 tests/cases/compiler/fatarrowfunctionsOptionalArgsErrors1.ts create mode 100644 tests/cases/compiler/fatarrowfunctionsOptionalArgsErrors2.ts create mode 100644 tests/cases/compiler/fieldAndGetterWithSameName.ts create mode 100644 tests/cases/compiler/fillInMissingTypeArgsOnConstructCalls.ts create mode 100644 tests/cases/compiler/fixTypeParameterInSignatureWithRestParameters.ts create mode 100644 tests/cases/compiler/for.ts create mode 100644 tests/cases/compiler/forIn.ts create mode 100644 tests/cases/compiler/forIn2.ts create mode 100644 tests/cases/compiler/forInModule.ts create mode 100644 tests/cases/compiler/forInStatement1.ts create mode 100644 tests/cases/compiler/forInStatement2.ts create mode 100644 tests/cases/compiler/forInStatement3.ts create mode 100644 tests/cases/compiler/forInStatement4.ts create mode 100644 tests/cases/compiler/forInStatement5.ts create mode 100644 tests/cases/compiler/forInStatement6.ts create mode 100644 tests/cases/compiler/forInStatement7.ts create mode 100644 tests/cases/compiler/forgottenNew.ts create mode 100644 tests/cases/compiler/funClodule.ts create mode 100644 tests/cases/compiler/funcdecl.ts create mode 100644 tests/cases/compiler/functionAndPropertyNameConflict.ts create mode 100644 tests/cases/compiler/functionArgShadowing.ts create mode 100644 tests/cases/compiler/functionAssignment.ts create mode 100644 tests/cases/compiler/functionAssignmentError.ts create mode 100644 tests/cases/compiler/functionCall1.ts create mode 100644 tests/cases/compiler/functionCall10.ts create mode 100644 tests/cases/compiler/functionCall11.ts create mode 100644 tests/cases/compiler/functionCall12.ts create mode 100644 tests/cases/compiler/functionCall13.ts create mode 100644 tests/cases/compiler/functionCall14.ts create mode 100644 tests/cases/compiler/functionCall15.ts create mode 100644 tests/cases/compiler/functionCall16.ts create mode 100644 tests/cases/compiler/functionCall17.ts create mode 100644 tests/cases/compiler/functionCall2.ts create mode 100644 tests/cases/compiler/functionCall3.ts create mode 100644 tests/cases/compiler/functionCall4.ts create mode 100644 tests/cases/compiler/functionCall5.ts create mode 100644 tests/cases/compiler/functionCall6.ts create mode 100644 tests/cases/compiler/functionCall7.ts create mode 100644 tests/cases/compiler/functionCall8.ts create mode 100644 tests/cases/compiler/functionCall9.ts create mode 100644 tests/cases/compiler/functionDeclarationWithArgumentOfTypeFunctionTypeArray.ts create mode 100644 tests/cases/compiler/functionExpressionAndLambdaMatchesFunction.ts create mode 100644 tests/cases/compiler/functionExpressionInWithBlock.ts create mode 100644 tests/cases/compiler/functionExpressionReturningItself.ts create mode 100644 tests/cases/compiler/functionExpressionShadowedByParams.ts create mode 100644 tests/cases/compiler/functionInIfStatementInModule.ts create mode 100644 tests/cases/compiler/functionMergedWithModule.ts create mode 100644 tests/cases/compiler/functionOnlyHasThrow.ts create mode 100644 tests/cases/compiler/functionOverloadAmbiguity1.ts create mode 100644 tests/cases/compiler/functionOverloadImplementationOfWrongName.ts create mode 100644 tests/cases/compiler/functionOverloadImplementationOfWrongName2.ts create mode 100644 tests/cases/compiler/functionOverloads.ts create mode 100644 tests/cases/compiler/functionOverloads1.ts create mode 100644 tests/cases/compiler/functionOverloads10.ts create mode 100644 tests/cases/compiler/functionOverloads11.ts create mode 100644 tests/cases/compiler/functionOverloads12.ts create mode 100644 tests/cases/compiler/functionOverloads13.ts create mode 100644 tests/cases/compiler/functionOverloads14.ts create mode 100644 tests/cases/compiler/functionOverloads15.ts create mode 100644 tests/cases/compiler/functionOverloads16.ts create mode 100644 tests/cases/compiler/functionOverloads17.ts create mode 100644 tests/cases/compiler/functionOverloads18.ts create mode 100644 tests/cases/compiler/functionOverloads19.ts create mode 100644 tests/cases/compiler/functionOverloads2.ts create mode 100644 tests/cases/compiler/functionOverloads20.ts create mode 100644 tests/cases/compiler/functionOverloads21.ts create mode 100644 tests/cases/compiler/functionOverloads22.ts create mode 100644 tests/cases/compiler/functionOverloads23.ts create mode 100644 tests/cases/compiler/functionOverloads24.ts create mode 100644 tests/cases/compiler/functionOverloads25.ts create mode 100644 tests/cases/compiler/functionOverloads26.ts create mode 100644 tests/cases/compiler/functionOverloads27.ts create mode 100644 tests/cases/compiler/functionOverloads28.ts create mode 100644 tests/cases/compiler/functionOverloads29.ts create mode 100644 tests/cases/compiler/functionOverloads3.ts create mode 100644 tests/cases/compiler/functionOverloads30.ts create mode 100644 tests/cases/compiler/functionOverloads31.ts create mode 100644 tests/cases/compiler/functionOverloads32.ts create mode 100644 tests/cases/compiler/functionOverloads33.ts create mode 100644 tests/cases/compiler/functionOverloads34.ts create mode 100644 tests/cases/compiler/functionOverloads35.ts create mode 100644 tests/cases/compiler/functionOverloads36.ts create mode 100644 tests/cases/compiler/functionOverloads37.ts create mode 100644 tests/cases/compiler/functionOverloads38.ts create mode 100644 tests/cases/compiler/functionOverloads39.ts create mode 100644 tests/cases/compiler/functionOverloads4.ts create mode 100644 tests/cases/compiler/functionOverloads40.ts create mode 100644 tests/cases/compiler/functionOverloads41.ts create mode 100644 tests/cases/compiler/functionOverloads42.ts create mode 100644 tests/cases/compiler/functionOverloads5.ts create mode 100644 tests/cases/compiler/functionOverloads6.ts create mode 100644 tests/cases/compiler/functionOverloads7.ts create mode 100644 tests/cases/compiler/functionOverloads8.ts create mode 100644 tests/cases/compiler/functionOverloads9.ts create mode 100644 tests/cases/compiler/functionOverloadsOnGenericArity1.ts create mode 100644 tests/cases/compiler/functionOverloadsOnGenericArity2.ts create mode 100644 tests/cases/compiler/functionOverloadsOutOfOrder.ts create mode 100644 tests/cases/compiler/functionOverloadsRecursiveGenericReturnType.ts create mode 100644 tests/cases/compiler/functionReturn.ts create mode 100644 tests/cases/compiler/functionReturningItself.ts create mode 100644 tests/cases/compiler/functionSignatureAssignmentCompat1.ts create mode 100644 tests/cases/compiler/functionSubtypingOfVarArgs.ts create mode 100644 tests/cases/compiler/functionSubtypingOfVarArgs2.ts create mode 100644 tests/cases/compiler/functionType.ts create mode 100644 tests/cases/compiler/functionTypeArgumentArrayAssignment.ts create mode 100644 tests/cases/compiler/functionTypeArgumentAssignmentCompat.ts create mode 100644 tests/cases/compiler/functionWithAnyReturnTypeAndNoReturnExpression.ts create mode 100644 tests/cases/compiler/functionWithSameNameAsField.ts create mode 100644 tests/cases/compiler/functionWithThrowButNoReturn1.ts create mode 100644 tests/cases/compiler/funduleExportedClassIsUsedBeforeDeclaration.ts create mode 100644 tests/cases/compiler/funduleOfFunctionWithoutReturnTypeAnnotation.ts create mode 100644 tests/cases/compiler/funduleSplitAcrossFiles.ts create mode 100644 tests/cases/compiler/funduleUsedAcrossFileBoundary.ts create mode 100644 tests/cases/compiler/fuzzy.ts create mode 100644 tests/cases/compiler/generativeRecursionWithTypeOf.ts create mode 100644 tests/cases/compiler/genericAndNonGenericOverload1.ts create mode 100644 tests/cases/compiler/genericArgumentCallSigAssignmentCompat.ts create mode 100644 tests/cases/compiler/genericArray0.ts create mode 100644 tests/cases/compiler/genericArray1.ts create mode 100644 tests/cases/compiler/genericArrayAssignment1.ts create mode 100644 tests/cases/compiler/genericArrayAssignmentCompatErrors.ts create mode 100644 tests/cases/compiler/genericArrayExtenstions.ts create mode 100644 tests/cases/compiler/genericArrayMethods1.ts create mode 100644 tests/cases/compiler/genericArrayPropertyAssignment.ts create mode 100644 tests/cases/compiler/genericArrayWithoutTypeAnnotation.ts create mode 100644 tests/cases/compiler/genericAssignmentCompatOfFunctionSignatures1.ts create mode 100644 tests/cases/compiler/genericAssignmentCompatWithInterfaces1.ts create mode 100644 tests/cases/compiler/genericBaseClassLiteralProperty.ts create mode 100644 tests/cases/compiler/genericBaseClassLiteralProperty2.ts create mode 100644 tests/cases/compiler/genericCallSpecializedToTypeArg.ts create mode 100644 tests/cases/compiler/genericCallWithFixedArguments.ts create mode 100644 tests/cases/compiler/genericCallWithNonGenericArgs1.ts create mode 100644 tests/cases/compiler/genericCallWithObjectLiteralArguments1.ts create mode 100644 tests/cases/compiler/genericCallWithoutArgs.ts create mode 100644 tests/cases/compiler/genericCallbackInvokedInsideItsContainingFunction1.ts create mode 100644 tests/cases/compiler/genericCallbacksAndClassHierarchy.ts create mode 100644 tests/cases/compiler/genericCallsWithoutParens.ts create mode 100644 tests/cases/compiler/genericChainedCalls.ts create mode 100644 tests/cases/compiler/genericClassImplementingGenericInterfaceFromAnotherModule.ts create mode 100644 tests/cases/compiler/genericClassInheritsConstructorFromNonGenericClass.ts create mode 100644 tests/cases/compiler/genericClassPropertyInheritanceSpecialization.ts create mode 100644 tests/cases/compiler/genericClassStaticMethod.ts create mode 100644 tests/cases/compiler/genericClassWithStaticFactory.ts create mode 100644 tests/cases/compiler/genericClassWithStaticsUsingTypeArguments.ts create mode 100644 tests/cases/compiler/genericClasses0.ts create mode 100644 tests/cases/compiler/genericClasses1.ts create mode 100644 tests/cases/compiler/genericClasses2.ts create mode 100644 tests/cases/compiler/genericClasses3.ts create mode 100644 tests/cases/compiler/genericClasses4.ts create mode 100644 tests/cases/compiler/genericClassesInModule.ts create mode 100644 tests/cases/compiler/genericClassesInModule2.ts create mode 100644 tests/cases/compiler/genericClassesRedeclaration.ts create mode 100644 tests/cases/compiler/genericCloduleInModule.ts create mode 100644 tests/cases/compiler/genericCloduleInModule2.ts create mode 100644 tests/cases/compiler/genericCloneReturnTypes.ts create mode 100644 tests/cases/compiler/genericCloneReturnTypes2.ts create mode 100644 tests/cases/compiler/genericCombinators2.ts create mode 100644 tests/cases/compiler/genericConstraint1.ts create mode 100644 tests/cases/compiler/genericConstraint2.ts create mode 100644 tests/cases/compiler/genericConstraint3.ts create mode 100644 tests/cases/compiler/genericConstraintDeclaration.ts create mode 100644 tests/cases/compiler/genericConstraintOnExtendedBuiltinTypes.ts create mode 100644 tests/cases/compiler/genericConstraintOnExtendedBuiltinTypes2.ts create mode 100644 tests/cases/compiler/genericConstraintSatisfaction1.ts create mode 100644 tests/cases/compiler/genericConstructExpressionWithoutArgs.ts create mode 100644 tests/cases/compiler/genericConstructInvocationWithNoTypeArg.ts create mode 100644 tests/cases/compiler/genericConstructSignatureInInterface.ts create mode 100644 tests/cases/compiler/genericConstructorFunction1.ts create mode 100644 tests/cases/compiler/genericContextualTypingSpecialization.ts create mode 100644 tests/cases/compiler/genericDerivedTypeWithSpecializedBase.ts create mode 100644 tests/cases/compiler/genericDerivedTypeWithSpecializedBase2.ts create mode 100644 tests/cases/compiler/genericFunctionCallSignatureReturnTypeMismatch.ts create mode 100644 tests/cases/compiler/genericFunctionHasFreshTypeArgs.ts create mode 100644 tests/cases/compiler/genericFunctionSpecializations1.ts create mode 100644 tests/cases/compiler/genericFunctionTypedArgumentsAreFixed.ts create mode 100644 tests/cases/compiler/genericFunctions0.ts create mode 100644 tests/cases/compiler/genericFunctions1.ts create mode 100644 tests/cases/compiler/genericFunctions2.ts create mode 100644 tests/cases/compiler/genericFunctions3.ts create mode 100644 tests/cases/compiler/genericFunctionsWithOptionalParameters1.ts create mode 100644 tests/cases/compiler/genericFunctionsWithOptionalParameters2.ts create mode 100644 tests/cases/compiler/genericFunctionsWithOptionalParameters3.ts create mode 100644 tests/cases/compiler/genericFunduleInModule.ts create mode 100644 tests/cases/compiler/genericFunduleInModule2.ts create mode 100644 tests/cases/compiler/genericGetter.ts create mode 100644 tests/cases/compiler/genericGetter2.ts create mode 100644 tests/cases/compiler/genericGetter3.ts create mode 100644 tests/cases/compiler/genericImplements.ts create mode 100644 tests/cases/compiler/genericInference1.ts create mode 100644 tests/cases/compiler/genericInference2.ts create mode 100644 tests/cases/compiler/genericInstanceOf.ts create mode 100644 tests/cases/compiler/genericInterfaceFunctionTypeParameter.ts create mode 100644 tests/cases/compiler/genericInterfaceImplementation.ts create mode 100644 tests/cases/compiler/genericInterfaceTypeCall.ts create mode 100644 tests/cases/compiler/genericInterfacesWithoutTypeArguments.ts create mode 100644 tests/cases/compiler/genericLambaArgWithoutTypeArguments.ts create mode 100644 tests/cases/compiler/genericMemberFunction.ts create mode 100644 tests/cases/compiler/genericMergedDeclarationUsingTypeParameter.ts create mode 100644 tests/cases/compiler/genericMergedDeclarationUsingTypeParameter2.ts create mode 100644 tests/cases/compiler/genericMethodOverspecialization.ts create mode 100644 tests/cases/compiler/genericNewInterface.ts create mode 100644 tests/cases/compiler/genericObjectCreationWithoutTypeArgs.ts create mode 100644 tests/cases/compiler/genericObjectLitReturnType.ts create mode 100644 tests/cases/compiler/genericOfACloduleType1.ts create mode 100644 tests/cases/compiler/genericOfACloduleType2.ts create mode 100644 tests/cases/compiler/genericOverloadSignatures.ts create mode 100644 tests/cases/compiler/genericParameterAssignability1.ts create mode 100644 tests/cases/compiler/genericPrototypeProperty.ts create mode 100644 tests/cases/compiler/genericPrototypeProperty2.ts create mode 100644 tests/cases/compiler/genericPrototypeProperty3.ts create mode 100644 tests/cases/compiler/genericRecursiveImplicitConstructorErrors1.ts create mode 100644 tests/cases/compiler/genericRecursiveImplicitConstructorErrors2.ts create mode 100644 tests/cases/compiler/genericRecursiveImplicitConstructorErrors3.ts create mode 100644 tests/cases/compiler/genericReduce.ts create mode 100644 tests/cases/compiler/genericRestArgs.ts create mode 100644 tests/cases/compiler/genericReturnTypeFromGetter1.ts create mode 100644 tests/cases/compiler/genericReversingTypeParameters.ts create mode 100644 tests/cases/compiler/genericReversingTypeParameters2.ts create mode 100644 tests/cases/compiler/genericSignatureInheritance.ts create mode 100644 tests/cases/compiler/genericSignatureInheritance2.ts create mode 100644 tests/cases/compiler/genericSpecializationToTypeLiteral1.ts create mode 100644 tests/cases/compiler/genericSpecializations1.ts create mode 100644 tests/cases/compiler/genericSpecializations2.ts create mode 100644 tests/cases/compiler/genericSpecializations3.ts create mode 100644 tests/cases/compiler/genericStaticAnyTypeFunction.ts create mode 100644 tests/cases/compiler/genericTypeArgumentInference1.ts create mode 100644 tests/cases/compiler/genericTypeAssertions1.ts create mode 100644 tests/cases/compiler/genericTypeAssertions2.ts create mode 100644 tests/cases/compiler/genericTypeAssertions3.ts create mode 100644 tests/cases/compiler/genericTypeAssertions4.ts create mode 100644 tests/cases/compiler/genericTypeAssertions5.ts create mode 100644 tests/cases/compiler/genericTypeAssertions6.ts create mode 100644 tests/cases/compiler/genericTypeParameterEquivalence2.ts create mode 100644 tests/cases/compiler/genericTypeReferencesRequireTypeArgs.ts create mode 100644 tests/cases/compiler/genericTypeUsedWithoutTypeArguments1.ts create mode 100644 tests/cases/compiler/genericTypeUsedWithoutTypeArguments3.ts create mode 100644 tests/cases/compiler/genericTypeWithCallableMembers.ts create mode 100644 tests/cases/compiler/genericTypeWithCallableMembers2.ts create mode 100644 tests/cases/compiler/genericTypeWithMultipleBases1.ts create mode 100644 tests/cases/compiler/genericTypeWithMultipleBases2.ts create mode 100644 tests/cases/compiler/genericTypeWithMultipleBases3.ts create mode 100644 tests/cases/compiler/genericTypeWithNonGenericBaseMisMatch.ts create mode 100644 tests/cases/compiler/genericWithCallSignatureReturningSpecialization.ts create mode 100644 tests/cases/compiler/genericWithCallSignatures1.ts create mode 100644 tests/cases/compiler/genericWithIndexerOfTypeParameterType1.ts create mode 100644 tests/cases/compiler/genericWithIndexerOfTypeParameterType2.ts create mode 100644 tests/cases/compiler/genericWithOpenTypeParameters1.ts create mode 100644 tests/cases/compiler/generics0.ts create mode 100644 tests/cases/compiler/generics1.ts create mode 100644 tests/cases/compiler/generics1NoError.ts create mode 100644 tests/cases/compiler/generics2.ts create mode 100644 tests/cases/compiler/generics2NoError.ts create mode 100644 tests/cases/compiler/generics3.ts create mode 100644 tests/cases/compiler/generics4.ts create mode 100644 tests/cases/compiler/generics4NoError.ts create mode 100644 tests/cases/compiler/generics5.ts create mode 100644 tests/cases/compiler/genericsAndHigherOrderFunctions.ts create mode 100644 tests/cases/compiler/genericsManyTypeParameters.ts create mode 100644 tests/cases/compiler/genericsWithDuplicateTypeParameters1.ts create mode 100644 tests/cases/compiler/genericsWithoutTypeParameters1.ts create mode 100644 tests/cases/compiler/getAccessorWithImpliedReturnTypeAndFunctionClassMerge.ts create mode 100644 tests/cases/compiler/getAndSetAsMemberNames.ts create mode 100644 tests/cases/compiler/getAndSetNotIdenticalType.ts create mode 100644 tests/cases/compiler/getAndSetNotIdenticalType2.ts create mode 100644 tests/cases/compiler/getAndSetNotIdenticalType3.ts create mode 100644 tests/cases/compiler/getsetReturnTypes.ts create mode 100644 tests/cases/compiler/getterMissingReturnError.ts create mode 100644 tests/cases/compiler/getterSetterNonAccessor.ts create mode 100644 tests/cases/compiler/getterThatThrowsShouldNotNeedReturn.ts create mode 100644 tests/cases/compiler/gettersAndSetters.ts create mode 100644 tests/cases/compiler/gettersAndSettersAccessibility.ts create mode 100644 tests/cases/compiler/gettersAndSettersErrors.ts create mode 100644 tests/cases/compiler/gettersAndSettersTypesAgree.ts create mode 100644 tests/cases/compiler/giant.ts create mode 100644 tests/cases/compiler/global.ts create mode 100644 tests/cases/compiler/globalThis.ts create mode 100644 tests/cases/compiler/globalThisCapture.ts create mode 100644 tests/cases/compiler/grammarAmbiguities1.ts create mode 100644 tests/cases/compiler/heterogeneousArrayAndOverloads.ts create mode 100644 tests/cases/compiler/hidingCallSignatures.ts create mode 100644 tests/cases/compiler/hidingConstructSignatures.ts create mode 100644 tests/cases/compiler/hidingIndexSignatures.ts create mode 100644 tests/cases/compiler/i3.ts create mode 100644 tests/cases/compiler/icomparable.ts create mode 100644 tests/cases/compiler/idInProp.ts create mode 100644 tests/cases/compiler/identityForSignaturesWithTypeParametersAndAny.ts create mode 100644 tests/cases/compiler/identityForSignaturesWithTypeParametersSwitched.ts create mode 100644 tests/cases/compiler/ifElseWithStatements1.ts create mode 100644 tests/cases/compiler/illegalGenericWrapping1.ts create mode 100644 tests/cases/compiler/illegalModifiersOnClassElements.ts create mode 100644 tests/cases/compiler/illegalSuperCallsInConstructor.ts create mode 100644 tests/cases/compiler/implementArrayInterface.ts create mode 100644 tests/cases/compiler/implementClausePrecedingExtends.ts create mode 100644 tests/cases/compiler/implementGenericWithMismatchedTypes.ts create mode 100644 tests/cases/compiler/implementInterfaceAnyMemberWithVoid.ts create mode 100644 tests/cases/compiler/implementPublicPropertyAsPrivate.ts create mode 100644 tests/cases/compiler/implementsClauseAlreadySeen.ts create mode 100644 tests/cases/compiler/implicitAnyAmbients.ts create mode 100644 tests/cases/compiler/implicitAnyAnyReturningFunction.ts create mode 100644 tests/cases/compiler/implicitAnyCastedValue.ts create mode 100644 tests/cases/compiler/implicitAnyDeclareFunctionExprWithoutFormalType.ts create mode 100644 tests/cases/compiler/implicitAnyDeclareFunctionWithoutFormalType.ts create mode 100644 tests/cases/compiler/implicitAnyDeclareFunctionWithoutFormalType2.ts create mode 100644 tests/cases/compiler/implicitAnyDeclareMemberWithoutType.ts create mode 100644 tests/cases/compiler/implicitAnyDeclareMemberWithoutType2.ts create mode 100644 tests/cases/compiler/implicitAnyDeclareTypePropertyWithoutType.ts create mode 100644 tests/cases/compiler/implicitAnyDeclareVariablesWithoutTypeAndInit.ts create mode 100644 tests/cases/compiler/implicitAnyFunctionInvocationWithAnyArguements.ts create mode 100644 tests/cases/compiler/implicitAnyFunctionOverloadWithImplicitAnyReturnType.ts create mode 100644 tests/cases/compiler/implicitAnyFunctionReturnNullOrUndefined.ts create mode 100644 tests/cases/compiler/implicitAnyGenericTypeInference.ts create mode 100644 tests/cases/compiler/implicitAnyGenerics.ts create mode 100644 tests/cases/compiler/implicitAnyGetAndSetAccessorWithAnyReturnType.ts create mode 100644 tests/cases/compiler/implicitAnyInAmbientDeclaration.ts create mode 100644 tests/cases/compiler/implicitAnyInAmbientDeclaration2.d.ts create mode 100644 tests/cases/compiler/implicitAnyInCatch.ts create mode 100644 tests/cases/compiler/implicitAnyNewExprLackConstructorSignature.ts create mode 100644 tests/cases/compiler/implicitAnyWidenToAny.ts create mode 100644 tests/cases/compiler/importAliasAnExternalModuleInsideAnInternalModule.ts create mode 100644 tests/cases/compiler/importAliasWithDottedName.ts create mode 100644 tests/cases/compiler/importAnImport.ts create mode 100644 tests/cases/compiler/importAndVariableDeclarationConflict1.ts create mode 100644 tests/cases/compiler/importAndVariableDeclarationConflict2.ts create mode 100644 tests/cases/compiler/importAndVariableDeclarationConflict3.ts create mode 100644 tests/cases/compiler/importAndVariableDeclarationConflict4.ts create mode 100644 tests/cases/compiler/importAsBaseClass.ts create mode 100644 tests/cases/compiler/importDecl.ts create mode 100644 tests/cases/compiler/importDeclRefereingExternalModuleWithNoResolve.ts create mode 100644 tests/cases/compiler/importDeclWithClassModifiers.ts create mode 100644 tests/cases/compiler/importDeclWithDeclareModifier.ts create mode 100644 tests/cases/compiler/importDeclWithDeclareModifierInAmbientContext.ts create mode 100644 tests/cases/compiler/importDeclWithExportModifier.ts create mode 100644 tests/cases/compiler/importDeclWithExportModifierAndExportAssignment.ts create mode 100644 tests/cases/compiler/importDeclWithExportModifierAndExportAssignmentInAmbientContext.ts create mode 100644 tests/cases/compiler/importDeclWithExportModifierInAmbientContext.ts create mode 100644 tests/cases/compiler/importDeclarationUsedAsTypeQuery.ts create mode 100644 tests/cases/compiler/importInTypePosition.ts create mode 100644 tests/cases/compiler/importInsideModule.ts create mode 100644 tests/cases/compiler/importOnAliasedIdentifiers.ts create mode 100644 tests/cases/compiler/importShadowsGlobalName.ts create mode 100644 tests/cases/compiler/importUsedInExtendsList1.ts create mode 100644 tests/cases/compiler/import_reference-exported-alias.ts create mode 100644 tests/cases/compiler/import_reference-to-type-alias.ts create mode 100644 tests/cases/compiler/import_unneeded-require-when-referenecing-aliased-type-throug-array.ts create mode 100644 tests/cases/compiler/import_var-referencing-an-imported-module-alias.ts create mode 100644 tests/cases/compiler/importedModuleAddToGlobal.ts create mode 100644 tests/cases/compiler/importedModuleClassNameClash.ts create mode 100644 tests/cases/compiler/inOperator.ts create mode 100644 tests/cases/compiler/inOperatorWithFunction.ts create mode 100644 tests/cases/compiler/inOperatorWithGeneric.ts create mode 100644 tests/cases/compiler/incompatibleExports1.ts create mode 100644 tests/cases/compiler/incompatibleExports2.ts create mode 100644 tests/cases/compiler/incompatibleGenericTypes.ts create mode 100644 tests/cases/compiler/incompatibleTypes.ts create mode 100644 tests/cases/compiler/incompleteDottedExpressionAtEOF.ts create mode 100644 tests/cases/compiler/incompleteObjectLiteral1.ts create mode 100644 tests/cases/compiler/incorrectClassOverloadChain.ts create mode 100644 tests/cases/compiler/incrementOnTypeParameter.ts create mode 100644 tests/cases/compiler/indexClassByNumber.ts create mode 100644 tests/cases/compiler/indexIntoArraySubclass.ts create mode 100644 tests/cases/compiler/indexIntoEnum.ts create mode 100644 tests/cases/compiler/indexSignatureMustHaveTypeAnnotation.ts create mode 100644 tests/cases/compiler/indexSignatureTypeCheck.ts create mode 100644 tests/cases/compiler/indexSignatureTypeCheck2.ts create mode 100644 tests/cases/compiler/indexSignatureWithAccessibilityModifier.ts create mode 100644 tests/cases/compiler/indexSignatureWithInitializer.ts create mode 100644 tests/cases/compiler/indexSignaturesInferentialTyping.ts create mode 100644 tests/cases/compiler/indexTypeCheck.ts create mode 100644 tests/cases/compiler/indexWithoutParamType.ts create mode 100644 tests/cases/compiler/indexWithoutParamType2.ts create mode 100644 tests/cases/compiler/indexer.ts create mode 100644 tests/cases/compiler/indexer2.ts create mode 100644 tests/cases/compiler/indexer2A.ts create mode 100644 tests/cases/compiler/indexer3.ts create mode 100644 tests/cases/compiler/indexerA.ts create mode 100644 tests/cases/compiler/indexerAsOptional.ts create mode 100644 tests/cases/compiler/indexerAssignability.ts create mode 100644 tests/cases/compiler/indexerConstraints.ts create mode 100644 tests/cases/compiler/indexerConstraints2.ts create mode 100644 tests/cases/compiler/indexerReturningTypeParameter1.ts create mode 100644 tests/cases/compiler/indexerSignatureWithRestParam.ts create mode 100644 tests/cases/compiler/indirectSelfReference.ts create mode 100644 tests/cases/compiler/indirectSelfReferenceGeneric.ts create mode 100644 tests/cases/compiler/inferSecondaryParameter.ts create mode 100644 tests/cases/compiler/inferSetterParamType.ts create mode 100644 tests/cases/compiler/inferTypeArgumentsInSignatureWithRestParameters.ts create mode 100644 tests/cases/compiler/inferentialTypingWithFunctionType.ts create mode 100644 tests/cases/compiler/inferentialTypingWithFunctionType2.ts create mode 100644 tests/cases/compiler/inferentialTypingWithFunctionTypeNested.ts create mode 100644 tests/cases/compiler/inferentialTypingWithFunctionTypeSyntacticScenarios.ts create mode 100644 tests/cases/compiler/inferentialTypingWithFunctionTypeZip.ts create mode 100644 tests/cases/compiler/inferentialTypingWithObjectLiteralProperties.ts create mode 100644 tests/cases/compiler/inferentiallyTypingAnEmptyArray.ts create mode 100644 tests/cases/compiler/inferredFunctionReturnTypeIsEmptyType.ts create mode 100644 tests/cases/compiler/infiniteExpandingTypeThroughInheritanceInstantiation.ts create mode 100644 tests/cases/compiler/infinitelyExpandingBaseTypes1.ts create mode 100644 tests/cases/compiler/infinitelyExpandingBaseTypes2.ts create mode 100644 tests/cases/compiler/infinitelyExpandingOverloads.ts create mode 100644 tests/cases/compiler/infinitelyExpandingTypeAssignability.ts create mode 100644 tests/cases/compiler/infinitelyExpandingTypes1.ts create mode 100644 tests/cases/compiler/infinitelyExpandingTypes2.ts create mode 100644 tests/cases/compiler/infinitelyExpandingTypes3.ts create mode 100644 tests/cases/compiler/infinitelyExpandingTypes4.ts create mode 100644 tests/cases/compiler/infinitelyExpandingTypes5.ts create mode 100644 tests/cases/compiler/infinitelyExpandingTypesNonGenericBase.ts create mode 100644 tests/cases/compiler/infinitelyGenerativeInheritance1.ts create mode 100644 tests/cases/compiler/inheritFromGenericTypeParameter.ts create mode 100644 tests/cases/compiler/inheritSameNamePrivatePropertiesFromDifferentOrigins.ts create mode 100644 tests/cases/compiler/inheritSameNamePrivatePropertiesFromSameOrigin.ts create mode 100644 tests/cases/compiler/inheritSameNamePropertiesWithDifferentOptionality.ts create mode 100644 tests/cases/compiler/inheritSameNamePropertiesWithDifferentVisibility.ts create mode 100644 tests/cases/compiler/inheritance.ts create mode 100644 tests/cases/compiler/inheritance1.ts create mode 100644 tests/cases/compiler/inheritanceGrandParentPrivateMemberCollision.ts create mode 100644 tests/cases/compiler/inheritanceGrandParentPrivateMemberCollisionWithPublicMember.ts create mode 100644 tests/cases/compiler/inheritanceGrandParentPublicMemberCollisionWithPrivateMember.ts create mode 100644 tests/cases/compiler/inheritanceMemberAccessorOverridingAccessor.ts create mode 100644 tests/cases/compiler/inheritanceMemberAccessorOverridingMethod.ts create mode 100644 tests/cases/compiler/inheritanceMemberAccessorOverridingProperty.ts create mode 100644 tests/cases/compiler/inheritanceMemberFuncOverridingAccessor.ts create mode 100644 tests/cases/compiler/inheritanceMemberFuncOverridingMethod.ts create mode 100644 tests/cases/compiler/inheritanceMemberFuncOverridingProperty.ts create mode 100644 tests/cases/compiler/inheritanceMemberPropertyOverridingAccessor.ts create mode 100644 tests/cases/compiler/inheritanceMemberPropertyOverridingMethod.ts create mode 100644 tests/cases/compiler/inheritanceMemberPropertyOverridingProperty.ts create mode 100644 tests/cases/compiler/inheritanceOfGenericConstructorMethod1.ts create mode 100644 tests/cases/compiler/inheritanceOfGenericConstructorMethod2.ts create mode 100644 tests/cases/compiler/inheritanceStaticAccessorOverridingAccessor.ts create mode 100644 tests/cases/compiler/inheritanceStaticAccessorOverridingMethod.ts create mode 100644 tests/cases/compiler/inheritanceStaticAccessorOverridingProperty.ts create mode 100644 tests/cases/compiler/inheritanceStaticFuncOverridingAccessor.ts create mode 100644 tests/cases/compiler/inheritanceStaticFuncOverridingAccessorOfFuncType.ts create mode 100644 tests/cases/compiler/inheritanceStaticFuncOverridingMethod.ts create mode 100644 tests/cases/compiler/inheritanceStaticFuncOverridingProperty.ts create mode 100644 tests/cases/compiler/inheritanceStaticFuncOverridingPropertyOfFuncType.ts create mode 100644 tests/cases/compiler/inheritanceStaticFunctionOverridingInstanceProperty.ts create mode 100644 tests/cases/compiler/inheritanceStaticMembersCompatible.ts create mode 100644 tests/cases/compiler/inheritanceStaticMembersIncompatible.ts create mode 100644 tests/cases/compiler/inheritanceStaticPropertyOverridingAccessor.ts create mode 100644 tests/cases/compiler/inheritanceStaticPropertyOverridingMethod.ts create mode 100644 tests/cases/compiler/inheritanceStaticPropertyOverridingProperty.ts create mode 100644 tests/cases/compiler/inheritedConstructorWithRestParams.ts create mode 100644 tests/cases/compiler/inheritedConstructorWithRestParams2.ts create mode 100644 tests/cases/compiler/inheritedFunctionAssignmentCompatibility.ts create mode 100644 tests/cases/compiler/inheritedGenericCallSignature.ts create mode 100644 tests/cases/compiler/inheritedMembersAndIndexSignaturesFromDifferentBases.ts create mode 100644 tests/cases/compiler/inheritedMembersAndIndexSignaturesFromDifferentBases2.ts create mode 100644 tests/cases/compiler/inheritedModuleMembersForClodule.ts create mode 100644 tests/cases/compiler/inheritedStringIndexersFromDifferentBaseTypes.ts create mode 100644 tests/cases/compiler/inheritedStringIndexersFromDifferentBaseTypes2.ts create mode 100644 tests/cases/compiler/innerAliases.ts create mode 100644 tests/cases/compiler/innerAliases2.ts create mode 100644 tests/cases/compiler/innerBoundLambdaEmit.ts create mode 100644 tests/cases/compiler/innerExtern.ts create mode 100644 tests/cases/compiler/innerFunc.ts create mode 100644 tests/cases/compiler/innerModExport1.ts create mode 100644 tests/cases/compiler/innerModExport2.ts create mode 100644 tests/cases/compiler/innerOverloads.ts create mode 100644 tests/cases/compiler/innerTypeArgumentInference.ts create mode 100644 tests/cases/compiler/innerTypeCheckOfLambdaArgument.ts create mode 100644 tests/cases/compiler/instanceAndStaticDeclarations1.ts create mode 100644 tests/cases/compiler/instanceOfInExternalModules.ts create mode 100644 tests/cases/compiler/instanceSubtypeCheck1.ts create mode 100644 tests/cases/compiler/instanceSubtypeCheck2.ts create mode 100644 tests/cases/compiler/instanceofOperator.ts create mode 100644 tests/cases/compiler/instantiateConstraintsToTypeArguments2.ts create mode 100644 tests/cases/compiler/instantiateTypeParameter.ts create mode 100644 tests/cases/compiler/instantiatedBaseTypeConstraints.ts create mode 100644 tests/cases/compiler/instantiatedBaseTypeConstraints2.ts create mode 100644 tests/cases/compiler/instantiatedReturnTypeContravariance.ts create mode 100644 tests/cases/compiler/intTypeCheck.ts create mode 100644 tests/cases/compiler/interMixingModulesInterfaces0.ts create mode 100644 tests/cases/compiler/interMixingModulesInterfaces1.ts create mode 100644 tests/cases/compiler/interMixingModulesInterfaces2.ts create mode 100644 tests/cases/compiler/interMixingModulesInterfaces3.ts create mode 100644 tests/cases/compiler/interMixingModulesInterfaces4.ts create mode 100644 tests/cases/compiler/interMixingModulesInterfaces5.ts create mode 100644 tests/cases/compiler/interface0.ts create mode 100644 tests/cases/compiler/interfaceAssignmentCompat.ts create mode 100644 tests/cases/compiler/interfaceContextualType.ts create mode 100644 tests/cases/compiler/interfaceDeclaration1.ts create mode 100644 tests/cases/compiler/interfaceDeclaration2.ts create mode 100644 tests/cases/compiler/interfaceDeclaration3.ts create mode 100644 tests/cases/compiler/interfaceDeclaration4.ts create mode 100644 tests/cases/compiler/interfaceDeclaration5.ts create mode 100644 tests/cases/compiler/interfaceDeclaration6.ts create mode 100644 tests/cases/compiler/interfaceExtendsClass1.ts create mode 100644 tests/cases/compiler/interfaceExtendsClassWithPrivate1.ts create mode 100644 tests/cases/compiler/interfaceExtendsClassWithPrivate2.ts create mode 100644 tests/cases/compiler/interfaceImplementation1.ts create mode 100644 tests/cases/compiler/interfaceImplementation2.ts create mode 100644 tests/cases/compiler/interfaceImplementation3.ts create mode 100644 tests/cases/compiler/interfaceImplementation4.ts create mode 100644 tests/cases/compiler/interfaceImplementation5.ts create mode 100644 tests/cases/compiler/interfaceImplementation6.ts create mode 100644 tests/cases/compiler/interfaceImplementation7.ts create mode 100644 tests/cases/compiler/interfaceImplementation8.ts create mode 100644 tests/cases/compiler/interfaceInReopenedModule.ts create mode 100644 tests/cases/compiler/interfaceInheritance.ts create mode 100644 tests/cases/compiler/interfaceInheritance2.ts create mode 100644 tests/cases/compiler/interfaceMayNotBeExtendedWitACall.ts create mode 100644 tests/cases/compiler/interfaceMemberValidation.ts create mode 100644 tests/cases/compiler/interfaceNameAsIdentifier.ts create mode 100644 tests/cases/compiler/interfaceNaming1.ts create mode 100644 tests/cases/compiler/interfaceOnly.ts create mode 100644 tests/cases/compiler/interfacePropertiesWithSameName1.ts create mode 100644 tests/cases/compiler/interfacePropertiesWithSameName2.ts create mode 100644 tests/cases/compiler/interfacePropertiesWithSameName3.ts create mode 100644 tests/cases/compiler/interfaceSubtyping.ts create mode 100644 tests/cases/compiler/interfaceWithImplements1.ts create mode 100644 tests/cases/compiler/interfaceWithMultipleDeclarations.ts create mode 100644 tests/cases/compiler/interfaceWithOptionalProperty.ts create mode 100644 tests/cases/compiler/interfacedecl.ts create mode 100644 tests/cases/compiler/interfacedeclWithIndexerErrors.ts create mode 100644 tests/cases/compiler/internalAliasClass.ts create mode 100644 tests/cases/compiler/internalAliasClassInsideLocalModuleWithExport.ts create mode 100644 tests/cases/compiler/internalAliasClassInsideLocalModuleWithoutExport.ts create mode 100644 tests/cases/compiler/internalAliasClassInsideLocalModuleWithoutExportAccessError.ts create mode 100644 tests/cases/compiler/internalAliasClassInsideTopLevelModuleWithExport.ts create mode 100644 tests/cases/compiler/internalAliasClassInsideTopLevelModuleWithoutExport.ts create mode 100644 tests/cases/compiler/internalAliasEnum.ts create mode 100644 tests/cases/compiler/internalAliasEnumInsideLocalModuleWithExport.ts create mode 100644 tests/cases/compiler/internalAliasEnumInsideLocalModuleWithoutExport.ts create mode 100644 tests/cases/compiler/internalAliasEnumInsideLocalModuleWithoutExportAccessError.ts create mode 100644 tests/cases/compiler/internalAliasEnumInsideTopLevelModuleWithExport.ts create mode 100644 tests/cases/compiler/internalAliasEnumInsideTopLevelModuleWithoutExport.ts create mode 100644 tests/cases/compiler/internalAliasFunction.ts create mode 100644 tests/cases/compiler/internalAliasFunctionInsideLocalModuleWithExport.ts create mode 100644 tests/cases/compiler/internalAliasFunctionInsideLocalModuleWithoutExport.ts create mode 100644 tests/cases/compiler/internalAliasFunctionInsideLocalModuleWithoutExportAccessError.ts create mode 100644 tests/cases/compiler/internalAliasFunctionInsideTopLevelModuleWithExport.ts create mode 100644 tests/cases/compiler/internalAliasFunctionInsideTopLevelModuleWithoutExport.ts create mode 100644 tests/cases/compiler/internalAliasInitializedModule.ts create mode 100644 tests/cases/compiler/internalAliasInitializedModuleInsideLocalModuleWithExport.ts create mode 100644 tests/cases/compiler/internalAliasInitializedModuleInsideLocalModuleWithoutExport.ts create mode 100644 tests/cases/compiler/internalAliasInitializedModuleInsideLocalModuleWithoutExportAccessError.ts create mode 100644 tests/cases/compiler/internalAliasInitializedModuleInsideTopLevelModuleWithExport.ts create mode 100644 tests/cases/compiler/internalAliasInitializedModuleInsideTopLevelModuleWithoutExport.ts create mode 100644 tests/cases/compiler/internalAliasInterface.ts create mode 100644 tests/cases/compiler/internalAliasInterfaceInsideLocalModuleWithExport.ts create mode 100644 tests/cases/compiler/internalAliasInterfaceInsideLocalModuleWithoutExport.ts create mode 100644 tests/cases/compiler/internalAliasInterfaceInsideLocalModuleWithoutExportAccessError.ts create mode 100644 tests/cases/compiler/internalAliasInterfaceInsideTopLevelModuleWithExport.ts create mode 100644 tests/cases/compiler/internalAliasInterfaceInsideTopLevelModuleWithoutExport.ts create mode 100644 tests/cases/compiler/internalAliasUninitializedModule.ts create mode 100644 tests/cases/compiler/internalAliasUninitializedModuleInsideLocalModuleWithExport.ts create mode 100644 tests/cases/compiler/internalAliasUninitializedModuleInsideLocalModuleWithoutExport.ts create mode 100644 tests/cases/compiler/internalAliasUninitializedModuleInsideLocalModuleWithoutExportAccessError.ts create mode 100644 tests/cases/compiler/internalAliasUninitializedModuleInsideTopLevelModuleWithExport.ts create mode 100644 tests/cases/compiler/internalAliasUninitializedModuleInsideTopLevelModuleWithoutExport.ts create mode 100644 tests/cases/compiler/internalAliasVar.ts create mode 100644 tests/cases/compiler/internalAliasVarInsideLocalModuleWithExport.ts create mode 100644 tests/cases/compiler/internalAliasVarInsideLocalModuleWithoutExport.ts create mode 100644 tests/cases/compiler/internalAliasVarInsideLocalModuleWithoutExportAccessError.ts create mode 100644 tests/cases/compiler/internalAliasVarInsideTopLevelModuleWithExport.ts create mode 100644 tests/cases/compiler/internalAliasVarInsideTopLevelModuleWithoutExport.ts create mode 100644 tests/cases/compiler/internalAliasWithDottedNameEmit.ts create mode 100644 tests/cases/compiler/internalImportInstantiatedModuleMergedWithClassNotReferencingInstance.ts create mode 100644 tests/cases/compiler/internalImportInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.ts create mode 100644 tests/cases/compiler/internalImportInstantiatedModuleNotReferencingInstance.ts create mode 100644 tests/cases/compiler/internalImportUnInstantiatedModuleMergedWithClassNotReferencingInstance.ts create mode 100644 tests/cases/compiler/internalImportUnInstantiatedModuleMergedWithClassNotReferencingInstanceNoConflict.ts create mode 100644 tests/cases/compiler/internalImportUnInstantiatedModuleNotReferencingInstanceNoConflict.ts create mode 100644 tests/cases/compiler/intrinsics.ts create mode 100644 tests/cases/compiler/invalidConstraint1.ts create mode 100644 tests/cases/compiler/invalidReferenceSyntax1.ts create mode 100644 tests/cases/compiler/invalidSplice.ts create mode 100644 tests/cases/compiler/invalidStaticField.ts create mode 100644 tests/cases/compiler/invalidSymbolInTypeParameter1.ts create mode 100644 tests/cases/compiler/invalidTripleSlashReference.ts create mode 100644 tests/cases/compiler/invalidTypeNames.ts create mode 100644 tests/cases/compiler/invalidUnicodeEscapeSequance.ts create mode 100644 tests/cases/compiler/invalidUnicodeEscapeSequance2.ts create mode 100644 tests/cases/compiler/invalidUnicodeEscapeSequance3.ts create mode 100644 tests/cases/compiler/invalidUnicodeEscapeSequance4.ts create mode 100644 tests/cases/compiler/invocationExpressionInFunctionParameter.ts create mode 100644 tests/cases/compiler/invokingNonGenericMethodWithTypeArguments1.ts create mode 100644 tests/cases/compiler/invokingNonGenericMethodWithTypeArguments2.ts create mode 100644 tests/cases/compiler/ipromise2.ts create mode 100644 tests/cases/compiler/ipromise3.ts create mode 100644 tests/cases/compiler/ipromise4.ts create mode 100644 tests/cases/compiler/isLiteral1.ts create mode 100644 tests/cases/compiler/isLiteral2.ts create mode 100644 tests/cases/compiler/keywordField.ts create mode 100644 tests/cases/compiler/knockout.ts create mode 100644 tests/cases/compiler/lambdaASIEmit.ts create mode 100644 tests/cases/compiler/lambdaArgCrash.ts create mode 100644 tests/cases/compiler/lambdaExpression.ts create mode 100644 tests/cases/compiler/lambdaParamTypes.ts create mode 100644 tests/cases/compiler/lambdaPropSelf.ts create mode 100644 tests/cases/compiler/lastPropertyInLiteralWins.ts create mode 100644 tests/cases/compiler/libMembers.ts create mode 100644 tests/cases/compiler/libdtsFix.ts create mode 100644 tests/cases/compiler/library_ArraySlice.ts create mode 100644 tests/cases/compiler/library_DatePrototypeProperties.ts create mode 100644 tests/cases/compiler/library_ObjectPrototypeProperties.ts create mode 100644 tests/cases/compiler/library_RegExpExecArraySlice.ts create mode 100644 tests/cases/compiler/library_StringSlice.ts create mode 100644 tests/cases/compiler/lift.ts create mode 100644 tests/cases/compiler/listFailure.ts create mode 100644 tests/cases/compiler/literals-negative.ts create mode 100644 tests/cases/compiler/literals1.ts create mode 100644 tests/cases/compiler/localAliasExportAssignment.ts create mode 100644 tests/cases/compiler/localImportNameVsGlobalName.ts create mode 100644 tests/cases/compiler/localVariablesReturnedFromCatchBlocks.ts create mode 100644 tests/cases/compiler/logicalNotExpression1.ts create mode 100644 tests/cases/compiler/m7Bugs.ts create mode 100644 tests/cases/compiler/matchReturnTypeInAllBranches.ts create mode 100644 tests/cases/compiler/matchingOfObjectLiteralConstraints.ts create mode 100644 tests/cases/compiler/maxConstraints.ts create mode 100644 tests/cases/compiler/memberAccessMustUseModuleInstances.ts create mode 100644 tests/cases/compiler/memberAccessOnConstructorType.ts create mode 100644 tests/cases/compiler/memberOverride.ts create mode 100644 tests/cases/compiler/memberScope.ts create mode 100644 tests/cases/compiler/memberVariableDeclarations1.ts create mode 100644 tests/cases/compiler/mergedDeclarations1.ts create mode 100644 tests/cases/compiler/mergedDeclarations2.ts create mode 100644 tests/cases/compiler/mergedDeclarations3.ts create mode 100644 tests/cases/compiler/mergedDeclarations4.ts create mode 100644 tests/cases/compiler/mergedEnumDeclarationCodeGen.ts create mode 100644 tests/cases/compiler/mergedInterfaceFromMultipleFiles1.ts create mode 100644 tests/cases/compiler/mergedModuleDeclarationCodeGen.ts create mode 100644 tests/cases/compiler/mergedModuleDeclarationCodeGen2.ts create mode 100644 tests/cases/compiler/mergedModuleDeclarationCodeGen3.ts create mode 100644 tests/cases/compiler/mergedModuleDeclarationCodeGen4.ts create mode 100644 tests/cases/compiler/mergedModuleDeclarationCodeGen5.ts create mode 100644 tests/cases/compiler/mergedModuleDeclarationWithSharedExportedVar.ts create mode 100644 tests/cases/compiler/methodContainingLocalFunction.ts create mode 100644 tests/cases/compiler/methodSignatureDeclarationEmit1.ts create mode 100644 tests/cases/compiler/mismatchedClassConstructorVariable.ts create mode 100644 tests/cases/compiler/mismatchedExplicitTypeParameterAndArgumentType.ts create mode 100644 tests/cases/compiler/mismatchedGenericArguments1.ts create mode 100644 tests/cases/compiler/missingImportAfterModuleImport.ts create mode 100644 tests/cases/compiler/missingReturnStatement.ts create mode 100644 tests/cases/compiler/missingReturnStatement1.ts create mode 100644 tests/cases/compiler/missingSelf.ts create mode 100644 tests/cases/compiler/missingTypeArguments1.ts create mode 100644 tests/cases/compiler/missingTypeArguments2.ts create mode 100644 tests/cases/compiler/missingTypeArguments3.ts create mode 100644 tests/cases/compiler/mixingFunctionAndAmbientModule1.ts create mode 100644 tests/cases/compiler/mixingStaticAndInstanceOverloads.ts create mode 100644 tests/cases/compiler/modFunctionCrash.ts create mode 100644 tests/cases/compiler/modKeyword.ts create mode 100644 tests/cases/compiler/moduleAliasAsFunctionArgument.ts create mode 100644 tests/cases/compiler/moduleAliasInterface.ts create mode 100644 tests/cases/compiler/moduleAndInterfaceSharingName.ts create mode 100644 tests/cases/compiler/moduleAndInterfaceSharingName2.ts create mode 100644 tests/cases/compiler/moduleAndInterfaceSharingName3.ts create mode 100644 tests/cases/compiler/moduleAndInterfaceSharingName4.ts create mode 100644 tests/cases/compiler/moduleAndInterfaceWithSameName.ts create mode 100644 tests/cases/compiler/moduleAsBaseType.ts create mode 100644 tests/cases/compiler/moduleAssignmentCompat1.ts create mode 100644 tests/cases/compiler/moduleAssignmentCompat2.ts create mode 100644 tests/cases/compiler/moduleAssignmentCompat3.ts create mode 100644 tests/cases/compiler/moduleAssignmentCompat4.ts create mode 100644 tests/cases/compiler/moduleClassArrayCodeGenTest.ts create mode 100644 tests/cases/compiler/moduleCodeGenTest3.ts create mode 100644 tests/cases/compiler/moduleCodeGenTest5.ts create mode 100644 tests/cases/compiler/moduleCodegenTest4.ts create mode 100644 tests/cases/compiler/moduleCrashBug1.ts create mode 100644 tests/cases/compiler/moduleExports1.ts create mode 100644 tests/cases/compiler/moduleIdentifiers.ts create mode 100644 tests/cases/compiler/moduleImport.ts create mode 100644 tests/cases/compiler/moduleImportedForTypeArgumentPosition.ts create mode 100644 tests/cases/compiler/moduleInTypePosition1.ts create mode 100644 tests/cases/compiler/moduleKeywordRepeatError.ts create mode 100644 tests/cases/compiler/moduleMemberWithoutTypeAnnotation1.ts create mode 100644 tests/cases/compiler/moduleMemberWithoutTypeAnnotation2.ts create mode 100644 tests/cases/compiler/moduleMerge.ts create mode 100644 tests/cases/compiler/moduleNewExportBug.ts create mode 100644 tests/cases/compiler/moduleNoEmit.ts create mode 100644 tests/cases/compiler/moduleOuterQualification.ts create mode 100644 tests/cases/compiler/moduleProperty1.ts create mode 100644 tests/cases/compiler/moduleProperty2.ts create mode 100644 tests/cases/compiler/moduleRedifinitionErrors.ts create mode 100644 tests/cases/compiler/moduleReopenedTypeOtherBlock.ts create mode 100644 tests/cases/compiler/moduleReopenedTypeSameBlock.ts create mode 100644 tests/cases/compiler/moduleScopingBug.ts create mode 100644 tests/cases/compiler/moduleUnassignedVariable.ts create mode 100644 tests/cases/compiler/moduleVariableArrayIndexer.ts create mode 100644 tests/cases/compiler/moduleVariables.ts create mode 100644 tests/cases/compiler/moduleVisibilityTest1.ts create mode 100644 tests/cases/compiler/moduleVisibilityTest2.ts create mode 100644 tests/cases/compiler/moduleVisibilityTest3.ts create mode 100644 tests/cases/compiler/moduleWithNoValuesAsType.ts create mode 100644 tests/cases/compiler/moduleWithTryStatement1.ts create mode 100644 tests/cases/compiler/moduleWithValuesAsType.ts create mode 100644 tests/cases/compiler/module_augmentExistingAmbientVariable.ts create mode 100644 tests/cases/compiler/module_augmentExistingVariable.ts create mode 100644 tests/cases/compiler/moduledecl.ts create mode 100644 tests/cases/compiler/multiCallOverloads.ts create mode 100644 tests/cases/compiler/multiExtendsSplitInterfaces1.ts create mode 100644 tests/cases/compiler/multiExtendsSplitInterfaces2.ts create mode 100644 tests/cases/compiler/multiImportExport.ts create mode 100644 tests/cases/compiler/multiLineErrors.ts create mode 100644 tests/cases/compiler/multiModuleClodule1.ts create mode 100644 tests/cases/compiler/multiModuleFundule1.ts create mode 100644 tests/cases/compiler/multipleBaseInterfaesWithIncompatibleProperties.ts create mode 100644 tests/cases/compiler/multipleClassPropertyModifiers.ts create mode 100644 tests/cases/compiler/multipleClassPropertyModifiersErrors.ts create mode 100644 tests/cases/compiler/multipleExportAssignments.ts create mode 100644 tests/cases/compiler/multipleExportAssignmentsInAmbientDeclaration.ts create mode 100644 tests/cases/compiler/multipleInheritance.ts create mode 100644 tests/cases/compiler/multivar.ts create mode 100644 tests/cases/compiler/mutrec.ts create mode 100644 tests/cases/compiler/mutuallyRecursiveGenericBaseTypes1.ts create mode 100644 tests/cases/compiler/mutuallyRecursiveGenericBaseTypes2.ts create mode 100644 tests/cases/compiler/nameCollisions.ts create mode 100644 tests/cases/compiler/namedFunctionExpressionAssignedToClassProperty.ts create mode 100644 tests/cases/compiler/namedFunctionExpressionCall.ts create mode 100644 tests/cases/compiler/namedFunctionExpressionCallErrors.ts create mode 100644 tests/cases/compiler/namedFunctionExpressionInModule.ts create mode 100644 tests/cases/compiler/namespaces1.ts create mode 100644 tests/cases/compiler/namespaces2.ts create mode 100644 tests/cases/compiler/negativeZero.ts create mode 100644 tests/cases/compiler/nestedGenerics.ts create mode 100644 tests/cases/compiler/nestedIfStatement.ts create mode 100644 tests/cases/compiler/nestedIndexer.ts create mode 100644 tests/cases/compiler/nestedInfinitelyExpandedRecursiveTypes.ts create mode 100644 tests/cases/compiler/nestedModulePrivateAccess.ts create mode 100644 tests/cases/compiler/nestedRecursiveLambda.ts create mode 100644 tests/cases/compiler/nestedSelf.ts create mode 100644 tests/cases/compiler/newArrays.ts create mode 100644 tests/cases/compiler/newExpressionWithCast.ts create mode 100644 tests/cases/compiler/newExpressionWithTypeParameterConstrainedToOuterTypeParameter.ts create mode 100644 tests/cases/compiler/newFunctionImplicitAny.ts create mode 100644 tests/cases/compiler/newMissingIdentifier.ts create mode 100644 tests/cases/compiler/newNonReferenceType.ts create mode 100644 tests/cases/compiler/newOnInstanceSymbol.ts create mode 100644 tests/cases/compiler/newOperator.ts create mode 100644 tests/cases/compiler/noCatchBlock.ts create mode 100644 tests/cases/compiler/noCollisionThisExpressionAndClassInGlobal.ts create mode 100644 tests/cases/compiler/noCollisionThisExpressionAndLocalVarInAccessors.ts create mode 100644 tests/cases/compiler/noCollisionThisExpressionAndLocalVarInConstructor.ts create mode 100644 tests/cases/compiler/noCollisionThisExpressionAndLocalVarInFunction.ts create mode 100644 tests/cases/compiler/noCollisionThisExpressionAndLocalVarInLambda.ts create mode 100644 tests/cases/compiler/noCollisionThisExpressionAndLocalVarInMethod.ts create mode 100644 tests/cases/compiler/noCollisionThisExpressionAndLocalVarInProperty.ts create mode 100644 tests/cases/compiler/noCollisionThisExpressionAndVarInGlobal.ts create mode 100644 tests/cases/compiler/noCollisionThisExpressionInFunctionAndVarInGlobal.ts create mode 100644 tests/cases/compiler/noConstraintInReturnType1.ts create mode 100644 tests/cases/compiler/noErrorsInCallback.ts create mode 100644 tests/cases/compiler/noImplicitAnyAndPrivateMembersWithoutTypeAnnotations.ts create mode 100644 tests/cases/compiler/noImplicitAnyForIn.ts create mode 100644 tests/cases/compiler/noImplicitAnyForMethodParameters.ts create mode 100644 tests/cases/compiler/noImplicitAnyForwardReferencedInterface.ts create mode 100644 tests/cases/compiler/noImplicitAnyFunctionExpressionAssignment.ts create mode 100644 tests/cases/compiler/noImplicitAnyFunctions.ts create mode 100644 tests/cases/compiler/noImplicitAnyInBareInterface.ts create mode 100644 tests/cases/compiler/noImplicitAnyInContextuallyTypesFunctionParamter.ts create mode 100644 tests/cases/compiler/noImplicitAnyIndexing.ts create mode 100644 tests/cases/compiler/noImplicitAnyModule.ts create mode 100644 tests/cases/compiler/noImplicitAnyParametersInAmbientClass.ts create mode 100644 tests/cases/compiler/noImplicitAnyParametersInAmbientFunctions.ts create mode 100644 tests/cases/compiler/noImplicitAnyParametersInAmbientModule.ts create mode 100644 tests/cases/compiler/noImplicitAnyParametersInBareFunctions.ts create mode 100644 tests/cases/compiler/noImplicitAnyParametersInClass.ts create mode 100644 tests/cases/compiler/noImplicitAnyParametersInInterface.ts create mode 100644 tests/cases/compiler/noImplicitAnyParametersInModule.ts create mode 100644 tests/cases/compiler/noImplicitAnyReferencingDeclaredInterface.ts create mode 100644 tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts create mode 100644 tests/cases/compiler/noImplicitAnyWithOverloads.ts create mode 100644 tests/cases/compiler/noSelfOnVars.ts create mode 100644 tests/cases/compiler/noTypeArgumentOnReturnType1.ts create mode 100644 tests/cases/compiler/nonArrayRestArgs.ts create mode 100644 tests/cases/compiler/nonConflictingRecursiveBaseTypeMembers.ts create mode 100644 tests/cases/compiler/nonContextuallyTypedLogicalOr.ts create mode 100644 tests/cases/compiler/nonExportedElementsOfMergedModules.ts create mode 100644 tests/cases/compiler/nonGenericClassExtendingGenericClassWithAny.ts create mode 100644 tests/cases/compiler/null.ts create mode 100644 tests/cases/compiler/nullKeyword.ts create mode 100644 tests/cases/compiler/numLit.ts create mode 100644 tests/cases/compiler/numberAsInLHS.ts create mode 100644 tests/cases/compiler/numberOnLeftSideOfInExpression.ts create mode 100644 tests/cases/compiler/numberToString.ts create mode 100644 tests/cases/compiler/numericClassMembers1.ts create mode 100644 tests/cases/compiler/numericIndexExpressions.ts create mode 100644 tests/cases/compiler/numericIndexerConstraint.ts create mode 100644 tests/cases/compiler/numericIndexerConstraint1.ts create mode 100644 tests/cases/compiler/numericIndexerConstraint2.ts create mode 100644 tests/cases/compiler/numericIndexerConstraint3.ts create mode 100644 tests/cases/compiler/numericIndexerConstraint4.ts create mode 100644 tests/cases/compiler/numericIndexerConstraint5.ts create mode 100644 tests/cases/compiler/numericIndexerTyping1.ts create mode 100644 tests/cases/compiler/numericIndexerTyping2.ts create mode 100644 tests/cases/compiler/numericMethodName1.ts create mode 100644 tests/cases/compiler/objectCreationExpressionInFunctionParameter.ts create mode 100644 tests/cases/compiler/objectCreationOfElementAccessExpression.ts create mode 100644 tests/cases/compiler/objectIndexer.ts create mode 100644 tests/cases/compiler/objectLitArrayDeclNoNew.ts create mode 100644 tests/cases/compiler/objectLitGetterSetter.ts create mode 100644 tests/cases/compiler/objectLitIndexerContextualType.ts create mode 100644 tests/cases/compiler/objectLitPropertyScoping.ts create mode 100644 tests/cases/compiler/objectLitStructuralTypeMismatch.ts create mode 100644 tests/cases/compiler/objectLitTargetTypeCallSite.ts create mode 100644 tests/cases/compiler/objectLiteral1.ts create mode 100644 tests/cases/compiler/objectLiteral2.ts create mode 100644 tests/cases/compiler/objectLiteralArraySpecialization.ts create mode 100644 tests/cases/compiler/objectLiteralDeclarationGeneration1.ts create mode 100644 tests/cases/compiler/objectLiteralFunctionArgContextualTyping.ts create mode 100644 tests/cases/compiler/objectLiteralFunctionArgContextualTyping2.ts create mode 100644 tests/cases/compiler/objectLiteralIndexerErrors.ts create mode 100644 tests/cases/compiler/objectLiteralIndexers.ts create mode 100644 tests/cases/compiler/objectLiteralParameterResolution.ts create mode 100644 tests/cases/compiler/objectLiteralReferencingInternalProperties.ts create mode 100644 tests/cases/compiler/objectLiteralWithGetAccessorInsideFunction.ts create mode 100644 tests/cases/compiler/objectLiteralWithNumericPropertyName.ts create mode 100644 tests/cases/compiler/objectMembersOnTypes.ts create mode 100644 tests/cases/compiler/operatorAddNullUndefined.ts create mode 100644 tests/cases/compiler/optionalAccessorsInInterface1.ts create mode 100644 tests/cases/compiler/optionalArgsWithDefaultValues.ts create mode 100644 tests/cases/compiler/optionalConstructorArgInSuper.ts create mode 100644 tests/cases/compiler/optionalFunctionArgAssignability.ts create mode 100644 tests/cases/compiler/optionalParamArgsTest.ts create mode 100644 tests/cases/compiler/optionalParamAssignmentCompat.ts create mode 100644 tests/cases/compiler/optionalParamInOverride.ts create mode 100644 tests/cases/compiler/optionalParamReferencingOtherParams1.ts create mode 100644 tests/cases/compiler/optionalParamReferencingOtherParams2.ts create mode 100644 tests/cases/compiler/optionalParamReferencingOtherParams3.ts create mode 100644 tests/cases/compiler/optionalParamTypeComparison.ts create mode 100644 tests/cases/compiler/optionalPropertiesInClasses.ts create mode 100644 tests/cases/compiler/optionalPropertiesSyntax.ts create mode 100644 tests/cases/compiler/optionalPropertiesTest.ts create mode 100644 tests/cases/compiler/optionalSetterParam.ts create mode 100644 tests/cases/compiler/orderMattersForSignatureGroupIdentity.ts create mode 100644 tests/cases/compiler/out-flag.ts create mode 100644 tests/cases/compiler/overEagerReturnTypeSpecialization.ts create mode 100644 tests/cases/compiler/overload1.ts create mode 100644 tests/cases/compiler/overload2.ts create mode 100644 tests/cases/compiler/overloadAssignmentCompat.ts create mode 100644 tests/cases/compiler/overloadBindingAcrossDeclarationBoundaries.ts create mode 100644 tests/cases/compiler/overloadBindingAcrossDeclarationBoundaries2.ts create mode 100644 tests/cases/compiler/overloadCallTest.ts create mode 100644 tests/cases/compiler/overloadCrash.ts create mode 100644 tests/cases/compiler/overloadEquivalenceWithStatics.ts create mode 100644 tests/cases/compiler/overloadGenericFunctionWithRestArgs.ts create mode 100644 tests/cases/compiler/overloadModifiersMustAgree.ts create mode 100644 tests/cases/compiler/overloadOnConstAsTypeAnnotation.ts create mode 100644 tests/cases/compiler/overloadOnConstConstraintChecks1.ts create mode 100644 tests/cases/compiler/overloadOnConstConstraintChecks2.ts create mode 100644 tests/cases/compiler/overloadOnConstConstraintChecks3.ts create mode 100644 tests/cases/compiler/overloadOnConstConstraintChecks4.ts create mode 100644 tests/cases/compiler/overloadOnConstDuplicateOverloads1.ts create mode 100644 tests/cases/compiler/overloadOnConstInBaseWithBadImplementationInDerived.ts create mode 100644 tests/cases/compiler/overloadOnConstInCallback1.ts create mode 100644 tests/cases/compiler/overloadOnConstInObjectLiteralImplementingAnInterface.ts create mode 100644 tests/cases/compiler/overloadOnConstInheritance1.ts create mode 100644 tests/cases/compiler/overloadOnConstInheritance2.ts create mode 100644 tests/cases/compiler/overloadOnConstInheritance3.ts create mode 100644 tests/cases/compiler/overloadOnConstInheritance4.ts create mode 100644 tests/cases/compiler/overloadOnConstNoAnyImplementation.ts create mode 100644 tests/cases/compiler/overloadOnConstNoAnyImplementation2.ts create mode 100644 tests/cases/compiler/overloadOnConstNoNonSpecializedSignature.ts create mode 100644 tests/cases/compiler/overloadOnConstNoStringImplementation.ts create mode 100644 tests/cases/compiler/overloadOnConstNoStringImplementation2.ts create mode 100644 tests/cases/compiler/overloadOnConstantsInvalidOverload1.ts create mode 100644 tests/cases/compiler/overloadOnGenericArity.ts create mode 100644 tests/cases/compiler/overloadOnGenericClassAndNonGenericClass.ts create mode 100644 tests/cases/compiler/overloadResolutionOnDefaultConstructor1.ts create mode 100644 tests/cases/compiler/overloadResolutionOverCTLambda.ts create mode 100644 tests/cases/compiler/overloadResolutionOverNonCTLambdas.ts create mode 100644 tests/cases/compiler/overloadResolutionOverNonCTObjectLit.ts create mode 100644 tests/cases/compiler/overloadResolutionTest1.ts create mode 100644 tests/cases/compiler/overloadResolutionWithAny.ts create mode 100644 tests/cases/compiler/overloadRet.ts create mode 100644 tests/cases/compiler/overloadReturnTypes.ts create mode 100644 tests/cases/compiler/overloadWithCallbacksWithDifferingOptionalityOnArgs.ts create mode 100644 tests/cases/compiler/overloadedStaticMethodSpecialization.ts create mode 100644 tests/cases/compiler/overloadingOnConstants1.ts create mode 100644 tests/cases/compiler/overloadingOnConstants2.ts create mode 100644 tests/cases/compiler/overloadingOnConstantsInImplementation.ts create mode 100644 tests/cases/compiler/overloadingStaticFunctionsInFunctions.ts create mode 100644 tests/cases/compiler/overloadresolutionWithConstraintCheckingDeferred.ts create mode 100644 tests/cases/compiler/overloadsAndTypeArgumentArity.ts create mode 100644 tests/cases/compiler/overloadsAndTypeArgumentArityErrors.ts create mode 100644 tests/cases/compiler/overloadsInDifferentContainersDisagreeOnAmbient.ts create mode 100644 tests/cases/compiler/overloadsWithProvisionalErrors.ts create mode 100644 tests/cases/compiler/overloadsWithinClasses.ts create mode 100644 tests/cases/compiler/overridingPrivateStaticMembers.ts create mode 100644 tests/cases/compiler/paramPropertiesInSignatures.ts create mode 100644 tests/cases/compiler/parameterPropertyInConstructor1.ts create mode 100644 tests/cases/compiler/parameterPropertyInConstructor2.ts create mode 100644 tests/cases/compiler/parameterPropertyInitializerInInitializers.ts create mode 100644 tests/cases/compiler/parameterPropertyOutsideConstructor.ts create mode 100644 tests/cases/compiler/parameterPropertyReferencingOtherParameter.ts create mode 100644 tests/cases/compiler/parameterReferencesOtherParameter1.ts create mode 100644 tests/cases/compiler/parameterReferencesOtherParameter2.ts create mode 100644 tests/cases/compiler/parse1.ts create mode 100644 tests/cases/compiler/parse2.ts create mode 100644 tests/cases/compiler/parseShortform.ts create mode 100644 tests/cases/compiler/parseTypes.ts create mode 100644 tests/cases/compiler/partiallyAmbientClodule.ts create mode 100644 tests/cases/compiler/partiallyAmbientFundule.ts create mode 100644 tests/cases/compiler/prefixIncrementAsOperandOfPlusExpression.ts create mode 100644 tests/cases/compiler/prespecializedGenericMembers1.ts create mode 100644 tests/cases/compiler/primaryExpressionMods.ts create mode 100644 tests/cases/compiler/primitiveConstraints1.ts create mode 100644 tests/cases/compiler/primitiveConstraints2.ts create mode 100644 tests/cases/compiler/primitiveMembers.ts create mode 100644 tests/cases/compiler/primitiveTypeAsClassName.ts create mode 100644 tests/cases/compiler/primitiveTypeAsInterfaceName.ts create mode 100644 tests/cases/compiler/primitiveTypeAsInterfaceNameGeneric.ts create mode 100644 tests/cases/compiler/primitiveTypeAsmoduleName.ts create mode 100644 tests/cases/compiler/primitiveTypeAssignment.ts create mode 100644 tests/cases/compiler/privacyCheckAnonymousFunctionParameter.ts create mode 100644 tests/cases/compiler/privacyCheckAnonymousFunctionParameter2.ts create mode 100644 tests/cases/compiler/privacyCheckCallbackOfInterfaceMethodWithTypeParameter.ts create mode 100644 tests/cases/compiler/privacyCheckExportAssignmentOnExportedGenericInterface1.ts create mode 100644 tests/cases/compiler/privacyCheckExportAssignmentOnExportedGenericInterface2.ts create mode 100644 tests/cases/compiler/privacyCheckExternalModuleExportAssignmentOfGenericClass.ts create mode 100644 tests/cases/compiler/privacyCheckOnTypeParameterReferenceInConstructorParameter.ts create mode 100644 tests/cases/compiler/privacyCheckTypeOfFunction.ts create mode 100644 tests/cases/compiler/privacyCheckTypeOfInvisibleModuleError.ts create mode 100644 tests/cases/compiler/privacyCheckTypeOfInvisibleModuleNoError.ts create mode 100644 tests/cases/compiler/privacyClass.ts create mode 100644 tests/cases/compiler/privacyFunc.ts create mode 100644 tests/cases/compiler/privacyGetter.ts create mode 100644 tests/cases/compiler/privacyGloClass.ts create mode 100644 tests/cases/compiler/privacyGloFunc.ts create mode 100644 tests/cases/compiler/privacyGloGetter.ts create mode 100644 tests/cases/compiler/privacyGloImport.ts create mode 100644 tests/cases/compiler/privacyGloInterface.ts create mode 100644 tests/cases/compiler/privacyGloVar.ts create mode 100644 tests/cases/compiler/privacyImport.ts create mode 100644 tests/cases/compiler/privacyInterface.ts create mode 100644 tests/cases/compiler/privacyLocalInternalReferenceImportWithExport.ts create mode 100644 tests/cases/compiler/privacyLocalInternalReferenceImportWithoutExport.ts create mode 100644 tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithExport.ts create mode 100644 tests/cases/compiler/privacyTopLevelAmbientExternalModuleImportWithoutExport.ts create mode 100644 tests/cases/compiler/privacyTopLevelInternalReferenceImportWithExport.ts create mode 100644 tests/cases/compiler/privacyTopLevelInternalReferenceImportWithoutExport.ts create mode 100644 tests/cases/compiler/privacyTypeParameterOfFunction.ts create mode 100644 tests/cases/compiler/privacyTypeParametersOfClass.ts create mode 100644 tests/cases/compiler/privacyTypeParametersOfInterface.ts create mode 100644 tests/cases/compiler/privacyVar.ts create mode 100644 tests/cases/compiler/privateAccessInSubclass1.ts create mode 100644 tests/cases/compiler/privateInstanceVisibility.ts create mode 100644 tests/cases/compiler/privateInterfaceProperties.ts create mode 100644 tests/cases/compiler/privatePropertyUsingObjectType.ts create mode 100644 tests/cases/compiler/privateVisibility.ts create mode 100644 tests/cases/compiler/privateVisibles.ts create mode 100644 tests/cases/compiler/promiseChaining.ts create mode 100644 tests/cases/compiler/promiseChaining1.ts create mode 100644 tests/cases/compiler/promiseChaining2.ts create mode 100644 tests/cases/compiler/promiseIdentity.ts create mode 100644 tests/cases/compiler/promiseIdentity2.ts create mode 100644 tests/cases/compiler/promiseIdentityWithAny.ts create mode 100644 tests/cases/compiler/promiseIdentityWithAny2.ts create mode 100644 tests/cases/compiler/promiseIdentityWithConstraints.ts create mode 100644 tests/cases/compiler/promisePermutations.ts create mode 100644 tests/cases/compiler/promisePermutations2.ts create mode 100644 tests/cases/compiler/promisePermutations3.ts create mode 100644 tests/cases/compiler/promiseTest.ts create mode 100644 tests/cases/compiler/promiseTypeInference.ts create mode 100644 tests/cases/compiler/promises.ts create mode 100644 tests/cases/compiler/promisesWithConstraints.ts create mode 100644 tests/cases/compiler/propagationOfPromiseInitialization.ts create mode 100644 tests/cases/compiler/properties.ts create mode 100644 tests/cases/compiler/propertiesAndIndexers.ts create mode 100644 tests/cases/compiler/propertyAccess1.ts create mode 100644 tests/cases/compiler/propertyAccess2.ts create mode 100644 tests/cases/compiler/propertyAccess3.ts create mode 100644 tests/cases/compiler/propertyAccess4.ts create mode 100644 tests/cases/compiler/propertyAccess5.ts create mode 100644 tests/cases/compiler/propertyAccess6.ts create mode 100644 tests/cases/compiler/propertyAccess7.ts create mode 100644 tests/cases/compiler/propertyAccessibility1.ts create mode 100644 tests/cases/compiler/propertyAccessibility2.ts create mode 100644 tests/cases/compiler/propertyAssignment.ts create mode 100644 tests/cases/compiler/propertyIdentityWithPrivacyMismatch.ts create mode 100644 tests/cases/compiler/propertyNamesWithStringLiteral.ts create mode 100644 tests/cases/compiler/propertyOrdering.ts create mode 100644 tests/cases/compiler/propertyOrdering2.ts create mode 100644 tests/cases/compiler/propertyParameterWithQuestionMark.ts create mode 100644 tests/cases/compiler/propertySignatures.ts create mode 100644 tests/cases/compiler/propertyWrappedInTry.ts create mode 100644 tests/cases/compiler/protoAsIndexInIndexExpression.ts create mode 100644 tests/cases/compiler/protoAssignment.ts create mode 100644 tests/cases/compiler/protoInIndexer.ts create mode 100644 tests/cases/compiler/prototypeInstantiatedWithBaseConstraint.ts create mode 100644 tests/cases/compiler/prototypeOnConstructorFunctions.ts create mode 100644 tests/cases/compiler/prototypes.ts create mode 100644 tests/cases/compiler/publicMemberImplementedAsPrivateInDerivedClass.ts create mode 100644 tests/cases/compiler/qualifiedModuleLocals.ts create mode 100644 tests/cases/compiler/qualifiedName_ImportDeclarations-entity-names-referencing-a-var.ts create mode 100644 tests/cases/compiler/qualifiedName_entity-name-resolution-does-not-affect-class-heritage.ts create mode 100644 tests/cases/compiler/qualify.ts create mode 100644 tests/cases/compiler/quotedAccessorName1.ts create mode 100644 tests/cases/compiler/quotedAccessorName2.ts create mode 100644 tests/cases/compiler/quotedFunctionName1.ts create mode 100644 tests/cases/compiler/quotedFunctionName2.ts create mode 100644 tests/cases/compiler/quotedModuleNameMustBeAmbient.ts create mode 100644 tests/cases/compiler/quotedPropertyName1.ts create mode 100644 tests/cases/compiler/quotedPropertyName2.ts create mode 100644 tests/cases/compiler/quotedPropertyName3.ts create mode 100644 tests/cases/compiler/raiseErrorOnParameterProperty.ts create mode 100644 tests/cases/compiler/randomSemicolons1.ts create mode 100644 tests/cases/compiler/reassignStaticProp.ts create mode 100644 tests/cases/compiler/reboundBaseClassSymbol.ts create mode 100644 tests/cases/compiler/reboundIdentifierOnImportAlias.ts create mode 100644 tests/cases/compiler/rectype.ts create mode 100644 tests/cases/compiler/recur1.ts create mode 100644 tests/cases/compiler/recursiveBaseCheck.ts create mode 100644 tests/cases/compiler/recursiveBaseCheck2.ts create mode 100644 tests/cases/compiler/recursiveBaseCheck3.ts create mode 100644 tests/cases/compiler/recursiveBaseCheck4.ts create mode 100644 tests/cases/compiler/recursiveBaseCheck5.ts create mode 100644 tests/cases/compiler/recursiveBaseCheck6.ts create mode 100644 tests/cases/compiler/recursiveBaseConstructorCreation1.ts create mode 100644 tests/cases/compiler/recursiveBaseConstructorCreation2.ts create mode 100644 tests/cases/compiler/recursiveBaseConstructorCreation3.ts create mode 100644 tests/cases/compiler/recursiveClassInstantiationsWithDefaultConstructors.ts create mode 100644 tests/cases/compiler/recursiveClassReferenceTest.ts create mode 100644 tests/cases/compiler/recursiveCloduleReference.ts create mode 100644 tests/cases/compiler/recursiveComplicatedClasses.ts create mode 100644 tests/cases/compiler/recursiveExportAssignmentAndFindAliasedType1.ts create mode 100644 tests/cases/compiler/recursiveExportAssignmentAndFindAliasedType2.ts create mode 100644 tests/cases/compiler/recursiveExportAssignmentAndFindAliasedType3.ts create mode 100644 tests/cases/compiler/recursiveExportAssignmentAndFindAliasedType4.ts create mode 100644 tests/cases/compiler/recursiveExportAssignmentAndFindAliasedType5.ts create mode 100644 tests/cases/compiler/recursiveExportAssignmentAndFindAliasedType6.ts create mode 100644 tests/cases/compiler/recursiveExportAssignmentAndFindAliasedType7.ts create mode 100644 tests/cases/compiler/recursiveFunctionTypes.ts create mode 100644 tests/cases/compiler/recursiveFunctionTypes1.ts create mode 100644 tests/cases/compiler/recursiveGenericMethodCall.ts create mode 100644 tests/cases/compiler/recursiveGenericSignatureInstantiation.ts create mode 100644 tests/cases/compiler/recursiveGenericSignatureInstantiation2.ts create mode 100644 tests/cases/compiler/recursiveGenericTypeHierarchy.ts create mode 100644 tests/cases/compiler/recursiveGetterAccess.ts create mode 100644 tests/cases/compiler/recursiveIdenticalAssignment.ts create mode 100644 tests/cases/compiler/recursiveIdenticalOverloadResolution.ts create mode 100644 tests/cases/compiler/recursiveInference1.ts create mode 100644 tests/cases/compiler/recursiveInferenceBug.ts create mode 100644 tests/cases/compiler/recursiveInheritance.ts create mode 100644 tests/cases/compiler/recursiveInheritance2.ts create mode 100644 tests/cases/compiler/recursiveInheritance3.ts create mode 100644 tests/cases/compiler/recursiveInheritanceGeneric.ts create mode 100644 tests/cases/compiler/recursiveMods.ts create mode 100644 tests/cases/compiler/recursiveNamedLambdaCall.ts create mode 100644 tests/cases/compiler/recursiveObjectLiteral.ts create mode 100644 tests/cases/compiler/recursiveProperties.ts create mode 100644 tests/cases/compiler/recursiveReturns.ts create mode 100644 tests/cases/compiler/recursiveSpecializationOfExtendedTypeWithError.ts create mode 100644 tests/cases/compiler/recursiveSpecializationOfSignatures.ts create mode 100644 tests/cases/compiler/recursiveTypeIdentity.ts create mode 100644 tests/cases/compiler/recursiveTypeParameterConstraintReferenceLacksTypeArgs.ts create mode 100644 tests/cases/compiler/recursiveTypeParameterReferenceError1.ts create mode 100644 tests/cases/compiler/recursiveTypeParameterReferenceError2.ts create mode 100644 tests/cases/compiler/recursiveTypes1.ts create mode 100644 tests/cases/compiler/recursivelySpecializedConstructorDeclaration.ts create mode 100644 tests/cases/compiler/redeclarationOfVarWithGenericType.ts create mode 100644 tests/cases/compiler/redefineArray.ts create mode 100644 tests/cases/compiler/reorderProperties.ts create mode 100644 tests/cases/compiler/requireEmitSemicolon.ts create mode 100644 tests/cases/compiler/requireOfAnEmptyFile1.ts create mode 100644 tests/cases/compiler/reservedWords.ts create mode 100644 tests/cases/compiler/resolvingClassDeclarationWhenInBaseTypeResolution.ts create mode 100644 tests/cases/compiler/restArgAssignmentCompat.ts create mode 100644 tests/cases/compiler/restArgMissingName.ts create mode 100644 tests/cases/compiler/restParamAsOptional.ts create mode 100644 tests/cases/compiler/restParameterAssignmentCompatibility.ts create mode 100644 tests/cases/compiler/restParameterNoTypeAnnotation.ts create mode 100644 tests/cases/compiler/restParameterNotLast.ts create mode 100644 tests/cases/compiler/restParameters.ts create mode 100644 tests/cases/compiler/restParamsWithNonRestParams.ts create mode 100644 tests/cases/compiler/returnInConstructor1.ts create mode 100644 tests/cases/compiler/returnStatement1.ts create mode 100644 tests/cases/compiler/returnTypeParameter.ts create mode 100644 tests/cases/compiler/returnTypeParameterWithModules.ts create mode 100644 tests/cases/compiler/returnTypeTypeArguments.ts create mode 100644 tests/cases/compiler/returnValueInSetter.ts create mode 100644 tests/cases/compiler/reuseInnerModuleMember.ts create mode 100644 tests/cases/compiler/reverseInferenceInContextualInstantiation.ts create mode 100644 tests/cases/compiler/reversedRecusiveTypeInstantiation.ts create mode 100644 tests/cases/compiler/scopeCheckExtendedClassInsidePublicMethod2.ts create mode 100644 tests/cases/compiler/scopeCheckExtendedClassInsideStaticMethod1.ts create mode 100644 tests/cases/compiler/scopeCheckInsidePublicMethod1.ts create mode 100644 tests/cases/compiler/scopeCheckInsideStaticMethod1.ts create mode 100644 tests/cases/compiler/scopeTests.ts create mode 100644 tests/cases/compiler/scopingInCatchBlocks.ts create mode 100644 tests/cases/compiler/selfInCallback.ts create mode 100644 tests/cases/compiler/selfInLambdas.ts create mode 100644 tests/cases/compiler/selfRef.ts create mode 100644 tests/cases/compiler/selfReferencesInFunctionParameters.ts create mode 100644 tests/cases/compiler/semicolonsInModuleDeclarations.ts create mode 100644 tests/cases/compiler/separate1-1.ts create mode 100644 tests/cases/compiler/separate1-2.ts create mode 100644 tests/cases/compiler/setterBeforeGetter.ts create mode 100644 tests/cases/compiler/setterWithReturn.ts create mode 100644 tests/cases/compiler/shadowPrivateMembers.ts create mode 100644 tests/cases/compiler/sigantureIsSubTypeIfTheyAreIdentical.ts create mode 100644 tests/cases/compiler/simpleArrowFunctionParameterReferencedInObjectLiteral1.ts create mode 100644 tests/cases/compiler/slashBeforeVariableDeclaration1.ts create mode 100644 tests/cases/compiler/sourceMap-Comment1.ts create mode 100644 tests/cases/compiler/sourceMap-EmptyFile1.ts create mode 100644 tests/cases/compiler/sourceMap-FileWithComments.ts create mode 100644 tests/cases/compiler/sourceMap-InterfacePrecedingVariableDeclaration1.ts create mode 100644 tests/cases/compiler/sourceMap-NewLine1.ts create mode 100644 tests/cases/compiler/sourceMap-SemiColon1.ts create mode 100644 tests/cases/compiler/sourceMap-SingleSpace1.ts create mode 100644 tests/cases/compiler/sourceMap-StringLiteralWithNewLine.ts create mode 100644 tests/cases/compiler/sourceMapSample.ts create mode 100644 tests/cases/compiler/sourceMapValidationClass.ts create mode 100644 tests/cases/compiler/sourceMapValidationClassWithDefaultConstructor.ts create mode 100644 tests/cases/compiler/sourceMapValidationClassWithDefaultConstructorAndCapturedThisStatement.ts create mode 100644 tests/cases/compiler/sourceMapValidationClassWithDefaultConstructorAndExtendsClause.ts create mode 100644 tests/cases/compiler/sourceMapValidationClasses.ts create mode 100644 tests/cases/compiler/sourceMapValidationDebugger.ts create mode 100644 tests/cases/compiler/sourceMapValidationDo.ts create mode 100644 tests/cases/compiler/sourceMapValidationEnums.ts create mode 100644 tests/cases/compiler/sourceMapValidationExportAssignment.ts create mode 100644 tests/cases/compiler/sourceMapValidationExportAssignmentCommonjs.ts create mode 100644 tests/cases/compiler/sourceMapValidationFor.ts create mode 100644 tests/cases/compiler/sourceMapValidationForIn.ts create mode 100644 tests/cases/compiler/sourceMapValidationFunctionExpressions.ts create mode 100644 tests/cases/compiler/sourceMapValidationFunctionPropertyAssignment.ts create mode 100644 tests/cases/compiler/sourceMapValidationFunctions.ts create mode 100644 tests/cases/compiler/sourceMapValidationIfElse.ts create mode 100644 tests/cases/compiler/sourceMapValidationImport.ts create mode 100644 tests/cases/compiler/sourceMapValidationLabeled.ts create mode 100644 tests/cases/compiler/sourceMapValidationModule.ts create mode 100644 tests/cases/compiler/sourceMapValidationStatements.ts create mode 100644 tests/cases/compiler/sourceMapValidationSwitch.ts create mode 100644 tests/cases/compiler/sourceMapValidationTryCatchFinally.ts create mode 100644 tests/cases/compiler/sourceMapValidationVariables.ts create mode 100644 tests/cases/compiler/sourceMapValidationWhile.ts create mode 100644 tests/cases/compiler/sourceMapValidationWithComments.ts create mode 100644 tests/cases/compiler/sourcemapValidationDuplicateNames.ts create mode 100644 tests/cases/compiler/specializationError.ts create mode 100644 tests/cases/compiler/specializationOfExportedClass.ts create mode 100644 tests/cases/compiler/specializationsShouldNotAffectEachOther.ts create mode 100644 tests/cases/compiler/specializeVarArgs1.ts create mode 100644 tests/cases/compiler/specializedInheritedConstructors1.ts create mode 100644 tests/cases/compiler/specializedLambdaTypeArguments.ts create mode 100644 tests/cases/compiler/specializedOverloadWithRestParameters.ts create mode 100644 tests/cases/compiler/specializedSignatureAsCallbackParameter1.ts create mode 100644 tests/cases/compiler/specializedSignatureOverloadReturnTypeWithIndexers.ts create mode 100644 tests/cases/compiler/staticAndMemberFunctions.ts create mode 100644 tests/cases/compiler/staticClassMemberError.ts create mode 100644 tests/cases/compiler/staticClassProps.ts create mode 100644 tests/cases/compiler/staticGetter1.ts create mode 100644 tests/cases/compiler/staticGetter2.ts create mode 100644 tests/cases/compiler/staticGetterAndSetter.ts create mode 100644 tests/cases/compiler/staticIndexer.ts create mode 100644 tests/cases/compiler/staticInheritance.ts create mode 100644 tests/cases/compiler/staticInstanceResolution.ts create mode 100644 tests/cases/compiler/staticInstanceResolution2.ts create mode 100644 tests/cases/compiler/staticInstanceResolution3.ts create mode 100644 tests/cases/compiler/staticInstanceResolution4.ts create mode 100644 tests/cases/compiler/staticInstanceResolution5.ts create mode 100644 tests/cases/compiler/staticInterfaceAssignmentCompat.ts create mode 100644 tests/cases/compiler/staticMemberAccessOffDerivedType1.ts create mode 100644 tests/cases/compiler/staticMemberExportAccess.ts create mode 100644 tests/cases/compiler/staticMemberOfClassAndPublicMemberOfAnotherClassAssignment.ts create mode 100644 tests/cases/compiler/staticMemberWithStringAndNumberNames.ts create mode 100644 tests/cases/compiler/staticMethodReferencingTypeArgument1.ts create mode 100644 tests/cases/compiler/staticMethodsReferencingClassTypeParameters.ts create mode 100644 tests/cases/compiler/staticModifierAlreadySeen.ts create mode 100644 tests/cases/compiler/staticMustPrecedePublic.ts create mode 100644 tests/cases/compiler/staticOffOfInstance1.ts create mode 100644 tests/cases/compiler/staticOffOfInstance2.ts create mode 100644 tests/cases/compiler/staticPropSuper.ts create mode 100644 tests/cases/compiler/staticPrototypeProperty.ts create mode 100644 tests/cases/compiler/staticPrototypePropertyOnClass.ts create mode 100644 tests/cases/compiler/staticVisibility.ts create mode 100644 tests/cases/compiler/statics.ts create mode 100644 tests/cases/compiler/staticsInAFunction.ts create mode 100644 tests/cases/compiler/staticsInConstructorBodies.ts create mode 100644 tests/cases/compiler/staticsNotInScopeInClodule.ts create mode 100644 tests/cases/compiler/stradac.ts create mode 100644 tests/cases/compiler/strictMode1.ts create mode 100644 tests/cases/compiler/strictMode2.ts create mode 100644 tests/cases/compiler/strictMode3.ts create mode 100644 tests/cases/compiler/strictMode4.ts create mode 100644 tests/cases/compiler/strictModeInConstructor.ts create mode 100644 tests/cases/compiler/stringHasStringValuedNumericIndexer.ts create mode 100644 tests/cases/compiler/stringIndexerAndConstructor.ts create mode 100644 tests/cases/compiler/stringIndexerAndConstructor1.ts create mode 100644 tests/cases/compiler/stringIndexerAssignments1.ts create mode 100644 tests/cases/compiler/stringIndexerAssignments2.ts create mode 100644 tests/cases/compiler/stringLiteralObjectLiteralDeclaration1.ts create mode 100644 tests/cases/compiler/stringLiteralPropertyNameWithLineContinuation1.ts create mode 100644 tests/cases/compiler/stringLiteralsErrors.ts create mode 100644 tests/cases/compiler/stringPropCodeGen.ts create mode 100644 tests/cases/compiler/structural1.ts create mode 100644 tests/cases/compiler/structuralTypeInDeclareFileForModule.ts create mode 100644 tests/cases/compiler/styleOptions.ts create mode 100644 tests/cases/compiler/subtypingTransitivity.ts create mode 100644 tests/cases/compiler/super.ts create mode 100644 tests/cases/compiler/super1.ts create mode 100644 tests/cases/compiler/super2.ts create mode 100644 tests/cases/compiler/superAccess.ts create mode 100644 tests/cases/compiler/superAccess2.ts create mode 100644 tests/cases/compiler/superAccessInFatArrow1.ts create mode 100644 tests/cases/compiler/superCallArgsMustMatch.ts create mode 100644 tests/cases/compiler/superCallAssignResult.ts create mode 100644 tests/cases/compiler/superCallFromClassThatDerivesFromGenericType1.ts create mode 100644 tests/cases/compiler/superCallFromClassThatDerivesFromGenericType2.ts create mode 100644 tests/cases/compiler/superCallInNonStaticMethod.ts create mode 100644 tests/cases/compiler/superCallInStaticMethod.ts create mode 100644 tests/cases/compiler/superCallOutsideConstructor.ts create mode 100644 tests/cases/compiler/superCallsInConstructor.ts create mode 100644 tests/cases/compiler/superErrors.ts create mode 100644 tests/cases/compiler/superInCatchBlock1.ts create mode 100644 tests/cases/compiler/superInConstructorParam1.ts create mode 100644 tests/cases/compiler/superInLambdas.ts create mode 100644 tests/cases/compiler/superPropertyAccess.ts create mode 100644 tests/cases/compiler/superPropertyAccess1.ts create mode 100644 tests/cases/compiler/superPropertyAccess2.ts create mode 100644 tests/cases/compiler/superWithGenericSpecialization.ts create mode 100644 tests/cases/compiler/superWithGenerics.ts create mode 100644 tests/cases/compiler/superWithTypeArgument.ts create mode 100644 tests/cases/compiler/superWithTypeArgument2.ts create mode 100644 tests/cases/compiler/superWithTypeArgument3.ts create mode 100644 tests/cases/compiler/super_inside-object-literal-getters-and-setters.ts create mode 100644 tests/cases/compiler/switchAssignmentCompat.ts create mode 100644 tests/cases/compiler/switchCases.ts create mode 100644 tests/cases/compiler/switchCasesExpressionTypeMismatch.ts create mode 100644 tests/cases/compiler/switchFallThroughs.ts create mode 100644 tests/cases/compiler/targetTypeArgs.ts create mode 100644 tests/cases/compiler/targetTypeBaseCalls.ts create mode 100644 tests/cases/compiler/targetTypeCalls.ts create mode 100644 tests/cases/compiler/targetTypeCastTest.ts create mode 100644 tests/cases/compiler/targetTypeObjectLiteral.ts create mode 100644 tests/cases/compiler/targetTypeObjectLiteralToAny.ts create mode 100644 tests/cases/compiler/targetTypeTest1.ts create mode 100644 tests/cases/compiler/targetTypeTest2.ts create mode 100644 tests/cases/compiler/targetTypeTest3.ts create mode 100644 tests/cases/compiler/targetTypeVoidFunc.ts create mode 100644 tests/cases/compiler/targetTypingOnFunctions.ts create mode 100644 tests/cases/compiler/ternaryExpressionSourceMap.ts create mode 100644 tests/cases/compiler/testTypings.ts create mode 100644 tests/cases/compiler/thisBinding.ts create mode 100644 tests/cases/compiler/thisBinding2.ts create mode 100644 tests/cases/compiler/thisCapture1.ts create mode 100644 tests/cases/compiler/thisExpressionInCallExpressionWithTypeArguments.ts create mode 100644 tests/cases/compiler/thisExpressionInIndexExpression.ts create mode 100644 tests/cases/compiler/thisExpressionOfGenericObject.ts create mode 100644 tests/cases/compiler/thisInAccessors.ts create mode 100644 tests/cases/compiler/thisInArrowFunctionInStaticInitializer1.ts create mode 100644 tests/cases/compiler/thisInConstructorParameter1.ts create mode 100644 tests/cases/compiler/thisInConstructorParameter2.ts create mode 100644 tests/cases/compiler/thisInGenericStaticMembers.ts create mode 100644 tests/cases/compiler/thisInInnerFunctions.ts create mode 100644 tests/cases/compiler/thisInLambda.ts create mode 100644 tests/cases/compiler/thisInModule.ts create mode 100644 tests/cases/compiler/thisInModuleFunction1.ts create mode 100644 tests/cases/compiler/thisInOuterClassBody.ts create mode 100644 tests/cases/compiler/thisInPropertyBoundDeclarations.ts create mode 100644 tests/cases/compiler/thisInStaticMethod1.ts create mode 100644 tests/cases/compiler/thisInStatics.ts create mode 100644 tests/cases/compiler/thisInSuperCall.ts create mode 100644 tests/cases/compiler/thisInSuperCall1.ts create mode 100644 tests/cases/compiler/thisInSuperCall2.ts create mode 100644 tests/cases/compiler/thisInSuperCall3.ts create mode 100644 tests/cases/compiler/thisKeyword.ts create mode 100644 tests/cases/compiler/thisReferencedInFunctionInsideArrowFunction1.ts create mode 100644 tests/cases/compiler/thisWhenTypeCheckFails.ts create mode 100644 tests/cases/compiler/this_inside-enum-should-not-be-allowed.ts create mode 100644 tests/cases/compiler/this_inside-object-literal-getters-and-setters.ts create mode 100644 tests/cases/compiler/toStringOnPrimitives.ts create mode 100644 tests/cases/compiler/tooFewArgumentsInGenericFunctionTypedArgument.ts create mode 100644 tests/cases/compiler/tooManyTypeParameters1.ts create mode 100644 tests/cases/compiler/topLevel.ts create mode 100644 tests/cases/compiler/topLevelExports.ts create mode 100644 tests/cases/compiler/topLevelLambda.ts create mode 100644 tests/cases/compiler/topLevelLambda2.ts create mode 100644 tests/cases/compiler/topLevelLambda3.ts create mode 100644 tests/cases/compiler/topLevelLambda4.ts create mode 100644 tests/cases/compiler/trailingCommaInHeterogenousArrayLiteral1.ts create mode 100644 tests/cases/compiler/trailingSeparatorInFunctionCall.ts create mode 100644 tests/cases/compiler/transitiveTypeArgumentInference1.ts create mode 100644 tests/cases/compiler/tryCatchFinally.ts create mode 100644 tests/cases/compiler/typeAnnotationBestCommonTypeInArrayLiteral.ts create mode 100644 tests/cases/compiler/typeArgInference.ts create mode 100644 tests/cases/compiler/typeArgInference2.ts create mode 100644 tests/cases/compiler/typeArgInference2WithError.ts create mode 100644 tests/cases/compiler/typeArgInferenceWithNull.ts create mode 100644 tests/cases/compiler/typeArgumentConstraintResolution1.ts create mode 100644 tests/cases/compiler/typeArgumentInferenceOrdering.ts create mode 100644 tests/cases/compiler/typeArgumentInferenceWithConstraintAsCommonRoot.ts create mode 100644 tests/cases/compiler/typeArgumentsInFunctionExpressions.ts create mode 100644 tests/cases/compiler/typeArgumentsOnFunctionsWithNoTypeParameters.ts create mode 100644 tests/cases/compiler/typeArgumentsShouldDisallowNonGenericOverloads.ts create mode 100644 tests/cases/compiler/typeAssertionToGenericFunctionType.ts create mode 100644 tests/cases/compiler/typeCheckObjectCreationExpressionWithUndefinedCallResolutionData.ts create mode 100644 tests/cases/compiler/typeCheckTypeArgument.ts create mode 100644 tests/cases/compiler/typeCheckingInsideFunctionExpressionInArray.ts create mode 100644 tests/cases/compiler/typeConstraintsWithConstructSignatures.ts create mode 100644 tests/cases/compiler/typeIdentityConsidersBrands.ts create mode 100644 tests/cases/compiler/typeInfer1.ts create mode 100644 tests/cases/compiler/typeInferenceConflictingCandidates.ts create mode 100644 tests/cases/compiler/typeInferenceFixEarly.ts create mode 100644 tests/cases/compiler/typeInferenceReturnTypeCallback.ts create mode 100644 tests/cases/compiler/typeInferenceWithTypeAnnotation.ts create mode 100644 tests/cases/compiler/typeLiteralCallback.ts create mode 100644 tests/cases/compiler/typeMatch1.ts create mode 100644 tests/cases/compiler/typeMatch2.ts create mode 100644 tests/cases/compiler/typeName1.ts create mode 100644 tests/cases/compiler/typeOfEnumAndVarRedeclarations.ts create mode 100644 tests/cases/compiler/typeOfOnTypeArg.ts create mode 100644 tests/cases/compiler/typeOfOperator1.ts create mode 100644 tests/cases/compiler/typeOfPrototype.ts create mode 100644 tests/cases/compiler/typeOfSuperCall.ts create mode 100644 tests/cases/compiler/typeOfThisInStatics.ts create mode 100644 tests/cases/compiler/typeParamExtendsOtherTypeParam.ts create mode 100644 tests/cases/compiler/typeParameterAndArgumentOfSameName1.ts create mode 100644 tests/cases/compiler/typeParameterArgumentEquivalence.ts create mode 100644 tests/cases/compiler/typeParameterArgumentEquivalence2.ts create mode 100644 tests/cases/compiler/typeParameterArgumentEquivalence3.ts create mode 100644 tests/cases/compiler/typeParameterArgumentEquivalence4.ts create mode 100644 tests/cases/compiler/typeParameterArgumentEquivalence5.ts create mode 100644 tests/cases/compiler/typeParameterAsBaseClass.ts create mode 100644 tests/cases/compiler/typeParameterAsElementType.ts create mode 100644 tests/cases/compiler/typeParameterAssignmentCompat1.ts create mode 100644 tests/cases/compiler/typeParameterAssignmentWithConstraints.ts create mode 100644 tests/cases/compiler/typeParameterCompatibilityAccrossDeclarations.ts create mode 100644 tests/cases/compiler/typeParameterConstrainedToOuterTypeParameter.ts create mode 100644 tests/cases/compiler/typeParameterConstrainedToOuterTypeParameter2.ts create mode 100644 tests/cases/compiler/typeParameterConstraints1.ts create mode 100644 tests/cases/compiler/typeParameterExplicitlyExtendsAny.ts create mode 100644 tests/cases/compiler/typeParameterHasSelfAsConstraint.ts create mode 100644 tests/cases/compiler/typeParameterOrderReversal.ts create mode 100644 tests/cases/compiler/typeParameterWithInvalidConstraintType.ts create mode 100644 tests/cases/compiler/typeParametersInStaticAccessors.ts create mode 100644 tests/cases/compiler/typeParametersInStaticMethods.ts create mode 100644 tests/cases/compiler/typeParametersInStaticProperties.ts create mode 100644 tests/cases/compiler/typeParametersShouldNotBeEqual.ts create mode 100644 tests/cases/compiler/typeParametersShouldNotBeEqual2.ts create mode 100644 tests/cases/compiler/typeParametersShouldNotBeEqual3.ts create mode 100644 tests/cases/compiler/typeResolution.ts create mode 100644 tests/cases/compiler/typeVal.ts create mode 100644 tests/cases/compiler/typeValueConflict1.ts create mode 100644 tests/cases/compiler/typeValueConflict2.ts create mode 100644 tests/cases/compiler/typecheckCommaExpression.ts create mode 100644 tests/cases/compiler/typecheckIfCondition.ts create mode 100644 tests/cases/compiler/typedGenericPrototypeMember.ts create mode 100644 tests/cases/compiler/typeofAmbientExternalModules.ts create mode 100644 tests/cases/compiler/typeofClass.ts create mode 100644 tests/cases/compiler/typeofEnum.ts create mode 100644 tests/cases/compiler/typeofExternalModules.ts create mode 100644 tests/cases/compiler/typeofInObjectLiteralType.ts create mode 100644 tests/cases/compiler/typeofInterface.ts create mode 100644 tests/cases/compiler/typeofInternalModules.ts create mode 100644 tests/cases/compiler/typeofProperty.ts create mode 100644 tests/cases/compiler/typeofSimple.ts create mode 100644 tests/cases/compiler/typeofUndefined.ts create mode 100644 tests/cases/compiler/typeofUnknownSymbol.ts create mode 100644 tests/cases/compiler/unaryOperators1.ts create mode 100644 tests/cases/compiler/unaryPlus.ts create mode 100644 tests/cases/compiler/uncaughtCompilerError1.ts create mode 100644 tests/cases/compiler/uncaughtCompilerError2.ts create mode 100644 tests/cases/compiler/undeclaredBase.ts create mode 100644 tests/cases/compiler/undeclaredMethod.ts create mode 100644 tests/cases/compiler/undeclaredModuleError.ts create mode 100644 tests/cases/compiler/undeclaredVarEmit.ts create mode 100644 tests/cases/compiler/undefinedArgumentInference.ts create mode 100644 tests/cases/compiler/undefinedInferentialTyping.ts create mode 100644 tests/cases/compiler/undefinedSymbolReferencedInArrayLiteral1.ts create mode 100644 tests/cases/compiler/undefinedTypeArgument1.ts create mode 100644 tests/cases/compiler/undefinedTypeArgument2.ts create mode 100644 tests/cases/compiler/underscoreMapFirst.ts create mode 100644 tests/cases/compiler/underscoreTest1.ts create mode 100644 tests/cases/compiler/unexpectedStatementBlockTerminator.ts create mode 100644 tests/cases/compiler/unexportedInstanceClassVariables.ts create mode 100644 tests/cases/compiler/unicodeIdentifierName2.ts create mode 100644 tests/cases/compiler/unicodeIdentifierNames.ts create mode 100644 tests/cases/compiler/unknownSymbolInGenericReturnType.ts create mode 100644 tests/cases/compiler/unknownSymbolOffContextualType1.ts create mode 100644 tests/cases/compiler/unknownSymbols1.ts create mode 100644 tests/cases/compiler/unknownSymbols2.ts create mode 100644 tests/cases/compiler/unknownTypeArgOnCall.ts create mode 100644 tests/cases/compiler/unknownTypeErrors.ts create mode 100644 tests/cases/compiler/unqualifiedCallToClassStatic1.ts create mode 100644 tests/cases/compiler/unresolvedTypeAssertionSymbol.ts create mode 100644 tests/cases/compiler/unspecializedConstraints.ts create mode 100644 tests/cases/compiler/unterminatedRegexAtEndOfSource1.ts create mode 100644 tests/cases/compiler/unterminatedStringLiteralWithBackslash1.ts create mode 100644 tests/cases/compiler/untypedArgumentInLambdaExpression.ts create mode 100644 tests/cases/compiler/untypedFunctionCallsWithTypeParameters1.ts create mode 100644 tests/cases/compiler/unusedImportDeclaration.ts create mode 100644 tests/cases/compiler/usingModuleWithExportImportInValuePosition.ts create mode 100644 tests/cases/compiler/validRegexp.ts create mode 100644 tests/cases/compiler/validUseOfThisInSuper.ts create mode 100644 tests/cases/compiler/varAndFunctionShareName.ts create mode 100644 tests/cases/compiler/varArgConstructorMemberParameter.ts create mode 100644 tests/cases/compiler/varArgParamTypeCheck.ts create mode 100644 tests/cases/compiler/varArgWithNoParamName.ts create mode 100644 tests/cases/compiler/varArgsOnConstructorTypes.ts create mode 100644 tests/cases/compiler/varAsID.ts create mode 100644 tests/cases/compiler/varBlock.ts create mode 100644 tests/cases/compiler/varInFunctionInVarInitializer.ts create mode 100644 tests/cases/compiler/varNameConflictsWithImportInDifferentPartOfModule.ts create mode 100644 tests/cases/compiler/vararg.ts create mode 100644 tests/cases/compiler/vardecl.ts create mode 100644 tests/cases/compiler/variableDeclarator1.ts create mode 100644 tests/cases/compiler/variableDeclaratorResolvedDuringContextualTyping.ts create mode 100644 tests/cases/compiler/visSyntax.ts create mode 100644 tests/cases/compiler/visibilityOfCrossModuleTypeUsage.ts create mode 100644 tests/cases/compiler/voidArrayLit.ts create mode 100644 tests/cases/compiler/voidAsNonAmbiguousReturnType.ts create mode 100644 tests/cases/compiler/voidAsOperator.ts create mode 100644 tests/cases/compiler/voidConstructor.ts create mode 100644 tests/cases/compiler/voidFunctionAssignmentCompat.ts create mode 100644 tests/cases/compiler/voidOperator1.ts create mode 100644 tests/cases/compiler/voidReturnLambdaValue.ts create mode 100644 tests/cases/compiler/widenToAny1.ts create mode 100644 tests/cases/compiler/widenToAny2.ts create mode 100644 tests/cases/compiler/widenedTypes.ts create mode 100644 tests/cases/compiler/widenedTypes1.ts create mode 100644 tests/cases/compiler/withExportDecl.ts create mode 100644 tests/cases/compiler/withImportDecl.ts create mode 100644 tests/cases/compiler/withStatement.ts create mode 100644 tests/cases/compiler/withStatementErrors.ts create mode 100644 tests/cases/compiler/withStatementNestedScope.ts create mode 100644 tests/cases/compiler/wrappedRecursiveGenericType.ts create mode 100644 tests/cases/conformance/ambient/ambientDeclarations.ts create mode 100644 tests/cases/conformance/ambient/ambientDeclarationsExternal.ts create mode 100644 tests/cases/conformance/ambient/ambientErrors.ts create mode 100644 tests/cases/conformance/classes/classDeclarations/classAndInterfaceWithSameName.ts create mode 100644 tests/cases/conformance/classes/classDeclarations/classAndVariableWithSameName.ts create mode 100644 tests/cases/conformance/classes/classDeclarations/classBody/classBodyWithStatements.ts create mode 100644 tests/cases/conformance/classes/classDeclarations/classBody/classWithEmptyBody.ts create mode 100644 tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classAppearsToHaveMembersOfObject.ts create mode 100644 tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendingClass.ts create mode 100644 tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendingPrimitive.ts create mode 100644 tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsEveryObjectType.ts create mode 100644 tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItself.ts create mode 100644 tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly.ts create mode 100644 tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly2.ts create mode 100644 tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly3.ts create mode 100644 tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsShadowedConstructorFunction.ts create mode 100644 tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsValidConstructorFunction.ts create mode 100644 tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classIsSubtypeOfBaseType.ts create mode 100644 tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/constructorFunctionTypeIsAssignableToBaseType.ts create mode 100644 tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/constructorFunctionTypeIsAssignableToBaseType2.ts create mode 100644 tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/derivedTypeDoesNotRequireExtendsClause.ts create mode 100644 tests/cases/conformance/classes/classDeclarations/classWithPredefinedTypesAsNames.ts create mode 100644 tests/cases/conformance/classes/classDeclarations/classWithPredefinedTypesAsNames2.ts create mode 100644 tests/cases/conformance/classes/classExpression.ts create mode 100644 tests/cases/conformance/classes/constructorDeclarations/automaticConstructors/classWithoutExplicitConstructor.ts create mode 100644 tests/cases/conformance/classes/constructorDeclarations/automaticConstructors/derivedClassWithoutExplicitConstructor.ts create mode 100644 tests/cases/conformance/classes/constructorDeclarations/automaticConstructors/derivedClassWithoutExplicitConstructor2.ts create mode 100644 tests/cases/conformance/classes/constructorDeclarations/automaticConstructors/derivedClassWithoutExplicitConstructor3.ts create mode 100644 tests/cases/conformance/classes/constructorDeclarations/classConstructorAccessibility.ts create mode 100644 tests/cases/conformance/classes/constructorDeclarations/classWithTwoConstructorDefinitions.ts create mode 100644 tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorDefaultValuesReferencingThis.ts create mode 100644 tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorImplementationWithDefaultValues.ts create mode 100644 tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorImplementationWithDefaultValues2.ts create mode 100644 tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorOverloadsWithDefaultValues.ts create mode 100644 tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorOverloadsWithOptionalParameters.ts create mode 100644 tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties.ts create mode 100644 tests/cases/conformance/classes/constructorDeclarations/constructorParameters/constructorParameterProperties2.ts create mode 100644 tests/cases/conformance/classes/constructorDeclarations/constructorWithAssignableReturnExpression.ts create mode 100644 tests/cases/conformance/classes/constructorDeclarations/constructorWithExpressionLessReturn.ts create mode 100644 tests/cases/conformance/classes/constructorDeclarations/superCalls/derivedClassConstructorWithoutSuperCall.ts create mode 100644 tests/cases/conformance/classes/constructorDeclarations/superCalls/derivedClassParameterProperties.ts create mode 100644 tests/cases/conformance/classes/constructorDeclarations/superCalls/derivedClassSuperCallsInNonConstructorMembers.ts create mode 100644 tests/cases/conformance/classes/constructorDeclarations/superCalls/derivedClassSuperCallsWithThisArg.ts create mode 100644 tests/cases/conformance/classes/constructorDeclarations/superCalls/superCallInConstructorWithNoBaseType.ts create mode 100644 tests/cases/conformance/classes/indexMemberDeclarations/privateIndexer.ts create mode 100644 tests/cases/conformance/classes/indexMemberDeclarations/privateIndexer2.ts create mode 100644 tests/cases/conformance/classes/indexMemberDeclarations/publicIndexer.ts create mode 100644 tests/cases/conformance/classes/indexMemberDeclarations/staticIndexers.ts create mode 100644 tests/cases/conformance/classes/members/accessibility/classPropertyAsPrivate.ts create mode 100644 tests/cases/conformance/classes/members/accessibility/classPropertyIsPublicByDefault.ts create mode 100644 tests/cases/conformance/classes/members/accessibility/privateClassPropertyAccessibleWithinClass.ts create mode 100644 tests/cases/conformance/classes/members/accessibility/privateInstanceMemberAccessibility.ts create mode 100644 tests/cases/conformance/classes/members/accessibility/privateStaticMemberAccessibility.ts create mode 100644 tests/cases/conformance/classes/members/accessibility/privateStaticNotAccessibleInClodule.ts create mode 100644 tests/cases/conformance/classes/members/accessibility/privateStaticNotAccessibleInClodule2.ts create mode 100644 tests/cases/conformance/classes/members/classTypes/indexersInClassType.ts create mode 100644 tests/cases/conformance/classes/members/classTypes/instancePropertiesInheritedIntoClassType.ts create mode 100644 tests/cases/conformance/classes/members/classTypes/instancePropertyInClassType.ts create mode 100644 tests/cases/conformance/classes/members/classTypes/staticPropertyNotInClassType.ts create mode 100644 tests/cases/conformance/classes/members/constructorFunctionTypes/classWithBaseClassButNoConstructor.ts create mode 100644 tests/cases/conformance/classes/members/constructorFunctionTypes/classWithConstructors.ts create mode 100644 tests/cases/conformance/classes/members/constructorFunctionTypes/classWithNoConstructorOrBaseClass.ts create mode 100644 tests/cases/conformance/classes/members/constructorFunctionTypes/classWithStaticMembers.ts create mode 100644 tests/cases/conformance/classes/members/constructorFunctionTypes/constructorHasPrototypeProperty.ts create mode 100644 tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassFunctionOverridesBaseClassAccessor.ts create mode 100644 tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassIncludesInheritedMembers.ts create mode 100644 tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassOverridesIndexersWithAssignmentCompatibility.ts create mode 100644 tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassOverridesPrivates.ts create mode 100644 tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassOverridesPublicMembers.ts create mode 100644 tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassOverridesWithoutSubtype.ts create mode 100644 tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity.ts create mode 100644 tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity2.ts create mode 100644 tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassTransitivity3.ts create mode 100644 tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassWithAny.ts create mode 100644 tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassWithPrivateInstanceShadowingPublicInstance.ts create mode 100644 tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedClassWithPrivateStaticShadowingPublicStatic.ts create mode 100644 tests/cases/conformance/classes/members/inheritanceAndOverriding/derivedGenericClassWithAny.ts create mode 100644 tests/cases/conformance/classes/members/instanceAndStaticMembers/typeOfThisInInstanceMember.ts create mode 100644 tests/cases/conformance/classes/members/instanceAndStaticMembers/typeOfThisInInstanceMember2.ts create mode 100644 tests/cases/conformance/classes/members/instanceAndStaticMembers/typeOfThisInStaticMembers.ts create mode 100644 tests/cases/conformance/classes/members/instanceAndStaticMembers/typeOfThisInStaticMembers2.ts create mode 100644 tests/cases/conformance/classes/nestedClassDeclaration.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/constructorParameterShadowsOuterScopes.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorLocals.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/initializerReferencingConstructorParameters.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/instanceMemberInitialization.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/memberAccessorDeclarations/accessorWithES3.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/memberAccessorDeclarations/accessorWithES5.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/memberAccessorDeclarations/accessorsAreNotContextuallyTyped.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/memberAccessorDeclarations/typeOfThisInAccessor.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/derivedTypeAccessesHiddenBaseCallViaSuperPropertyAccess.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/instanceMemberAssignsToClassPrototype.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionOverloadMixingStaticAndInstance.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPrivateOverloads.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPublicOverloads.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/memberFunctionsWithPublicPrivateOverloads.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/staticFactory1.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/staticMemberAssignsToConstructorFunctionMembers.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/memberFunctionDeclarations/typeOfThisInMemberFunctions.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/propertyAndAccessorWithSameName.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/propertyAndFunctionWithSameName.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/propertyNamedPrototype.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/staticAndNonStaticPropertiesSameName.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/staticMemberInitialization.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/staticPropertyAndFunctionWithSameName.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/thisInInstanceMemberInitializer.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/twoAccessorsWithSameName.ts create mode 100644 tests/cases/conformance/classes/propertyMemberDeclarations/twoAccessorsWithSameName2.ts create mode 100644 tests/cases/conformance/enums/enumBasics.ts create mode 100644 tests/cases/conformance/enums/enumErrors.ts create mode 100644 tests/cases/conformance/enums/enumMerging.ts create mode 100644 tests/cases/conformance/enums/enumMergingErrors.ts create mode 100644 tests/cases/conformance/expressions/arrayLiterals/arrayLiterals.ts create mode 100644 tests/cases/conformance/expressions/assignmentOperator/assignmentLHSIsReference.ts create mode 100644 tests/cases/conformance/expressions/assignmentOperator/assignmentLHSIsValue.ts create mode 100644 tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentLHSCanBeAssigned.ts create mode 100644 tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentLHSCannotBeAssigned.ts create mode 100644 tests/cases/conformance/expressions/assignmentOperator/compoundAdditionAssignmentWithInvalidOperands.ts create mode 100644 tests/cases/conformance/expressions/assignmentOperator/compoundArithmeticAssignmentLHSCanBeAssigned.ts create mode 100644 tests/cases/conformance/expressions/assignmentOperator/compoundArithmeticAssignmentWithInvalidOperands.ts create mode 100644 tests/cases/conformance/expressions/assignmentOperator/compoundAssignmentLHSIsReference.ts create mode 100644 tests/cases/conformance/expressions/assignmentOperator/compoundAssignmentLHSIsValue.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithAnyAndEveryType.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithInvalidOperands.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndInvalidOperator.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNullValueAndValidOperator.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithNumberAndEnum.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithOnlyNullValueOrUndefinedValue.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithStringAndEveryType.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithTypeParameter.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndInvalidOperands.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/additionOperator/additionOperatorWithUndefinedValueAndValidOperator.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithAnyAndNumber.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithEnum.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithInvalidOperands.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithNullValueAndInvalidOperands.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithNullValueAndValidOperands.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithOnlyNullValueOrUndefinedValue.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithTypeParameter.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithUndefinedValueAndInvalidOperands.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/arithmeticOperator/arithmeticOperatorWithUndefinedValueAndValidOperands.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithIdenticalObjects.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithIdenticalPrimitiveType.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithIdenticalTypeParameter.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnCallSignature.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnConstructorSignature.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnIndexSignature.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedCallSignature.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnInstantiatedConstructorSignature.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnOptionalProperty.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipObjectsOnProperty.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipPrimitiveType.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithNoRelationshipTypeParameter.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsAny.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsNull.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithOneOperandIsUndefined.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithSubtypeEnumAndNumber.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithSubtypeObjectOnCallSignature.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithSubtypeObjectOnConstructorSignature.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithSubtypeObjectOnIndexSignature.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithSubtypeObjectOnInstantiatedCallSignature.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithSubtypeObjectOnInstantiatedConstructorSignature.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithSubtypeObjectOnOptionalProperty.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithSubtypeObjectOnProperty.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTwoOperandsAreAny.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithTypeParameter.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithInvalidOperands.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/inOperator/inOperatorWithValidOperands.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/instanceofOperator/instanceofOperatorWithAny.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/instanceofOperator/instanceofOperatorWithInvalidOperands.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/instanceofOperator/instanceofOperatorWithLHSIsObject.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/instanceofOperator/instanceofOperatorWithLHSIsTypeParameter.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/instanceofOperator/instanceofOperatorWithRHSIsSubtypeOfFunction.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/logicalAndOperator/logicalAndOperatorWithEveryType.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/logicalAndOperator/logicalAndOperatorWithTypeParameters.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/logicalOrOperator/logicalOrExpressionIsContextuallyTyped.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/logicalOrOperator/logicalOrExpressionIsNotContextuallyTyped.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/logicalOrOperator/logicalOrOperatorWithEveryType.ts create mode 100644 tests/cases/conformance/expressions/binaryOperators/logicalOrOperator/logicalOrOperatorWithTypeParameters.ts create mode 100644 tests/cases/conformance/expressions/commaOperator/commaOperatorInvalidAssignmentType.ts create mode 100644 tests/cases/conformance/expressions/commaOperator/commaOperatorOtherInvalidOperation.ts create mode 100644 tests/cases/conformance/expressions/commaOperator/commaOperatorOtherValidOperation.ts create mode 100644 tests/cases/conformance/expressions/commaOperator/commaOperatorWithSecondOperandAnyType.ts create mode 100644 tests/cases/conformance/expressions/commaOperator/commaOperatorWithSecondOperandBooleanType.ts create mode 100644 tests/cases/conformance/expressions/commaOperator/commaOperatorWithSecondOperandNumberType.ts create mode 100644 tests/cases/conformance/expressions/commaOperator/commaOperatorWithSecondOperandObjectType.ts create mode 100644 tests/cases/conformance/expressions/commaOperator/commaOperatorWithSecondOperandStringType.ts create mode 100644 tests/cases/conformance/expressions/commaOperator/commaOperatorWithoutOperand.ts create mode 100644 tests/cases/conformance/expressions/commaOperator/commaOperatorsMultipleOperators.ts create mode 100644 tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditionIsBooleanType.ts create mode 100644 tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditionIsNumberType.ts create mode 100644 tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditionIsObjectType.ts create mode 100644 tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditoinIsAnyType.ts create mode 100644 tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorConditoinIsStringType.ts create mode 100644 tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorWithIdenticalBCT.ts create mode 100644 tests/cases/conformance/expressions/conditonalOperator/conditionalOperatorWithoutIdenticalBCT.ts create mode 100644 tests/cases/conformance/expressions/contextualTyping/generatedContextualTyping.ts create mode 100644 tests/cases/conformance/expressions/functionCalls/functionCalls.ts create mode 100644 tests/cases/conformance/expressions/functionCalls/grammarAmbiguities.ts create mode 100644 tests/cases/conformance/expressions/functionCalls/overloadResolution.ts create mode 100644 tests/cases/conformance/expressions/functionCalls/overloadResolutionClassConstructors.ts create mode 100644 tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors.ts create mode 100644 tests/cases/conformance/expressions/functionCalls/typeArgumentInference.ts create mode 100644 tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts create mode 100644 tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceErrors.ts create mode 100644 tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceTransitiveConstraints.ts create mode 100644 tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConstraints.ts create mode 100644 tests/cases/conformance/expressions/functions/arrowFunctionContexts.ts create mode 100644 tests/cases/conformance/expressions/functions/arrowFunctionExpressions.ts create mode 100644 tests/cases/conformance/expressions/functions/typeOfThisInFunctionExpression.ts create mode 100644 tests/cases/conformance/expressions/identifiers/scopeResolutionIdentifiers.ts create mode 100644 tests/cases/conformance/expressions/literals/literals.ts create mode 100644 tests/cases/conformance/expressions/newOperator/newOperatorConformance.ts create mode 100644 tests/cases/conformance/expressions/newOperator/newOperatorErrorCases.ts create mode 100644 tests/cases/conformance/expressions/objectLiterals/objectLiteralErrors.ts create mode 100644 tests/cases/conformance/expressions/objectLiterals/objectLiteralErrorsES3.ts create mode 100644 tests/cases/conformance/expressions/objectLiterals/objectLiteralGettersAndSetters.ts create mode 100644 tests/cases/conformance/expressions/operators/incrementAndDecrement.ts create mode 100644 tests/cases/conformance/expressions/propertyAccess/propertyAccess.ts create mode 100644 tests/cases/conformance/expressions/superCalls/errorSuperCalls.ts create mode 100644 tests/cases/conformance/expressions/superCalls/superCalls.ts create mode 100644 tests/cases/conformance/expressions/superPropertyAccess/errorSuperPropertyAccess.ts create mode 100644 tests/cases/conformance/expressions/superPropertyAccess/superPropertyAccessNoError.ts create mode 100644 tests/cases/conformance/expressions/thisKeyword/thisInInvalidContexts.ts create mode 100644 tests/cases/conformance/expressions/thisKeyword/thisInInvalidContextsExternalModule.ts create mode 100644 tests/cases/conformance/expressions/thisKeyword/thisInObjectLiterals.ts create mode 100644 tests/cases/conformance/expressions/thisKeyword/typeOfThis.ts create mode 100644 tests/cases/conformance/expressions/thisKeyword/typeOfThisInConstructorParamList.ts create mode 100644 tests/cases/conformance/expressions/typeAssertions/typeAssertions.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/bitwiseNotOperator/bitwiseNotOperatorInvalidOperations.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/bitwiseNotOperator/bitwiseNotOperatorWithAnyOtherType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/bitwiseNotOperator/bitwiseNotOperatorWithBooleanType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/bitwiseNotOperator/bitwiseNotOperatorWithEnumType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/bitwiseNotOperator/bitwiseNotOperatorWithNumberType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/bitwiseNotOperator/bitwiseNotOperatorWithStringType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithAnyOtherType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithAnyOtherTypeInvalidOperations.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithEnumTypeInvalidOperations.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithNumberType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithNumberTypeInvalidOperations.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithUnsupportedBooleanType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/decrementOperator/decrementOperatorWithUnsupportedStringType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorInvalidOperations.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithAnyOtherType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithBooleanType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithEnumType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithNumberType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/deleteOperator/deleteOperatorWithStringType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithAnyOtherType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithAnyOtherTypeInvalidOperations.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithEnumType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithEnumTypeInvalidOperations.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithNumberType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithNumberTypeInvalidOperations.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithUnsupportedBooleanType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/incrementOperator/incrementOperatorWithUnsupportedStringType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorInvalidOperations.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorWithAnyOtherType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorWithBooleanType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorWithEnumType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorWithNumberType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/logicalNotOperator/logicalNotOperatorWithStringType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperatorInvalidOperations.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperatorWithAnyOtherType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperatorWithBooleanType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperatorWithEnumType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperatorWithNumberType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperatorWithStringType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/plusOperator/plusOperatorInvalidOperations.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/plusOperator/plusOperatorWithAnyOtherType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/plusOperator/plusOperatorWithBooleanType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/plusOperator/plusOperatorWithEnumType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/plusOperator/plusOperatorWithNumberType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/plusOperator/plusOperatorWithStringType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorInvalidOperations.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithAnyOtherType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithBooleanType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithEnumType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithNumberType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/typeofOperator/typeofOperatorWithStringType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/voidOperator/voidOperatorInvalidOperations.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/voidOperator/voidOperatorWithAnyOtherType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/voidOperator/voidOperatorWithBooleanType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/voidOperator/voidOperatorWithEnumType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/voidOperator/voidOperatorWithNumberType.ts create mode 100644 tests/cases/conformance/expressions/unaryOperators/voidOperator/voidOperatorWithStringType.ts create mode 100644 tests/cases/conformance/expressions/valuesAndReferences/assignmentToParenthesizedIdentifiers.ts create mode 100644 tests/cases/conformance/expressions/valuesAndReferences/assignments.ts create mode 100644 tests/cases/conformance/externalModules/amdImportAsPrimaryExpression.ts create mode 100644 tests/cases/conformance/externalModules/amdImportNotAsPrimaryExpression.ts create mode 100644 tests/cases/conformance/externalModules/circularReference.ts create mode 100644 tests/cases/conformance/externalModules/commonJSImportAsPrimaryExpression.ts create mode 100644 tests/cases/conformance/externalModules/commonJSImportNotAsPrimaryExpression.ts create mode 100644 tests/cases/conformance/externalModules/duplicateExportAssignments.ts create mode 100644 tests/cases/conformance/externalModules/exportAssignDottedName.ts create mode 100644 tests/cases/conformance/externalModules/exportAssignImportedIdentifier.ts create mode 100644 tests/cases/conformance/externalModules/exportAssignNonIdentifier.ts create mode 100644 tests/cases/conformance/externalModules/exportAssignTypes.ts create mode 100644 tests/cases/conformance/externalModules/exportAssignmentAndDeclaration.ts create mode 100644 tests/cases/conformance/externalModules/exportAssignmentCircularModules.ts create mode 100644 tests/cases/conformance/externalModules/exportAssignmentConstrainedGenericType.ts create mode 100644 tests/cases/conformance/externalModules/exportAssignmentGenericType.ts create mode 100644 tests/cases/conformance/externalModules/exportAssignmentMergedInterface.ts create mode 100644 tests/cases/conformance/externalModules/exportAssignmentMergedModule.ts create mode 100644 tests/cases/conformance/externalModules/exportAssignmentTopLevelClodule.ts create mode 100644 tests/cases/conformance/externalModules/exportAssignmentTopLevelEnumdule.ts create mode 100644 tests/cases/conformance/externalModules/exportAssignmentTopLevelFundule.ts create mode 100644 tests/cases/conformance/externalModules/exportAssignmentTopLevelIdentifier.ts create mode 100644 tests/cases/conformance/externalModules/exportDeclaredModule.ts create mode 100644 tests/cases/conformance/externalModules/exportNonVisibleType.ts create mode 100644 tests/cases/conformance/externalModules/importImportOnlyModule.ts create mode 100644 tests/cases/conformance/externalModules/importNonExternalModule.ts create mode 100644 tests/cases/conformance/externalModules/importNonStringLiteral.ts create mode 100644 tests/cases/conformance/externalModules/importTsBeforeDTs.ts create mode 100644 tests/cases/conformance/externalModules/initializersInDeclarations.ts create mode 100644 tests/cases/conformance/externalModules/moduleScoping.ts create mode 100644 tests/cases/conformance/externalModules/nameDelimitedBySlashes.ts create mode 100644 tests/cases/conformance/externalModules/nameWithFileExtension.ts create mode 100644 tests/cases/conformance/externalModules/nameWithRelativePaths.ts create mode 100644 tests/cases/conformance/externalModules/relativePathMustResolve.ts create mode 100644 tests/cases/conformance/externalModules/relativePathToDeclarationFile.ts create mode 100644 tests/cases/conformance/externalModules/topLevelAmbientModule.ts create mode 100644 tests/cases/conformance/externalModules/topLevelFileModule.ts create mode 100644 tests/cases/conformance/externalModules/topLevelFileModuleMissing.ts create mode 100644 tests/cases/conformance/externalModules/topLevelModuleDeclarationAndFile.ts create mode 100644 tests/cases/conformance/externalModules/typesOnlyExternalModuleStillHasInstance.ts create mode 100644 tests/cases/conformance/functions/conformanceFunctionOverloads.ts create mode 100644 tests/cases/conformance/functions/functionImplementationErrors.ts create mode 100644 tests/cases/conformance/functions/functionImplementations.ts create mode 100644 tests/cases/conformance/functions/functionNameConflicts.ts create mode 100644 tests/cases/conformance/functions/functionOverloadErrors.ts create mode 100644 tests/cases/conformance/functions/functionOverloadErrorsSyntax.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/genericAndNonGenericInterfaceWithTheSameName.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/genericAndNonGenericInterfaceWithTheSameName2.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/mergeThreeInterfaces.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/mergeThreeInterfaces2.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/mergeTwoInterfaces.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/mergeTwoInterfaces2.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithConflictingPropertyNames.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithConflictingPropertyNames2.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithIndexers.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithIndexers2.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheritedPrivates.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheritedPrivates2.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithInheritedPrivates3.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithMultipleBases.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithMultipleBases2.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithMultipleBases3.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithMultipleBases4.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/twoGenericInterfacesDifferingByTypeParameterName.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/twoGenericInterfacesDifferingByTypeParameterName2.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/twoGenericInterfacesWithDifferentConstraints.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/twoGenericInterfacesWithTheSameNameButDifferentArity.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/twoInterfacesDifferentRootModule.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/twoInterfacesDifferentRootModule2.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/twoMergedInterfacesWithDifferingOverloads.ts create mode 100644 tests/cases/conformance/interfaces/declarationMerging/twoMergedInterfacesWithDifferingOverloads2.ts create mode 100644 tests/cases/conformance/interfaces/interfaceDeclarations/derivedInterfaceIncompatibleWithBaseIndexer.ts create mode 100644 tests/cases/conformance/interfaces/interfaceDeclarations/interfaceThatHidesBaseProperty.ts create mode 100644 tests/cases/conformance/interfaces/interfaceDeclarations/interfaceThatHidesBaseProperty2.ts create mode 100644 tests/cases/conformance/interfaces/interfaceDeclarations/interfaceThatIndirectlyInheritsFromItself.ts create mode 100644 tests/cases/conformance/interfaces/interfaceDeclarations/interfaceThatInheritsFromItself.ts create mode 100644 tests/cases/conformance/interfaces/interfaceDeclarations/interfaceWithCallAndConstructSignature.ts create mode 100644 tests/cases/conformance/interfaces/interfaceDeclarations/interfaceWithCallSignaturesThatHidesBaseSignature.ts create mode 100644 tests/cases/conformance/interfaces/interfaceDeclarations/interfaceWithCallSignaturesThatHidesBaseSignature2.ts create mode 100644 tests/cases/conformance/interfaces/interfaceDeclarations/interfaceWithConstructSignaturesThatHidesBaseSignature.ts create mode 100644 tests/cases/conformance/interfaces/interfaceDeclarations/interfaceWithConstructSignaturesThatHidesBaseSignature2.ts create mode 100644 tests/cases/conformance/interfaces/interfaceDeclarations/interfaceWithMultipleBaseTypes.ts create mode 100644 tests/cases/conformance/interfaces/interfaceDeclarations/interfaceWithMultipleBaseTypes2.ts create mode 100644 tests/cases/conformance/interfaces/interfaceDeclarations/interfaceWithOverloadedCallAndConstructSignatures.ts create mode 100644 tests/cases/conformance/interfaces/interfaceDeclarations/interfaceWithPropertyOfEveryType.ts create mode 100644 tests/cases/conformance/interfaces/interfaceDeclarations/interfaceWithPropertyThatIsPrivateInBaseType.ts create mode 100644 tests/cases/conformance/interfaces/interfaceDeclarations/interfaceWithPropertyThatIsPrivateInBaseType2.ts create mode 100644 tests/cases/conformance/interfaces/interfaceDeclarations/interfaceWithSpecializedCallAndConstructSignatures.ts create mode 100644 tests/cases/conformance/interfaces/interfaceDeclarations/interfaceWithStringIndexerHidingBaseTypeIndexer.ts create mode 100644 tests/cases/conformance/interfaces/interfaceDeclarations/interfaceWithStringIndexerHidingBaseTypeIndexer2.ts create mode 100644 tests/cases/conformance/interfaces/interfaceDeclarations/interfaceWithStringIndexerHidingBaseTypeIndexer3.ts create mode 100644 tests/cases/conformance/interfaces/interfaceDeclarations/interfacesWithPredefinedTypesAsNames.ts create mode 100644 tests/cases/conformance/interfaces/interfacesExtendingClasses/implementingAnInterfaceExtendingClassWithPrivates.ts create mode 100644 tests/cases/conformance/interfaces/interfacesExtendingClasses/implementingAnInterfaceExtendingClassWithPrivates2.ts create mode 100644 tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClass.ts create mode 100644 tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClass2.ts create mode 100644 tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithPrivates.ts create mode 100644 tests/cases/conformance/interfaces/interfacesExtendingClasses/interfaceExtendingClassWithPrivates2.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/AmbientModuleAndAmbientFunctionWithTheSameNameAndCommonRoot.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/AmbientModuleAndAmbientWithSameNameAndCommonRoot.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/AmbientModuleAndNonAmbientClassWithSameNameAndCommonRoot.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/AmbientModuleAndNonAmbientFunctionWithTheSameNameAndCommonRoot.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/ClassAndModuleThatMergeWithModuleMemberThatUsesClassTypeParameter.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndGenericClassStaticFunctionOfTheSameName.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/ClassAndModuleThatMergeWithModulesExportedGenericFunctionAndNonGenericClassStaticFunctionOfTheSameName.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/ClassAndModuleThatMergeWithModulesExportedStaticFunctionUsingClassPrivateStatics.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/ClassAndModuleThatMergeWithStaticFunctionAndExportedFunctionThatShareAName.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/ClassAndModuleThatMergeWithStaticFunctionAndNonExportedFunctionThatShareAName.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/ClassAndModuleThatMergeWithStaticVariableAndExportedVarThatShareAName.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/ClassAndModuleThatMergeWithStaticVariableAndNonExportedVarThatShareAName.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/ClassAndModuleThatMergeWithStringIndexerAndExportedFunctionWithTypeIncompatibleWithIndexer.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/ClassAndModuleWithSameNameAndCommonRoot.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/EnumAndModuleWithSameNameAndCommonRoot.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/FunctionAndModuleWithSameNameAndCommonRoot.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/FunctionAndModuleWithSameNameAndDifferentCommonRoot.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/ModuleAndClassWithSameNameAndCommonRoot.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/ModuleAndEnumWithSameNameAndCommonRoot.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/ModuleAndFunctionWithSameNameAndCommonRoot.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/TwoInternalModulesThatMergeEachWithExportedAndNonExportedClassesOfTheSameName.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/TwoInternalModulesThatMergeEachWithExportedAndNonExportedInterfacesOfTheSameName.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/TwoInternalModulesThatMergeEachWithExportedAndNonExportedLocalVarsOfTheSameName.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/TwoInternalModulesThatMergeEachWithExportedClassesOfTheSameName.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/TwoInternalModulesThatMergeEachWithExportedInterfacesOfTheSameName.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/TwoInternalModulesThatMergeEachWithExportedLocalVarsOfTheSameName.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/TwoInternalModulesThatMergeEachWithExportedModulesOfTheSameName.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/TwoInternalModulesWithTheSameNameAndDifferentCommonRoot.ts create mode 100644 tests/cases/conformance/internalModules/DeclarationMerging/TwoInternalModulesWithTheSameNameAndSameCommonRoot.ts create mode 100644 tests/cases/conformance/internalModules/codeGeneration/exportCodeGen.ts create mode 100644 tests/cases/conformance/internalModules/codeGeneration/importStatements.ts create mode 100644 tests/cases/conformance/internalModules/codeGeneration/importStatementsInterfaces.ts create mode 100644 tests/cases/conformance/internalModules/codeGeneration/nameCollision.ts create mode 100644 tests/cases/conformance/internalModules/exportDeclarations/ExportClassWhichExtendsInterfaceWithInaccessibleType.ts create mode 100644 tests/cases/conformance/internalModules/exportDeclarations/ExportClassWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts create mode 100644 tests/cases/conformance/internalModules/exportDeclarations/ExportClassWithInaccessibleTypeInIndexerTypeAnnotations.ts create mode 100644 tests/cases/conformance/internalModules/exportDeclarations/ExportClassWithInaccessibleTypeInTypeParameterConstraint.ts create mode 100644 tests/cases/conformance/internalModules/exportDeclarations/ExportFunctionWithAccessibleTypesInParameterAndReturnTypeAnnotation.ts create mode 100644 tests/cases/conformance/internalModules/exportDeclarations/ExportFunctionWithInaccessibleTypesInParameterTypeAnnotation.ts create mode 100644 tests/cases/conformance/internalModules/exportDeclarations/ExportFunctionWithInaccessibleTypesInReturnTypeAnnotation.ts create mode 100644 tests/cases/conformance/internalModules/exportDeclarations/ExportInterfaceWithAccessibleTypesInTypeParameterConstraintsClassHeritageListMemberTypeAnnotations.ts create mode 100644 tests/cases/conformance/internalModules/exportDeclarations/ExportInterfaceWithInaccessibleTypeInIndexerTypeAnnotations.ts create mode 100644 tests/cases/conformance/internalModules/exportDeclarations/ExportInterfaceWithInaccessibleTypeInTypeParameterConstraint.ts create mode 100644 tests/cases/conformance/internalModules/exportDeclarations/ExportModuleWithAccessibleTypesOnItsExportedMembers.ts create mode 100644 tests/cases/conformance/internalModules/exportDeclarations/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInMemberTypeAnnotations.ts create mode 100644 tests/cases/conformance/internalModules/exportDeclarations/ExportObjectLiteralAndObjectTypeLiteralWithAccessibleTypesInNestedMemberTypeAnnotations.ts create mode 100644 tests/cases/conformance/internalModules/exportDeclarations/ExportVariableOfGenericTypeWithInaccessibleTypeAsTypeArgument.ts create mode 100644 tests/cases/conformance/internalModules/exportDeclarations/ExportVariableWithAccessibleTypeInTypeAnnotation.ts create mode 100644 tests/cases/conformance/internalModules/exportDeclarations/ExportVariableWithInaccessibleTypeInTypeAnnotation.ts create mode 100644 tests/cases/conformance/internalModules/exportDeclarations/ModuleWithExportedAndNonExportedClasses.ts create mode 100644 tests/cases/conformance/internalModules/exportDeclarations/ModuleWithExportedAndNonExportedEnums.ts create mode 100644 tests/cases/conformance/internalModules/exportDeclarations/ModuleWithExportedAndNonExportedFunctions.ts create mode 100644 tests/cases/conformance/internalModules/exportDeclarations/ModuleWithExportedAndNonExportedImportAlias.ts create mode 100644 tests/cases/conformance/internalModules/exportDeclarations/ModuleWithExportedAndNonExportedVariables.ts create mode 100644 tests/cases/conformance/internalModules/importDeclarations/circularImportAlias.ts create mode 100644 tests/cases/conformance/internalModules/importDeclarations/exportImportAlias.ts create mode 100644 tests/cases/conformance/internalModules/importDeclarations/importAliasIdentifiers.ts create mode 100644 tests/cases/conformance/internalModules/importDeclarations/invalidImportAliasIdentifiers.ts create mode 100644 tests/cases/conformance/internalModules/importDeclarations/shadowedInternalModule.ts create mode 100644 tests/cases/conformance/internalModules/moduleBody/invalidModuleWithStatementsOfEveryKind.ts create mode 100644 tests/cases/conformance/internalModules/moduleBody/invalidModuleWithVarStatements.ts create mode 100644 tests/cases/conformance/internalModules/moduleBody/moduleWithStatementsOfEveryKind.ts create mode 100644 tests/cases/conformance/internalModules/moduleDeclarations/InvalidNonInstantiatedModule.ts create mode 100644 tests/cases/conformance/internalModules/moduleDeclarations/instantiatedModule.ts create mode 100644 tests/cases/conformance/internalModules/moduleDeclarations/invalidInstantiatedModule.ts create mode 100644 tests/cases/conformance/internalModules/moduleDeclarations/invalidNestedModules.ts create mode 100644 tests/cases/conformance/internalModules/moduleDeclarations/nestedModules.ts create mode 100644 tests/cases/conformance/internalModules/moduleDeclarations/nonInstantiatedModule.ts create mode 100644 tests/cases/conformance/parser/ecmascript3/Accessors/parserES3Accessors1.ts create mode 100644 tests/cases/conformance/parser/ecmascript3/Accessors/parserES3Accessors2.ts create mode 100644 tests/cases/conformance/parser/ecmascript3/Accessors/parserES3Accessors3.ts create mode 100644 tests/cases/conformance/parser/ecmascript3/Accessors/parserES3Accessors4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Accessors/parserAccessors1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Accessors/parserAccessors10.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Accessors/parserAccessors2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Accessors/parserAccessors3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Accessors/parserAccessors4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Accessors/parserAccessors5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Accessors/parserAccessors6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Accessors/parserAccessors7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Accessors/parserAccessors8.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Accessors/parserAccessors9.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Accessors/parserGetAccessorWithTypeParameters1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Accessors/parserSetAccessorWithTypeAnnotation1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Accessors/parserSetAccessorWithTypeParameters1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ArrayLiteralExpressions/parserArrayLiteralExpression1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ArrayLiteralExpressions/parserArrayLiteralExpression10.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ArrayLiteralExpressions/parserArrayLiteralExpression11.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ArrayLiteralExpressions/parserArrayLiteralExpression12.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ArrayLiteralExpressions/parserArrayLiteralExpression13.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ArrayLiteralExpressions/parserArrayLiteralExpression14.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ArrayLiteralExpressions/parserArrayLiteralExpression15.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ArrayLiteralExpressions/parserArrayLiteralExpression2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ArrayLiteralExpressions/parserArrayLiteralExpression3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ArrayLiteralExpressions/parserArrayLiteralExpression4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ArrayLiteralExpressions/parserArrayLiteralExpression5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ArrayLiteralExpressions/parserArrayLiteralExpression6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ArrayLiteralExpressions/parserArrayLiteralExpression7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ArrayLiteralExpressions/parserArrayLiteralExpression8.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ArrayLiteralExpressions/parserArrayLiteralExpression9.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/parserArrowFunctionExpression1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/parserArrowFunctionExpression2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/parserArrowFunctionExpression3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ArrowFunctionExpressions/parserArrowFunctionExpression4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/AutomaticSemicolonInsertion/parserAutomaticSemicolonInsertion1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/CatchClauses/parserCatchClauseWithTypeAnnotation1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClass1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClass2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration10.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration11.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration12.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration13.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration14.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration15.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration16.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration17.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration18.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration19.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration20.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration21.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration22.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration23.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration24.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration25.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration26.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration7.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration8.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclaration9.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ClassDeclarations/parserClassDeclarationIndexSignature1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ConstructorDeclarations/parserConstructorDeclaration1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ConstructorDeclarations/parserConstructorDeclaration10.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ConstructorDeclarations/parserConstructorDeclaration11.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ConstructorDeclarations/parserConstructorDeclaration2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ConstructorDeclarations/parserConstructorDeclaration3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ConstructorDeclarations/parserConstructorDeclaration4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ConstructorDeclarations/parserConstructorDeclaration5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ConstructorDeclarations/parserConstructorDeclaration6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ConstructorDeclarations/parserConstructorDeclaration7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ConstructorDeclarations/parserConstructorDeclaration8.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ConstructorDeclarations/parserConstructorDeclaration9.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/EnumDeclarations/parserEnum1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/EnumDeclarations/parserEnum2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/EnumDeclarations/parserEnum3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/EnumDeclarations/parserEnum4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/EnumDeclarations/parserEnum5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/EnumDeclarations/parserEnum6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/EnumDeclarations/parserEnum7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/EnumDeclarations/parserEnumDeclaration1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/EnumDeclarations/parserEnumDeclaration2.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/EnumDeclarations/parserEnumDeclaration2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/EnumDeclarations/parserEnumDeclaration3.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/EnumDeclarations/parserEnumDeclaration3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/EnumDeclarations/parserEnumDeclaration4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/EnumDeclarations/parserEnumDeclaration5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/EnumDeclarations/parserEnumDeclaration6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/EnumDeclarations/parserInterfaceKeywordInEnum.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/EnumDeclarations/parserInterfaceKeywordInEnum1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/AccessibilityAfterStatic/parserAccessibilityAfterStatic1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/AccessibilityAfterStatic/parserAccessibilityAfterStatic10.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/AccessibilityAfterStatic/parserAccessibilityAfterStatic11.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/AccessibilityAfterStatic/parserAccessibilityAfterStatic14.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/AccessibilityAfterStatic/parserAccessibilityAfterStatic2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/AccessibilityAfterStatic/parserAccessibilityAfterStatic3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/AccessibilityAfterStatic/parserAccessibilityAfterStatic4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/AccessibilityAfterStatic/parserAccessibilityAfterStatic5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/AccessibilityAfterStatic/parserAccessibilityAfterStatic6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/AccessibilityAfterStatic/parserAccessibilityAfterStatic7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArgumentLists/parserErrorRecovery_ArgumentList1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArgumentLists/parserErrorRecovery_ArgumentList2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArgumentLists/parserErrorRecovery_ArgumentList3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArgumentLists/parserErrorRecovery_ArgumentList4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArgumentLists/parserErrorRecovery_ArgumentList5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArgumentLists/parserErrorRecovery_ArgumentList6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArgumentLists/parserErrorRecovery_ArgumentList7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrayLiteralExpressions/parserErrorRecoveryArrayLiteralExpression1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrayLiteralExpressions/parserErrorRecoveryArrayLiteralExpression2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrayLiteralExpressions/parserErrorRecoveryArrayLiteralExpression3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/parserX_ArrowFunction1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/parserX_ArrowFunction2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/parserX_ArrowFunction3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ArrowFunctions/parserX_ArrowFunction4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/Blocks/parserErrorRecovery_Block1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/Blocks/parserErrorRecovery_Block2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/Blocks/parserErrorRecovery_Block3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ClassElements/parserErrorRecovery_ClassElement1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ClassElements/parserErrorRecovery_ClassElement2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ClassElements/parserErrorRecovery_ClassElement3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/Expressions/parserErrorRecovery_Expression1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ExtendsOrImplementsClauses/parserErrorRecovery_ExtendsOrImplementsClause1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ExtendsOrImplementsClauses/parserErrorRecovery_ExtendsOrImplementsClause2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ExtendsOrImplementsClauses/parserErrorRecovery_ExtendsOrImplementsClause3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ExtendsOrImplementsClauses/parserErrorRecovery_ExtendsOrImplementsClause4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ExtendsOrImplementsClauses/parserErrorRecovery_ExtendsOrImplementsClause5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ExtendsOrImplementsClauses/parserErrorRecovery_ExtendsOrImplementsClause6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/IfStatements/parserErrorRecoveryIfStatement1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/IfStatements/parserErrorRecoveryIfStatement2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/IfStatements/parserErrorRecoveryIfStatement3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/IfStatements/parserErrorRecoveryIfStatement4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/IfStatements/parserErrorRecoveryIfStatement5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/IfStatements/parserErrorRecoveryIfStatement6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/IncompleteMemberVariables/parserErrorRecovery_IncompleteMemberVariable1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/IncompleteMemberVariables/parserErrorRecovery_IncompleteMemberVariable2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/LeftShifts/parserErrorRecovery_LeftShift1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ModuleElements/parserErrorRecovery_ModuleElement1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ModuleElements/parserErrorRecovery_ModuleElement2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ObjectLiterals/parserErrorRecovery_ObjectLiteral5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ParameterLists/parserErrorRecovery_ParameterList1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ParameterLists/parserErrorRecovery_ParameterList2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ParameterLists/parserErrorRecovery_ParameterList3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ParameterLists/parserErrorRecovery_ParameterList4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ParameterLists/parserErrorRecovery_ParameterList5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/ParameterLists/parserErrorRecovery_ParameterList6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/SourceUnits/parserErrorRecovery_SourceUnit1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/SwitchStatements/parserErrorRecovery_SwitchStatement1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/SwitchStatements/parserErrorRecovery_SwitchStatement2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/TypeArgumentLists/parserX_TypeArgumentList1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/VariableLists/parserErrorRecovery_VariableList1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/VariableLists/parserInvalidIdentifiersInVariableStatements1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/VariableLists/parserVariableStatement1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/VariableLists/parserVariableStatement2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/VariableLists/parserVariableStatement3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/VariableLists/parserVariableStatement4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserCommaInTypeMemberList1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserCommaInTypeMemberList2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserEmptyParenthesizedExpression1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserEqualsGreaterThanAfterFunction1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserEqualsGreaterThanAfterFunction2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserErrantAccessibilityModifierInModule1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserErrantEqualsGreaterThanAfterFunction1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserErrantEqualsGreaterThanAfterFunction2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserErrantSemicolonInClass1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserFuzz1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserMissingLambdaOpenBrace1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserModifierOnPropertySignature1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserModifierOnPropertySignature2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserModifierOnStatementInBlock1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserModifierOnStatementInBlock2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserModifierOnStatementInBlock3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserModifierOnStatementInBlock4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserPublicBreak1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserStatementIsNotAMemberVariableDeclaration1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserUnfinishedTypeNameBeforeKeyword1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserUnterminatedGeneric1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ErrorRecovery/parserUnterminatedGeneric2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ExportAssignments/parserExportAssignment1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ExportAssignments/parserExportAssignment2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ExportAssignments/parserExportAssignment3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ExportAssignments/parserExportAssignment4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ExportAssignments/parserExportAssignment5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ExportAssignments/parserExportAssignment6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ExportAssignments/parserExportAssignment7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ExportAssignments/parserExportAssignment8.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Expressions/parserAssignmentExpression1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Expressions/parserConditionalExpression1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Expressions/parserInvocationOfMemberAccessOffOfObjectCreationExpression1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Expressions/parserMemberAccessAfterPostfixExpression1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Expressions/parserObjectCreation2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Expressions/parserPostfixPostfixExpression1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Expressions/parserPostfixUnaryExpression1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Expressions/parserTypeAssertionInObjectCreationExpression1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Expressions/parserUnaryExpression1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Expressions/parserUnaryExpression2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Expressions/parserUnaryExpression3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Expressions/parserUnaryExpression4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Expressions/parserUnaryExpression5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Expressions/parserUnaryExpression6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Expressions/parserUnaryExpression7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/FunctionDeclarations/parserFunctionDeclaration1.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/FunctionDeclarations/parserFunctionDeclaration1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/FunctionDeclarations/parserFunctionDeclaration2.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/FunctionDeclarations/parserFunctionDeclaration2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/FunctionDeclarations/parserFunctionDeclaration3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/FunctionDeclarations/parserFunctionDeclaration4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/FunctionDeclarations/parserFunctionDeclaration5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/FunctionDeclarations/parserFunctionDeclaration6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/FunctionDeclarations/parserFunctionDeclaration7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/FunctionDeclarations/parserFunctionDeclaration8.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Fuzz/parser0_004152.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Fuzz/parser768531.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserAmbiguity1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserAmbiguity2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserAmbiguity3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserCastVersusArrowFunction1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserConstructorAmbiguity1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserConstructorAmbiguity2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserConstructorAmbiguity3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserConstructorAmbiguity4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGenericClass1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGenericClass2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGenericConstraint1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGenericConstraint2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGenericConstraint3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGenericConstraint4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGenericConstraint5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGenericConstraint6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGenericConstraint7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGenericsInInterfaceDeclaration1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGenericsInTypeContexts1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGenericsInTypeContexts2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGenericsInVariableDeclaration1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity10.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity11.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity12.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity13.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity14.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity15.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity16.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity17.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity18.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity19.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity20.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity8.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserGreaterThanTokenAmbiguity9.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserMemberAccessExpression1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserMemberAccessOffOfGenericType1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Generics/parserObjectCreation1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/IndexMemberDeclarations/parserIndexMemberDeclaration1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/IndexMemberDeclarations/parserIndexMemberDeclaration10.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/IndexMemberDeclarations/parserIndexMemberDeclaration2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/IndexMemberDeclarations/parserIndexMemberDeclaration3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/IndexMemberDeclarations/parserIndexMemberDeclaration4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/IndexMemberDeclarations/parserIndexMemberDeclaration5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/IndexMemberDeclarations/parserIndexMemberDeclaration6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/IndexMemberDeclarations/parserIndexMemberDeclaration7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/IndexMemberDeclarations/parserIndexMemberDeclaration8.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/IndexMemberDeclarations/parserIndexMemberDeclaration9.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature10.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature11.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature8.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/IndexSignatures/parserIndexSignature9.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/InterfaceDeclarations/parserInterfaceDeclaration1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/InterfaceDeclarations/parserInterfaceDeclaration2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/InterfaceDeclarations/parserInterfaceDeclaration3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/InterfaceDeclarations/parserInterfaceDeclaration4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/InterfaceDeclarations/parserInterfaceDeclaration5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/InterfaceDeclarations/parserInterfaceDeclaration6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/InterfaceDeclarations/parserInterfaceDeclaration7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/InterfaceDeclarations/parserInterfaceDeclaration8.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessor1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration10.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration11.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration12.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration13.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration14.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration15.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration16.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration17.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration18.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration8.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberAccessorDeclarations/parserMemberAccessorDeclaration9.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberFunctionDeclarations/parserMemberFunctionDeclaration1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberFunctionDeclarations/parserMemberFunctionDeclaration2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberFunctionDeclarations/parserMemberFunctionDeclaration3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberFunctionDeclarations/parserMemberFunctionDeclaration4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberFunctionDeclarations/parserMemberFunctionDeclaration5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberFunctionDeclarations/parserMemberFunctionDeclarationAmbiguities1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberVariableDeclarations/parserMemberVariableDeclaration1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberVariableDeclarations/parserMemberVariableDeclaration2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberVariableDeclarations/parserMemberVariableDeclaration3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberVariableDeclarations/parserMemberVariableDeclaration4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MemberVariableDeclarations/parserMemberVariableDeclaration5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MethodSignatures/parserMethodSignature1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MethodSignatures/parserMethodSignature10.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MethodSignatures/parserMethodSignature11.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MethodSignatures/parserMethodSignature12.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MethodSignatures/parserMethodSignature2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MethodSignatures/parserMethodSignature3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MethodSignatures/parserMethodSignature4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MethodSignatures/parserMethodSignature5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MethodSignatures/parserMethodSignature6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MethodSignatures/parserMethodSignature7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MethodSignatures/parserMethodSignature8.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MethodSignatures/parserMethodSignature9.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MissingTokens/parserMissingToken1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/MissingTokens/parserMissingToken2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModule1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration1.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration10.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration11.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration12.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration2.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration3.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration4.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration8.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ModuleDeclarations/parserModuleDeclaration9.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ObjectLiterals/parserObjectLiterals1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ObjectTypes/parserObjectType1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ObjectTypes/parserObjectType2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ObjectTypes/parserObjectType3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ObjectTypes/parserObjectType4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ObjectTypes/parserObjectType5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ObjectTypes/parserObjectType6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ParameterLists/parserParameterList1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ParameterLists/parserParameterList10.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ParameterLists/parserParameterList11.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ParameterLists/parserParameterList12.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ParameterLists/parserParameterList13.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ParameterLists/parserParameterList14.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ParameterLists/parserParameterList15.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ParameterLists/parserParameterList16.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ParameterLists/parserParameterList17.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ParameterLists/parserParameterList2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ParameterLists/parserParameterList3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ParameterLists/parserParameterList4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ParameterLists/parserParameterList5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ParameterLists/parserParameterList6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ParameterLists/parserParameterList7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ParameterLists/parserParameterList8.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/ParameterLists/parserParameterList9.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/PropertyAssignments/parserFunctionPropertyAssignment1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/PropertyAssignments/parserFunctionPropertyAssignment2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/PropertyAssignments/parserFunctionPropertyAssignment3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/PropertyAssignments/parserFunctionPropertyAssignment4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/PropertySignatures/parserPropertySignature1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/PropertySignatures/parserPropertySignature10.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/PropertySignatures/parserPropertySignature11.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/PropertySignatures/parserPropertySignature12.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/PropertySignatures/parserPropertySignature2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/PropertySignatures/parserPropertySignature3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/PropertySignatures/parserPropertySignature4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/PropertySignatures/parserPropertySignature5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/PropertySignatures/parserPropertySignature6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/PropertySignatures/parserPropertySignature7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/PropertySignatures/parserPropertySignature8.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/PropertySignatures/parserPropertySignature9.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RealWorld/parserharness.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RealWorld/parserindenter.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser509534.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser509546.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser509546_1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser509546_2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser509618.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser509630.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser509667.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser509668.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser509669.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser509677.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser509693.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser509698.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser512084.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser512097.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser512325.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser519458.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser521128.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser536727.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser537152.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser553699.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser566700.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser579071.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser585151.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser596700.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser618973.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser630933.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser642331.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser642331_1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser643728.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser645086_1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser645086_2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser645086_3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser645086_4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parser645484.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parserNotHexLiteral1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegressionTests/parserTernaryAndCommaOperators1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegularExpressions/parserRegularExpression1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegularExpressions/parserRegularExpression2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegularExpressions/parserRegularExpression3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegularExpressions/parserRegularExpression4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegularExpressions/parserRegularExpression5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegularExpressions/parserRegularExpressionDivideAmbiguity1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegularExpressions/parserRegularExpressionDivideAmbiguity2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegularExpressions/parserRegularExpressionDivideAmbiguity3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegularExpressions/parserRegularExpressionDivideAmbiguity4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/RegularExpressions/parserRegularExpressionDivideAmbiguity5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens10.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens11.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens12.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens13.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens14.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens15.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens16.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens17.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens18.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens19.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens20.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens8.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SkippedTokens/parserSkippedTokens9.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/BreakStatements/parser_breakInIterationOrSwitchStatement1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/BreakStatements/parser_breakInIterationOrSwitchStatement2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/BreakStatements/parser_breakInIterationOrSwitchStatement3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/BreakStatements/parser_breakInIterationOrSwitchStatement4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/BreakStatements/parser_breakNotInIterationOrSwitchStatement1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/BreakStatements/parser_breakNotInIterationOrSwitchStatement2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/BreakStatements/parser_breakTarget1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/BreakStatements/parser_breakTarget2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/BreakStatements/parser_breakTarget3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/BreakStatements/parser_breakTarget4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/BreakStatements/parser_breakTarget5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/BreakStatements/parser_breakTarget6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/ContinueStatements/parser_continueInIterationStatement1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/ContinueStatements/parser_continueInIterationStatement2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/ContinueStatements/parser_continueInIterationStatement3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/ContinueStatements/parser_continueInIterationStatement4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/ContinueStatements/parser_continueLabel.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/ContinueStatements/parser_continueNotInIterationStatement1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/ContinueStatements/parser_continueNotInIterationStatement2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/ContinueStatements/parser_continueNotInIterationStatement3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/ContinueStatements/parser_continueNotInIterationStatement4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/ContinueStatements/parser_continueTarget1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/ContinueStatements/parser_continueTarget2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/ContinueStatements/parser_continueTarget3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/ContinueStatements/parser_continueTarget4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/ContinueStatements/parser_continueTarget5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/ContinueStatements/parser_continueTarget6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/LabeledStatements/parser_duplicateLabel1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/LabeledStatements/parser_duplicateLabel2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/LabeledStatements/parser_duplicateLabel3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/LabeledStatements/parser_duplicateLabel4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/ReturnStatements/parserReturnStatement1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/ReturnStatements/parserReturnStatement2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/ReturnStatements/parserReturnStatement3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/ReturnStatements/parserReturnStatement4.js create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/ReturnStatements/parserReturnStatement4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserBlockStatement1.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserBreakStatement1.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserContinueStatement1.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserDebuggerStatement1.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserDoStatement1.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserDoStatement2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserEmptyStatement1.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserExpressionStatement1.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserForInStatement1.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserForInStatement2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserForInStatement3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserForInStatement4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserForInStatement5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserForInStatement6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserForInStatement7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserForStatement1.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserForStatement2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserForStatement3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserForStatement4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserForStatement5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserForStatement6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserForStatement7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserForStatement8.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserIfStatement1.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserIfStatement2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserLabeledStatement1.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserReturnStatement1.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserSwitchStatement1.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserThrowStatement1.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserTryStatement1.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserVariableStatement1.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserVariableStatement2.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserWhileStatement1.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserWithStatement1.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Statements/parserWithStatement2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode10.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode11.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode12.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode13.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode14.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode15-negative.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode15.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode16.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode3-negative.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode6-negative.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode8.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/StrictMode/parserStrictMode9.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SuperExpressions/parserSuperExpression1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SuperExpressions/parserSuperExpression2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SuperExpressions/parserSuperExpression3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/SuperExpressions/parserSuperExpression4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Types/parserTypeQuery1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Types/parserTypeQuery2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Types/parserTypeQuery3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Types/parserTypeQuery4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Types/parserTypeQuery5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Types/parserTypeQuery6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Types/parserTypeQuery7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Types/parserTypeQuery8.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/Types/parserTypeQuery9.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/VariableDeclarations/parserVariableDeclaration1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/VariableDeclarations/parserVariableDeclaration10.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/VariableDeclarations/parserVariableDeclaration11.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/VariableDeclarations/parserVariableDeclaration2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/VariableDeclarations/parserVariableDeclaration3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/VariableDeclarations/parserVariableDeclaration4.d.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/VariableDeclarations/parserVariableDeclaration4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/VariableDeclarations/parserVariableDeclaration5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/VariableDeclarations/parserVariableDeclaration6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/VariableDeclarations/parserVariableDeclaration7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/VariableDeclarations/parserVariableDeclaration8.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/VariableDeclarations/parserVariableDeclaration9.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parser10.1.1-8gs.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parser15.4.4.14-9-2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserAdditiveExpression1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserArgumentList1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserAstSpans1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserDebuggerStatement1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserDebuggerStatement2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserEmptyFile1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserEmptyStatement1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserExportAsFunctionIdentifier.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserImportDeclaration1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserInExpression1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserKeywordsAsIdentifierName1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserKeywordsAsIdentifierName2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserNoASIOnCallAfterFunctionExpression1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserNotRegex1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserObjectCreationArrayLiteral1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserObjectCreationArrayLiteral2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserObjectCreationArrayLiteral3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserObjectCreationArrayLiteral4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserOptionalTypeMembers1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserOverloadOnConstants1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserRealSource1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserRealSource10.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserRealSource11.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserRealSource12.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserRealSource13.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserRealSource14.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserRealSource2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserRealSource3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserRealSource4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserRealSource5.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserRealSource6.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserRealSource7.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserRealSource8.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserRealSource9.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserS12.11_A3_T4.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserS7.2_A1.5_T2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserS7.3_A1.1_T2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserS7.6.1.1_A1.10.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserS7.6_A4.2_T1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserS7.9_A5.7_T1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserSbp_7.9_A9_T3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserSyntaxWalker.generated.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserUnicode1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserUnicode2.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserUnicode3.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserUnicodeWhitespaceCharacter1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserUsingConstructorAsIdentifier.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parserVoidExpression1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parservoidInQualifiedName0.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parservoidInQualifiedName1.ts create mode 100644 tests/cases/conformance/parser/ecmascript5/parservoidInQualifiedName2.ts create mode 100644 tests/cases/conformance/scanner/ecmascript3/scannerES3NumericLiteral1.ts create mode 100644 tests/cases/conformance/scanner/ecmascript3/scannerES3NumericLiteral2.ts create mode 100644 tests/cases/conformance/scanner/ecmascript3/scannerES3NumericLiteral3.ts create mode 100644 tests/cases/conformance/scanner/ecmascript3/scannerES3NumericLiteral4.ts create mode 100644 tests/cases/conformance/scanner/ecmascript3/scannerES3NumericLiteral5.ts create mode 100644 tests/cases/conformance/scanner/ecmascript3/scannerES3NumericLiteral6.ts create mode 100644 tests/cases/conformance/scanner/ecmascript3/scannerES3NumericLiteral7.ts create mode 100644 tests/cases/conformance/scanner/ecmascript5/scanner10.1.1-8gs.ts create mode 100644 tests/cases/conformance/scanner/ecmascript5/scannerAdditiveExpression1.ts create mode 100644 tests/cases/conformance/scanner/ecmascript5/scannerClass2.ts create mode 100644 tests/cases/conformance/scanner/ecmascript5/scannerEnum1.ts create mode 100644 tests/cases/conformance/scanner/ecmascript5/scannerImportDeclaration1.ts create mode 100644 tests/cases/conformance/scanner/ecmascript5/scannerNumericLiteral1.ts create mode 100644 tests/cases/conformance/scanner/ecmascript5/scannerNumericLiteral2.ts create mode 100644 tests/cases/conformance/scanner/ecmascript5/scannerNumericLiteral3.ts create mode 100644 tests/cases/conformance/scanner/ecmascript5/scannerNumericLiteral4.ts create mode 100644 tests/cases/conformance/scanner/ecmascript5/scannerNumericLiteral5.ts create mode 100644 tests/cases/conformance/scanner/ecmascript5/scannerNumericLiteral6.ts create mode 100644 tests/cases/conformance/scanner/ecmascript5/scannerNumericLiteral7.ts create mode 100644 tests/cases/conformance/scanner/ecmascript5/scannerS7.2_A1.5_T2.ts create mode 100644 tests/cases/conformance/scanner/ecmascript5/scannerS7.3_A1.1_T2.ts create mode 100644 tests/cases/conformance/scanner/ecmascript5/scannerS7.4_A2_T2.ts create mode 100644 tests/cases/conformance/scanner/ecmascript5/scannerS7.6_A4.2_T1.ts create mode 100644 tests/cases/conformance/scanner/ecmascript5/scannerS7.8.3_A6.1_T1.ts create mode 100644 tests/cases/conformance/scanner/ecmascript5/scannerS7.8.4_A7.1_T4.ts create mode 100644 tests/cases/conformance/scanner/ecmascript5/scannerStringLiteralWithContainingNullCharacter1.ts create mode 100644 tests/cases/conformance/scanner/ecmascript5/scannerStringLiterals.ts create mode 100644 tests/cases/conformance/scanner/ecmascript5/scannerUnexpectedNullCharacter1.ts create mode 100644 tests/cases/conformance/scanner/ecmascript5/scannerUnicodeEscapeInKeyword1.ts create mode 100644 tests/cases/conformance/scanner/ecmascript5/scannertest1.ts create mode 100644 tests/cases/conformance/statements/VariableStatements/everyTypeWithAnnotationAndInitializer.ts create mode 100644 tests/cases/conformance/statements/VariableStatements/everyTypeWithAnnotationAndInvalidInitializer.ts create mode 100644 tests/cases/conformance/statements/VariableStatements/everyTypeWithInitializer.ts create mode 100644 tests/cases/conformance/statements/VariableStatements/invalidMultipleVariableDeclarations.ts create mode 100644 tests/cases/conformance/statements/VariableStatements/recursiveInitializer.ts create mode 100644 tests/cases/conformance/statements/VariableStatements/validMultipleVariableDeclarations.ts create mode 100644 tests/cases/conformance/statements/breakStatements/doWhileBreakStatements.ts create mode 100644 tests/cases/conformance/statements/breakStatements/forBreakStatements.ts create mode 100644 tests/cases/conformance/statements/breakStatements/forInBreakStatements.ts create mode 100644 tests/cases/conformance/statements/breakStatements/invalidDoWhileBreakStatements.ts create mode 100644 tests/cases/conformance/statements/breakStatements/invalidForBreakStatements.ts create mode 100644 tests/cases/conformance/statements/breakStatements/invalidForInBreakStatements.ts create mode 100644 tests/cases/conformance/statements/breakStatements/invalidSwitchBreakStatement.ts create mode 100644 tests/cases/conformance/statements/breakStatements/invalidWhileBreakStatements.ts create mode 100644 tests/cases/conformance/statements/breakStatements/switchBreakStatements.ts create mode 100644 tests/cases/conformance/statements/breakStatements/whileBreakStatements.ts create mode 100644 tests/cases/conformance/statements/continueStatements/doWhileContinueStatements.ts create mode 100644 tests/cases/conformance/statements/continueStatements/forContinueStatements.ts create mode 100644 tests/cases/conformance/statements/continueStatements/forInContinueStatements.ts create mode 100644 tests/cases/conformance/statements/continueStatements/invalidDoWhileContinueStatements.ts create mode 100644 tests/cases/conformance/statements/continueStatements/invalidForContinueStatements.ts create mode 100644 tests/cases/conformance/statements/continueStatements/invalidForInContinueStatements.ts create mode 100644 tests/cases/conformance/statements/continueStatements/invalidSwitchContinueStatement.ts create mode 100644 tests/cases/conformance/statements/continueStatements/invalidWhileContinueStatements.ts create mode 100644 tests/cases/conformance/statements/continueStatements/whileContinueStatements.ts create mode 100644 tests/cases/conformance/statements/for-inStatements/for-inStatements.ts create mode 100644 tests/cases/conformance/statements/for-inStatements/for-inStatementsInvalid.ts create mode 100644 tests/cases/conformance/statements/forStatements/forStatements.ts create mode 100644 tests/cases/conformance/statements/forStatements/forStatementsMultipleInvalidDecl.ts create mode 100644 tests/cases/conformance/statements/forStatements/forStatementsMultipleValidDecl.ts create mode 100644 tests/cases/conformance/statements/ifDoWhileStatements/ifDoWhileStatements.ts create mode 100644 tests/cases/conformance/statements/returnStatements/invalidReturnStatements.ts create mode 100644 tests/cases/conformance/statements/returnStatements/returnStatements.ts create mode 100644 tests/cases/conformance/statements/switchStatements/switchStatements.ts create mode 100644 tests/cases/conformance/statements/throwStatements/invalidThrowStatement.ts create mode 100644 tests/cases/conformance/statements/throwStatements/throwInEnclosingStatements.ts create mode 100644 tests/cases/conformance/statements/throwStatements/throwStatements.ts create mode 100644 tests/cases/conformance/statements/tryStatements/invalidTryStatements.ts create mode 100644 tests/cases/conformance/statements/tryStatements/invalidTryStatements2.ts create mode 100644 tests/cases/conformance/statements/tryStatements/tryStatements.ts create mode 100644 tests/cases/conformance/statements/withStatements/withStatements.ts create mode 100644 tests/cases/conformance/types/any/anyAsConstructor.ts create mode 100644 tests/cases/conformance/types/any/anyAsFunctionCall.ts create mode 100644 tests/cases/conformance/types/any/anyAsGenericFunctionCall.ts create mode 100644 tests/cases/conformance/types/any/anyPropertyAccess.ts create mode 100644 tests/cases/conformance/types/any/assignAnyToEveryType.ts create mode 100644 tests/cases/conformance/types/any/assignEveryTypeToAny.ts create mode 100644 tests/cases/conformance/types/members/classWithPrivateProperty.ts create mode 100644 tests/cases/conformance/types/members/classWithPublicProperty.ts create mode 100644 tests/cases/conformance/types/members/duplicateNumericIndexers.ts create mode 100644 tests/cases/conformance/types/members/duplicatePropertyNames.ts create mode 100644 tests/cases/conformance/types/members/duplicateStringIndexers.ts create mode 100644 tests/cases/conformance/types/members/objectTypeHidingMembersOfExtendedObject.ts create mode 100644 tests/cases/conformance/types/members/objectTypeHidingMembersOfObject.ts create mode 100644 tests/cases/conformance/types/members/objectTypeHidingMembersOfObjectAssignmentCompat.ts create mode 100644 tests/cases/conformance/types/members/objectTypeHidingMembersOfObjectAssignmentCompat2.ts create mode 100644 tests/cases/conformance/types/members/objectTypePropertyAccess.ts create mode 100644 tests/cases/conformance/types/members/objectTypeWithCallSignatureAppearsToBeFunctionType.ts create mode 100644 tests/cases/conformance/types/members/objectTypeWithCallSignatureHidingMembersOfExtendedFunction.ts create mode 100644 tests/cases/conformance/types/members/objectTypeWithCallSignatureHidingMembersOfFunction.ts create mode 100644 tests/cases/conformance/types/members/objectTypeWithCallSignatureHidingMembersOfFunctionAssignmentCompat.ts create mode 100644 tests/cases/conformance/types/members/objectTypeWithConstructSignatureAppearsToBeFunctionType.ts create mode 100644 tests/cases/conformance/types/members/objectTypeWithConstructSignatureHidingMembersOfExtendedFunction.ts create mode 100644 tests/cases/conformance/types/members/objectTypeWithConstructSignatureHidingMembersOfFunction.ts create mode 100644 tests/cases/conformance/types/members/objectTypeWithConstructSignatureHidingMembersOfFunctionAssignmentCompat.ts create mode 100644 tests/cases/conformance/types/members/objectTypeWithDuplicateNumericProperty.ts create mode 100644 tests/cases/conformance/types/members/objectTypeWithNumericProperty.ts create mode 100644 tests/cases/conformance/types/members/objectTypeWithStringIndexerHidingObjectIndexer.ts create mode 100644 tests/cases/conformance/types/members/objectTypeWithStringNamedNumericProperty.ts create mode 100644 tests/cases/conformance/types/members/objectTypeWithStringNamedPropertyOfIllegalCharacters.ts create mode 100644 tests/cases/conformance/types/members/typesWithOptionalProperty.ts create mode 100644 tests/cases/conformance/types/members/typesWithPrivateConstructor.ts create mode 100644 tests/cases/conformance/types/members/typesWithPublicConstructor.ts create mode 100644 tests/cases/conformance/types/members/typesWithSpecializedCallSignatures.ts create mode 100644 tests/cases/conformance/types/members/typesWithSpecializedConstructSignatures.ts create mode 100644 tests/cases/conformance/types/namedTypes/classWithOnlyPublicMembersEquivalentToInterface.ts create mode 100644 tests/cases/conformance/types/namedTypes/classWithOnlyPublicMembersEquivalentToInterface2.ts create mode 100644 tests/cases/conformance/types/namedTypes/classWithOptionalParameter.ts create mode 100644 tests/cases/conformance/types/namedTypes/genericInstantiationEquivalentToObjectLiteral.ts create mode 100644 tests/cases/conformance/types/namedTypes/interfaceWithPrivateMember.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignatureWithOptionalParameterAndInitializer.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignatureWithoutAnnotationsOrBody.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignatureWithoutReturnTypeAnnotationInference.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesThatDifferOnlyByReturnType.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesThatDifferOnlyByReturnType2.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesThatDifferOnlyByReturnType3.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesWithAccessibilityModifiersOnParameters.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesWithDuplicateParameters.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesWithOptionalParameters.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesWithOptionalParameters2.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesWithParameterInitializers.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/callSignaturesWithParameterInitializers2.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/constructSignatureWithAccessibilityModifiersOnParameters.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/constructSignatureWithAccessibilityModifiersOnParameters2.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/identicalCallSignatures.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/identicalCallSignatures2.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/identicalCallSignatures3.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/parametersWithNoAnnotationAreAny.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/restParameterWithoutAnnotationIsAnyArray.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/restParametersOfNonArrayTypes.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/restParametersOfNonArrayTypes2.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/restParametersWithArrayTypeAnnotations.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/specializedSignatureIsNotSubtypeOfNonSpecializedSignature.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/specializedSignatureIsSubtypeOfNonSpecializedSignature.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/stringLiteralTypesInImplementationSignatures.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/stringLiteralTypesInImplementationSignatures2.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/typeParameterAsTypeArgument.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/typeParameterUsedAsTypeParameterConstraint.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/typeParameterUsedAsTypeParameterConstraint2.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/typeParameterUsedAsTypeParameterConstraint3.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/callSignatures/typeParameterUsedAsTypeParameterConstraint4.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/constructSignatures/constructSignaturesWithIdenticalOverloads.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/constructSignatures/constructSignaturesWithOverloads.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/constructSignatures/constructSignaturesWithOverloads2.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/constructSignatures/constructSignaturesWithOverloadsThatDifferOnlyByReturnType.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/indexSignatures/multipleNumericIndexers.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/indexSignatures/multipleStringIndexers.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/indexSignatures/numericIndexerConstrainsPropertyDeclarations.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/indexSignatures/numericIndexerConstrainsPropertyDeclarations2.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/indexSignatures/numericIndexingResults.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/indexSignatures/stringIndexerConstrainsPropertyDeclarations.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/indexSignatures/stringIndexerConstrainsPropertyDeclarations2.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/indexSignatures/stringIndexingResults.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/methodSignatures/functionLiterals.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/methodSignatures/methodSignaturesWithOverloads.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/methodSignatures/methodSignaturesWithOverloads2.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/methodSignatures/objectTypesWithOptionalProperties.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/methodSignatures/objectTypesWithOptionalProperties2.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/objectTypeLiteralSyntax.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/objectTypeLiteralSyntax2.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/propertySignatures/numericNamedPropertyDuplicates.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/propertySignatures/numericStringNamedPropertyEquivalence.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/propertySignatures/propertyNameWithoutTypeAnnotation.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/propertySignatures/propertyNamesOfReservedWords.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/propertySignatures/stringNamedPropertyAccess.ts create mode 100644 tests/cases/conformance/types/objectTypeLiteral/propertySignatures/stringNamedPropertyDuplicates.ts create mode 100644 tests/cases/conformance/types/primitives/boolean/assignFromBooleanInterface.ts create mode 100644 tests/cases/conformance/types/primitives/boolean/assignFromBooleanInterface2.ts create mode 100644 tests/cases/conformance/types/primitives/boolean/boolInsteadOfBoolean.ts create mode 100644 tests/cases/conformance/types/primitives/boolean/booleanPropertyAccess.ts create mode 100644 tests/cases/conformance/types/primitives/boolean/extendBooleanInterface.ts create mode 100644 tests/cases/conformance/types/primitives/boolean/invalidBooleanAssignments.ts create mode 100644 tests/cases/conformance/types/primitives/boolean/validBooleanAssignments.ts create mode 100644 tests/cases/conformance/types/primitives/enum/invalidEnumAssignments.ts create mode 100644 tests/cases/conformance/types/primitives/enum/validEnumAssignments.ts create mode 100644 tests/cases/conformance/types/primitives/null/directReferenceToNull.ts create mode 100644 tests/cases/conformance/types/primitives/null/validNullAssignments.ts create mode 100644 tests/cases/conformance/types/primitives/number/assignFromNumberInterface.ts create mode 100644 tests/cases/conformance/types/primitives/number/assignFromNumberInterface2.ts create mode 100644 tests/cases/conformance/types/primitives/number/extendNumberInterface.ts create mode 100644 tests/cases/conformance/types/primitives/number/invalidNumberAssignments.ts create mode 100644 tests/cases/conformance/types/primitives/number/numberPropertyAccess.ts create mode 100644 tests/cases/conformance/types/primitives/number/validNumberAssignments.ts create mode 100644 tests/cases/conformance/types/primitives/string/assignFromStringInterface.ts create mode 100644 tests/cases/conformance/types/primitives/string/assignFromStringInterface2.ts create mode 100644 tests/cases/conformance/types/primitives/string/extendStringInterface.ts create mode 100644 tests/cases/conformance/types/primitives/string/invalidStringAssignments.ts create mode 100644 tests/cases/conformance/types/primitives/string/stringPropertyAccess.ts create mode 100644 tests/cases/conformance/types/primitives/string/stringPropertyAccessWithError.ts create mode 100644 tests/cases/conformance/types/primitives/string/validStringAssignments.ts create mode 100644 tests/cases/conformance/types/primitives/stringLiteral/stringLiteralType.ts create mode 100644 tests/cases/conformance/types/primitives/undefined/directReferenceToUndefined.ts create mode 100644 tests/cases/conformance/types/primitives/undefined/invalidUndefinedAssignments.ts create mode 100644 tests/cases/conformance/types/primitives/undefined/invalidUndefinedValues.ts create mode 100644 tests/cases/conformance/types/primitives/undefined/validUndefinedAssignments.ts create mode 100644 tests/cases/conformance/types/primitives/undefined/validUndefinedValues.ts create mode 100644 tests/cases/conformance/types/primitives/void/invalidAssignmentsToVoid.ts create mode 100644 tests/cases/conformance/types/primitives/void/invalidVoidAssignments.ts create mode 100644 tests/cases/conformance/types/primitives/void/invalidVoidValues.ts create mode 100644 tests/cases/conformance/types/primitives/void/validVoidAssignments.ts create mode 100644 tests/cases/conformance/types/primitives/void/validVoidValues.ts create mode 100644 tests/cases/conformance/types/specifyingTypes/predefinedTypes/objectTypesWithPredefinedTypesAsName.ts create mode 100644 tests/cases/conformance/types/specifyingTypes/predefinedTypes/objectTypesWithPredefinedTypesAsName2.ts create mode 100644 tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayLiteral.ts create mode 100644 tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayOfFunctionTypes3.ts create mode 100644 tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfFunctionTypes.ts create mode 100644 tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfFunctionTypes2.ts create mode 100644 tests/cases/conformance/types/specifyingTypes/typeLiterals/arrayTypeOfTypeOf.ts create mode 100644 tests/cases/conformance/types/specifyingTypes/typeLiterals/functionLiteral.ts create mode 100644 tests/cases/conformance/types/specifyingTypes/typeLiterals/functionLiteralForOverloads.ts create mode 100644 tests/cases/conformance/types/specifyingTypes/typeLiterals/functionLiteralForOverloads2.ts create mode 100644 tests/cases/conformance/types/specifyingTypes/typeQueries/invalidTypeOfTarget.ts create mode 100644 tests/cases/conformance/types/specifyingTypes/typeQueries/typeQueryOnClass.ts create mode 100644 tests/cases/conformance/types/specifyingTypes/typeQueries/typeofANonExportedType.ts create mode 100644 tests/cases/conformance/types/specifyingTypes/typeQueries/typeofAnExportedType.ts create mode 100644 tests/cases/conformance/types/specifyingTypes/typeQueries/typeofClass2.ts create mode 100644 tests/cases/conformance/types/specifyingTypes/typeQueries/typeofClassWithPrivates.ts create mode 100644 tests/cases/conformance/types/specifyingTypes/typeQueries/typeofModuleWithoutExports.ts create mode 100644 tests/cases/conformance/types/specifyingTypes/typeQueries/typeofTypeParameter.ts create mode 100644 tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument.d.ts create mode 100644 tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument.ts create mode 100644 tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument2.ts create mode 100644 tests/cases/conformance/types/specifyingTypes/typeReferences/genericTypeReferenceWithoutTypeArgument3.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeArgumentLists/callGenericFunctionWithIncorrectNumberOfTypeArguments.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeArgumentLists/callGenericFunctionWithZeroTypeArguments.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeArgumentLists/callNonGenericFunctionWithTypeArguments.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeArgumentLists/constraintSatisfactionWithAny.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeArgumentLists/constraintSatisfactionWithAny2.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeArgumentLists/constraintSatisfactionWithEmptyObject.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeArgumentLists/functionConstraintSatisfaction.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeArgumentLists/functionConstraintSatisfaction2.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeArgumentLists/functionConstraintSatisfaction3.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeArgumentLists/instantiateGenericClassWithWrongNumberOfTypeArguments.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeArgumentLists/instantiateGenericClassWithZeroTypeArguments.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeArgumentLists/instantiateNonGenericTypeWithTypeArguments.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeArgumentLists/typeParameterAsTypeParameterConstraint.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeArgumentLists/typeParameterAsTypeParameterConstraint2.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeArgumentLists/typeParameterAsTypeParameterConstraintTransitively.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeArgumentLists/typeParameterAsTypeParameterConstraintTransitively2.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeArgumentLists/wrappedAndRecursiveConstraints.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeArgumentLists/wrappedAndRecursiveConstraints2.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeArgumentLists/wrappedAndRecursiveConstraints3.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeArgumentLists/wrappedAndRecursiveConstraints4.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeParameterAsBaseType.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeParameterLists/innerTypeParameterShadowingOuterOne.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeParameterLists/innerTypeParameterShadowingOuterOne2.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeParameterLists/propertyAccessOnTypeParameterWithConstraints.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeParameterLists/propertyAccessOnTypeParameterWithConstraints2.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeParameterLists/propertyAccessOnTypeParameterWithConstraints3.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeParameterLists/propertyAccessOnTypeParameterWithConstraints4.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeParameterLists/propertyAccessOnTypeParameterWithConstraints5.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeParameterLists/propertyAccessOnTypeParameterWithoutConstraints.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeParameterLists/staticMembersUsingClassTypeParameter.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeParameterLists/typeParameterDirectlyConstrainedToItself.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeParameterLists/typeParameterIndirectlyConstrainedToItself.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeParameterLists/typeParameterUsedAsConstraint.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeParameterLists/typeParametersAvailableInNestedScope.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeParameterLists/typeParametersAvailableInNestedScope2.ts create mode 100644 tests/cases/conformance/types/typeParameters/typeParameterLists/typesWithDuplicateTypeParameters.ts create mode 100644 tests/cases/conformance/types/typeRelationships/apparentType/apparentTypeSubtyping.ts create mode 100644 tests/cases/conformance/types/typeRelationships/apparentType/apparentTypeSupertype.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/anyAssignabilityInInheritance.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/anyAssignableToEveryType.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/anyAssignableToEveryType2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures4.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures5.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignatures6.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignaturesWithOptionalParameters.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithCallSignaturesWithRestParameters.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures4.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures5.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignatures6.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithConstructSignaturesWithOptionalParameters.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithGenericCallSignatures.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithGenericCallSignatures2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithGenericCallSignatures3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithGenericCallSignatures4.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithGenericCallSignaturesWithOptionalParameters.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithNumericIndexer.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithNumericIndexer2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithNumericIndexer3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembers.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembers2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembers3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembers4.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembers5.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersAccessibility.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersNumericNames.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersOptionality.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersOptionality2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithObjectMembersStringNumericNames.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithStringIndexer.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithStringIndexer2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithStringIndexer3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/assignmentCompatWithWithGenericConstructSignatures.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/callSignatureAssignabilityInInheritance.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/callSignatureAssignabilityInInheritance2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/callSignatureAssignabilityInInheritance3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/callSignatureAssignabilityInInheritance4.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/callSignatureAssignabilityInInheritance5.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/callSignatureAssignabilityInInheritance6.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/constructSignatureAssignabilityInInheritance.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/constructSignatureAssignabilityInInheritance2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/constructSignatureAssignabilityInInheritance3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/constructSignatureAssignabilityInInheritance4.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/constructSignatureAssignabilityInInheritance5.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/constructSignatureAssignabilityInInheritance6.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/enumAssignability.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/enumAssignabilityInInheritance.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/everyTypeAssignableToAny.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/genericCallWithObjectTypeArgsAndInitializers.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/nullAssignableToEveryType.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/nullAssignedToUndefined.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/numberAssignableToEnum.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/typeParameterAssignability.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/typeParameterAssignability2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/typeParameterAssignability3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/undefinedAssignableToEveryType.ts create mode 100644 tests/cases/conformance/types/typeRelationships/bestCommonType/arrayLiteralWithMultipleBestCommonTypes.ts create mode 100644 tests/cases/conformance/types/typeRelationships/bestCommonType/bestCommonTypeOfConditionalExpressions.ts create mode 100644 tests/cases/conformance/types/typeRelationships/bestCommonType/bestCommonTypeOfConditionalExpressions2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/bestCommonType/functionWithMultipleReturnStatements.ts create mode 100644 tests/cases/conformance/types/typeRelationships/bestCommonType/functionWithMultipleReturnStatements2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/bestCommonType/heterogeneousArrayLiterals.ts create mode 100644 tests/cases/conformance/types/typeRelationships/recursiveTypes/arrayLiteralsWithRecursiveGenerics.ts create mode 100644 tests/cases/conformance/types/typeRelationships/recursiveTypes/infiniteExpansionThroughInstantiation.ts create mode 100644 tests/cases/conformance/types/typeRelationships/recursiveTypes/infiniteExpansionThroughInstantiation2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/recursiveTypes/infiniteExpansionThroughTypeInference.ts create mode 100644 tests/cases/conformance/types/typeRelationships/recursiveTypes/nominalSubtypeCheckOfTypeParameter.ts create mode 100644 tests/cases/conformance/types/typeRelationships/recursiveTypes/nominalSubtypeCheckOfTypeParameter2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/recursiveTypes/objectTypeWithRecursiveWrappedProperty.ts create mode 100644 tests/cases/conformance/types/typeRelationships/recursiveTypes/objectTypeWithRecursiveWrappedProperty2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/recursiveTypes/objectTypeWithRecursiveWrappedPropertyCheckedNominally.ts create mode 100644 tests/cases/conformance/types/typeRelationships/recursiveTypes/recursiveTypeInGenericConstraint.ts create mode 100644 tests/cases/conformance/types/typeRelationships/recursiveTypes/recursiveTypesUsedAsFunctionParameters.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/enumIsNotASubtypeOfAnythingButNumber.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/nullIsSubtypeOfEverythingButUndefined.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/stringLiteralTypeIsSubtypeOfString.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfAny.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfTypeParameter.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfTypeParameterWithConstraints.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfTypeParameterWithConstraints2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfTypeParameterWithConstraints3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfTypeParameterWithConstraints4.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypesOfTypeParameterWithRecursiveConstraints.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithCallSignatures.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithCallSignatures2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithCallSignatures3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithCallSignatures4.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithCallSignaturesA.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithCallSignaturesWithOptionalParameters.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithCallSignaturesWithRestParameters.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithCallSignaturesWithSpecializedSignatures.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithConstructSignatures.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithConstructSignatures2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithConstructSignatures3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithConstructSignatures4.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithConstructSignatures5.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithConstructSignatures6.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithConstructSignaturesWithOptionalParameters.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithConstructSignaturesWithSpecializedSignatures.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithGenericCallSignaturesWithOptionalParameters.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithGenericConstructSignaturesWithOptionalParameters.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithNumericIndexer.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithNumericIndexer2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithNumericIndexer3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithNumericIndexer4.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithNumericIndexer5.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithObjectMembers.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithObjectMembers2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithObjectMembers3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithObjectMembers4.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithObjectMembers5.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithObjectMembersAccessibility.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithObjectMembersAccessibility2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithObjectMembersOptionality.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithObjectMembersOptionality2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithObjectMembersOptionality3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithObjectMembersOptionality4.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithOptionalProperties.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithStringIndexer.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithStringIndexer2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithStringIndexer3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/subtypingWithStringIndexer4.ts create mode 100644 tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/undefinedIsSubtypeOfEverything.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentity.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentity2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithCallSignatures.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithCallSignatures2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithCallSignatures3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithCallSignaturesDifferingParamCounts.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithCallSignaturesDifferingParamCounts2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithCallSignaturesWithOverloads.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithComplexConstraints.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithConstructSignatures.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithConstructSignatures2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithConstructSignaturesDifferingParamCounts.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithGenericCallSignatures.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithGenericCallSignatures2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithGenericCallSignaturesDifferingByConstraints3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithGenericCallSignaturesDifferingByReturnType2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterCounts2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithGenericCallSignaturesDifferingTypeParameterNames.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithGenericCallSignaturesOptionalParams.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithGenericCallSignaturesOptionalParams2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithGenericCallSignaturesOptionalParams3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithGenericConstructSignaturesDifferingByConstraints3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithGenericConstructSignaturesDifferingByReturnType2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterCounts.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithGenericConstructSignaturesDifferingTypeParameterNames.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithGenericConstructSignaturesOptionalParams.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithGenericConstructSignaturesOptionalParams2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithGenericConstructSignaturesOptionalParams3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithNumericIndexers1.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithNumericIndexers2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithNumericIndexers3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithOptionality.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithPrivates.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithPrivates2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithPublics.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithStringIndexers.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/objectTypesIdentityWithStringIndexers2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/primtiveTypesAreIdentical.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/typeParametersAreIdenticalToThemselves.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallTypeArgumentInference.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithArrayLiteralArgs.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithConstraintsTypeArgumentInference.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithConstraintsTypeArgumentInference2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithConstructorTypedArguments5.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithFunctionTypedArguments.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithFunctionTypedArguments2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithFunctionTypedArguments3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithFunctionTypedArguments4.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithFunctionTypedArguments5.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithGenericSignatureArguments3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithNonSymmetricSubtypes.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectLiteralArgs.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgs.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgs2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgsAndConstraints.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgsAndConstraints2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgsAndConstraints3.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgsAndConstraints4.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgsAndConstraints5.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgsAndIndexers.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgsAndIndexersErrors.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgsAndNumericIndexer.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithObjectTypeArgsAndStringIndexer.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithOverloadedConstructorTypedArguments.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithOverloadedConstructorTypedArguments2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithOverloadedFunctionTypedArguments.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericCallWithOverloadedFunctionTypedArguments2.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericClassWithFunctionTypedMemberArguments.ts create mode 100644 tests/cases/conformance/types/typeRelationships/typeInference/genericClassWithObjectTypeArgsAndConstraints.ts create mode 100644 tests/cases/conformance/types/typeRelationships/widenedTypes/arrayLiteralWidened.ts create mode 100644 tests/cases/conformance/types/typeRelationships/widenedTypes/initializersWidened.ts create mode 100644 tests/cases/conformance/types/typeRelationships/widenedTypes/objectLiteralWidened.ts create mode 100644 tests/cases/conformance/types/witness/witness.ts create mode 100644 tests/cases/fourslash/breakpointValidationFunctionExpressions.ts create mode 100644 tests/cases/fourslash/errorConsistency.ts create mode 100644 tests/cases/fourslash/errorsAfterResolvingVariableDeclOfMergedVariableAndClassDecl.ts create mode 100644 tests/cases/fourslash/fourslash.ts create mode 100644 tests/cases/fourslash/todoComments1.ts create mode 100644 tests/cases/fourslash/todoComments10.ts create mode 100644 tests/cases/fourslash/todoComments11.ts create mode 100644 tests/cases/fourslash/todoComments12.ts create mode 100644 tests/cases/fourslash/todoComments13.ts create mode 100644 tests/cases/fourslash/todoComments14.ts create mode 100644 tests/cases/fourslash/todoComments15.ts create mode 100644 tests/cases/fourslash/todoComments16.ts create mode 100644 tests/cases/fourslash/todoComments17.ts create mode 100644 tests/cases/fourslash/todoComments2.ts create mode 100644 tests/cases/fourslash/todoComments3.ts create mode 100644 tests/cases/fourslash/todoComments4.ts create mode 100644 tests/cases/fourslash/todoComments5.ts create mode 100644 tests/cases/fourslash/todoComments6.ts create mode 100644 tests/cases/fourslash/todoComments7.ts create mode 100644 tests/cases/fourslash/todoComments8.ts create mode 100644 tests/cases/fourslash/todoComments9.ts create mode 100644 tests/cases/fourslash_old/addDeclareToFunction.ts create mode 100644 tests/cases/fourslash_old/addDeclareToModule.ts create mode 100644 tests/cases/fourslash_old/addDuplicateSetter.ts create mode 100644 tests/cases/fourslash_old/addFunctionAboveMultiLineLambdaExpression.ts create mode 100644 tests/cases/fourslash_old/addFunctionInDuplicatedConstructorClassBody.ts create mode 100644 tests/cases/fourslash_old/addInterfaceMemberAboveClass.ts create mode 100644 tests/cases/fourslash_old/addInterfaceToNotSatisfyConstraint.ts create mode 100644 tests/cases/fourslash_old/addMemberToInterface.ts create mode 100644 tests/cases/fourslash_old/addMemberToModule.ts create mode 100644 tests/cases/fourslash_old/addMethodToInterface1.ts create mode 100644 tests/cases/fourslash_old/addSignaturePartial.ts create mode 100644 tests/cases/fourslash_old/addVarToConstructor1.ts create mode 100644 tests/cases/fourslash_old/aliasToVarUsedAsType.ts create mode 100644 tests/cases/fourslash_old/alignmentAfterFormattingOnMultilineExpressionAndParametersList.ts create mode 100644 tests/cases/fourslash_old/ambientVariablesWithSameName.ts create mode 100644 tests/cases/fourslash_old/argumentsAreAvailableAfterEditsAtEndOfFunction.ts create mode 100644 tests/cases/fourslash_old/argumentsIndexExpression.ts create mode 100644 tests/cases/fourslash_old/arrayCallAndConstructTypings.ts create mode 100644 tests/cases/fourslash_old/arrayConcatTypeCheck0.ts create mode 100644 tests/cases/fourslash_old/arrayConcatTypeCheck1.ts create mode 100644 tests/cases/fourslash_old/arrayTypeMismatchIncrementalTypeCheck.ts create mode 100644 tests/cases/fourslash_old/assertContextualType.ts create mode 100644 tests/cases/fourslash_old/assignToExistingClass.ts create mode 100644 tests/cases/fourslash_old/augmentedTypesClass1.ts create mode 100644 tests/cases/fourslash_old/augmentedTypesClass2.ts create mode 100644 tests/cases/fourslash_old/augmentedTypesModule1.ts create mode 100644 tests/cases/fourslash_old/augmentedTypesModule2.ts create mode 100644 tests/cases/fourslash_old/augmentedTypesModule3.ts create mode 100644 tests/cases/fourslash_old/augmentedTypesModule4.ts create mode 100644 tests/cases/fourslash_old/augmentedTypesModule5.ts create mode 100644 tests/cases/fourslash_old/augmentedTypesModule6.ts create mode 100644 tests/cases/fourslash_old/autoFormattingOnPasting.ts create mode 100644 tests/cases/fourslash_old/automaticConstructorToggling.ts create mode 100644 tests/cases/fourslash_old/basicClassMembers.ts create mode 100644 tests/cases/fourslash_old/bestCommonTypeObjectLiterals1.ts create mode 100644 tests/cases/fourslash_old/breakpointValidationClass.ts create mode 100644 tests/cases/fourslash_old/breakpointValidationClassAmbient.ts create mode 100644 tests/cases/fourslash_old/breakpointValidationClasses.ts create mode 100644 tests/cases/fourslash_old/breakpointValidationDebugger.ts create mode 100644 tests/cases/fourslash_old/breakpointValidationDo.ts create mode 100644 tests/cases/fourslash_old/breakpointValidationEnums.ts create mode 100644 tests/cases/fourslash_old/breakpointValidationExportAssignment.ts create mode 100644 tests/cases/fourslash_old/breakpointValidationFor.ts create mode 100644 tests/cases/fourslash_old/breakpointValidationForIn.ts create mode 100644 tests/cases/fourslash_old/breakpointValidationFunctionExpressions.ts create mode 100644 tests/cases/fourslash_old/breakpointValidationFunctions.ts create mode 100644 tests/cases/fourslash_old/breakpointValidationIfElse.ts create mode 100644 tests/cases/fourslash_old/breakpointValidationImport.ts create mode 100644 tests/cases/fourslash_old/breakpointValidationLabeled.ts create mode 100644 tests/cases/fourslash_old/breakpointValidationModule.ts create mode 100644 tests/cases/fourslash_old/breakpointValidationModuleAmbient.ts create mode 100644 tests/cases/fourslash_old/breakpointValidationModuleEmpty.ts create mode 100644 tests/cases/fourslash_old/breakpointValidationStatements.ts create mode 100644 tests/cases/fourslash_old/breakpointValidationSwitch.ts create mode 100644 tests/cases/fourslash_old/breakpointValidationTryCatchFinally.ts create mode 100644 tests/cases/fourslash_old/breakpointValidationVariables.ts create mode 100644 tests/cases/fourslash_old/breakpointValidationWhile.ts create mode 100644 tests/cases/fourslash_old/brokenClassErrorRecovery.ts create mode 100644 tests/cases/fourslash_old/callOrderDependence.ts create mode 100644 tests/cases/fourslash_old/callSignatureHelp.ts create mode 100644 tests/cases/fourslash_old/cancellationWhenfindingAllRefsOnDefinition.ts create mode 100644 tests/cases/fourslash_old/chainedFatArrowFormatting.ts create mode 100644 tests/cases/fourslash_old/chainedFunctionCallsErrorSpan.ts create mode 100644 tests/cases/fourslash_old/chainedFunctionFunctionArgIndent.ts create mode 100644 tests/cases/fourslash_old/chainedFunctionLambdaArgIndex.ts create mode 100644 tests/cases/fourslash_old/classExtendsInterfaceSigHelp1.ts create mode 100644 tests/cases/fourslash_old/classInterfaceInsert.ts create mode 100644 tests/cases/fourslash_old/classRenamingErrorRecovery.ts create mode 100644 tests/cases/fourslash_old/cloduleAsBaseClass.ts create mode 100644 tests/cases/fourslash_old/cloduleAsBaseClass2.ts create mode 100644 tests/cases/fourslash_old/cloduleTypeOf1.ts create mode 100644 tests/cases/fourslash_old/cloduleWithRecursiveReference.ts create mode 100644 tests/cases/fourslash_old/closedCommentsInConstructor.ts create mode 100644 tests/cases/fourslash_old/commentsBlocks.ts create mode 100644 tests/cases/fourslash_old/commentsClass.ts create mode 100644 tests/cases/fourslash_old/commentsClassMembers.ts create mode 100644 tests/cases/fourslash_old/commentsCommentParsing.ts create mode 100644 tests/cases/fourslash_old/commentsEnums.ts create mode 100644 tests/cases/fourslash_old/commentsExternalModules.ts create mode 100644 tests/cases/fourslash_old/commentsFunction.ts create mode 100644 tests/cases/fourslash_old/commentsImportDeclaration.ts create mode 100644 tests/cases/fourslash_old/commentsInheritance.ts create mode 100644 tests/cases/fourslash_old/commentsInterface.ts create mode 100644 tests/cases/fourslash_old/commentsModules.ts create mode 100644 tests/cases/fourslash_old/commentsMultiModuleMultiFile.ts create mode 100644 tests/cases/fourslash_old/commentsMultiModuleSingleFile.ts create mode 100644 tests/cases/fourslash_old/commentsOverloads.ts create mode 100644 tests/cases/fourslash_old/commentsVariables.ts create mode 100644 tests/cases/fourslash_old/completionBeforeSemanticDiagnosticsInArrowFunction1.ts create mode 100644 tests/cases/fourslash_old/completionEntryForPrimitive.ts create mode 100644 tests/cases/fourslash_old/completionInTypeOf1.ts create mode 100644 tests/cases/fourslash_old/completionInTypeOf2.ts create mode 100644 tests/cases/fourslash_old/completionListAfterAnyType.ts create mode 100644 tests/cases/fourslash_old/completionListAfterClassExtends.ts create mode 100644 tests/cases/fourslash_old/completionListAfterInvalidCharacter.ts create mode 100644 tests/cases/fourslash_old/completionListAfterNumericLiteral.ts create mode 100644 tests/cases/fourslash_old/completionListAfterNumericLiteral1.ts create mode 100644 tests/cases/fourslash_old/completionListAfterObjectLiteral1.ts create mode 100644 tests/cases/fourslash_old/completionListAfterRegularExpressionLiteral1.ts create mode 100644 tests/cases/fourslash_old/completionListAfterStringLiteral1.ts create mode 100644 tests/cases/fourslash_old/completionListAndMemberListOnCommentedDot.ts create mode 100644 tests/cases/fourslash_old/completionListAndMemberListOnCommentedLine.ts create mode 100644 tests/cases/fourslash_old/completionListAndMemberListOnCommentedWhiteSpace.ts create mode 100644 tests/cases/fourslash_old/completionListAtDeclarationOfParameterType.ts create mode 100644 tests/cases/fourslash_old/completionListAtEOF.ts create mode 100644 tests/cases/fourslash_old/completionListAtEOF1.ts create mode 100644 tests/cases/fourslash_old/completionListAtEOF2.ts create mode 100644 tests/cases/fourslash_old/completionListAtIdentifierDefinitionLocations.ts create mode 100644 tests/cases/fourslash_old/completionListAtInvalidLocations.ts create mode 100644 tests/cases/fourslash_old/completionListAtNodeBoundry.ts create mode 100644 tests/cases/fourslash_old/completionListBeforeKeyword.ts create mode 100644 tests/cases/fourslash_old/completionListCladule.ts create mode 100644 tests/cases/fourslash_old/completionListClassMembers.ts create mode 100644 tests/cases/fourslash_old/completionListEnumMembers.ts create mode 100644 tests/cases/fourslash_old/completionListEnumValues.ts create mode 100644 tests/cases/fourslash_old/completionListErrorRecovery.ts create mode 100644 tests/cases/fourslash_old/completionListErrorRecovery2.ts create mode 100644 tests/cases/fourslash_old/completionListForDerivedType1.ts create mode 100644 tests/cases/fourslash_old/completionListForGenericInstance1.ts create mode 100644 tests/cases/fourslash_old/completionListForNonExportedMemberInAmbientModuleWithExportAssignment1.ts create mode 100644 tests/cases/fourslash_old/completionListFunctionExpression.ts create mode 100644 tests/cases/fourslash_old/completionListFunctionMembers.ts create mode 100644 tests/cases/fourslash_old/completionListGenericConstraints.ts create mode 100644 tests/cases/fourslash_old/completionListGenericConstraintsNames.ts create mode 100644 tests/cases/fourslash_old/completionListInComments.ts create mode 100644 tests/cases/fourslash_old/completionListInContextuallyTypedArgument.ts create mode 100644 tests/cases/fourslash_old/completionListInEmptyFile.ts create mode 100644 tests/cases/fourslash_old/completionListInExtendsClause.ts create mode 100644 tests/cases/fourslash_old/completionListInExtendsClauseAtEOF.ts create mode 100644 tests/cases/fourslash_old/completionListInFatArrow.ts create mode 100644 tests/cases/fourslash_old/completionListInFunctionDeclaration.ts create mode 100644 tests/cases/fourslash_old/completionListInFunctionExpression.ts create mode 100644 tests/cases/fourslash_old/completionListInNamedFunctionExpression.ts create mode 100644 tests/cases/fourslash_old/completionListInObjectLiteral.ts create mode 100644 tests/cases/fourslash_old/completionListInObjectLiteral2.ts create mode 100644 tests/cases/fourslash_old/completionListInObjectLiteral3.ts create mode 100644 tests/cases/fourslash_old/completionListInObjectLiteralThatIsParameterOfFunctionCall.ts create mode 100644 tests/cases/fourslash_old/completionListInScope.ts create mode 100644 tests/cases/fourslash_old/completionListInTypedObjectLiterals.ts create mode 100644 tests/cases/fourslash_old/completionListInTypedObjectLiterals2.ts create mode 100644 tests/cases/fourslash_old/completionListInTypedObjectLiterals3.ts create mode 100644 tests/cases/fourslash_old/completionListInTypedObjectLiterals4.ts create mode 100644 tests/cases/fourslash_old/completionListInTypedObjectLiteralsWithPartialPropertyNames.ts create mode 100644 tests/cases/fourslash_old/completionListInTypedObjectLiteralsWithPartialPropertyNames2.ts create mode 100644 tests/cases/fourslash_old/completionListInsideTargetTypedFunction.ts create mode 100644 tests/cases/fourslash_old/completionListInvalidMemberNames.ts create mode 100644 tests/cases/fourslash_old/completionListInvalidMemberNames2.ts create mode 100644 tests/cases/fourslash_old/completionListKeywords.ts create mode 100644 tests/cases/fourslash_old/completionListModuleMembers.ts create mode 100644 tests/cases/fourslash_old/completionListObjectMembers.ts create mode 100644 tests/cases/fourslash_old/completionListOfSplitInterface.ts create mode 100644 tests/cases/fourslash_old/completionListOnAliasedModule.ts create mode 100644 tests/cases/fourslash_old/completionListOnFunctionCallWithOptionalArgument.ts create mode 100644 tests/cases/fourslash_old/completionListOnMethodParameterName.ts create mode 100644 tests/cases/fourslash_old/completionListOnParam.ts create mode 100644 tests/cases/fourslash_old/completionListOnParamInClass.ts create mode 100644 tests/cases/fourslash_old/completionListOnParamOfGenericType1.ts create mode 100644 tests/cases/fourslash_old/completionListOnPrivateVariableInModule.ts create mode 100644 tests/cases/fourslash_old/completionListOnSuper.ts create mode 100644 tests/cases/fourslash_old/completionListOnVarBetweenModules.ts create mode 100644 tests/cases/fourslash_old/completionListPrimitives.ts create mode 100644 tests/cases/fourslash_old/completionListPrivateMembers.ts create mode 100644 tests/cases/fourslash_old/completionListSuperMembers.ts create mode 100644 tests/cases/fourslash_old/completionListWithModulesFromModule.ts create mode 100644 tests/cases/fourslash_old/completionListWithModulesInsideModuleScope.ts create mode 100644 tests/cases/fourslash_old/completionListWithModulesOutsideModuleScope.ts create mode 100644 tests/cases/fourslash_old/completionListWithModulesOutsideModuleScope2.ts create mode 100644 tests/cases/fourslash_old/completionListWithUnresolvedModule.ts create mode 100644 tests/cases/fourslash_old/completionListsThroughTransitiveBaseClasses.ts create mode 100644 tests/cases/fourslash_old/completionListsThroughTransitiveBaseClasses2.ts create mode 100644 tests/cases/fourslash_old/completion_enum-members-with-invalid-identifiers-should-not-show-in-completion.ts create mode 100644 tests/cases/fourslash_old/consistenceOnIndentionsOfChainedFunctionCalls.ts create mode 100644 tests/cases/fourslash_old/consistenceOnIndentionsOfObjectsInAListAfterFormatting.ts create mode 100644 tests/cases/fourslash_old/consistentContextualTypeErrorsAfterEdits.ts create mode 100644 tests/cases/fourslash_old/constructorBraceFormatting.ts create mode 100644 tests/cases/fourslash_old/constructorOverloadWithoutImplementation.ts create mode 100644 tests/cases/fourslash_old/constructorOverloadWithoutImplementation2.ts create mode 100644 tests/cases/fourslash_old/constructorQuickInfo.ts create mode 100644 tests/cases/fourslash_old/contextualTyping.ts create mode 100644 tests/cases/fourslash_old/contextualTypingFromTypeAssertion1.ts create mode 100644 tests/cases/fourslash_old/contextualTypingGenericFunction1.ts create mode 100644 tests/cases/fourslash_old/contextualTypingOfArrayLiterals1.ts create mode 100644 tests/cases/fourslash_old/contextualTypingOfGenericCallSignatures1.ts create mode 100644 tests/cases/fourslash_old/contextualTypingOfGenericCallSignatures2.ts create mode 100644 tests/cases/fourslash_old/contextualTypingReturnExpressions.ts create mode 100644 tests/cases/fourslash_old/contextuallyTypedFunctionExpressionGeneric1.ts create mode 100644 tests/cases/fourslash_old/debuggerStatementIndent.ts create mode 100644 tests/cases/fourslash_old/declareFunction.ts create mode 100644 tests/cases/fourslash_old/defaultParamsAndContextualTypes.ts create mode 100644 tests/cases/fourslash_old/deleteClassWithEnumPresent.ts create mode 100644 tests/cases/fourslash_old/deleteExtensionInReopenedInterface.ts create mode 100644 tests/cases/fourslash_old/deleteReopenedModule.ts create mode 100644 tests/cases/fourslash_old/deleteTypeParameter.ts create mode 100644 tests/cases/fourslash_old/derivedTypeIndexerWithGenericConstraints.ts create mode 100644 tests/cases/fourslash_old/distinctTypesInCallbacksWithSameNames.ts create mode 100644 tests/cases/fourslash_old/duplicateClassModuleError0.ts create mode 100644 tests/cases/fourslash_old/duplicateFunctionImplementation.ts create mode 100644 tests/cases/fourslash_old/duplicateIndexers.ts create mode 100644 tests/cases/fourslash_old/duplicateTypeParameters.ts create mode 100644 tests/cases/fourslash_old/editLambdaArgToTypeParameter1.ts create mode 100644 tests/cases/fourslash_old/emptyArrayInference.ts create mode 100644 tests/cases/fourslash_old/emptyTypeArgumentList.ts create mode 100644 tests/cases/fourslash_old/enumAddition.ts create mode 100644 tests/cases/fourslash_old/enumUpdate1.ts create mode 100644 tests/cases/fourslash_old/eval.ts create mode 100644 tests/cases/fourslash_old/exportClauseErrorReporting0.ts create mode 100644 tests/cases/fourslash_old/exportEqualCallableInterface.ts create mode 100644 tests/cases/fourslash_old/exportEqualIncremental.ts create mode 100644 tests/cases/fourslash_old/exportEqualTypes.ts create mode 100644 tests/cases/fourslash_old/exportEqualsInterfaceA.ts create mode 100644 tests/cases/fourslash_old/extendArray.ts create mode 100644 tests/cases/fourslash_old/extendArrayInterface.ts create mode 100644 tests/cases/fourslash_old/extendArrayInterfaceMember.ts create mode 100644 tests/cases/fourslash_old/extendInterfaceOverloadedMethod.ts create mode 100644 tests/cases/fourslash_old/extendsTArray.ts create mode 100644 tests/cases/fourslash_old/externalModuleIntellisense.ts create mode 100644 tests/cases/fourslash_old/externalModuleRefernceResolutionOrderInImportDeclaration.ts create mode 100644 tests/cases/fourslash_old/externalModuleWithExportAssignment.ts create mode 100644 tests/cases/fourslash_old/failureToImplementClass.ts create mode 100644 tests/cases/fourslash_old/findAllRefsOnDefinition.ts create mode 100644 tests/cases/fourslash_old/findAllRefsOnDefinition2.ts create mode 100644 tests/cases/fourslash_old/findReferences.ts create mode 100644 tests/cases/fourslash_old/findReferences1.ts create mode 100644 tests/cases/fourslash_old/findReferencesAliases1.ts create mode 100644 tests/cases/fourslash_old/findReferencesModules1.ts create mode 100644 tests/cases/fourslash_old/forIn.ts create mode 100644 tests/cases/fourslash_old/forceIndentAfterNewLineInsert.ts create mode 100644 tests/cases/fourslash_old/formatAfterObjectLiteral.ts create mode 100644 tests/cases/fourslash_old/formatAnyTypeLiteral.ts create mode 100644 tests/cases/fourslash_old/formatArrayOrObjectLiteralsInVariableList.ts create mode 100644 tests/cases/fourslash_old/formatColonAndQMark.ts create mode 100644 tests/cases/fourslash_old/formatControlFlowConstructs.ts create mode 100644 tests/cases/fourslash_old/formatDebuggerStatement.ts create mode 100644 tests/cases/fourslash_old/formatEmptyBlock.ts create mode 100644 tests/cases/fourslash_old/formatImplicitModule.ts create mode 100644 tests/cases/fourslash_old/formatImportDeclaration.ts create mode 100644 tests/cases/fourslash_old/formatMultilineComment.ts create mode 100644 tests/cases/fourslash_old/formatOnSemiColonAfterBreak.ts create mode 100644 tests/cases/fourslash_old/formatSelectionWithTrivia.ts create mode 100644 tests/cases/fourslash_old/formatTryCatch.ts create mode 100644 tests/cases/fourslash_old/formatVariableDeclarationList.ts create mode 100644 tests/cases/fourslash_old/formatWithStatement.ts create mode 100644 tests/cases/fourslash_old/formattingAfterChainedFatArrow.ts create mode 100644 tests/cases/fourslash_old/formattingAfterMultiLineIfCondition.ts create mode 100644 tests/cases/fourslash_old/formattingAfterMultiLineString.ts create mode 100644 tests/cases/fourslash_old/formattingArrayLiteral.ts create mode 100644 tests/cases/fourslash_old/formattingComma.ts create mode 100644 tests/cases/fourslash_old/formattingCrash.ts create mode 100644 tests/cases/fourslash_old/formattingElseInsideAFunction.ts create mode 100644 tests/cases/fourslash_old/formattingFatArrowFunctions.ts create mode 100644 tests/cases/fourslash_old/formattingForIn.ts create mode 100644 tests/cases/fourslash_old/formattingForLoopSemicolons.ts create mode 100644 tests/cases/fourslash_old/formattingObjectLiteral.ts create mode 100644 tests/cases/fourslash_old/formattingOfChainedLambda.ts create mode 100644 tests/cases/fourslash_old/formattingOfModuleExport.ts create mode 100644 tests/cases/fourslash_old/formattingOfMultilineBlockConstructs.ts create mode 100644 tests/cases/fourslash_old/formattingOnClasses.ts create mode 100644 tests/cases/fourslash_old/formattingOnCloseBrace.ts create mode 100644 tests/cases/fourslash_old/formattingOnClosingBracket.ts create mode 100644 tests/cases/fourslash_old/formattingOnCommaOperator.ts create mode 100644 tests/cases/fourslash_old/formattingOnDoWhileNoSemicolon.ts create mode 100644 tests/cases/fourslash_old/formattingOnDocumentReadyFunction.ts create mode 100644 tests/cases/fourslash_old/formattingOnEmptyInterfaceLiteral.ts create mode 100644 tests/cases/fourslash_old/formattingOnEnter.ts create mode 100644 tests/cases/fourslash_old/formattingOnEnterInComments.ts create mode 100644 tests/cases/fourslash_old/formattingOnEnterInStrings.ts create mode 100644 tests/cases/fourslash_old/formattingOnInterfaces.ts create mode 100644 tests/cases/fourslash_old/formattingOnInvalidCodes.ts create mode 100644 tests/cases/fourslash_old/formattingOnModuleIndentation.ts create mode 100644 tests/cases/fourslash_old/formattingOnNestedDoWhileByEnter.ts create mode 100644 tests/cases/fourslash_old/formattingOnNestedStatements.ts create mode 100644 tests/cases/fourslash_old/formattingOnObjectLiteral.ts create mode 100644 tests/cases/fourslash_old/formattingOnOpenBraceOfFunctions.ts create mode 100644 tests/cases/fourslash_old/formattingOnSemiColon.ts create mode 100644 tests/cases/fourslash_old/formattingOnSingleLineBlocks.ts create mode 100644 tests/cases/fourslash_old/formattingOnStatementsWithNoSemicolon.ts create mode 100644 tests/cases/fourslash_old/formattingOnTabAfterCloseCurly.ts create mode 100644 tests/cases/fourslash_old/formattingOnVariety.ts create mode 100644 tests/cases/fourslash_old/formattingOptionsChange.ts create mode 100644 tests/cases/fourslash_old/formattingSingleLineWithNewLineOptionSet.ts create mode 100644 tests/cases/fourslash_old/formattingSkippedTokens.ts create mode 100644 tests/cases/fourslash_old/formattingSpacesAfterConstructor.ts create mode 100644 tests/cases/fourslash_old/formattingVoid.ts create mode 100644 tests/cases/fourslash_old/formattingWithEnterAfterMultilineString.ts create mode 100644 tests/cases/fourslash_old/formattingWithLimitedSpan.ts create mode 100644 tests/cases/fourslash_old/formattingofSingleLineBlockConstructs.ts create mode 100644 tests/cases/fourslash_old/forwardReference.ts create mode 100644 tests/cases/fourslash_old/fsEditMarkerPositions.ts create mode 100644 tests/cases/fourslash_old/functionFormatting.ts create mode 100644 tests/cases/fourslash_old/functionIndentation.ts create mode 100644 tests/cases/fourslash_old/functionOverloadCount.ts create mode 100644 tests/cases/fourslash_old/functionProperty.ts create mode 100644 tests/cases/fourslash_old/functionRenamingErrorRecovery.ts create mode 100644 tests/cases/fourslash_old/functionTypeFormatting.ts create mode 100644 tests/cases/fourslash_old/functionTypes.ts create mode 100644 tests/cases/fourslash_old/funduleDefinedInADifferentFile.ts create mode 100644 tests/cases/fourslash_old/funduleDefinedInADifferentFile2.ts create mode 100644 tests/cases/fourslash_old/funduleWithRecursiveReference.ts create mode 100644 tests/cases/fourslash_old/generated/dummy.txt create mode 100644 tests/cases/fourslash_old/genericArityEnforcementAfterEdit.ts create mode 100644 tests/cases/fourslash_old/genericAssignmentCompat.ts create mode 100644 tests/cases/fourslash_old/genericCallSignaturesInNonGenericTypes1.ts create mode 100644 tests/cases/fourslash_old/genericCallSignaturesInNonGenericTypes2.ts create mode 100644 tests/cases/fourslash_old/genericCallsWithOptionalParams1.ts create mode 100644 tests/cases/fourslash_old/genericCloduleCompletionList.ts create mode 100644 tests/cases/fourslash_old/genericCombinatorWithConstraints1.ts create mode 100644 tests/cases/fourslash_old/genericCombinators1.ts create mode 100644 tests/cases/fourslash_old/genericCombinators2.ts create mode 100644 tests/cases/fourslash_old/genericCombinators3.ts create mode 100644 tests/cases/fourslash_old/genericDerivedTypeAcrossModuleBoundary1.ts create mode 100644 tests/cases/fourslash_old/genericFunctionReturnType.ts create mode 100644 tests/cases/fourslash_old/genericFunctionReturnType2.ts create mode 100644 tests/cases/fourslash_old/genericFunctionSignatureHelp1.ts create mode 100644 tests/cases/fourslash_old/genericFunctionSignatureHelp2.ts create mode 100644 tests/cases/fourslash_old/genericFunctionSignatureHelp3.ts create mode 100644 tests/cases/fourslash_old/genericFunctionSignatureHelp3MultiFile.ts create mode 100644 tests/cases/fourslash_old/genericFunctionWithGenericParams1.ts create mode 100644 tests/cases/fourslash_old/genericIncrementalParse.ts create mode 100644 tests/cases/fourslash_old/genericInterfacePropertyInference1.ts create mode 100644 tests/cases/fourslash_old/genericInterfacePropertyInference2.ts create mode 100644 tests/cases/fourslash_old/genericInterfaceWithInheritanceEdit1.ts create mode 100644 tests/cases/fourslash_old/genericInterfacesWithConstraints1.ts create mode 100644 tests/cases/fourslash_old/genericMapTyping1.ts create mode 100644 tests/cases/fourslash_old/genericMethodParam.ts create mode 100644 tests/cases/fourslash_old/genericObjectBaseType.ts create mode 100644 tests/cases/fourslash_old/genericParameterHelp.ts create mode 100644 tests/cases/fourslash_old/genericRespecialization1.ts create mode 100644 tests/cases/fourslash_old/genericSignaturesAreProperlyCleaned.ts create mode 100644 tests/cases/fourslash_old/genericStructuralTypeConstraint.ts create mode 100644 tests/cases/fourslash_old/genericTypeArgumentInference1.ts create mode 100644 tests/cases/fourslash_old/genericTypeArgumentInference2.ts create mode 100644 tests/cases/fourslash_old/genericTypeParamUnrelatedToArguments1.ts create mode 100644 tests/cases/fourslash_old/genericTypeWithMultipleBases1.ts create mode 100644 tests/cases/fourslash_old/genericTypeWithMultipleBases1MultiFile.ts create mode 100644 tests/cases/fourslash_old/genericWithSpecializedProperties1.ts create mode 100644 tests/cases/fourslash_old/genericWithSpecializedProperties2.ts create mode 100644 tests/cases/fourslash_old/genericWithSpecializedProperties3.ts create mode 100644 tests/cases/fourslash_old/genericsFormatting.ts create mode 100644 tests/cases/fourslash_old/getCompletionEntryDetails.ts create mode 100644 tests/cases/fourslash_old/getCompletionEntryDetails2.ts create mode 100644 tests/cases/fourslash_old/getImplementors1.ts create mode 100644 tests/cases/fourslash_old/getImplementorsForFunction.ts create mode 100644 tests/cases/fourslash_old/getMatchingBraces.ts create mode 100644 tests/cases/fourslash_old/getMatchingBracesNegativeCases.ts create mode 100644 tests/cases/fourslash_old/getNameOrDottedNameSpan.ts create mode 100644 tests/cases/fourslash_old/getOccurrencesIsWriteAccess.ts create mode 100644 tests/cases/fourslash_old/getOccurrencesOfAnonomusFunction.ts create mode 100644 tests/cases/fourslash_old/getOccurrencesOfAnonomusFunction2.ts create mode 100644 tests/cases/fourslash_old/getOccurrencesOfAny.ts create mode 100644 tests/cases/fourslash_old/getOccurrencesOfUndefinedSymbol.ts create mode 100644 tests/cases/fourslash_old/getOutliningSpans.ts create mode 100644 tests/cases/fourslash_old/getTypeAtModuleExtends.ts create mode 100644 tests/cases/fourslash_old/getTypeOfUnresolvedGenericExtension.ts create mode 100644 tests/cases/fourslash_old/globalCompletionListInsideObjectLiterals.ts create mode 100644 tests/cases/fourslash_old/goToDefinitionAmbiants.ts create mode 100644 tests/cases/fourslash_old/goToDefinitionConstructorOverloads.ts create mode 100644 tests/cases/fourslash_old/goToDefinitionDifferentFile.ts create mode 100644 tests/cases/fourslash_old/goToDefinitionDifferentFileIndirectly.ts create mode 100644 tests/cases/fourslash_old/goToDefinitionFunctionOverloads.ts create mode 100644 tests/cases/fourslash_old/goToDefinitionFunctionOverloadsInClass.ts create mode 100644 tests/cases/fourslash_old/goToDefinitionImplicitConstructor.ts create mode 100644 tests/cases/fourslash_old/goToDefinitionInMemberDeclaration.ts create mode 100644 tests/cases/fourslash_old/goToDefinitionInTypeArgument.ts create mode 100644 tests/cases/fourslash_old/goToDefinitionInterfaceAfterImplement.ts create mode 100644 tests/cases/fourslash_old/goToDefinitionMethodOverloads.ts create mode 100644 tests/cases/fourslash_old/goToDefinitionMultipleDefinitions.ts create mode 100644 tests/cases/fourslash_old/goToDefinitionPartialImplementation.ts create mode 100644 tests/cases/fourslash_old/goToDefinitionPrimitives.ts create mode 100644 tests/cases/fourslash_old/goToDefinitionSameFile.ts create mode 100644 tests/cases/fourslash_old/goToDefinitionShadowVariable.ts create mode 100644 tests/cases/fourslash_old/goToDefinitionShadowVariableInsideModule.ts create mode 100644 tests/cases/fourslash_old/goToDefinitionSimple.ts create mode 100644 tests/cases/fourslash_old/goToDefinitionSourceUnit.ts create mode 100644 tests/cases/fourslash_old/goToDefinitionUndefinedSymbols.ts create mode 100644 tests/cases/fourslash_old/goToModuleAliasDefinition.ts create mode 100644 tests/cases/fourslash_old/identationAfterInterfaceCall.ts create mode 100644 tests/cases/fourslash_old/identifierErrorRecovery.ts create mode 100644 tests/cases/fourslash_old/importDeclPaste0.ts create mode 100644 tests/cases/fourslash_old/importValueUsedAsType.ts create mode 100644 tests/cases/fourslash_old/incompatibleOverride.ts create mode 100644 tests/cases/fourslash_old/incrementalEditInvocationExpressionAboveInterfaceDeclaration.ts create mode 100644 tests/cases/fourslash_old/incrementalResolveAccessor.ts create mode 100644 tests/cases/fourslash_old/incrementalResolveConstructorDeclaration.ts create mode 100644 tests/cases/fourslash_old/incrementalResolveFunctionPropertyAssignment.ts create mode 100644 tests/cases/fourslash_old/incrementalUpdateToClassImplementingGenericClass.ts create mode 100644 tests/cases/fourslash_old/indentAfterFunctionClosingBraces.ts create mode 100644 tests/cases/fourslash_old/indentAfterImport.ts create mode 100644 tests/cases/fourslash_old/indentation.ts create mode 100644 tests/cases/fourslash_old/indentationAfterModuleImport.ts create mode 100644 tests/cases/fourslash_old/indentionsOfCommentBlockAfterFormatting.ts create mode 100644 tests/cases/fourslash_old/indexSignatureWithoutAnnotation.ts create mode 100644 tests/cases/fourslash_old/indexerReturnTypes1.ts create mode 100644 tests/cases/fourslash_old/inheritedModuleMembersForClodule2.ts create mode 100644 tests/cases/fourslash_old/insertArgumentBeforeOverloadedConstructor.ts create mode 100644 tests/cases/fourslash_old/insertInterfaceAndCheckTypeLiteralField.ts create mode 100644 tests/cases/fourslash_old/insertMethodCallAboveOthers.ts create mode 100644 tests/cases/fourslash_old/insertPublicBeforeSetter.ts create mode 100644 tests/cases/fourslash_old/insertReturnStatementInDuplicateIdentifierFunction.ts create mode 100644 tests/cases/fourslash_old/insertSecondTryCatchBlock.ts create mode 100644 tests/cases/fourslash_old/insertVarAfterEmptyTypeParamList.ts create mode 100644 tests/cases/fourslash_old/instanceTypesForGenericType1.ts create mode 100644 tests/cases/fourslash_old/intellisenseInObjectLiteral.ts create mode 100644 tests/cases/fourslash_old/interfaceExtendsPrimitive.ts create mode 100644 tests/cases/fourslash_old/interfaceIndent.ts create mode 100644 tests/cases/fourslash_old/interfaceRecursiveInheritanceErrors0.ts create mode 100644 tests/cases/fourslash_old/interfaceRecursiveInheritanceErrors1.ts create mode 100644 tests/cases/fourslash_old/invalidRestArgError.ts create mode 100644 tests/cases/fourslash_old/invertedCloduleAfterQuickInfo.ts create mode 100644 tests/cases/fourslash_old/invertedFunduleAfterQuickInfo.ts create mode 100644 tests/cases/fourslash_old/lambdaThisMembers.ts create mode 100644 tests/cases/fourslash_old/localGetReferences.ts create mode 100644 tests/cases/fourslash_old/malformedObjectLiteral.ts create mode 100644 tests/cases/fourslash_old/memberCompletionFromFunctionCall.ts create mode 100644 tests/cases/fourslash_old/memberCompletionInForEach1.ts create mode 100644 tests/cases/fourslash_old/memberCompletionOnTypeParameters.ts create mode 100644 tests/cases/fourslash_old/memberCompletionOnTypeParameters2.ts create mode 100644 tests/cases/fourslash_old/memberConstructorEdits.ts create mode 100644 tests/cases/fourslash_old/memberListAfterSingleDot.ts create mode 100644 tests/cases/fourslash_old/memberListErrorRecovery.ts create mode 100644 tests/cases/fourslash_old/memberListInFunctionCall.ts create mode 100644 tests/cases/fourslash_old/memberListInReopenedEnum.ts create mode 100644 tests/cases/fourslash_old/memberListInWithBlock.ts create mode 100644 tests/cases/fourslash_old/memberListInsideObjectLiterals.ts create mode 100644 tests/cases/fourslash_old/memberListOfClass.ts create mode 100644 tests/cases/fourslash_old/memberListOfEnumFromExternalModule.ts create mode 100644 tests/cases/fourslash_old/memberListOfEnumInModule.ts create mode 100644 tests/cases/fourslash_old/memberListOfExportedClass.ts create mode 100644 tests/cases/fourslash_old/memberListOfModule.ts create mode 100644 tests/cases/fourslash_old/memberListOfModuleAfterInvalidCharater.ts create mode 100644 tests/cases/fourslash_old/memberListOfModuleBeforeKeyword.ts create mode 100644 tests/cases/fourslash_old/memberListOfModuleInAnotherModule.ts create mode 100644 tests/cases/fourslash_old/memberListOnConstructorType.ts create mode 100644 tests/cases/fourslash_old/memberListOnFunctionParameter.ts create mode 100644 tests/cases/fourslash_old/memberListOnThisInClassWithPrivates.ts create mode 100644 tests/cases/fourslash_old/memberOverloadEdits.ts create mode 100644 tests/cases/fourslash_old/memberlistOnDDot.ts create mode 100644 tests/cases/fourslash_old/mergedDeclarations1.ts create mode 100644 tests/cases/fourslash_old/mergedDeclarations2.ts create mode 100644 tests/cases/fourslash_old/mergedDeclarationsWithExportAssignment1.ts create mode 100644 tests/cases/fourslash_old/mispeltVariableForInLoopErrorRecovery.ts create mode 100644 tests/cases/fourslash_old/missingMethodAfterEditAfterImport.ts create mode 100644 tests/cases/fourslash_old/moduleEnumModule.ts create mode 100644 tests/cases/fourslash_old/moduleIndent.ts create mode 100644 tests/cases/fourslash_old/moduleMembersOfGenericType.ts create mode 100644 tests/cases/fourslash_old/moduleReferenceValue.ts create mode 100644 tests/cases/fourslash_old/moduleRenamingErrorRecovery.ts create mode 100644 tests/cases/fourslash_old/moduleVariables.ts create mode 100644 tests/cases/fourslash_old/multiModuleClodule1.ts create mode 100644 tests/cases/fourslash_old/multiModuleFundule1.ts create mode 100644 tests/cases/fourslash_old/multilineCommentBeforeOpenBrace.ts create mode 100644 tests/cases/fourslash_old/multipleExportAssignmentsErrorList0.ts create mode 100644 tests/cases/fourslash_old/nameOfRetypedClassInModule.ts create mode 100644 tests/cases/fourslash_old/nameOrDottedNameClasses.ts create mode 100644 tests/cases/fourslash_old/nameOrDottedNameStatements.ts create mode 100644 tests/cases/fourslash_old/nameOrDottedName_Classes.ts create mode 100644 tests/cases/fourslash_old/nameOrDottedName_Statements.ts create mode 100644 tests/cases/fourslash_old/navbar_contains-no-duplicates.ts create mode 100644 tests/cases/fourslash_old/navigationItemsExactMatch.ts create mode 100644 tests/cases/fourslash_old/navigationItemsExactMatch2.ts create mode 100644 tests/cases/fourslash_old/navigationItemsInConstructorsExactMatch.ts create mode 100644 tests/cases/fourslash_old/navigationItemsPrefixMatch.ts create mode 100644 tests/cases/fourslash_old/navigationItemsPrefixMatch2.ts create mode 100644 tests/cases/fourslash_old/navigationItemsSubStringMatch.ts create mode 100644 tests/cases/fourslash_old/navigationItemsSubStringMatch2.ts create mode 100644 tests/cases/fourslash_old/noCompletionListOnCommentsInsideObjectLiterals.ts create mode 100644 tests/cases/fourslash_old/noQuickInfoInWhitespace.ts create mode 100644 tests/cases/fourslash_old/noSmartIndentInsideMultilineString.ts create mode 100644 tests/cases/fourslash_old/noTypeParameterInLHS.ts create mode 100644 tests/cases/fourslash_old/nonExistingImport.ts create mode 100644 tests/cases/fourslash_old/numberAssignement0.ts create mode 100644 tests/cases/fourslash_old/numericPropertyNames.ts create mode 100644 tests/cases/fourslash_old/objectLiteralCallSignatures.ts create mode 100644 tests/cases/fourslash_old/outliningForNonCompleteInterfaceDeclaration.ts create mode 100644 tests/cases/fourslash_old/overloadObjectLiteralCrash.ts create mode 100644 tests/cases/fourslash_old/overloadOnConstCallSignature.ts create mode 100644 tests/cases/fourslash_old/overloadQuickInfo.ts create mode 100644 tests/cases/fourslash_old/overloadResolutionErrors.ts create mode 100644 tests/cases/fourslash_old/paramHelpOnCommaInString.ts create mode 100644 tests/cases/fourslash_old/parameterInfoOnParameterType.ts create mode 100644 tests/cases/fourslash_old/parameterlessSetter.ts create mode 100644 tests/cases/fourslash_old/parenthesisFatArrows.ts create mode 100644 tests/cases/fourslash_old/paste.ts create mode 100644 tests/cases/fourslash_old/pasteLambdaOverModule.ts create mode 100644 tests/cases/fourslash_old/promiseTyping1.ts create mode 100644 tests/cases/fourslash_old/promiseTyping2.ts create mode 100644 tests/cases/fourslash_old/propertyDuplicateIdentifierError.ts create mode 100644 tests/cases/fourslash_old/proto.ts create mode 100644 tests/cases/fourslash_old/prototypeProperty.ts create mode 100644 tests/cases/fourslash_old/publicBreak.ts create mode 100644 tests/cases/fourslash_old/pullFullDiffTypeParameterExtends0.ts create mode 100644 tests/cases/fourslash_old/qualifiedName_import-declaration-with-variable-entity-names.ts create mode 100644 tests/cases/fourslash_old/qualifyModuleTypeNames.ts create mode 100644 tests/cases/fourslash_old/quickInfoExportAssignmentOfGenericInterface.ts create mode 100644 tests/cases/fourslash_old/quickInfoForAliasedGeneric.ts create mode 100644 tests/cases/fourslash_old/quickInfoForContextuallyTypedFunctionInReturnStatement.ts create mode 100644 tests/cases/fourslash_old/quickInfoForDerivedGenericTypeWithConstructor.ts create mode 100644 tests/cases/fourslash_old/quickInfoForFunctionDeclaration.ts create mode 100644 tests/cases/fourslash_old/quickInfoForGenericConstraints1.ts create mode 100644 tests/cases/fourslash_old/quickInfoForGenericPrototypeMember.ts create mode 100644 tests/cases/fourslash_old/quickInfoForIndexerResultWithConstraint.ts create mode 100644 tests/cases/fourslash_old/quickInfoForOverloadOnConst1.ts create mode 100644 tests/cases/fourslash_old/quickInfoForTypeofParameter.ts create mode 100644 tests/cases/fourslash_old/quickInfoFromEmptyBlockComment.ts create mode 100644 tests/cases/fourslash_old/quickInfoGenerics.ts create mode 100644 tests/cases/fourslash_old/quickInfoInFunctionTypeReference.ts create mode 100644 tests/cases/fourslash_old/quickInfoInFunctionTypeReference2.ts create mode 100644 tests/cases/fourslash_old/quickInfoInInvalidIndexSignature.ts create mode 100644 tests/cases/fourslash_old/quickInfoInObjectLiteral.ts create mode 100644 tests/cases/fourslash_old/quickInfoInWithBlock.ts create mode 100644 tests/cases/fourslash_old/quickInfoInvalidLocations.ts create mode 100644 tests/cases/fourslash_old/quickInfoOfGenericTypeAssertions1.ts create mode 100644 tests/cases/fourslash_old/quickInfoOfLablledForStatementIterator.ts create mode 100644 tests/cases/fourslash_old/quickInfoOfStringPropertyNames1.ts create mode 100644 tests/cases/fourslash_old/quickInfoOnCatchVariable.ts create mode 100644 tests/cases/fourslash_old/quickInfoOnCircularTypes.ts create mode 100644 tests/cases/fourslash_old/quickInfoOnClassMergedWithFunction.ts create mode 100644 tests/cases/fourslash_old/quickInfoOnConstructorWithGenericParameter.ts create mode 100644 tests/cases/fourslash_old/quickInfoOnErrorTypes1.ts create mode 100644 tests/cases/fourslash_old/quickInfoOnGenericClass.ts create mode 100644 tests/cases/fourslash_old/quickInfoOnGenericWithConstraints1.ts create mode 100644 tests/cases/fourslash_old/quickInfoOnMergedInterfaces.ts create mode 100644 tests/cases/fourslash_old/quickInfoOnMergedInterfacesWithIncrementalEdits.ts create mode 100644 tests/cases/fourslash_old/quickInfoOnMergedModule.ts create mode 100644 tests/cases/fourslash_old/quickInfoOnObjectLiteralWithAccessors.ts create mode 100644 tests/cases/fourslash_old/quickInfoOnObjectLiteralWithOnlyGetter.ts create mode 100644 tests/cases/fourslash_old/quickInfoOnObjectLiteralWithOnlySetter.ts create mode 100644 tests/cases/fourslash_old/quickInfoOnThis.ts create mode 100644 tests/cases/fourslash_old/quickInfoOnUnResolvedBaseConstructorSignature.ts create mode 100644 tests/cases/fourslash_old/quickInfoShowsGenericSpecialization.ts create mode 100644 tests/cases/fourslash_old/quickinfoIsConsistent.ts create mode 100644 tests/cases/fourslash_old/recursiveClassReference.ts create mode 100644 tests/cases/fourslash_old/recursiveGenerics2.ts create mode 100644 tests/cases/fourslash_old/recursiveInternalModuleImport.ts create mode 100644 tests/cases/fourslash_old/recursiveObjectLiteral.ts create mode 100644 tests/cases/fourslash_old/recursiveWrappedTypeParameters1.ts create mode 100644 tests/cases/fourslash_old/referenceToClass.ts create mode 100644 tests/cases/fourslash_old/referencesForClassLocal.ts create mode 100644 tests/cases/fourslash_old/referencesForClassParameter.ts create mode 100644 tests/cases/fourslash_old/referencesForFunctionOverloads.ts create mode 100644 tests/cases/fourslash_old/referencesForFunctionParameter.ts create mode 100644 tests/cases/fourslash_old/referencesForGlobals.ts create mode 100644 tests/cases/fourslash_old/referencesForIllegalAssignment.ts create mode 100644 tests/cases/fourslash_old/referencesForNoContext.ts create mode 100644 tests/cases/fourslash_old/referencesForOverrides.ts create mode 100644 tests/cases/fourslash_old/referencesForStatic.ts create mode 100644 tests/cases/fourslash_old/referencesForStaticsAndMembersWithSameNames.ts create mode 100644 tests/cases/fourslash_old/referencesInComment.ts create mode 100644 tests/cases/fourslash_old/regexDetection.ts create mode 100644 tests/cases/fourslash_old/regexErrorRecovery.ts create mode 100644 tests/cases/fourslash_old/regexp.ts create mode 100644 tests/cases/fourslash_old/remoteGetReferences.ts create mode 100644 tests/cases/fourslash_old/removeDeclareFunctionExports.ts create mode 100644 tests/cases/fourslash_old/removeDeclareInModule.ts create mode 100644 tests/cases/fourslash_old/removeDeclareKeyword.ts create mode 100644 tests/cases/fourslash_old/removeDeclareParamTypeAnnotation.ts create mode 100644 tests/cases/fourslash_old/removeDuplicateIdentifier.ts create mode 100644 tests/cases/fourslash_old/removeExportFromInterfaceError0.ts create mode 100644 tests/cases/fourslash_old/removeExportFromInterfaceError1.ts create mode 100644 tests/cases/fourslash_old/removeExportedClassFromReopenedModule.ts create mode 100644 tests/cases/fourslash_old/removeInterfaceExtendsClause.ts create mode 100644 tests/cases/fourslash_old/removeInterfaceUsedAsGenericTypeArgument.ts create mode 100644 tests/cases/fourslash_old/removeParameterBetweenCommentAndParameter.ts create mode 100644 tests/cases/fourslash_old/removeVarFromModuleWithReopenedEnums.ts create mode 100644 tests/cases/fourslash_old/renameModuleToVar.ts create mode 100644 tests/cases/fourslash_old/restArgSignatureHelp.ts create mode 100644 tests/cases/fourslash_old/restArgType.ts create mode 100644 tests/cases/fourslash_old/restParametersTypeValidation1.ts create mode 100644 tests/cases/fourslash_old/restParamsContextuallyTyped.ts create mode 100644 tests/cases/fourslash_old/returnRecursiveType.ts create mode 100644 tests/cases/fourslash_old/returnTypeOfGenericFunction1.ts create mode 100644 tests/cases/fourslash_old/runtimeBehaviorTests.ts create mode 100644 tests/cases/fourslash_old/scriptLexicalStructureEmptyConstructors.ts create mode 100644 tests/cases/fourslash_old/scriptLexicalStructureItems.ts create mode 100644 tests/cases/fourslash_old/scriptLexicalStructureItemsContainsNoAnonymouseFunctions.ts create mode 100644 tests/cases/fourslash_old/scriptLexicalStructureItemsExternalModules.ts create mode 100644 tests/cases/fourslash_old/scriptLexicalStructureItemsModuleVariables.ts create mode 100644 tests/cases/fourslash_old/scriptLexicalStructurePropertiesDefinedInConstructors.ts create mode 100644 tests/cases/fourslash_old/selfReferencedExternalModule.ts create mode 100644 tests/cases/fourslash_old/selfReferencedExternalModule2.ts create mode 100644 tests/cases/fourslash_old/semicolonFormatting.ts create mode 100644 tests/cases/fourslash_old/semicolonFormattingAfterArrayLiteral.ts create mode 100644 tests/cases/fourslash_old/semicolonFormattingInsideAComment.ts create mode 100644 tests/cases/fourslash_old/semicolonFormattingInsideAStringLiteral.ts create mode 100644 tests/cases/fourslash_old/semicolonFormattingNestedStatements.ts create mode 100644 tests/cases/fourslash_old/semicolonFormattingNewline.ts create mode 100644 tests/cases/fourslash_old/signatureHelpAnonymousFunction.ts create mode 100644 tests/cases/fourslash_old/signatureHelpAtEOF.ts create mode 100644 tests/cases/fourslash_old/signatureHelpBeforeSemicolon1.ts create mode 100644 tests/cases/fourslash_old/signatureHelpCallExpression.ts create mode 100644 tests/cases/fourslash_old/signatureHelpConstructExpression.ts create mode 100644 tests/cases/fourslash_old/signatureHelpConstructorInheritance.ts create mode 100644 tests/cases/fourslash_old/signatureHelpConstructorOverload.ts create mode 100644 tests/cases/fourslash_old/signatureHelpForSuperCalls1.ts create mode 100644 tests/cases/fourslash_old/signatureHelpFunctionOverload.ts create mode 100644 tests/cases/fourslash_old/signatureHelpFunctionParameter.ts create mode 100644 tests/cases/fourslash_old/signatureHelpImplicitConstructor.ts create mode 100644 tests/cases/fourslash_old/signatureHelpInCallback.ts create mode 100644 tests/cases/fourslash_old/signatureHelpInCompleteGenericsCall.ts create mode 100644 tests/cases/fourslash_old/signatureHelpInFunctionCall.ts create mode 100644 tests/cases/fourslash_old/signatureHelpInFunctionCallOnFunctionDeclarationInMultipleFiles.ts create mode 100644 tests/cases/fourslash_old/signatureHelpInIncompleteInvocationExpression.ts create mode 100644 tests/cases/fourslash_old/signatureHelpInParenthetical.ts create mode 100644 tests/cases/fourslash_old/signatureHelpIncompleteCalls.ts create mode 100644 tests/cases/fourslash_old/signatureHelpNegativeTests.ts create mode 100644 tests/cases/fourslash_old/signatureHelpNegativeTests2.ts create mode 100644 tests/cases/fourslash_old/signatureHelpNoArguments.ts create mode 100644 tests/cases/fourslash_old/signatureHelpObjectCreationExpressionNoArgs_NotAvailable.ts create mode 100644 tests/cases/fourslash_old/signatureHelpObjectLiteral.ts create mode 100644 tests/cases/fourslash_old/signatureHelpOnOverloadOnConst.ts create mode 100644 tests/cases/fourslash_old/signatureHelpOnOverloads.ts create mode 100644 tests/cases/fourslash_old/signatureHelpOnSuperWhenMembersAreNotResolved.ts create mode 100644 tests/cases/fourslash_old/signatureHelpSimpleConstructorCall.ts create mode 100644 tests/cases/fourslash_old/signatureHelpSimpleFunctionCall.ts create mode 100644 tests/cases/fourslash_old/signatureHelpSimpleSuperCall.ts create mode 100644 tests/cases/fourslash_old/signatureHelpSuperConstructorOverload.ts create mode 100644 tests/cases/fourslash_old/signatureHelpWhenEditingCallExpression.ts create mode 100644 tests/cases/fourslash_old/signatureHelpWithInterfaceAsIdentifier.ts create mode 100644 tests/cases/fourslash_old/singleLineTypeLiteralFormatting.ts create mode 100644 tests/cases/fourslash_old/smartIndentAfterAlignedFunctionArgument.ts create mode 100644 tests/cases/fourslash_old/smartIndentAfterFatArrowVar.ts create mode 100644 tests/cases/fourslash_old/smartIndentClass.ts create mode 100644 tests/cases/fourslash_old/smartIndentEnum.ts create mode 100644 tests/cases/fourslash_old/smartIndentInsideBlockInsideCase.ts create mode 100644 tests/cases/fourslash_old/smartIndentInsideMultilineString.ts create mode 100644 tests/cases/fourslash_old/smartIndentInterface.ts create mode 100644 tests/cases/fourslash_old/smartIndentModule.ts create mode 100644 tests/cases/fourslash_old/smartIndentNestedModule.ts create mode 100644 tests/cases/fourslash_old/smartIndentNonterminatedArgumentListAtEOF.ts create mode 100644 tests/cases/fourslash_old/smartIndentNonterminatedIfStatementAtEOF.ts create mode 100644 tests/cases/fourslash_old/smartIndentOnFunctionParameters.ts create mode 100644 tests/cases/fourslash_old/smartIndentStatementFor.ts create mode 100644 tests/cases/fourslash_old/smartIndentStatementForIn.ts create mode 100644 tests/cases/fourslash_old/smartIndentStatementSwitch.ts create mode 100644 tests/cases/fourslash_old/smartIndentStatementTryCatchFinally.ts create mode 100644 tests/cases/fourslash_old/smartIndentStatementWith.ts create mode 100644 tests/cases/fourslash_old/spaceAfterConstructor.ts create mode 100644 tests/cases/fourslash_old/spaceAfterReturn.ts create mode 100644 tests/cases/fourslash_old/squiggleFunctionExpression.ts create mode 100644 tests/cases/fourslash_old/squiggleIllegalClassExtension.ts create mode 100644 tests/cases/fourslash_old/squiggleIllegalInterfaceExtension.ts create mode 100644 tests/cases/fourslash_old/squiggleIllegalSubclassOverride.ts create mode 100644 tests/cases/fourslash_old/squiggleUnclosedStringLiteral.ts create mode 100644 tests/cases/fourslash_old/staticGenericOverloads1.ts create mode 100644 tests/cases/fourslash_old/staticPrototypePropertyOnClass.ts create mode 100644 tests/cases/fourslash_old/stringPropertyNames1.ts create mode 100644 tests/cases/fourslash_old/stringPropertyNames2.ts create mode 100644 tests/cases/fourslash_old/superCallError0.ts create mode 100644 tests/cases/fourslash_old/superInDerivedTypeOfGenericWithStatics.ts create mode 100644 tests/cases/fourslash_old/switchIndenting.ts create mode 100644 tests/cases/fourslash_old/symbolNameAtUnparseableFunctionOverload.ts create mode 100644 tests/cases/fourslash_old/syntaxErrorAfterImport1.ts create mode 100644 tests/cases/fourslash_old/tabbingAfterNewlineInsertedBeforeWhile.ts create mode 100644 tests/cases/fourslash_old/thisBindingInLambda.ts create mode 100644 tests/cases/fourslash_old/thisRefGotoDef.ts create mode 100644 tests/cases/fourslash_old/toggleDuplicateFunctionDeclaration.ts create mode 100644 tests/cases/fourslash_old/transitiveExportImports.ts create mode 100644 tests/cases/fourslash_old/tryCatchFinallyFormating.ts create mode 100644 tests/cases/fourslash_old/typeAboveNumberLiteralExpressionStatement.ts create mode 100644 tests/cases/fourslash_old/typeArgCompletion.ts create mode 100644 tests/cases/fourslash_old/typeCheckAfterAddingGenericParameter.ts create mode 100644 tests/cases/fourslash_old/typeCheckAfterResolve.ts create mode 100644 tests/cases/fourslash_old/typeCheckExpression0.ts create mode 100644 tests/cases/fourslash_old/typeCheckGenericTypeLiteralArgument.ts create mode 100644 tests/cases/fourslash_old/typeCheckIndexSignature.ts create mode 100644 tests/cases/fourslash_old/typeCheckIndexerAccess1.ts create mode 100644 tests/cases/fourslash_old/typeCheckObjectInArrayLiteral.ts create mode 100644 tests/cases/fourslash_old/typeOfAFundule.ts create mode 100644 tests/cases/fourslash_old/typeOfThisInStatics.ts create mode 100644 tests/cases/fourslash_old/typeParameterListInQuickInfoAfterEdit.ts create mode 100644 tests/cases/fourslash_old/typedGenericPrototypeMember.ts create mode 100644 tests/cases/fourslash_old/unclosedArrayErrorRecovery.ts create mode 100644 tests/cases/fourslash_old/unclosedCommentsInConstructor.ts create mode 100644 tests/cases/fourslash_old/unclosedFunctionErrorRecovery.ts create mode 100644 tests/cases/fourslash_old/unclosedFunctionErrorRecovery2.ts create mode 100644 tests/cases/fourslash_old/unclosedFunctionErrorRecovery3.ts create mode 100644 tests/cases/fourslash_old/unclosedMultilineStringLiteralErrorRecovery.ts create mode 100644 tests/cases/fourslash_old/unclosedStringLiteralAutoformating.ts create mode 100644 tests/cases/fourslash_old/unclosedStringLiteralErrorRecovery.ts create mode 100644 tests/cases/fourslash_old/unclosedStringLiteralErrorRecovery2.ts create mode 100644 tests/cases/fourslash_old/unclosedStringLiteralErrorRecovery3.ts create mode 100644 tests/cases/fourslash_old/unclosedStringLiteralErrorRecovery4.ts create mode 100644 tests/cases/fourslash_old/underscoreTyping1.ts create mode 100644 tests/cases/fourslash_old/underscoreTypings1.ts create mode 100644 tests/cases/fourslash_old/unknownVariableErrorRecovery.ts create mode 100644 tests/cases/fourslash_old/updateToClassStatics.ts create mode 100644 tests/cases/fourslash_old/verifySingleFileEmitOutput1.ts create mode 100644 tests/cases/fourslash_old/whiteSpaceBeforeReturnTypeFormatting.ts create mode 100644 tests/cases/fourslash_old/whiteSpaceTrimming.ts create mode 100644 tests/cases/fourslash_old/widenedTypes.ts create mode 100644 tests/cases/project/baseline.json create mode 100644 tests/cases/project/baseline2.json create mode 100644 tests/cases/project/baseline3.json create mode 100644 tests/cases/project/cantFindTheModule.json create mode 100644 tests/cases/project/circularReferencing.json create mode 100644 tests/cases/project/circularReferencing2.json create mode 100644 tests/cases/project/declarationsCascadingImports.json create mode 100644 tests/cases/project/declarationsGlobalImport.json create mode 100644 tests/cases/project/declarationsImportedInPrivate.json create mode 100644 tests/cases/project/declarationsImportedUseInFunction.json create mode 100644 tests/cases/project/declarationsIndirectImportShouldResultInError.json create mode 100644 tests/cases/project/declarationsMultipleTimesImport.json create mode 100644 tests/cases/project/declarationsMultipleTimesMultipleImport.json create mode 100644 tests/cases/project/declarationsSimpleImport.json create mode 100644 tests/cases/project/declareExportAdded.json create mode 100644 tests/cases/project/declareVariableCollision.json create mode 100644 tests/cases/project/extReferencingExtAndInt.json create mode 100644 tests/cases/project/intReferencingExtAndInt.json create mode 100644 tests/cases/project/mapRootAbsolutePathMixedSubfolderNoOutdir.json create mode 100644 tests/cases/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/mapRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/cases/project/mapRootAbsolutePathModuleMultifolderNoOutdir.json create mode 100644 tests/cases/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/mapRootAbsolutePathModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/cases/project/mapRootAbsolutePathModuleSimpleNoOutdir.json create mode 100644 tests/cases/project/mapRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/cases/project/mapRootAbsolutePathModuleSimpleSpecifyOutputFile.json create mode 100644 tests/cases/project/mapRootAbsolutePathModuleSubfolderNoOutdir.json create mode 100644 tests/cases/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/mapRootAbsolutePathModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/mapRootAbsolutePathMultifolderNoOutdir.json create mode 100644 tests/cases/project/mapRootAbsolutePathMultifolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/mapRootAbsolutePathMultifolderSpecifyOutputFile.json create mode 100644 tests/cases/project/mapRootAbsolutePathSimpleNoOutdir.json create mode 100644 tests/cases/project/mapRootAbsolutePathSimpleSpecifyOutputDirectory.json create mode 100644 tests/cases/project/mapRootAbsolutePathSimpleSpecifyOutputFile.json create mode 100644 tests/cases/project/mapRootAbsolutePathSingleFileNoOutdir.json create mode 100644 tests/cases/project/mapRootAbsolutePathSingleFileSpecifyOutputDirectory.json create mode 100644 tests/cases/project/mapRootAbsolutePathSingleFileSpecifyOutputFile.json create mode 100644 tests/cases/project/mapRootAbsolutePathSubfolderNoOutdir.json create mode 100644 tests/cases/project/mapRootAbsolutePathSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/mapRootAbsolutePathSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/mapRootRelativePathMixedSubfolderNoOutdir.json create mode 100644 tests/cases/project/mapRootRelativePathMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/mapRootRelativePathMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/mapRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/cases/project/mapRootRelativePathModuleMultifolderNoOutdir.json create mode 100644 tests/cases/project/mapRootRelativePathModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/mapRootRelativePathModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/cases/project/mapRootRelativePathModuleSimpleNoOutdir.json create mode 100644 tests/cases/project/mapRootRelativePathModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/cases/project/mapRootRelativePathModuleSimpleSpecifyOutputFile.json create mode 100644 tests/cases/project/mapRootRelativePathModuleSubfolderNoOutdir.json create mode 100644 tests/cases/project/mapRootRelativePathModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/mapRootRelativePathModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/mapRootRelativePathMultifolderNoOutdir.json create mode 100644 tests/cases/project/mapRootRelativePathMultifolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/mapRootRelativePathMultifolderSpecifyOutputFile.json create mode 100644 tests/cases/project/mapRootRelativePathSimpleNoOutdir.json create mode 100644 tests/cases/project/mapRootRelativePathSimpleSpecifyOutputDirectory.json create mode 100644 tests/cases/project/mapRootRelativePathSimpleSpecifyOutputFile.json create mode 100644 tests/cases/project/mapRootRelativePathSingleFileNoOutdir.json create mode 100644 tests/cases/project/mapRootRelativePathSingleFileSpecifyOutputDirectory.json create mode 100644 tests/cases/project/mapRootRelativePathSingleFileSpecifyOutputFile.json create mode 100644 tests/cases/project/mapRootRelativePathSubfolderNoOutdir.json create mode 100644 tests/cases/project/mapRootRelativePathSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/mapRootRelativePathSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/mapRootSourceRootWithNoSourceMapOption.json create mode 100644 tests/cases/project/mapRootWithNoSourceMapOption.json create mode 100644 tests/cases/project/maprootUrlMixedSubfolderNoOutdir.json create mode 100644 tests/cases/project/maprootUrlMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/maprootUrlMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/maprootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/cases/project/maprootUrlModuleMultifolderNoOutdir.json create mode 100644 tests/cases/project/maprootUrlModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/maprootUrlModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/cases/project/maprootUrlModuleSimpleNoOutdir.json create mode 100644 tests/cases/project/maprootUrlModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/cases/project/maprootUrlModuleSimpleSpecifyOutputFile.json create mode 100644 tests/cases/project/maprootUrlModuleSubfolderNoOutdir.json create mode 100644 tests/cases/project/maprootUrlModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/maprootUrlModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/maprootUrlMultifolderNoOutdir.json create mode 100644 tests/cases/project/maprootUrlMultifolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/maprootUrlMultifolderSpecifyOutputFile.json create mode 100644 tests/cases/project/maprootUrlSimpleNoOutdir.json create mode 100644 tests/cases/project/maprootUrlSimpleSpecifyOutputDirectory.json create mode 100644 tests/cases/project/maprootUrlSimpleSpecifyOutputFile.json create mode 100644 tests/cases/project/maprootUrlSingleFileNoOutdir.json create mode 100644 tests/cases/project/maprootUrlSingleFileSpecifyOutputDirectory.json create mode 100644 tests/cases/project/maprootUrlSingleFileSpecifyOutputFile.json create mode 100644 tests/cases/project/maprootUrlSubfolderNoOutdir.json create mode 100644 tests/cases/project/maprootUrlSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/maprootUrlSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlMixedSubfolderNoOutdir.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlModuleMultifolderNoOutdir.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlModuleSimpleNoOutdir.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlModuleSimpleSpecifyOutputFile.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlModuleSubfolderNoOutdir.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlMultifolderNoOutdir.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlMultifolderSpecifyOutputFile.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlSimpleNoOutdir.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlSimpleSpecifyOutputDirectory.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlSimpleSpecifyOutputFile.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlSingleFileNoOutdir.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputDirectory.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlSingleFileSpecifyOutputFile.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlSubfolderNoOutdir.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/maprootUrlsourcerootUrlSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/moduleIdentifier.json create mode 100644 tests/cases/project/moduleMergingOrdering1.json create mode 100644 tests/cases/project/moduleMergingOrdering2.json create mode 100644 tests/cases/project/multipleLevelsModuleResolution.json create mode 100644 tests/cases/project/nestedDeclare.json create mode 100644 tests/cases/project/nestedLocalModuleSimpleCase.json create mode 100644 tests/cases/project/nestedLocalModuleWithRecursiveTypecheck.json create mode 100644 tests/cases/project/nestedReferenceTags.json create mode 100644 tests/cases/project/noDefaultLib.json create mode 100644 tests/cases/project/nonRelative.json create mode 100644 tests/cases/project/outMixedSubfolderNoOutdir.json create mode 100644 tests/cases/project/outMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/outMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/outMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/cases/project/outModuleMultifolderNoOutdir.json create mode 100644 tests/cases/project/outModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/outModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/cases/project/outModuleSimpleNoOutdir.json create mode 100644 tests/cases/project/outModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/cases/project/outModuleSimpleSpecifyOutputFile.json create mode 100644 tests/cases/project/outModuleSubfolderNoOutdir.json create mode 100644 tests/cases/project/outModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/outModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/outMultifolderNoOutdir.json create mode 100644 tests/cases/project/outMultifolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/outMultifolderSpecifyOutputFile.json create mode 100644 tests/cases/project/outSimpleNoOutdir.json create mode 100644 tests/cases/project/outSimpleSpecifyOutputDirectory.json create mode 100644 tests/cases/project/outSimpleSpecifyOutputFile.json create mode 100644 tests/cases/project/outSingleFileNoOutdir.json create mode 100644 tests/cases/project/outSingleFileSpecifyOutputDirectory.json create mode 100644 tests/cases/project/outSingleFileSpecifyOutputFile.json create mode 100644 tests/cases/project/outSubfolderNoOutdir.json create mode 100644 tests/cases/project/outSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/outSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/privacyCheckOnImportedModuleDeclarationsInsideModule.json create mode 100644 tests/cases/project/privacyCheckOnImportedModuleDeclarationsInsideNonExportedModule.json create mode 100644 tests/cases/project/privacyCheckOnImportedModuleImportStatementInParentModule.json create mode 100644 tests/cases/project/privacyCheckOnImportedModuleSimpleReference.json create mode 100644 tests/cases/project/privacyCheckOnIndirectTypeFromTheExternalType.json create mode 100644 tests/cases/project/prologueEmit.json create mode 100644 tests/cases/project/quotesInFileAndDirectoryNames.json create mode 100644 tests/cases/project/relativeGlobal.json create mode 100644 tests/cases/project/relativeGlobalRef.json create mode 100644 tests/cases/project/relativeNested.json create mode 100644 tests/cases/project/relativeNestedRef.json create mode 100644 tests/cases/project/relativePaths.json create mode 100644 tests/cases/project/sourceRootAbsolutePathMixedSubfolderNoOutdir.json create mode 100644 tests/cases/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/sourceRootAbsolutePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/cases/project/sourceRootAbsolutePathModuleMultifolderNoOutdir.json create mode 100644 tests/cases/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourceRootAbsolutePathModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/cases/project/sourceRootAbsolutePathModuleSimpleNoOutdir.json create mode 100644 tests/cases/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourceRootAbsolutePathModuleSimpleSpecifyOutputFile.json create mode 100644 tests/cases/project/sourceRootAbsolutePathModuleSubfolderNoOutdir.json create mode 100644 tests/cases/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourceRootAbsolutePathModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/sourceRootAbsolutePathMultifolderNoOutdir.json create mode 100644 tests/cases/project/sourceRootAbsolutePathMultifolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourceRootAbsolutePathMultifolderSpecifyOutputFile.json create mode 100644 tests/cases/project/sourceRootAbsolutePathSimpleNoOutdir.json create mode 100644 tests/cases/project/sourceRootAbsolutePathSimpleSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourceRootAbsolutePathSimpleSpecifyOutputFile.json create mode 100644 tests/cases/project/sourceRootAbsolutePathSingleFileNoOutdir.json create mode 100644 tests/cases/project/sourceRootAbsolutePathSingleFileSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourceRootAbsolutePathSingleFileSpecifyOutputFile.json create mode 100644 tests/cases/project/sourceRootAbsolutePathSubfolderNoOutdir.json create mode 100644 tests/cases/project/sourceRootAbsolutePathSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourceRootAbsolutePathSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/sourceRootRelativePathMixedSubfolderNoOutdir.json create mode 100644 tests/cases/project/sourceRootRelativePathMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/sourceRootRelativePathMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/cases/project/sourceRootRelativePathModuleMultifolderNoOutdir.json create mode 100644 tests/cases/project/sourceRootRelativePathModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourceRootRelativePathModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/cases/project/sourceRootRelativePathModuleSimpleNoOutdir.json create mode 100644 tests/cases/project/sourceRootRelativePathModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourceRootRelativePathModuleSimpleSpecifyOutputFile.json create mode 100644 tests/cases/project/sourceRootRelativePathModuleSubfolderNoOutdir.json create mode 100644 tests/cases/project/sourceRootRelativePathModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourceRootRelativePathModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/sourceRootRelativePathMultifolderNoOutdir.json create mode 100644 tests/cases/project/sourceRootRelativePathMultifolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourceRootRelativePathMultifolderSpecifyOutputFile.json create mode 100644 tests/cases/project/sourceRootRelativePathSimpleNoOutdir.json create mode 100644 tests/cases/project/sourceRootRelativePathSimpleSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourceRootRelativePathSimpleSpecifyOutputFile.json create mode 100644 tests/cases/project/sourceRootRelativePathSingleFileNoOutdir.json create mode 100644 tests/cases/project/sourceRootRelativePathSingleFileSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourceRootRelativePathSingleFileSpecifyOutputFile.json create mode 100644 tests/cases/project/sourceRootRelativePathSubfolderNoOutdir.json create mode 100644 tests/cases/project/sourceRootRelativePathSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourceRootRelativePathSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/sourceRootWithNoSourceMapOption.json create mode 100644 tests/cases/project/sourcemapMixedSubfolderNoOutdir.json create mode 100644 tests/cases/project/sourcemapMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourcemapMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/sourcemapMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/cases/project/sourcemapModuleMultifolderNoOutdir.json create mode 100644 tests/cases/project/sourcemapModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourcemapModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/cases/project/sourcemapModuleSimpleNoOutdir.json create mode 100644 tests/cases/project/sourcemapModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourcemapModuleSimpleSpecifyOutputFile.json create mode 100644 tests/cases/project/sourcemapModuleSubfolderNoOutdir.json create mode 100644 tests/cases/project/sourcemapModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourcemapModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/sourcemapMultifolderNoOutdir.json create mode 100644 tests/cases/project/sourcemapMultifolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourcemapMultifolderSpecifyOutputFile.json create mode 100644 tests/cases/project/sourcemapSimpleNoOutdir.json create mode 100644 tests/cases/project/sourcemapSimpleSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourcemapSimpleSpecifyOutputFile.json create mode 100644 tests/cases/project/sourcemapSingleFileNoOutdir.json create mode 100644 tests/cases/project/sourcemapSingleFileSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourcemapSingleFileSpecifyOutputFile.json create mode 100644 tests/cases/project/sourcemapSubfolderNoOutdir.json create mode 100644 tests/cases/project/sourcemapSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourcemapSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/sourcerootUrlMixedSubfolderNoOutdir.json create mode 100644 tests/cases/project/sourcerootUrlMixedSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourcerootUrlMixedSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/sourcerootUrlMixedSubfolderSpecifyOutputFileAndOutputDirectory.json create mode 100644 tests/cases/project/sourcerootUrlModuleMultifolderNoOutdir.json create mode 100644 tests/cases/project/sourcerootUrlModuleMultifolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourcerootUrlModuleMultifolderSpecifyOutputFile.json create mode 100644 tests/cases/project/sourcerootUrlModuleSimpleNoOutdir.json create mode 100644 tests/cases/project/sourcerootUrlModuleSimpleSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourcerootUrlModuleSimpleSpecifyOutputFile.json create mode 100644 tests/cases/project/sourcerootUrlModuleSubfolderNoOutdir.json create mode 100644 tests/cases/project/sourcerootUrlModuleSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourcerootUrlModuleSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/sourcerootUrlMultifolderNoOutdir.json create mode 100644 tests/cases/project/sourcerootUrlMultifolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourcerootUrlMultifolderSpecifyOutputFile.json create mode 100644 tests/cases/project/sourcerootUrlSimpleNoOutdir.json create mode 100644 tests/cases/project/sourcerootUrlSimpleSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourcerootUrlSimpleSpecifyOutputFile.json create mode 100644 tests/cases/project/sourcerootUrlSingleFileNoOutdir.json create mode 100644 tests/cases/project/sourcerootUrlSingleFileSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourcerootUrlSingleFileSpecifyOutputFile.json create mode 100644 tests/cases/project/sourcerootUrlSubfolderNoOutdir.json create mode 100644 tests/cases/project/sourcerootUrlSubfolderSpecifyOutputDirectory.json create mode 100644 tests/cases/project/sourcerootUrlSubfolderSpecifyOutputFile.json create mode 100644 tests/cases/project/visibilityOfTypeUsedAcrossModules.json create mode 100644 tests/cases/project/visibilityOfTypeUsedAcrossModules2.json create mode 100644 tests/cases/projects/CircularReferencing-2/a.ts create mode 100644 tests/cases/projects/CircularReferencing-2/b.ts create mode 100644 tests/cases/projects/CircularReferencing-2/c.ts create mode 100644 tests/cases/projects/CircularReferencing/consume.ts create mode 100644 tests/cases/projects/CircularReferencing/decl.ts create mode 100644 tests/cases/projects/DeclareExportAdded/consumer.ts create mode 100644 tests/cases/projects/DeclareExportAdded/ref.d.ts create mode 100644 tests/cases/projects/InvalidReferences/main.ts create mode 100644 tests/cases/projects/ModuleIdentifier/consume.ts create mode 100644 tests/cases/projects/ModuleIdentifier/decl.ts create mode 100644 tests/cases/projects/MultipleLevels/A/AA/aA.ts create mode 100644 tests/cases/projects/MultipleLevels/A/a.ts create mode 100644 tests/cases/projects/MultipleLevels/B/b.ts create mode 100644 tests/cases/projects/MultipleLevels/b.ts create mode 100644 tests/cases/projects/MultipleLevels/root.ts create mode 100644 tests/cases/projects/NestedDeclare/consume.ts create mode 100644 tests/cases/projects/NestedLocalModule-SimpleCase/test1.ts create mode 100644 tests/cases/projects/NestedLocalModule-SimpleCase/test2.ts create mode 100644 tests/cases/projects/NestedLocalModule-WithRecursiveTypecheck/test1.ts create mode 100644 tests/cases/projects/NestedLocalModule-WithRecursiveTypecheck/test2.ts create mode 100644 tests/cases/projects/No-default-lib/test.ts create mode 100644 tests/cases/projects/NoModule/decl.ts create mode 100644 tests/cases/projects/NoModule/foo/bar.ts create mode 100644 tests/cases/projects/PrologueEmit/__extends.ts create mode 100644 tests/cases/projects/PrologueEmit/globalThisCapture.ts create mode 100644 tests/cases/projects/Quote'InName/li'b/class'A.ts create mode 100644 tests/cases/projects/Quote'InName/m'ain.ts create mode 100644 tests/cases/projects/RelativePaths/A/a.ts create mode 100644 tests/cases/projects/RelativePaths/A/b.ts create mode 100644 tests/cases/projects/RelativePaths/app.ts create mode 100644 tests/cases/projects/RelativePaths/b.ts create mode 100644 tests/cases/projects/VisibilityOfCrosssModuleTypeUsage/commands.ts create mode 100644 tests/cases/projects/VisibilityOfCrosssModuleTypeUsage/fs.ts create mode 100644 tests/cases/projects/VisibilityOfCrosssModuleTypeUsage/server.ts create mode 100644 tests/cases/projects/baseline/decl.ts create mode 100644 tests/cases/projects/baseline/dont_emit.ts create mode 100644 tests/cases/projects/baseline/emit.ts create mode 100644 tests/cases/projects/baseline/nestedModule.ts create mode 100644 tests/cases/projects/declarations_CascadingImports/m4.ts create mode 100644 tests/cases/projects/declarations_CascadingImports/useModule.ts create mode 100644 tests/cases/projects/declarations_GlobalImport/glo_m4.d.ts create mode 100644 tests/cases/projects/declarations_GlobalImport/glo_m4.ts create mode 100644 tests/cases/projects/declarations_GlobalImport/useModule.d.ts create mode 100644 tests/cases/projects/declarations_GlobalImport/useModule.ts create mode 100644 tests/cases/projects/declarations_ImportedInPrivate/private_m4.ts create mode 100644 tests/cases/projects/declarations_ImportedInPrivate/useModule.ts create mode 100644 tests/cases/projects/declarations_ImportedUseInFunction/fncOnly_m4.ts create mode 100644 tests/cases/projects/declarations_ImportedUseInFunction/useModule.ts create mode 100644 tests/cases/projects/declarations_IndirectImport/m4.ts create mode 100644 tests/cases/projects/declarations_IndirectImport/m5.ts create mode 100644 tests/cases/projects/declarations_IndirectImport/useModule.ts create mode 100644 tests/cases/projects/declarations_MultipleTimesImport/m4.ts create mode 100644 tests/cases/projects/declarations_MultipleTimesImport/useModule.ts create mode 100644 tests/cases/projects/declarations_MultipleTimesMultipleImport/m4.ts create mode 100644 tests/cases/projects/declarations_MultipleTimesMultipleImport/m5.ts create mode 100644 tests/cases/projects/declarations_MultipleTimesMultipleImport/useModule.ts create mode 100644 tests/cases/projects/declarations_SimpleImport/m4.ts create mode 100644 tests/cases/projects/declarations_SimpleImport/useModule.ts create mode 100644 tests/cases/projects/declareVariableCollision/decl.d.ts create mode 100644 tests/cases/projects/declareVariableCollision/in1.d.ts create mode 100644 tests/cases/projects/declareVariableCollision/in2.d.ts create mode 100644 tests/cases/projects/ext-int-ext/external.ts create mode 100644 tests/cases/projects/ext-int-ext/external2.ts create mode 100644 tests/cases/projects/ext-int-ext/internal.ts create mode 100644 tests/cases/projects/ext-int-ext/internal2.ts create mode 100644 tests/cases/projects/moduleMergeOrder/a.ts create mode 100644 tests/cases/projects/moduleMergeOrder/b.ts create mode 100644 tests/cases/projects/non-relative/consume.ts create mode 100644 tests/cases/projects/non-relative/decl.ts create mode 100644 tests/cases/projects/non-relative/lib/bar/a.ts create mode 100644 tests/cases/projects/non-relative/lib/foo/a.ts create mode 100644 tests/cases/projects/non-relative/lib/foo/b.ts create mode 100644 tests/cases/projects/outputdir_mixed_subfolder/ref/m1.ts create mode 100644 tests/cases/projects/outputdir_mixed_subfolder/ref/m2.ts create mode 100644 tests/cases/projects/outputdir_mixed_subfolder/test.ts create mode 100644 tests/cases/projects/outputdir_module_multifolder/ref/m1.ts create mode 100644 tests/cases/projects/outputdir_module_multifolder/test.ts create mode 100644 tests/cases/projects/outputdir_module_multifolder_ref/m2.ts create mode 100644 tests/cases/projects/outputdir_module_simple/m1.ts create mode 100644 tests/cases/projects/outputdir_module_simple/test.ts create mode 100644 tests/cases/projects/outputdir_module_subfolder/ref/m1.ts create mode 100644 tests/cases/projects/outputdir_module_subfolder/test.ts create mode 100644 tests/cases/projects/outputdir_multifolder/ref/m1.ts create mode 100644 tests/cases/projects/outputdir_multifolder/test.ts create mode 100644 tests/cases/projects/outputdir_multifolder_ref/m2.ts create mode 100644 tests/cases/projects/outputdir_simple/m1.ts create mode 100644 tests/cases/projects/outputdir_simple/test.ts create mode 100644 tests/cases/projects/outputdir_singleFile/test.ts create mode 100644 tests/cases/projects/outputdir_subfolder/ref/m1.ts create mode 100644 tests/cases/projects/outputdir_subfolder/test.ts create mode 100644 tests/cases/projects/privacyCheck-ImportInParent/mExported.ts create mode 100644 tests/cases/projects/privacyCheck-ImportInParent/mNonExported.ts create mode 100644 tests/cases/projects/privacyCheck-ImportInParent/test.ts create mode 100644 tests/cases/projects/privacyCheck-IndirectReference/externalModule.ts create mode 100644 tests/cases/projects/privacyCheck-IndirectReference/indirectExternalModule.ts create mode 100644 tests/cases/projects/privacyCheck-IndirectReference/test.ts create mode 100644 tests/cases/projects/privacyCheck-InsideModule/mExported.ts create mode 100644 tests/cases/projects/privacyCheck-InsideModule/mNonExported.ts create mode 100644 tests/cases/projects/privacyCheck-InsideModule/test.ts create mode 100644 tests/cases/projects/privacyCheck-InsideModule/testGlo.ts create mode 100644 tests/cases/projects/privacyCheck-SimpleReference/mExported.ts create mode 100644 tests/cases/projects/privacyCheck-SimpleReference/mNonExported.ts create mode 100644 tests/cases/projects/privacyCheck-SimpleReference/test.ts create mode 100644 tests/cases/projects/reference-1/lib/classA.ts create mode 100644 tests/cases/projects/reference-1/lib/classB.ts create mode 100644 tests/cases/projects/reference-1/main.ts create mode 100644 tests/cases/projects/relative-global-ref/consume.ts create mode 100644 tests/cases/projects/relative-global-ref/decl.d.ts create mode 100644 tests/cases/projects/relative-global/consume.ts create mode 100644 tests/cases/projects/relative-global/decl.ts create mode 100644 tests/cases/projects/relative-nested-ref/decl.d.ts create mode 100644 tests/cases/projects/relative-nested-ref/main/consume.ts create mode 100644 tests/cases/projects/relative-nested/app.ts create mode 100644 tests/cases/projects/relative-nested/decl.ts create mode 100644 tests/cases/projects/relative-nested/main/consume.ts create mode 100644 tests/cases/unittests/compiler/callSignatureTests.ts create mode 100644 tests/cases/unittests/compiler/classOverloads.ts create mode 100644 tests/cases/unittests/compiler/constructSignatureTests.ts create mode 100644 tests/cases/unittests/compiler/declarationTests.ts create mode 100644 tests/cases/unittests/compiler/functionSignaturesTests.ts create mode 100644 tests/cases/unittests/compiler/identifiers.ts create mode 100644 tests/cases/unittests/compiler/moduleAlias.ts create mode 100644 tests/cases/unittests/compiler/pathing.ts create mode 100644 tests/cases/unittests/compiler/propertySignatureTests.ts create mode 100644 tests/cases/unittests/ls/documentRegistry.ts create mode 100644 tests/cases/unittests/services/_project.ts create mode 100644 tests/cases/unittests/services/baselines/baseline-accept.ts create mode 100644 tests/cases/unittests/services/baselines/baseline-create.ts create mode 100644 tests/cases/unittests/services/baselines/inputs/getCompletionsAtPosition1.ts create mode 100644 tests/cases/unittests/services/baselines/inputs/optionsParser.ts create mode 100644 tests/cases/unittests/services/baselines/reference/getCompletionsAtPosition1.str-completions.json create mode 100644 tests/cases/unittests/services/baselines/reference/getCompletionsAtPosition1.str-definitions.json create mode 100644 tests/cases/unittests/services/baselines/reference/getCompletionsAtPosition1.str-members.json create mode 100644 tests/cases/unittests/services/baselines/reference/getCompletionsAtPosition1.str-signatures.json create mode 100644 tests/cases/unittests/services/baselines/reference/getCompletionsAtPosition1.str-types.json create mode 100644 tests/cases/unittests/services/baselines/reference/optionsParser.str-completions.json create mode 100644 tests/cases/unittests/services/baselines/reference/optionsParser.str-definitions.json create mode 100644 tests/cases/unittests/services/baselines/reference/optionsParser.str-members.json create mode 100644 tests/cases/unittests/services/baselines/reference/optionsParser.str-signatures.json create mode 100644 tests/cases/unittests/services/baselines/reference/optionsParser.str-types.json create mode 100644 tests/cases/unittests/services/colorization.ts create mode 100644 tests/cases/unittests/services/documentFormattingTests.json create mode 100644 tests/cases/unittests/services/dumpAST.ts create mode 100644 tests/cases/unittests/services/dumpAST/baseline-create.ts create mode 100644 tests/cases/unittests/services/formatDiffTemplate.html create mode 100644 tests/cases/unittests/services/getCompletionsAtPosition.ts create mode 100644 tests/cases/unittests/services/getCompletionsAtPositionAfterEdits.ts create mode 100644 tests/cases/unittests/services/getCompletionsAtPositionObjectLiterals.ts create mode 100644 tests/cases/unittests/services/getDefinitionPositionAtPosition.ts create mode 100644 tests/cases/unittests/services/getDefinitionPositionAtPositionPartialInterface.ts create mode 100644 tests/cases/unittests/services/getFormattingEditsForRange.ts create mode 100644 tests/cases/unittests/services/getImplementorsAtPosition.ts create mode 100644 tests/cases/unittests/services/getReferencesAtPosition.ts create mode 100644 tests/cases/unittests/services/getReferencesAtPosition2.ts create mode 100644 tests/cases/unittests/services/getScriptLexicalStructure.ts create mode 100644 tests/cases/unittests/services/getSignatureAtPosition.ts create mode 100644 tests/cases/unittests/services/getSmartIndentAtLineNumber.ts create mode 100644 tests/cases/unittests/services/importedJavaScriptFormatting.ts create mode 100644 tests/cases/unittests/services/incrementalParser.ts create mode 100644 tests/cases/unittests/services/overridesCollector.ts create mode 100644 tests/cases/unittests/services/ruleFormattingTests.json create mode 100644 tests/cases/unittests/services/testCode/formatting/classes.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/classesBaseline.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/colonAndQMark.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/colonAndQMarkBaseline.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/documentReadyFunction.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/documentReadyFunctionBaseLine.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/emptyBlock.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/emptyBlockBaseline.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/emptyInterfaceLiteral.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/emptyInterfaceLiteralBaseLine.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/fatArrowFunctions.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/fatArrowFunctionsBaseline.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/formatDebuggerStatement.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/formatDebuggerStatementBaseline.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/formatvariableDeclarationList.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/formatvariableDeclarationListBaseline.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/implicitModule.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/implicitModuleBaseline.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/importDeclaration.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/importDeclarationBaseline.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/main.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/mainBaseline.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/moduleIndentation.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/moduleIndentationBaseline.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/modules.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/modulesBaseline.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/objectLiteral.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/objectLiteralBaseline.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/onClosingBracket.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/onClosingBracketBaseLine.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/onSemiColon.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/onSemiColonBaseline.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/spaceAfterConstructor.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/spaceAfterConstructorBaseline.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/tabAfterCloseCurly.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/tabAfterCloseCurlyBaseline.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/typescriptConstructs.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/typescriptConstructsBaseline.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/various.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/variousBaseline.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/withStatement.ts create mode 100644 tests/cases/unittests/services/testCode/formatting/withStatementBaseline.ts create mode 100644 tests/cases/unittests/services/testCode/getBraceMatchingAtPosition.ts create mode 100644 tests/cases/unittests/services/testCode/getCompletionsAtPosition1.ts create mode 100644 tests/cases/unittests/services/testCode/getCompletionsAtPosition10.ts create mode 100644 tests/cases/unittests/services/testCode/getCompletionsAtPosition2.ts create mode 100644 tests/cases/unittests/services/testCode/getCompletionsAtPosition3.ts create mode 100644 tests/cases/unittests/services/testCode/getCompletionsAtPosition4.ts create mode 100644 tests/cases/unittests/services/testCode/getCompletionsAtPosition5.ts create mode 100644 tests/cases/unittests/services/testCode/getCompletionsAtPosition6.ts create mode 100644 tests/cases/unittests/services/testCode/getCompletionsAtPosition7.ts create mode 100644 tests/cases/unittests/services/testCode/getCompletionsAtPosition8.ts create mode 100644 tests/cases/unittests/services/testCode/getCompletionsAtPosition9.ts create mode 100644 tests/cases/unittests/services/testCode/getCompletionsAtPositionAfterEdits.ts create mode 100644 tests/cases/unittests/services/testCode/getCompletionsAtPositionBugFixes.ts create mode 100644 tests/cases/unittests/services/testCode/getCompletionsAtPositionObjectLiterals.ts create mode 100644 tests/cases/unittests/services/testCode/getDefinitionsAtPosition.ts create mode 100644 tests/cases/unittests/services/testCode/getDefinitionsAtPosition2.ts create mode 100644 tests/cases/unittests/services/testCode/getDefinitionsAtPosition3.ts create mode 100644 tests/cases/unittests/services/testCode/getDefinitionsAtPositionPartialInterface1.ts create mode 100644 tests/cases/unittests/services/testCode/getDefinitionsAtPositionPartialInterface2.ts create mode 100644 tests/cases/unittests/services/testCode/getImplementorsAtPosition.ts create mode 100644 tests/cases/unittests/services/testCode/getReferencesAtPositionTest.ts create mode 100644 tests/cases/unittests/services/testCode/getReferencesAtPositionTest2.ts create mode 100644 tests/cases/unittests/services/testCode/getReferencesAtPositionTest3.ts create mode 100644 tests/cases/unittests/services/testCode/getReferencesAtPositionTest4.ts create mode 100644 tests/cases/unittests/services/testCode/getScriptLexicalStructure.ts create mode 100644 tests/cases/unittests/services/testCode/getSignatureAtPositionTest.ts create mode 100644 tests/cases/unittests/services/testCode/getSignatureAtPositionTestEOF.ts create mode 100644 tests/cases/unittests/services/testCode/getSmartIndentAtLineNumber.ts create mode 100644 tests/cases/unittests/services/testCode/getSmartIndentAtLineNumber2.ts create mode 100644 tests/cases/unittests/services/testCode/getSmartIndentAtLineNumber3.ts create mode 100644 tests/cases/unittests/services/testCode/incrementalParser.ts create mode 100644 tests/cases/unittests/services/testCode/incrementalParser2.ts create mode 100644 tests/cases/unittests/services/testCode/overridesCollector.ts create mode 100644 tests/cases/unittests/services/testCode/references/classLocal.ts create mode 100644 tests/cases/unittests/services/testCode/references/classParameter.ts create mode 100644 tests/cases/unittests/services/testCode/references/comment.ts create mode 100644 tests/cases/unittests/services/testCode/references/functionOverloads.ts create mode 100644 tests/cases/unittests/services/testCode/references/functionParameter.ts create mode 100644 tests/cases/unittests/services/testCode/references/globals.ts create mode 100644 tests/cases/unittests/services/testCode/references/illegalAssignment1.ts create mode 100644 tests/cases/unittests/services/testCode/references/illegalAssignment2.ts create mode 100644 tests/cases/unittests/services/testCode/references/noContext.ts create mode 100644 tests/cases/unittests/services/testCode/references/referenceToClass.ts create mode 100644 tests/cases/unittests/services/testCode/references/static.ts create mode 100644 tests/perfsys.ts create mode 100644 tests/perftc.ts create mode 100644 tests/test.bat create mode 100644 tests/webTestResults.html create mode 100644 tests/webTestServer.ts create mode 100644 tests/webhost/webhost.html create mode 100644 tests/webhost/webtsc.ts create mode 100644 tests/webhost/wscript.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000..d7fdc4a75ee5e --- /dev/null +++ b/.gitignore @@ -0,0 +1,66 @@ +node_modules/ +built/ +bin/wrapped_tsc.js +tests/cases/*.js +tests/cases/*/*.js +tests/cases/*/*/*.js +tests/cases/*/*/*/*.js +tests/cases/*/*/*/*/*.js +tests/cases/*.js.map +tests/cases/*/*.js.map +tests/cases/*/*/*.js.map +tests/cases/*/*/*/*.js.map +tests/cases/*/*/*/*/*.js.map +tests/cases/rwc/* +tests/cases/perf/* +!tests/cases/webharness/compilerToString.js +tests/runners/*.js +tests/runners/*/*.js +tests/runners/rwc/* +!tests/runners/rwc/rwcRunner.ts +!tests/runners/rwc/loggedIO.ts +diff-*.html +test-args.txt +*.suo +~*.docx +tests/baselines/local/* +tests/baselines/reference/projectOutput/ +tests/services/baselines/local/* +tests/baselines/prototyping/local/* +tests/baselines/rwc/* +tests/services/baselines/prototyping/local/* +tests/services/browser/typescriptServices.js +scripts/processDiagnosticMessages.d.ts +scripts/processDiagnosticMessages.js +src/compiler/*.js +src/compiler/syntax/wrapped_SyntaxGenerator.js +src/compiler/syntax/SyntaxGenerator.js +src/compiler/syntax/SyntaxGenerator.d.ts +src/compiler/prototype/*.js +src/services/*.js +src/services/*/*.js +src/harness/*.js +src/prototype/*.js +src/prototype/*/*.js +baseline-report.html +fidelity-report.html +rwc-report.html +*.swp +build.json +monaco.editor.json +samples/win8/encyclopedia/Encyclopedia/js/*.js +samples/win8/encyclopedia/Encyclopedia/js/*.js.map +samples/win8/encyclopedia/Encyclopedia/bin/ +samples/win8/encyclopedia/Encyclopedia/bld/ +samples/win8/encyclopedia/Encyclopedia/Encyclopedia.jsproj.user +*.actual +tests/Fidelity/*.d.ts +tests/Fidelity/*.js +tests/cases/webharness/*.d.ts +tests/webhost/*.d.ts +tests/webhost/webtsc.js +tests/*.js +tests/*.d.ts +*.config +scripts/debug.bat +scripts/run.bat \ No newline at end of file diff --git a/.npmignore b/.npmignore new file mode 100644 index 0000000000000..fd2663ae5b48e --- /dev/null +++ b/.npmignore @@ -0,0 +1,12 @@ +built +doc +samples +src +tests +typings +bin/winjs.d.ts +bin/winrt.d.ts +bin/*.bat +bin/jquery.d.ts +bin/typescriptServices.js +Jakefile diff --git a/CopyrightNotice.txt b/CopyrightNotice.txt new file mode 100644 index 0000000000000..0f6db1f75f714 --- /dev/null +++ b/CopyrightNotice.txt @@ -0,0 +1,15 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + diff --git a/Jakefile b/Jakefile new file mode 100644 index 0000000000000..62fd6c878d08a --- /dev/null +++ b/Jakefile @@ -0,0 +1,443 @@ +// This file contains the build logic for the public repo + +var fs = require("fs"); +var path = require("path"); + +// Variables +var compilerDirectory = "src/compiler/"; +var servicesDirectory = "src/services/"; +var harnessDirectory = "src/harness/"; +var libraryDirectory = "src/lib/"; +var scriptsDirectory = "scripts/" + +var builtDirectory = "built/"; +var builtLocalDirectory = "built/local/"; +var LKGDirectory = "bin/"; + +var copyright = "CopyrightNotice.txt"; +var thirdParty = "ThirdPartyNoticeText.txt"; + +var compilerSources = [ + "core.ts", + "sys.ts", + "types.ts", + "scanner.ts", + "parser.ts", + "binder.ts", + "checker.ts", + "emitter.ts", + "commandLineParser.ts", + "tc.ts", + "diagnosticInformationMap.generated.ts" +].map(function (f) { + return path.join(compilerDirectory, f); +}); + +var servicesSources = [ + "core.ts", + "sys.ts", + "types.ts", + "scanner.ts", + "parser.ts", + "binder.ts", + "checker.ts", + "emitter.ts" +].map(function (f) { + return path.join(compilerDirectory, f); +}).concat([ + "services.ts", + "shims.ts", +].map(function (f) { + return path.join(servicesDirectory, f); +})); + +var harnessSources = [ + "harness.ts", + "sourceMapRecorder.ts", +// TODO Re-enable +// "harnessLanguageService.ts", +// "fourslash.ts", + "runner.ts", + "external/json2.ts", + "runnerbase.ts", + "compilerRunner.ts", + "typeWriter.ts", +// TODO Re-enable fourslash and project tests +// "fourslashRunner.ts", + "projectsRunner.ts", + "unittestrunner.ts", + "rwcRunner.ts", +].map(function (f) { + return path.join(harnessDirectory, f); +}); + +var librarySourceMap = [ + { target: "lib.core.d.ts", sources: ["core.d.ts"] }, + { target: "lib.dom.d.ts", sources: ["importcore.d.ts", "extensions.d.ts", "dom.generated.d.ts"], }, + { target: "lib.webworker.d.ts", sources: ["importcore.d.ts", "extensions.d.ts", "webworker.generated.d.ts"], }, + { target: "lib.scriptHost.d.ts", sources: ["importcore.d.ts", "scriptHost.d.ts"], }, + { target: "lib.d.ts", sources: ["core.d.ts", "extensions.d.ts", "dom.generated.d.ts", "webworker.importscripts.d.ts", "scriptHost.d.ts"], }, +]; + +var libraryTargets = librarySourceMap.map(function (f) { + return path.join(builtLocalDirectory, f.target); +}); + +// Prepends the contents of prefixFile to destinationFile +function prependFile(prefixFile, destinationFile) { + if (!fs.existsSync(prefixFile)) { + fail(prefixFile + " does not exist!"); + } + if (!fs.existsSync(destinationFile)) { + fail(destinationFile + " failed to be created!"); + } + var temp = "temptemp"; + jake.cpR(prefixFile, temp, {silent: true}); + fs.appendFileSync(temp, fs.readFileSync(destinationFile)); + fs.renameSync(temp, destinationFile); +} + +// concatenate a list of sourceFiles to a destinationFile +function concatenateFiles(destinationFile, sourceFiles) { + var temp = "temptemp"; + // Copy the first file to temp + if (!fs.existsSync(sourceFiles[0])) { + fail(sourceFiles[0] + " does not exist!"); + } + jake.cpR(sourceFiles[0], temp, {silent: true}); + // append all files in sequence + for (var i = 1; i < sourceFiles.length; i++) { + if (!fs.existsSync(sourceFiles[i])) { + fail(sourceFiles[i] + " does not exist!"); + } + fs.appendFileSync(temp, fs.readFileSync(sourceFiles[i])); + } + // Move the file to the final destination + fs.renameSync(temp, destinationFile); +} + +var useDebugMode = false; +/* Compiles a file from a list of sources + * @param outFile: the target file name + * @param sources: an array of the names of the source files + * @param prereqs: prerequisite tasks to compiling the file + * @param prefixes: a list of files to prepend to the target file + * @param useBuiltCompiler: true to use the built compiler, false to use the LKG + * @param noOutFile: true to compile without using --out + */ +function compileFile(outFile, sources, prereqs, prefixes, useBuiltCompiler, noOutFile) { + file(outFile, prereqs, function() { + var dir = useBuiltCompiler ? builtLocalDirectory : LKGDirectory; + var compilerFilename = "tc.js"; + var options = "-removeComments --module commonjs -noImplicitAny "; //" -propagateEnumConstants " + + var cmd = (process.env.host || process.env.TYPESCRIPT_HOST || "node") + " " + dir + compilerFilename + " " + options + " "; + if (useDebugMode) { + cmd = cmd + " " + path.join(harnessDirectory, "external/es5compat.ts") + " " + path.join(harnessDirectory, "external/json2.ts") + " "; + } + cmd = cmd + sources.join(" ") + (!noOutFile ? " -out " + outFile : ""); + if (useDebugMode) { + cmd = cmd + " -sourcemap -mapRoot file:///" + path.resolve(path.dirname(outFile)); + } + console.log(cmd + "\n"); + var ex = jake.createExec([cmd]); + // Add listeners for output and error + ex.addListener("stdout", function(output) { + process.stdout.write(output); + }); + ex.addListener("stderr", function(error) { + process.stderr.write(error); + }); + ex.addListener("cmdEnd", function() { + if (!useDebugMode && prefixes && fs.existsSync(outFile)) { + for (var i in prefixes) { + prependFile(prefixes[i], outFile); + } + } + complete(); + }); + ex.addListener("error", function() { + fs.unlinkSync(outFile); + console.log("Compilation of " + outFile + " unsuccessful"); + }); + ex.run(); + }, {async: true}); +} + +// Prerequisite task for built directory and library typings +directory(builtLocalDirectory); + +for (var i in libraryTargets) { + (function (i) { + var entry = librarySourceMap[i]; + var target = libraryTargets[i]; + var sources = [copyright].concat(entry.sources.map(function (s) { + return path.join(libraryDirectory, s); + })); + file(target, [builtLocalDirectory].concat(sources), function() { + concatenateFiles(target, sources); + }); + })(i); +} + +// Lib target to build the library files +desc("Builds the library targets"); +task("lib", libraryTargets); + + +// Generate diagnostics +var processDiagnosticMessagesJs = path.join(scriptsDirectory, "processDiagnosticMessages.js"); +var processDiagnosticMessagesTs = path.join(scriptsDirectory, "processDiagnosticMessages.ts"); +var diagnosticMessagesJson = path.join(compilerDirectory, "diagnosticMessages.json"); +var diagnosticInfoMapTs = path.join(compilerDirectory, "diagnosticInformationMap.generated.ts"); + +// processDiagnosticMessages script +compileFile(processDiagnosticMessagesJs, + [processDiagnosticMessagesTs], + [processDiagnosticMessagesTs], + [], + false); + +// The generated diagnostics map; built for the compiler and for the 'generate-diagnostics' task +file(diagnosticInfoMapTs, [processDiagnosticMessagesJs, diagnosticMessagesJson], function () { + var cmd = "node " + processDiagnosticMessagesJs + " " + diagnosticMessagesJson; + console.log(cmd); + var ex = jake.createExec([cmd]); + // Add listeners for output and error + ex.addListener("stdout", function(output) { + process.stdout.write(output); + }); + ex.addListener("stderr", function(error) { + process.stderr.write(error); + }); + ex.addListener("cmdEnd", function() { + complete(); + }); + ex.run(); +}, {async: true}) + + +desc("Generates a diagnostic file in TypeScript based on an input JSON file"); +task("generate-diagnostics", [diagnosticInfoMapTs]) + + +// Local target to build the compiler and services +var tcFile = path.join(builtLocalDirectory, "tc.js"); +compileFile(tcFile, compilerSources, [builtLocalDirectory, copyright].concat(compilerSources), [copyright], /*useBuiltCompiler:*/ false); + +var tcServicesFile = path.join(builtLocalDirectory, "services.js"); +compileFile(tcServicesFile, servicesSources, [builtLocalDirectory, copyright].concat(servicesSources), [copyright], /*useBuiltCompiler:*/ true); + +// Local target to build the compiler and services +desc("Builds the full compiler and services"); +task("local", ["generate-diagnostics", "lib", tcFile, tcServicesFile]); + + +// Local target to build the compiler and services +desc("Emit debug mode files with sourcemaps"); +task("debug", function() { + useDebugMode = true; +}); + + +// Set the default task to "local" +task("default", ["local"]); + + +// Cleans the built directory +desc("Cleans the compiler output, declare files, and tests"); +task("clean", function() { + jake.rmRf(builtDirectory); +}); + +// Makes a new LKG. This target does not build anything, but errors if not all the outputs are present in the built/local directory +desc("Makes a new LKG out of the built js files"); +task("LKG", libraryTargets, function() { + var expectedFiles = [tcFile, tcServicesFile].concat(libraryTargets); + var missingFiles = expectedFiles.filter(function (f) { + return !fs.existsSync(f); + }); + if (missingFiles.length > 0) { + fail("Cannot replace the LKG unless all built targets are present in directory " + builtLocalDirectory + + ". The following files are missing:\n" + missingFiles.join("\n")); + } + // Copy all the targets into the LKG directory + jake.mkdirP(LKGDirectory); + for (i in expectedFiles) { + jake.cpR(expectedFiles[i], LKGDirectory); + } + //var resourceDirectories = fs.readdirSync(builtLocalResourcesDirectory).map(function(p) { return path.join(builtLocalResourcesDirectory, p); }); + //resourceDirectories.map(function(d) { + // jake.cpR(d, LKGResourcesDirectory); + //}); +}); + +// Test directory +directory(builtLocalDirectory); + +// Task to build the tests infrastructure using the built compiler +var run = path.join(builtLocalDirectory, "run.js"); +compileFile(run, harnessSources, [builtLocalDirectory, tcFile].concat(libraryTargets).concat(harnessSources), [], /*useBuiltCompiler:*/ true); + +var localBaseline = "tests/baselines/local/"; +var refBaseline = "tests/baselines/reference/"; + +var localRwcBaseline = "tests/baselines/rwc/local/"; +var refRwcBaseline = "tests/baselines/rwc/reference/"; + +desc("Builds the test infrastructure using the built compiler"); +task("tests", ["local", run].concat(libraryTargets)); + +function exec(cmd) { + var ex = jake.createExec([cmd]); + // Add listeners for output and error + ex.addListener("stdout", function(output) { + process.stdout.write(output); + }); + ex.addListener("stderr", function(error) { + process.stderr.write(error); + }); + ex.addListener("cmdEnd", function() { + complete(); + }); + try{ + ex.run(); + } catch(e) { + console.log('Exception: ' + e) + } +} + +function cleanTestDirs() { + // Clean the local baselines directory + if (fs.existsSync(localBaseline)) { + jake.rmRf(localBaseline); + } + + // Clean the local Rwc baselines directory + if (fs.existsSync(localRwcBaseline)) { + jake.rmRf(localRwcBaseline); + } + + jake.mkdirP(localBaseline); +} + +// used to pass data from jake command line directly to run.js +function writeTestConfigFile(tests, testConfigFile) { + console.log('Running test(s): ' + tests); + var testConfigContents = '{\n' + '\ttest: [\'' + tests + '\']\n}'; + fs.writeFileSync('test.config', testConfigContents); +} + +desc("Runs the tests using the built run.js file. Syntax is jake runtests. Optional parameters 'host=', 'tests=[regex], reporter=[list|spec|json|]'."); +task("runtests", ["tests", builtLocalDirectory], function() { + cleanTestDirs(); + host = "mocha" + tests = process.env.test || process.env.tests; + var testConfigFile = 'test.config'; + if(fs.existsSync(testConfigFile)) { + fs.unlinkSync(testConfigFile); + } + if(tests) { + writeTestConfigFile(tests, testConfigFile); + } + + colors = process.env.colors || process.env.color + colors = colors ? ' --no-colors ' : '' + tests = tests ? ' -g ' + tests : ''; + reporter = process.env.reporter || process.env.r || 'dot'; + var cmd = host + " -R " + reporter + tests + colors + ' ' + run; + console.log(cmd); + exec(cmd) +}, {async: true}); + +// Browser tests +var nodeServerOutFile = 'tests/webTestServer.js' +var nodeServerInFile = 'tests/webTestServer.ts' +compileFile(nodeServerOutFile, [nodeServerInFile], [builtLocalDirectory, tcFile], [], true, true); + +desc("Runs browserify on run.js to produce a file suitable for running tests in the browser"); +task("browserify", ["tests", builtLocalDirectory, nodeServerOutFile], function() { + var cmd = 'browserify built/local/run.js -o built/local/bundle.js'; + exec(cmd); +}, {async: true}); + +desc("Runs the tests using the built run.js file like 'jake runtests'. Syntax is jake runtests-browser. Additional optional parameters tests=[regex], port=, browser=[chrome|IE]"); +task("runtests-browser", ["tests", "browserify", builtLocalDirectory], function() { + cleanTestDirs(); + host = "node" + port = process.env.port || '8888'; + browser = process.env.browser || "IE"; + tests = process.env.test || process.env.tests; + var testConfigFile = 'test.config'; + if(fs.existsSync(testConfigFile)) { + fs.unlinkSync(testConfigFile); + } + if(tests) { + writeTestConfigFile(tests, testConfigFile); + } + + tests = tests ? tests : ''; + var cmd = host + " tests/webTestServer.js " + port + " " + browser + " " + tests + console.log(cmd); + exec(cmd); +}, {async: true}); + + +// Baseline Diff +desc("Diffs the compiler baselines using the diff tool specified by the %DIFF% environment variable"); +task('diff', function () { + var cmd = "%DIFF% " + refBaseline + ' ' + localBaseline; + console.log(cmd) + exec(cmd); +}, {async: true}); + +desc("Diffs the RWC baselines using the diff tool specified by the %DIFF% environment variable"); +task('diff-rwc', function () { + var cmd = "%DIFF% " + refRwcBaseline + ' ' + localRwcBaseline; + console.log(cmd) + exec(cmd); +}, {async: true}); + +desc("Builds the test sources and automation in debug mode"); +task("tests-debug", ["setDebugMode", "tests"]); + + +// Makes the test results the new baseline +desc("Makes the most recent test results the new baseline, overwriting the old baseline"); +task("baseline-accept", function(hardOrSoft) { + if (!hardOrSoft || hardOrSoft == "hard") { + jake.rmRf(refBaseline); + fs.renameSync(localBaseline, refBaseline); + } + else if (hardOrSoft == "soft") { + var files = jake.readdirR(localBaseline); + for (var i in files) { + jake.cpR(files[i], refBaseline); + } + jake.rmRf(path.join(refBaseline, "local")); + } +}); + +desc("Makes the most recent rwc test results the new baseline, overwriting the old baseline"); +task("baseline-accept-rwc", function() { + jake.rmRf(refRwcBaseline); + fs.renameSync(localRwcBaseline, refRwcBaseline); +}); + + +// Webhost +var webhostPath = "tests/webhost/webtsc.ts"; +var webhostJsPath = "tests/webhost/webtsc.js"; +compileFile(webhostJsPath, [webhostPath], [tcFile, webhostPath].concat(libraryTargets), [], true); + +desc("Builds the tsc web host"); +task("webhost", [webhostJsPath], function() { + jake.cpR(path.join(builtLocalDirectory, "lib.d.ts"), "tests/webhost/", {silent: true}); +}); + +// Perf compiler +var perftcPath = "tests/perftc.ts"; +var perftcJsPath = "built/local/perftc.js"; +compileFile(perftcJsPath, [perftcPath], [tcFile, perftcPath, "tests/perfsys.ts"].concat(libraryTargets), [], true); +desc("Builds augmented version of the compiler for perf tests"); +task("perftc", [perftcJsPath]); \ No newline at end of file diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000000000..8746124b27791 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,55 @@ +Apache License + +Version 2.0, January 2004 + +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. + +"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of this License; and + +You must cause any modified files to carry prominent notices stating that You changed the files; and + +You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and + +If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS diff --git a/ThirdPartyNoticeText.txt b/ThirdPartyNoticeText.txt new file mode 100644 index 0000000000000..93c3e4fcb3f99 --- /dev/null +++ b/ThirdPartyNoticeText.txt @@ -0,0 +1,96 @@ +/*!----------------- TypeScript ThirdPartyNotices ------------------------------------------------------- + +The TypeScript software is based on or incorporates material and code from the projects listed below +(collectively "Third Party Code"). Microsoft is not the original author of the +Third Party Code. The original copyright notice and the license, under which +Microsoft received such Third Party Code, are set forth below. Such license and +notices are provided for informational purposes only. Microsoft licenses the Third +Party Code to you under the terms of the Apache 2.0 License. +All Third Party Code licensed by Microsoft under the Apache License, Version 2.0 (the "License"); you +may not use this file except in compliance with the License. You may obtain a copy +of the License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, +EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OR +CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions and +limitations under the License. +--------------------------------------------- +Third Party Code Components +-------------------------------------------- +---- Mozilla Developer Code--------- +The following Mozilla Developer Code is under Public Domain as updated after Aug. 20, 2012, see, https://developer.mozilla.org/en-US/docs/Project:Copyrights +1. Array filter Compatibility Method, +Available at https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/filter +Any copyright is dedicated to the Public Domain. + +2. Array forEach Compatibility Method, +Available at https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/forEach +Any copyright is dedicated to the Public Domain. + +3. Array indexOf Compatibility Method, +Available at https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf +Any copyright is dedicated to the Public Domain. + +4. Array map Compatibility Method, +Available at https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/map +Any copyright is dedicated to the Public Domain. + +5. Array Reduce Compatibility Method, +Available at https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/Reduce +Any copyright is dedicated to the Public Domain. + +6. String Trim Compatibility Method, +Available at https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/Trim +Any copyright is dedicated to the Public Domain. + +7. Date now Compatibility Method, +Available at https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Date/now +Any copyright is dedicated to the Public Domain. + +------------JSON2 Script------------------------ +json2.js 2012-10-08 +Public Domain. +NO WARRANTY EXPRESSED OR IMPLIED. USE AT YOUR OWN RISK. +See, http://www.JSON.org/js.html + +--------------r.js---------------------- +Copyright (c) 2010-2011 Dojo Foundation. All Rights Reserved. +Originally License under MIT License +------------------------------------------------------------------------- +Provided for Informational Purposes Only +MIT License + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +------------------- DefinitelyTyped -------------------- +This file is based on or incorporates material from the projects listed below (collectively ?Third Party Code?). Microsoft is not the original author of the Third Party Code. The original copyright notice and the license, under which Microsoft received such Third Party Code, are set forth below. Such licenses and notices are provided for informational purposes only. Microsoft, not the third party, licenses the Third Party Code to you under the terms set forth in the EULA for the Microsoft Product. Microsoft reserves all other rights not expressly granted under this agreement, whether by implication, estoppel or otherwise. +DefinitelyTyped +This project is licensed under the MIT license. +Copyrights are respective of each contributor listed at the beginning of each definition file. +Provided for Informational Purposes Only + +MIT License +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the ""Software""), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +-------------------------------------------------------------------------------------- +------------- End of ThirdPartyNotices --------------------------------------------------- */ diff --git a/bin/lib.core.d.ts b/bin/lib.core.d.ts new file mode 100644 index 0000000000000..3decae55c8c40 --- /dev/null +++ b/bin/lib.core.d.ts @@ -0,0 +1,1143 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + +/// + +///////////////////////////// +/// ECMAScript APIs +///////////////////////////// + +declare var NaN: number; +declare var Infinity: number; + +/** + * Evaluates JavaScript code and executes it. + * @param x A String value that contains valid JavaScript code. + */ +declare function eval(x: string): any; + +/** + * Converts A string to an integer. + * @param s A string to convert into a number. + * @param radix A value between 2 and 36 that specifies the base of the number in numString. + * If this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal. + * All other strings are considered decimal. + */ +declare function parseInt(s: string, radix?: number): number; + +/** + * Converts a string to a floating-point number. + * @param string A string that contains a floating-point number. + */ +declare function parseFloat(string: string): number; + +/** + * Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number). + * @param number A numeric value. + */ +declare function isNaN(number: number): boolean; + +/** + * Determines whether a supplied number is finite. + * @param number Any numeric value. + */ +declare function isFinite(number: number): boolean; + +/** + * Gets the unencoded version of an encoded Uniform Resource Identifier (URI). + * @param encodedURI A value representing an encoded URI. + */ +declare function decodeURI(encodedURI: string): string; + +/** + * Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI). + * @param encodedURIComponent A value representing an encoded URI component. + */ +declare function decodeURIComponent(encodedURIComponent: string): string; + +/** + * Encodes a text string as a valid Uniform Resource Identifier (URI) + * @param uri A value representing an encoded URI. + */ +declare function encodeURI(uri: string): string; + +/** + * Encodes a text string as a valid component of a Uniform Resource Identifier (URI). + * @param uriComponent A value representing an encoded URI component. + */ +declare function encodeURIComponent(uriComponent: string): string; + +interface PropertyDescriptor { + configurable?: boolean; + enumerable?: boolean; + value?: any; + writable?: boolean; + get? (): any; + set? (v: any): void; +} + +interface PropertyDescriptorMap { + [s: string]: PropertyDescriptor; +} + +interface Object { + /** The initial value of Object.prototype.constructor is the standard built-in Object constructor. */ + constructor: Function; + + /** Returns a string representation of an object. */ + toString(): string; + + /** Returns a date converted to a string using the current locale. */ + toLocaleString(): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): Object; + + /** + * Determines whether an object has a property with the specified name. + * @param v A property name. + */ + hasOwnProperty(v: string): boolean; + + /** + * Determines whether an object exists in another object's prototype chain. + * @param v Another object whose prototype chain is to be checked. + */ + isPrototypeOf(v: Object): boolean; + + /** + * Determines whether a specified property is enumerable. + * @param v A property name. + */ + propertyIsEnumerable(v: string): boolean; +} + +/** + * Provides functionality common to all JavaScript objects. + */ +declare var Object: { + new (value?: any): Object; + (): any; + (value: any): any; + + /** A reference to the prototype for a class of objects. */ + prototype: Object; + + /** + * Returns the prototype of an object. + * @param o The object that references the prototype. + */ + getPrototypeOf(o: any): any; + + /** + * Gets the own property descriptor of the specified object. + * An own property descriptor is one that is defined directly on the object and is not inherited from the object's prototype. + * @param o Object that contains the property. + * @param p Name of the property. + */ + getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; + + /** + * Returns the names of the own properties of an object. The own properties of an object are those that are defined directly + * on that object, and are not inherited from the object's prototype. The properties of an object include both fields (objects) and functions. + * @param o Object that contains the own properties. + */ + getOwnPropertyNames(o: any): string[]; + + /** + * Creates an object that has the specified prototype, and that optionally contains specified properties. + * @param o Object to use as a prototype. May be null + * @param properties JavaScript object that contains one or more property descriptors. + */ + create(o: any, properties?: PropertyDescriptorMap): any; + + /** + * Adds a property to an object, or modifies attributes of an existing property. + * @param o Object on which to add or modify the property. This can be a native JavaScript object (that is, a user-defined object or a built in object) or a DOM object. + * @param p The property name. + * @param attributes Descriptor for the property. It can be for a data property or an accessor property. + */ + defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; + + /** + * Adds one or more properties to an object, and/or modifies attributes of existing properties. + * @param o Object on which to add or modify the properties. This can be a native JavaScript object or a DOM object. + * @param properties JavaScript object that contains one or more descriptor objects. Each descriptor object describes a data property or an accessor property. + */ + defineProperties(o: any, properties: PropertyDescriptorMap): any; + + /** + * Prevents the modification of attributes of existing properties, and prevents the addition of new properties. + * @param o Object on which to lock the attributes. + */ + seal(o: any): any; + + /** + * Prevents the modification of existing property attributes and values, and prevents the addition of new properties. + * @param o Object on which to lock the attributes. + */ + freeze(o: any): any; + + /** + * Prevents the addition of new properties to an object. + * @param o Object to make non-extensible. + */ + preventExtensions(o: any): any; + + /** + * Returns true if existing property attributes cannot be modified in an object and new properties cannot be added to the object. + * @param o Object to test. + */ + isSealed(o: any): boolean; + + /** + * Returns true if existing property attributes and values cannot be modified in an object, and new properties cannot be added to the object. + * @param o Object to test. + */ + isFrozen(o: any): boolean; + + /** + * Returns a value that indicates whether new properties can be added to an object. + * @param o Object to test. + */ + isExtensible(o: any): boolean; + + /** + * Returns the names of the enumerable properties and methods of an object. + * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. + */ + keys(o: any): string[]; +} + +/** + * Creates a new function. + */ +interface 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. + * @param argArray A set of arguments to be passed to the function. + */ + apply(thisArg: any, argArray?: any): any; + + /** + * Calls a method of an object, substituting another object for the current object. + * @param thisArg The object to be used as the current object. + * @param argArray A list of arguments to be passed to the method. + */ + call(thisArg: any, ...argArray: any[]): any; + + /** + * For a given function, creates a bound function that has the same body as the original function. + * The this object of the bound function is associated with the specified object, and has the specified initial parameters. + * @param thisArg An object to which the this keyword can refer inside the new function. + * @param argArray A list of arguments to be passed to the new function. + */ + bind(thisArg: any, ...argArray: any[]): any; + + prototype: any; + length: number; + + // Non-standard extensions + arguments: any; + caller: Function; +} + +declare var Function: { + /** + * Creates a new function. + * @param args A list of arguments the function accepts. + */ + new (...args: string[]): Function; + (...args: string[]): Function; + prototype: Function; +} + +interface IArguments { + [index: number]: any; + length: number; + callee: Function; +} + +interface String { + /** Returns a string representation of a string. */ + toString(): string; + + /** + * Returns the character at the specified index. + * @param pos The zero-based index of the desired character. + */ + charAt(pos: number): string; + + /** + * Returns the Unicode value of the character at the specified location. + * @param index The zero-based index of the desired character. If there is no character at the specified index, NaN is returned. + */ + charCodeAt(index: number): number; + + /** + * Returns a string that contains the concatenation of two or more strings. + * @param strings The strings to append to the end of the string. + */ + concat(...strings: string[]): string; + + /** + * Returns the position of the first occurrence of a substring. + * @param searchString The substring to search for in the string + * @param position The index at which to begin searching the String object. If omitted, search starts at the beginning of the string. + */ + indexOf(searchString: string, position?: number): number; + + /** + * Returns the last occurrence of a substring in the string. + * @param searchString The substring to search for. + * @param position The index at which to begin searching. If omitted, the search begins at the end of the string. + */ + lastIndexOf(searchString: string, position?: number): number; + + /** + * Determines whether two strings are equivalent in the current locale. + * @param that String to compare to target string + */ + localeCompare(that: string): number; + + /** + * Matches a string with a regular expression, and returns an array containing the results of that search. + * @param regexp A variable name or string literal containing the regular expression pattern and flags. + */ + match(regexp: string): string[]; + + /** + * Matches a string with a regular expression, and returns an array containing the results of that search. + * @param regexp A regular expression object that contains the regular expression pattern and applicable flags. + */ + match(regexp: RegExp): string[]; + + /** + * Replaces text in a string, using a regular expression or search string. + * @param searchValue A String object or string literal that represents the regular expression + * @param replaceValue A String object or string literal containing the text to replace for every successful match of rgExp in stringObj. + */ + replace(searchValue: string, replaceValue: string): string; + + /** + * Replaces text in a string, using a regular expression or search string. + * @param searchValue A String object or string literal that represents the regular expression + * @param replaceValue A function that returns the replacement text. + */ + replace(searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; + + /** + * Replaces text in a string, using a regular expression or search string. + * @param searchValue A Regular Expression object containing the regular expression pattern and applicable flags + * @param replaceValue A String object or string literal containing the text to replace for every successful match of rgExp in stringObj. + */ + replace(searchValue: RegExp, replaceValue: string): string; + + /** + * Replaces text in a string, using a regular expression or search string. + * @param searchValue A Regular Expression object containing the regular expression pattern and applicable flags + * @param replaceValue A function that returns the replacement text. + */ + replace(searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; + + /** + * Finds the first substring match in a regular expression search. + * @param regexp The regular expression pattern and applicable flags. + */ + search(regexp: string): number; + + /** + * Finds the first substring match in a regular expression search. + * @param regexp The regular expression pattern and applicable flags. + */ + search(regexp: RegExp): number; + + /** + * Returns a section of a string. + * @param start The index to the beginning of the specified portion of stringObj. + * @param end The index to the end of the specified portion of stringObj. The substring includes the characters up to, but not including, the character indicated by end. + * If this value is not specified, the substring continues to the end of stringObj. + */ + slice(start?: number, end?: number): string; + + /** + * Split a string into substrings using the specified separator and return them as an array. + * @param separator A string that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned. + * @param limit A value used to limit the number of elements returned in the array. + */ + split(separator: string, limit?: number): string[]; + + /** + * Split a string into substrings using the specified separator and return them as an array. + * @param separator A Regular Express that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned. + * @param limit A value used to limit the number of elements returned in the array. + */ + split(separator: RegExp, limit?: number): string[]; + + /** + * Returns the substring at the specified location within a String object. + * @param start The zero-based index number indicating the beginning of the substring. + * @param end Zero-based index number indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end. + * If end is omitted, the characters from start through the end of the original string are returned. + */ + substring(start: number, end?: number): string; + + /** Converts all the alphabetic characters in a string to lowercase. */ + toLowerCase(): string; + + /** Converts all alphabetic characters to lowercase, taking into account the host environment's current locale. */ + toLocaleLowerCase(): string; + + /** Converts all the alphabetic characters in a string to uppercase. */ + toUpperCase(): string; + + /** Returns a string where all alphabetic characters have been converted to uppercase, taking into account the host environment's current locale. */ + toLocaleUpperCase(): string; + + /** Removes the leading and trailing white space and line terminator characters from a string. */ + trim(): string; + + /** Returns the length of a String object. */ + length: number; + + // IE extensions + /** + * Gets a substring beginning at the specified location and having the specified length. + * @param from The starting position of the desired substring. The index of the first character in the string is zero. + * @param length The number of characters to include in the returned substring. + */ + substr(from: number, length?: number): string; + + [index: number]: string; +} + +/** + * Allows manipulation and formatting of text strings and determination and location of substrings within strings. + */ +declare var String: { + new (value?: any): String; + (value?: any): string; + prototype: String; + fromCharCode(...codes: number[]): string; +} + +interface Boolean { +} +declare var Boolean: { + new (value?: any): Boolean; + (value?: any): boolean; + prototype: Boolean; +} + +interface 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. + */ + toString(radix?: number): string; + + /** + * Returns a string representing a number in fixed-point notation. + * @param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive. + */ + toFixed(fractionDigits?: number): string; + + /** + * Returns a string containing a number represented in exponential notation. + * @param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive. + */ + toExponential(fractionDigits?: number): string; + + /** + * Returns a string containing a number represented either in exponential or fixed-point notation with a specified number of digits. + * @param precision Number of significant digits. Must be in the range 1 - 21, inclusive. + */ + toPrecision(precision?: number): string; +} + +/** An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers. */ +declare var Number: { + new (value?: any): Number; + (value?: any): number; + prototype: Number; + + /** The largest number that can be represented in JavaScript. Equal to approximately 1.79E+308. */ + MAX_VALUE: number; + + /** The closest number to zero that can be represented in JavaScript. Equal to approximately 5.00E-324. */ + MIN_VALUE: number; + + /** + * A value that is not a number. + * In equality comparisons, NaN does not equal any value, including itself. To test whether a value is equivalent to NaN, use the isNaN function. + */ + NaN: number; + + /** + * A value that is less than the largest negative number that can be represented in JavaScript. + * JavaScript displays NEGATIVE_INFINITY values as -infinity. + */ + NEGATIVE_INFINITY: number; + + /** + * A value greater than the largest number that can be represented in JavaScript. + * JavaScript displays POSITIVE_INFINITY values as infinity. + */ + POSITIVE_INFINITY: number; +} + +interface Math { + /** The mathematical constant e. This is Euler's number, the base of natural logarithms. */ + E: number; + /** The natural logarithm of 10. */ + LN10: number; + /** The natural logarithm of 2. */ + LN2: number; + /** The base-2 logarithm of e. */ + LOG2E: number; + /** The base-10 logarithm of e. */ + LOG10E: number; + /** Pi. This is the ratio of the circumference of a circle to its diameter. */ + PI: number; + /** The square root of 0.5, or, equivalently, one divided by the square root of 2. */ + SQRT1_2: number; + /** The square root of 2. */ + SQRT2: number; + /** + * Returns the absolute value of a number (the value without regard to whether it is positive or negative). + * For example, the absolute value of -5 is the same as the absolute value of 5. + * @param x A numeric expression for which the absolute value is needed. + */ + abs(x: number): number; + /** + * Returns the arc cosine (or inverse cosine) of a number. + * @param x A numeric expression. + */ + acos(x: number): number; + /** + * Returns the arcsine of a number. + * @param x A numeric expression. + */ + asin(x: number): number; + /** + * Returns the arctangent of a number. + * @param x A numeric expression for which the arctangent is needed. + */ + atan(x: number): number; + /** + * Returns the angle (in radians) from the X axis to a point (y,x). + * @param y A numeric expression representing the cartesian y-coordinate. + * @param x A numeric expression representing the cartesian x-coordinate. + */ + atan2(y: number, x: number): number; + /** + * Returns the smallest number greater than or equal to its numeric argument. + * @param x A numeric expression. + */ + ceil(x: number): number; + /** + * Returns the cosine of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + cos(x: number): number; + /** + * Returns e (the base of natural logarithms) raised to a power. + * @param x A numeric expression representing the power of e. + */ + exp(x: number): number; + /** + * Returns the greatest number less than or equal to its numeric argument. + * @param x A numeric expression. + */ + floor(x: number): number; + /** + * Returns the natural logarithm (base e) of a number. + * @param x A numeric expression. + */ + log(x: number): number; + /** + * Returns the larger of a set of supplied numeric expressions. + * @param values Numeric expressions to be evaluated. + */ + max(...values: number[]): number; + /** + * Returns the smaller of a set of supplied numeric expressions. + * @param values Numeric expressions to be evaluated. + */ + min(...values: number[]): number; + /** + * Returns the value of a base expression taken to a specified power. + * @param x The base value of the expression. + * @param y The exponent value of the expression. + */ + pow(x: number, y: number): number; + /** Returns a pseudorandom number between 0 and 1. */ + random(): number; + /** + * Returns a supplied numeric expression rounded to the nearest number. + * @param x The value to be rounded to the nearest number. + */ + round(x: number): number; + /** + * Returns the sine of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + sin(x: number): number; + /** + * Returns the square root of a number. + * @param x A numeric expression. + */ + sqrt(x: number): number; + /** + * Returns the tangent of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + tan(x: number): number; +} +/** An intrinsic object that provides basic mathematics functionality and constants. */ +declare var Math: Math; + +/** Enables basic storage and retrieval of dates and times. */ +interface Date { + /** Returns a string representation of a date. The format of the string depends on the locale. */ + toString(): string; + /** Returns a date as a string value. */ + toDateString(): string; + /** Returns a time as a string value. */ + toTimeString(): string; + /** Returns a value as a string value appropriate to the host environment's current locale. */ + toLocaleString(): string; + /** Returns a date as a string value appropriate to the host environment's current locale. */ + toLocaleDateString(): string; + /** Returns a time as a string value appropriate to the host environment's current locale. */ + toLocaleTimeString(): string; + /** Returns the stored time value in milliseconds since midnight, January 1, 1970 UTC. */ + valueOf(): number; + /** Gets the time value in milliseconds. */ + getTime(): number; + /** Gets the year, using local time. */ + getFullYear(): number; + /** Gets the year using Universal Coordinated Time (UTC). */ + getUTCFullYear(): number; + /** Gets the month, using local time. */ + getMonth(): number; + /** Gets the month of a Date object using Universal Coordinated Time (UTC). */ + getUTCMonth(): number; + /** Gets the day-of-the-month, using local time. */ + getDate(): number; + /** Gets the day-of-the-month, using Universal Coordinated Time (UTC). */ + getUTCDate(): number; + /** Gets the day of the week, using local time. */ + getDay(): number; + /** Gets the day of the week using Universal Coordinated Time (UTC). */ + getUTCDay(): number; + /** Gets the hours in a date, using local time. */ + getHours(): number; + /** Gets the hours value in a Date object using Universal Coordinated Time (UTC). */ + getUTCHours(): number; + /** Gets the minutes of a Date object, using local time. */ + getMinutes(): number; + /** Gets the minutes of a Date object using Universal Coordinated Time (UTC). */ + getUTCMinutes(): number; + /** Gets the seconds of a Date object, using local time. */ + getSeconds(): number; + /** Gets the seconds of a Date object using Universal Coordinated Time (UTC). */ + getUTCSeconds(): number; + /** Gets the milliseconds of a Date, using local time. */ + getMilliseconds(): number; + /** Gets the milliseconds of a Date object using Universal Coordinated Time (UTC). */ + getUTCMilliseconds(): number; + /** Gets the difference in minutes between the time on the local computer and Universal Coordinated Time (UTC). */ + getTimezoneOffset(): number; + /** + * Sets the date and time value in the Date object. + * @param time A numeric value representing the number of elapsed milliseconds since midnight, January 1, 1970 GMT. + */ + setTime(time: number): number; + /** + * Sets the milliseconds value in the Date object using local time. + * @param ms A numeric value equal to the millisecond value. + */ + setMilliseconds(ms: number): number; + /** + * Sets the milliseconds value in the Date object using Universal Coordinated Time (UTC). + * @param ms A numeric value equal to the millisecond value. + */ + setUTCMilliseconds(ms: number): number; + + /** + * Sets the seconds value in the Date object using local time. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setSeconds(sec: number, ms?: number): number; + /** + * Sets the seconds value in the Date object using Universal Coordinated Time (UTC). + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setUTCSeconds(sec: number, ms?: number): number; + /** + * Sets the minutes value in the Date object using local time. + * @param min A numeric value equal to the minutes value. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setMinutes(min: number, sec?: number, ms?: number): number; + /** + * Sets the minutes value in the Date object using Universal Coordinated Time (UTC). + * @param min A numeric value equal to the minutes value. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setUTCMinutes(min: number, sec?: number, ms?: number): number; + /** + * Sets the hour value in the Date object using local time. + * @param hours A numeric value equal to the hours value. + * @param min A numeric value equal to the minutes value. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setHours(hours: number, min?: number, sec?: number, ms?: number): number; + /** + * Sets the hours value in the Date object using Universal Coordinated Time (UTC). + * @param hours A numeric value equal to the hours value. + * @param min A numeric value equal to the minutes value. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setUTCHours(hours: number, min?: number, sec?: number, ms?: number): number; + /** + * Sets the numeric day-of-the-month value of the Date object using local time. + * @param date A numeric value equal to the day of the month. + */ + setDate(date: number): number; + /** + * Sets the numeric day of the month in the Date object using Universal Coordinated Time (UTC). + * @param date A numeric value equal to the day of the month. + */ + setUTCDate(date: number): number; + /** + * Sets the month value in the Date object using local time. + * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. + * @param date A numeric value representing the day of the month. If this value is not supplied, the value from a call to the getDate method is used. + */ + setMonth(month: number, date?: number): number; + /** + * Sets the month value in the Date object using Universal Coordinated Time (UTC). + * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. + * @param date A numeric value representing the day of the month. If it is not supplied, the value from a call to the getUTCDate method is used. + */ + setUTCMonth(month: number, date?: number): number; + /** + * Sets the year of the Date object using local time. + * @param year A numeric value for the year. + * @param month A zero-based numeric value for the month (0 for January, 11 for December). Must be specified if numDate is specified. + * @param date A numeric value equal for the day of the month. + */ + setFullYear(year: number, month?: number, date?: number): number; + /** + * Sets the year value in the Date object using Universal Coordinated Time (UTC). + * @param year A numeric value equal to the year. + * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. Must be supplied if numDate is supplied. + * @param date A numeric value equal to the day of the month. + */ + setUTCFullYear(year: number, month?: number, date?: number): number; + /** Returns a date converted to a string using Universal Coordinated Time (UTC). */ + toUTCString(): string; + /** Returns a date as a string value in ISO format. */ + toISOString(): string; + /** Used by the JSON.stringify method to enable the transformation of an object's data for JavaScript Object Notation (JSON) serialization. */ + toJSON(key?: any): string; +} + +declare var Date: { + 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; + (): string; + prototype: Date; + /** + * Parses a string containing a date, and returns the number of milliseconds between that date and midnight, January 1, 1970. + * @param s A date string + */ + parse(s: string): number; + /** + * Returns the number of milliseconds between midnight, January 1, 1970 Universal Coordinated Time (UTC) (or GMT) and the specified date. + * @param year The full year designation is required for cross-century date accuracy. If year is between 0 and 99 is used, then year is assumed to be 1900 + year. + * @param month The month as an number between 0 and 11 (January to December). + * @param date The date as an number between 1 and 31. + * @param hours Must be supplied if minutes is supplied. An number from 0 to 23 (midnight to 11pm) that specifies the hour. + * @param minutes Must be supplied if seconds is supplied. An number from 0 to 59 that specifies the minutes. + * @param seconds Must be supplied if milliseconds is supplied. An number from 0 to 59 that specifies the seconds. + * @param ms An number from 0 to 999 that specifies the milliseconds. + */ + UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; + now(): number; +} + +interface RegExpExecArray { + [index: number]: string; + length: number; + + index: number; + input: string; + + toString(): string; + toLocaleString(): string; + concat(...items: string[][]): string[]; + join(separator?: string): string; + pop(): string; + push(...items: string[]): number; + reverse(): string[]; + shift(): string; + slice(start?: number, end?: number): string[]; + sort(compareFn?: (a: string, b: string) => number): string[]; + splice(start: number): string[]; + splice(start: number, deleteCount: number, ...items: string[]): string[]; + unshift(...items: string[]): number; + + indexOf(searchElement: string, fromIndex?: number): number; + lastIndexOf(searchElement: string, fromIndex?: number): number; + every(callbackfn: (value: string, index: number, array: string[]) => boolean, thisArg?: any): boolean; + some(callbackfn: (value: string, index: number, array: string[]) => boolean, thisArg?: any): boolean; + forEach(callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any): void; + map(callbackfn: (value: string, index: number, array: string[]) => any, thisArg?: any): any[]; + filter(callbackfn: (value: string, index: number, array: string[]) => boolean, thisArg?: any): string[]; + reduce(callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: string[]) => any, initialValue?: any): any; + reduceRight(callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: string[]) => any, initialValue?: any): any; +} + + +interface 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. + */ + exec(string: string): RegExpExecArray; + + /** + * Returns a Boolean value that indicates whether or not a pattern exists in a searched string. + * @param string String on which to perform the search. + */ + test(string: string): boolean; + + /** Returns a copy of the text of the regular expression pattern. Read-only. The rgExp argument is a Regular expression object. It can be a variable name or a literal. */ + source: string; + + /** Returns a Boolean value indicating the state of the global flag (g) used with a regular expression. Default is false. Read-only. */ + global: boolean; + + /** Returns a Boolean value indicating the state of the ignoreCase flag (i) used with a regular expression. Default is false. Read-only. */ + ignoreCase: boolean; + + /** Returns a Boolean value indicating the state of the multiline flag (m) used with a regular expression. Default is false. Read-only. */ + multiline: boolean; + + lastIndex: number; + + // Non-standard extensions + compile(): RegExp; +} +declare var RegExp: { + new (pattern: string, flags?: string): RegExp; + (pattern: string, flags?: string): RegExp; + + // Non-standard extensions + $1: string; + $2: string; + $3: string; + $4: string; + $5: string; + $6: string; + $7: string; + $8: string; + $9: string; + lastMatch: string; +} + +interface Error { + name: string; + message: string; +} +declare var Error: { + new (message?: string): Error; + (message?: string): Error; + prototype: Error; +} + +interface EvalError extends Error { +} +declare var EvalError: { + new (message?: string): EvalError; + (message?: string): EvalError; + prototype: EvalError; +} + +interface RangeError extends Error { +} +declare var RangeError: { + new (message?: string): RangeError; + (message?: string): RangeError; + prototype: RangeError; +} + +interface ReferenceError extends Error { +} +declare var ReferenceError: { + new (message?: string): ReferenceError; + (message?: string): ReferenceError; + prototype: ReferenceError; +} + +interface SyntaxError extends Error { +} +declare var SyntaxError: { + new (message?: string): SyntaxError; + (message?: string): SyntaxError; + prototype: SyntaxError; +} + +interface TypeError extends Error { +} +declare var TypeError: { + new (message?: string): TypeError; + (message?: string): TypeError; + prototype: TypeError; +} + +interface URIError extends Error { +} +declare var URIError: { + new (message?: string): URIError; + (message?: string): URIError; + prototype: URIError; +} + +interface JSON { + /** + * Converts a JavaScript Object Notation (JSON) string into an object. + * @param text A valid JSON string. + * @param reviver A function that transforms the results. This function is called for each member of the object. + * If a member contains nested objects, the nested objects are transformed before the parent object is. + */ + parse(text: string, reviver?: (key: any, value: any) => any): any; + /** + * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. + * @param value A JavaScript value, usually an object or array, to be converted. + */ + stringify(value: any): string; + /** + * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. + * @param value A JavaScript value, usually an object or array, to be converted. + * @param replacer A function that transforms the results. + */ + stringify(value: any, replacer: (key: string, value: any) => any): string; + /** + * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. + * @param value A JavaScript value, usually an object or array, to be converted. + * @param replacer Array that transforms the results. + */ + stringify(value: any, replacer: any[]): string; + /** + * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. + * @param value A JavaScript value, usually an object or array, to be converted. + * @param replacer A function that transforms the results. + * @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read. + */ + stringify(value: any, replacer: (key: string, value: any) => any, space: any): string; + /** + * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. + * @param value A JavaScript value, usually an object or array, to be converted. + * @param replacer Array that transforms the results. + * @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read. + */ + stringify(value: any, replacer: any[], space: any): string; +} +/** + * An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format. + */ +declare var JSON: JSON; + + +///////////////////////////// +/// ECMAScript Array API (specially handled by compiler) +///////////////////////////// + +interface Array { + /** + * Returns a string representation of an array. + */ + toString(): string; + toLocaleString(): string; + /** + * Combines two or more arrays. + * @param items Additional items to add to the end of array1. + */ + concat(...items: U[]): T[]; + /** + * Combines two or more arrays. + * @param items Additional items to add to the end of array1. + */ + concat(...items: T[]): T[]; + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + /** + * Removes the last element from an array and returns it. + */ + pop(): T; + /** + * Appends new elements to an array, and returns the new length of the array. + * @param items New elements of the Array. + */ + push(...items: T[]): number; + /** + * Reverses the elements in an Array. + */ + reverse(): T[]; + /** + * Removes the first element from an array and returns it. + */ + shift(): T; + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): T[]; + + /** + * Sorts an array. + * @param compareFn The name of the function used to determine the order of the elements. If omitted, the elements are sorted in ascending, ASCII character order. + */ + sort(compareFn?: (a: T, b: T) => number): T[]; + + /** + * Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements. + * @param start The zero-based location in the array from which to start removing elements. + */ + splice(start: number): T[]; + + /** + * Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements. + * @param start The zero-based location in the array from which to start removing elements. + * @param deleteCount The number of elements to remove. + * @param items Elements to insert into the array in place of the deleted elements. + */ + splice(start: number, deleteCount: number, ...items: T[]): T[]; + + /** + * Inserts new elements at the start of an array. + * @param items Elements to insert at the start of the Array. + */ + unshift(...items: T[]): number; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0. + */ + indexOf(searchElement: T, fromIndex?: number): number; + + /** + * Returns the index of the last occurrence of a specified value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at the last index in the array. + */ + lastIndexOf(searchElement: T, fromIndex?: number): number; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls the callbackfn function for each element in array1 until the callbackfn returns false, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): boolean; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the callbackfn function for each element in array1 until the callbackfn returns true, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): boolean; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; + + /** + * Calls a defined callback function on each element of an array, and returns an array that contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): 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. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: 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. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: 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. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: 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. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; + + /** + * Gets or sets the length of the array. This is a number one higher than the highest element defined in an array. + */ + length: number; + + [n: number]: T; +} +declare var Array: { + new (arrayLength?: number): any[]; + new (arrayLength: number): T[]; + new (...items: T[]): T[]; + (arrayLength?: number): any[]; + (arrayLength: number): T[]; + (...items: T[]): T[]; + isArray(arg: any): boolean; + prototype: Array; +} diff --git a/bin/lib.d.ts b/bin/lib.d.ts new file mode 100644 index 0000000000000..605738614c939 --- /dev/null +++ b/bin/lib.d.ts @@ -0,0 +1,14182 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + +/// + +///////////////////////////// +/// ECMAScript APIs +///////////////////////////// + +declare var NaN: number; +declare var Infinity: number; + +/** + * Evaluates JavaScript code and executes it. + * @param x A String value that contains valid JavaScript code. + */ +declare function eval(x: string): any; + +/** + * Converts A string to an integer. + * @param s A string to convert into a number. + * @param radix A value between 2 and 36 that specifies the base of the number in numString. + * If this argument is not supplied, strings with a prefix of '0x' are considered hexadecimal. + * All other strings are considered decimal. + */ +declare function parseInt(s: string, radix?: number): number; + +/** + * Converts a string to a floating-point number. + * @param string A string that contains a floating-point number. + */ +declare function parseFloat(string: string): number; + +/** + * Returns a Boolean value that indicates whether a value is the reserved value NaN (not a number). + * @param number A numeric value. + */ +declare function isNaN(number: number): boolean; + +/** + * Determines whether a supplied number is finite. + * @param number Any numeric value. + */ +declare function isFinite(number: number): boolean; + +/** + * Gets the unencoded version of an encoded Uniform Resource Identifier (URI). + * @param encodedURI A value representing an encoded URI. + */ +declare function decodeURI(encodedURI: string): string; + +/** + * Gets the unencoded version of an encoded component of a Uniform Resource Identifier (URI). + * @param encodedURIComponent A value representing an encoded URI component. + */ +declare function decodeURIComponent(encodedURIComponent: string): string; + +/** + * Encodes a text string as a valid Uniform Resource Identifier (URI) + * @param uri A value representing an encoded URI. + */ +declare function encodeURI(uri: string): string; + +/** + * Encodes a text string as a valid component of a Uniform Resource Identifier (URI). + * @param uriComponent A value representing an encoded URI component. + */ +declare function encodeURIComponent(uriComponent: string): string; + +interface PropertyDescriptor { + configurable?: boolean; + enumerable?: boolean; + value?: any; + writable?: boolean; + get? (): any; + set? (v: any): void; +} + +interface PropertyDescriptorMap { + [s: string]: PropertyDescriptor; +} + +interface Object { + /** The initial value of Object.prototype.constructor is the standard built-in Object constructor. */ + constructor: Function; + + /** Returns a string representation of an object. */ + toString(): string; + + /** Returns a date converted to a string using the current locale. */ + toLocaleString(): string; + + /** Returns the primitive value of the specified object. */ + valueOf(): Object; + + /** + * Determines whether an object has a property with the specified name. + * @param v A property name. + */ + hasOwnProperty(v: string): boolean; + + /** + * Determines whether an object exists in another object's prototype chain. + * @param v Another object whose prototype chain is to be checked. + */ + isPrototypeOf(v: Object): boolean; + + /** + * Determines whether a specified property is enumerable. + * @param v A property name. + */ + propertyIsEnumerable(v: string): boolean; +} + +/** + * Provides functionality common to all JavaScript objects. + */ +declare var Object: { + new (value?: any): Object; + (): any; + (value: any): any; + + /** A reference to the prototype for a class of objects. */ + prototype: Object; + + /** + * Returns the prototype of an object. + * @param o The object that references the prototype. + */ + getPrototypeOf(o: any): any; + + /** + * Gets the own property descriptor of the specified object. + * An own property descriptor is one that is defined directly on the object and is not inherited from the object's prototype. + * @param o Object that contains the property. + * @param p Name of the property. + */ + getOwnPropertyDescriptor(o: any, p: string): PropertyDescriptor; + + /** + * Returns the names of the own properties of an object. The own properties of an object are those that are defined directly + * on that object, and are not inherited from the object's prototype. The properties of an object include both fields (objects) and functions. + * @param o Object that contains the own properties. + */ + getOwnPropertyNames(o: any): string[]; + + /** + * Creates an object that has the specified prototype, and that optionally contains specified properties. + * @param o Object to use as a prototype. May be null + * @param properties JavaScript object that contains one or more property descriptors. + */ + create(o: any, properties?: PropertyDescriptorMap): any; + + /** + * Adds a property to an object, or modifies attributes of an existing property. + * @param o Object on which to add or modify the property. This can be a native JavaScript object (that is, a user-defined object or a built in object) or a DOM object. + * @param p The property name. + * @param attributes Descriptor for the property. It can be for a data property or an accessor property. + */ + defineProperty(o: any, p: string, attributes: PropertyDescriptor): any; + + /** + * Adds one or more properties to an object, and/or modifies attributes of existing properties. + * @param o Object on which to add or modify the properties. This can be a native JavaScript object or a DOM object. + * @param properties JavaScript object that contains one or more descriptor objects. Each descriptor object describes a data property or an accessor property. + */ + defineProperties(o: any, properties: PropertyDescriptorMap): any; + + /** + * Prevents the modification of attributes of existing properties, and prevents the addition of new properties. + * @param o Object on which to lock the attributes. + */ + seal(o: any): any; + + /** + * Prevents the modification of existing property attributes and values, and prevents the addition of new properties. + * @param o Object on which to lock the attributes. + */ + freeze(o: any): any; + + /** + * Prevents the addition of new properties to an object. + * @param o Object to make non-extensible. + */ + preventExtensions(o: any): any; + + /** + * Returns true if existing property attributes cannot be modified in an object and new properties cannot be added to the object. + * @param o Object to test. + */ + isSealed(o: any): boolean; + + /** + * Returns true if existing property attributes and values cannot be modified in an object, and new properties cannot be added to the object. + * @param o Object to test. + */ + isFrozen(o: any): boolean; + + /** + * Returns a value that indicates whether new properties can be added to an object. + * @param o Object to test. + */ + isExtensible(o: any): boolean; + + /** + * Returns the names of the enumerable properties and methods of an object. + * @param o Object that contains the properties and methods. This can be an object that you created or an existing Document Object Model (DOM) object. + */ + keys(o: any): string[]; +} + +/** + * Creates a new function. + */ +interface 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. + * @param argArray A set of arguments to be passed to the function. + */ + apply(thisArg: any, argArray?: any): any; + + /** + * Calls a method of an object, substituting another object for the current object. + * @param thisArg The object to be used as the current object. + * @param argArray A list of arguments to be passed to the method. + */ + call(thisArg: any, ...argArray: any[]): any; + + /** + * For a given function, creates a bound function that has the same body as the original function. + * The this object of the bound function is associated with the specified object, and has the specified initial parameters. + * @param thisArg An object to which the this keyword can refer inside the new function. + * @param argArray A list of arguments to be passed to the new function. + */ + bind(thisArg: any, ...argArray: any[]): any; + + prototype: any; + length: number; + + // Non-standard extensions + arguments: any; + caller: Function; +} + +declare var Function: { + /** + * Creates a new function. + * @param args A list of arguments the function accepts. + */ + new (...args: string[]): Function; + (...args: string[]): Function; + prototype: Function; +} + +interface IArguments { + [index: number]: any; + length: number; + callee: Function; +} + +interface String { + /** Returns a string representation of a string. */ + toString(): string; + + /** + * Returns the character at the specified index. + * @param pos The zero-based index of the desired character. + */ + charAt(pos: number): string; + + /** + * Returns the Unicode value of the character at the specified location. + * @param index The zero-based index of the desired character. If there is no character at the specified index, NaN is returned. + */ + charCodeAt(index: number): number; + + /** + * Returns a string that contains the concatenation of two or more strings. + * @param strings The strings to append to the end of the string. + */ + concat(...strings: string[]): string; + + /** + * Returns the position of the first occurrence of a substring. + * @param searchString The substring to search for in the string + * @param position The index at which to begin searching the String object. If omitted, search starts at the beginning of the string. + */ + indexOf(searchString: string, position?: number): number; + + /** + * Returns the last occurrence of a substring in the string. + * @param searchString The substring to search for. + * @param position The index at which to begin searching. If omitted, the search begins at the end of the string. + */ + lastIndexOf(searchString: string, position?: number): number; + + /** + * Determines whether two strings are equivalent in the current locale. + * @param that String to compare to target string + */ + localeCompare(that: string): number; + + /** + * Matches a string with a regular expression, and returns an array containing the results of that search. + * @param regexp A variable name or string literal containing the regular expression pattern and flags. + */ + match(regexp: string): string[]; + + /** + * Matches a string with a regular expression, and returns an array containing the results of that search. + * @param regexp A regular expression object that contains the regular expression pattern and applicable flags. + */ + match(regexp: RegExp): string[]; + + /** + * Replaces text in a string, using a regular expression or search string. + * @param searchValue A String object or string literal that represents the regular expression + * @param replaceValue A String object or string literal containing the text to replace for every successful match of rgExp in stringObj. + */ + replace(searchValue: string, replaceValue: string): string; + + /** + * Replaces text in a string, using a regular expression or search string. + * @param searchValue A String object or string literal that represents the regular expression + * @param replaceValue A function that returns the replacement text. + */ + replace(searchValue: string, replaceValue: (substring: string, ...args: any[]) => string): string; + + /** + * Replaces text in a string, using a regular expression or search string. + * @param searchValue A Regular Expression object containing the regular expression pattern and applicable flags + * @param replaceValue A String object or string literal containing the text to replace for every successful match of rgExp in stringObj. + */ + replace(searchValue: RegExp, replaceValue: string): string; + + /** + * Replaces text in a string, using a regular expression or search string. + * @param searchValue A Regular Expression object containing the regular expression pattern and applicable flags + * @param replaceValue A function that returns the replacement text. + */ + replace(searchValue: RegExp, replaceValue: (substring: string, ...args: any[]) => string): string; + + /** + * Finds the first substring match in a regular expression search. + * @param regexp The regular expression pattern and applicable flags. + */ + search(regexp: string): number; + + /** + * Finds the first substring match in a regular expression search. + * @param regexp The regular expression pattern and applicable flags. + */ + search(regexp: RegExp): number; + + /** + * Returns a section of a string. + * @param start The index to the beginning of the specified portion of stringObj. + * @param end The index to the end of the specified portion of stringObj. The substring includes the characters up to, but not including, the character indicated by end. + * If this value is not specified, the substring continues to the end of stringObj. + */ + slice(start?: number, end?: number): string; + + /** + * Split a string into substrings using the specified separator and return them as an array. + * @param separator A string that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned. + * @param limit A value used to limit the number of elements returned in the array. + */ + split(separator: string, limit?: number): string[]; + + /** + * Split a string into substrings using the specified separator and return them as an array. + * @param separator A Regular Express that identifies character or characters to use in separating the string. If omitted, a single-element array containing the entire string is returned. + * @param limit A value used to limit the number of elements returned in the array. + */ + split(separator: RegExp, limit?: number): string[]; + + /** + * Returns the substring at the specified location within a String object. + * @param start The zero-based index number indicating the beginning of the substring. + * @param end Zero-based index number indicating the end of the substring. The substring includes the characters up to, but not including, the character indicated by end. + * If end is omitted, the characters from start through the end of the original string are returned. + */ + substring(start: number, end?: number): string; + + /** Converts all the alphabetic characters in a string to lowercase. */ + toLowerCase(): string; + + /** Converts all alphabetic characters to lowercase, taking into account the host environment's current locale. */ + toLocaleLowerCase(): string; + + /** Converts all the alphabetic characters in a string to uppercase. */ + toUpperCase(): string; + + /** Returns a string where all alphabetic characters have been converted to uppercase, taking into account the host environment's current locale. */ + toLocaleUpperCase(): string; + + /** Removes the leading and trailing white space and line terminator characters from a string. */ + trim(): string; + + /** Returns the length of a String object. */ + length: number; + + // IE extensions + /** + * Gets a substring beginning at the specified location and having the specified length. + * @param from The starting position of the desired substring. The index of the first character in the string is zero. + * @param length The number of characters to include in the returned substring. + */ + substr(from: number, length?: number): string; + + [index: number]: string; +} + +/** + * Allows manipulation and formatting of text strings and determination and location of substrings within strings. + */ +declare var String: { + new (value?: any): String; + (value?: any): string; + prototype: String; + fromCharCode(...codes: number[]): string; +} + +interface Boolean { +} +declare var Boolean: { + new (value?: any): Boolean; + (value?: any): boolean; + prototype: Boolean; +} + +interface 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. + */ + toString(radix?: number): string; + + /** + * Returns a string representing a number in fixed-point notation. + * @param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive. + */ + toFixed(fractionDigits?: number): string; + + /** + * Returns a string containing a number represented in exponential notation. + * @param fractionDigits Number of digits after the decimal point. Must be in the range 0 - 20, inclusive. + */ + toExponential(fractionDigits?: number): string; + + /** + * Returns a string containing a number represented either in exponential or fixed-point notation with a specified number of digits. + * @param precision Number of significant digits. Must be in the range 1 - 21, inclusive. + */ + toPrecision(precision?: number): string; +} + +/** An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers. */ +declare var Number: { + new (value?: any): Number; + (value?: any): number; + prototype: Number; + + /** The largest number that can be represented in JavaScript. Equal to approximately 1.79E+308. */ + MAX_VALUE: number; + + /** The closest number to zero that can be represented in JavaScript. Equal to approximately 5.00E-324. */ + MIN_VALUE: number; + + /** + * A value that is not a number. + * In equality comparisons, NaN does not equal any value, including itself. To test whether a value is equivalent to NaN, use the isNaN function. + */ + NaN: number; + + /** + * A value that is less than the largest negative number that can be represented in JavaScript. + * JavaScript displays NEGATIVE_INFINITY values as -infinity. + */ + NEGATIVE_INFINITY: number; + + /** + * A value greater than the largest number that can be represented in JavaScript. + * JavaScript displays POSITIVE_INFINITY values as infinity. + */ + POSITIVE_INFINITY: number; +} + +interface Math { + /** The mathematical constant e. This is Euler's number, the base of natural logarithms. */ + E: number; + /** The natural logarithm of 10. */ + LN10: number; + /** The natural logarithm of 2. */ + LN2: number; + /** The base-2 logarithm of e. */ + LOG2E: number; + /** The base-10 logarithm of e. */ + LOG10E: number; + /** Pi. This is the ratio of the circumference of a circle to its diameter. */ + PI: number; + /** The square root of 0.5, or, equivalently, one divided by the square root of 2. */ + SQRT1_2: number; + /** The square root of 2. */ + SQRT2: number; + /** + * Returns the absolute value of a number (the value without regard to whether it is positive or negative). + * For example, the absolute value of -5 is the same as the absolute value of 5. + * @param x A numeric expression for which the absolute value is needed. + */ + abs(x: number): number; + /** + * Returns the arc cosine (or inverse cosine) of a number. + * @param x A numeric expression. + */ + acos(x: number): number; + /** + * Returns the arcsine of a number. + * @param x A numeric expression. + */ + asin(x: number): number; + /** + * Returns the arctangent of a number. + * @param x A numeric expression for which the arctangent is needed. + */ + atan(x: number): number; + /** + * Returns the angle (in radians) from the X axis to a point (y,x). + * @param y A numeric expression representing the cartesian y-coordinate. + * @param x A numeric expression representing the cartesian x-coordinate. + */ + atan2(y: number, x: number): number; + /** + * Returns the smallest number greater than or equal to its numeric argument. + * @param x A numeric expression. + */ + ceil(x: number): number; + /** + * Returns the cosine of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + cos(x: number): number; + /** + * Returns e (the base of natural logarithms) raised to a power. + * @param x A numeric expression representing the power of e. + */ + exp(x: number): number; + /** + * Returns the greatest number less than or equal to its numeric argument. + * @param x A numeric expression. + */ + floor(x: number): number; + /** + * Returns the natural logarithm (base e) of a number. + * @param x A numeric expression. + */ + log(x: number): number; + /** + * Returns the larger of a set of supplied numeric expressions. + * @param values Numeric expressions to be evaluated. + */ + max(...values: number[]): number; + /** + * Returns the smaller of a set of supplied numeric expressions. + * @param values Numeric expressions to be evaluated. + */ + min(...values: number[]): number; + /** + * Returns the value of a base expression taken to a specified power. + * @param x The base value of the expression. + * @param y The exponent value of the expression. + */ + pow(x: number, y: number): number; + /** Returns a pseudorandom number between 0 and 1. */ + random(): number; + /** + * Returns a supplied numeric expression rounded to the nearest number. + * @param x The value to be rounded to the nearest number. + */ + round(x: number): number; + /** + * Returns the sine of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + sin(x: number): number; + /** + * Returns the square root of a number. + * @param x A numeric expression. + */ + sqrt(x: number): number; + /** + * Returns the tangent of a number. + * @param x A numeric expression that contains an angle measured in radians. + */ + tan(x: number): number; +} +/** An intrinsic object that provides basic mathematics functionality and constants. */ +declare var Math: Math; + +/** Enables basic storage and retrieval of dates and times. */ +interface Date { + /** Returns a string representation of a date. The format of the string depends on the locale. */ + toString(): string; + /** Returns a date as a string value. */ + toDateString(): string; + /** Returns a time as a string value. */ + toTimeString(): string; + /** Returns a value as a string value appropriate to the host environment's current locale. */ + toLocaleString(): string; + /** Returns a date as a string value appropriate to the host environment's current locale. */ + toLocaleDateString(): string; + /** Returns a time as a string value appropriate to the host environment's current locale. */ + toLocaleTimeString(): string; + /** Returns the stored time value in milliseconds since midnight, January 1, 1970 UTC. */ + valueOf(): number; + /** Gets the time value in milliseconds. */ + getTime(): number; + /** Gets the year, using local time. */ + getFullYear(): number; + /** Gets the year using Universal Coordinated Time (UTC). */ + getUTCFullYear(): number; + /** Gets the month, using local time. */ + getMonth(): number; + /** Gets the month of a Date object using Universal Coordinated Time (UTC). */ + getUTCMonth(): number; + /** Gets the day-of-the-month, using local time. */ + getDate(): number; + /** Gets the day-of-the-month, using Universal Coordinated Time (UTC). */ + getUTCDate(): number; + /** Gets the day of the week, using local time. */ + getDay(): number; + /** Gets the day of the week using Universal Coordinated Time (UTC). */ + getUTCDay(): number; + /** Gets the hours in a date, using local time. */ + getHours(): number; + /** Gets the hours value in a Date object using Universal Coordinated Time (UTC). */ + getUTCHours(): number; + /** Gets the minutes of a Date object, using local time. */ + getMinutes(): number; + /** Gets the minutes of a Date object using Universal Coordinated Time (UTC). */ + getUTCMinutes(): number; + /** Gets the seconds of a Date object, using local time. */ + getSeconds(): number; + /** Gets the seconds of a Date object using Universal Coordinated Time (UTC). */ + getUTCSeconds(): number; + /** Gets the milliseconds of a Date, using local time. */ + getMilliseconds(): number; + /** Gets the milliseconds of a Date object using Universal Coordinated Time (UTC). */ + getUTCMilliseconds(): number; + /** Gets the difference in minutes between the time on the local computer and Universal Coordinated Time (UTC). */ + getTimezoneOffset(): number; + /** + * Sets the date and time value in the Date object. + * @param time A numeric value representing the number of elapsed milliseconds since midnight, January 1, 1970 GMT. + */ + setTime(time: number): number; + /** + * Sets the milliseconds value in the Date object using local time. + * @param ms A numeric value equal to the millisecond value. + */ + setMilliseconds(ms: number): number; + /** + * Sets the milliseconds value in the Date object using Universal Coordinated Time (UTC). + * @param ms A numeric value equal to the millisecond value. + */ + setUTCMilliseconds(ms: number): number; + + /** + * Sets the seconds value in the Date object using local time. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setSeconds(sec: number, ms?: number): number; + /** + * Sets the seconds value in the Date object using Universal Coordinated Time (UTC). + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setUTCSeconds(sec: number, ms?: number): number; + /** + * Sets the minutes value in the Date object using local time. + * @param min A numeric value equal to the minutes value. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setMinutes(min: number, sec?: number, ms?: number): number; + /** + * Sets the minutes value in the Date object using Universal Coordinated Time (UTC). + * @param min A numeric value equal to the minutes value. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setUTCMinutes(min: number, sec?: number, ms?: number): number; + /** + * Sets the hour value in the Date object using local time. + * @param hours A numeric value equal to the hours value. + * @param min A numeric value equal to the minutes value. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setHours(hours: number, min?: number, sec?: number, ms?: number): number; + /** + * Sets the hours value in the Date object using Universal Coordinated Time (UTC). + * @param hours A numeric value equal to the hours value. + * @param min A numeric value equal to the minutes value. + * @param sec A numeric value equal to the seconds value. + * @param ms A numeric value equal to the milliseconds value. + */ + setUTCHours(hours: number, min?: number, sec?: number, ms?: number): number; + /** + * Sets the numeric day-of-the-month value of the Date object using local time. + * @param date A numeric value equal to the day of the month. + */ + setDate(date: number): number; + /** + * Sets the numeric day of the month in the Date object using Universal Coordinated Time (UTC). + * @param date A numeric value equal to the day of the month. + */ + setUTCDate(date: number): number; + /** + * Sets the month value in the Date object using local time. + * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. + * @param date A numeric value representing the day of the month. If this value is not supplied, the value from a call to the getDate method is used. + */ + setMonth(month: number, date?: number): number; + /** + * Sets the month value in the Date object using Universal Coordinated Time (UTC). + * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. + * @param date A numeric value representing the day of the month. If it is not supplied, the value from a call to the getUTCDate method is used. + */ + setUTCMonth(month: number, date?: number): number; + /** + * Sets the year of the Date object using local time. + * @param year A numeric value for the year. + * @param month A zero-based numeric value for the month (0 for January, 11 for December). Must be specified if numDate is specified. + * @param date A numeric value equal for the day of the month. + */ + setFullYear(year: number, month?: number, date?: number): number; + /** + * Sets the year value in the Date object using Universal Coordinated Time (UTC). + * @param year A numeric value equal to the year. + * @param month A numeric value equal to the month. The value for January is 0, and other month values follow consecutively. Must be supplied if numDate is supplied. + * @param date A numeric value equal to the day of the month. + */ + setUTCFullYear(year: number, month?: number, date?: number): number; + /** Returns a date converted to a string using Universal Coordinated Time (UTC). */ + toUTCString(): string; + /** Returns a date as a string value in ISO format. */ + toISOString(): string; + /** Used by the JSON.stringify method to enable the transformation of an object's data for JavaScript Object Notation (JSON) serialization. */ + toJSON(key?: any): string; +} + +declare var Date: { + 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; + (): string; + prototype: Date; + /** + * Parses a string containing a date, and returns the number of milliseconds between that date and midnight, January 1, 1970. + * @param s A date string + */ + parse(s: string): number; + /** + * Returns the number of milliseconds between midnight, January 1, 1970 Universal Coordinated Time (UTC) (or GMT) and the specified date. + * @param year The full year designation is required for cross-century date accuracy. If year is between 0 and 99 is used, then year is assumed to be 1900 + year. + * @param month The month as an number between 0 and 11 (January to December). + * @param date The date as an number between 1 and 31. + * @param hours Must be supplied if minutes is supplied. An number from 0 to 23 (midnight to 11pm) that specifies the hour. + * @param minutes Must be supplied if seconds is supplied. An number from 0 to 59 that specifies the minutes. + * @param seconds Must be supplied if milliseconds is supplied. An number from 0 to 59 that specifies the seconds. + * @param ms An number from 0 to 999 that specifies the milliseconds. + */ + UTC(year: number, month: number, date?: number, hours?: number, minutes?: number, seconds?: number, ms?: number): number; + now(): number; +} + +interface RegExpExecArray { + [index: number]: string; + length: number; + + index: number; + input: string; + + toString(): string; + toLocaleString(): string; + concat(...items: string[][]): string[]; + join(separator?: string): string; + pop(): string; + push(...items: string[]): number; + reverse(): string[]; + shift(): string; + slice(start?: number, end?: number): string[]; + sort(compareFn?: (a: string, b: string) => number): string[]; + splice(start: number): string[]; + splice(start: number, deleteCount: number, ...items: string[]): string[]; + unshift(...items: string[]): number; + + indexOf(searchElement: string, fromIndex?: number): number; + lastIndexOf(searchElement: string, fromIndex?: number): number; + every(callbackfn: (value: string, index: number, array: string[]) => boolean, thisArg?: any): boolean; + some(callbackfn: (value: string, index: number, array: string[]) => boolean, thisArg?: any): boolean; + forEach(callbackfn: (value: string, index: number, array: string[]) => void, thisArg?: any): void; + map(callbackfn: (value: string, index: number, array: string[]) => any, thisArg?: any): any[]; + filter(callbackfn: (value: string, index: number, array: string[]) => boolean, thisArg?: any): string[]; + reduce(callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: string[]) => any, initialValue?: any): any; + reduceRight(callbackfn: (previousValue: any, currentValue: any, currentIndex: number, array: string[]) => any, initialValue?: any): any; +} + + +interface 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. + */ + exec(string: string): RegExpExecArray; + + /** + * Returns a Boolean value that indicates whether or not a pattern exists in a searched string. + * @param string String on which to perform the search. + */ + test(string: string): boolean; + + /** Returns a copy of the text of the regular expression pattern. Read-only. The rgExp argument is a Regular expression object. It can be a variable name or a literal. */ + source: string; + + /** Returns a Boolean value indicating the state of the global flag (g) used with a regular expression. Default is false. Read-only. */ + global: boolean; + + /** Returns a Boolean value indicating the state of the ignoreCase flag (i) used with a regular expression. Default is false. Read-only. */ + ignoreCase: boolean; + + /** Returns a Boolean value indicating the state of the multiline flag (m) used with a regular expression. Default is false. Read-only. */ + multiline: boolean; + + lastIndex: number; + + // Non-standard extensions + compile(): RegExp; +} +declare var RegExp: { + new (pattern: string, flags?: string): RegExp; + (pattern: string, flags?: string): RegExp; + + // Non-standard extensions + $1: string; + $2: string; + $3: string; + $4: string; + $5: string; + $6: string; + $7: string; + $8: string; + $9: string; + lastMatch: string; +} + +interface Error { + name: string; + message: string; +} +declare var Error: { + new (message?: string): Error; + (message?: string): Error; + prototype: Error; +} + +interface EvalError extends Error { +} +declare var EvalError: { + new (message?: string): EvalError; + (message?: string): EvalError; + prototype: EvalError; +} + +interface RangeError extends Error { +} +declare var RangeError: { + new (message?: string): RangeError; + (message?: string): RangeError; + prototype: RangeError; +} + +interface ReferenceError extends Error { +} +declare var ReferenceError: { + new (message?: string): ReferenceError; + (message?: string): ReferenceError; + prototype: ReferenceError; +} + +interface SyntaxError extends Error { +} +declare var SyntaxError: { + new (message?: string): SyntaxError; + (message?: string): SyntaxError; + prototype: SyntaxError; +} + +interface TypeError extends Error { +} +declare var TypeError: { + new (message?: string): TypeError; + (message?: string): TypeError; + prototype: TypeError; +} + +interface URIError extends Error { +} +declare var URIError: { + new (message?: string): URIError; + (message?: string): URIError; + prototype: URIError; +} + +interface JSON { + /** + * Converts a JavaScript Object Notation (JSON) string into an object. + * @param text A valid JSON string. + * @param reviver A function that transforms the results. This function is called for each member of the object. + * If a member contains nested objects, the nested objects are transformed before the parent object is. + */ + parse(text: string, reviver?: (key: any, value: any) => any): any; + /** + * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. + * @param value A JavaScript value, usually an object or array, to be converted. + */ + stringify(value: any): string; + /** + * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. + * @param value A JavaScript value, usually an object or array, to be converted. + * @param replacer A function that transforms the results. + */ + stringify(value: any, replacer: (key: string, value: any) => any): string; + /** + * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. + * @param value A JavaScript value, usually an object or array, to be converted. + * @param replacer Array that transforms the results. + */ + stringify(value: any, replacer: any[]): string; + /** + * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. + * @param value A JavaScript value, usually an object or array, to be converted. + * @param replacer A function that transforms the results. + * @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read. + */ + stringify(value: any, replacer: (key: string, value: any) => any, space: any): string; + /** + * Converts a JavaScript value to a JavaScript Object Notation (JSON) string. + * @param value A JavaScript value, usually an object or array, to be converted. + * @param replacer Array that transforms the results. + * @param space Adds indentation, white space, and line break characters to the return-value JSON text to make it easier to read. + */ + stringify(value: any, replacer: any[], space: any): string; +} +/** + * An intrinsic object that provides functions to convert JavaScript values to and from the JavaScript Object Notation (JSON) format. + */ +declare var JSON: JSON; + + +///////////////////////////// +/// ECMAScript Array API (specially handled by compiler) +///////////////////////////// + +interface Array { + /** + * Returns a string representation of an array. + */ + toString(): string; + toLocaleString(): string; + /** + * Combines two or more arrays. + * @param items Additional items to add to the end of array1. + */ + concat(...items: U[]): T[]; + /** + * Combines two or more arrays. + * @param items Additional items to add to the end of array1. + */ + concat(...items: T[]): T[]; + /** + * Adds all the elements of an array separated by the specified separator string. + * @param separator A string used to separate one element of an array from the next in the resulting String. If omitted, the array elements are separated with a comma. + */ + join(separator?: string): string; + /** + * Removes the last element from an array and returns it. + */ + pop(): T; + /** + * Appends new elements to an array, and returns the new length of the array. + * @param items New elements of the Array. + */ + push(...items: T[]): number; + /** + * Reverses the elements in an Array. + */ + reverse(): T[]; + /** + * Removes the first element from an array and returns it. + */ + shift(): T; + /** + * Returns a section of an array. + * @param start The beginning of the specified portion of the array. + * @param end The end of the specified portion of the array. + */ + slice(start?: number, end?: number): T[]; + + /** + * Sorts an array. + * @param compareFn The name of the function used to determine the order of the elements. If omitted, the elements are sorted in ascending, ASCII character order. + */ + sort(compareFn?: (a: T, b: T) => number): T[]; + + /** + * Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements. + * @param start The zero-based location in the array from which to start removing elements. + */ + splice(start: number): T[]; + + /** + * Removes elements from an array and, if necessary, inserts new elements in their place, returning the deleted elements. + * @param start The zero-based location in the array from which to start removing elements. + * @param deleteCount The number of elements to remove. + * @param items Elements to insert into the array in place of the deleted elements. + */ + splice(start: number, deleteCount: number, ...items: T[]): T[]; + + /** + * Inserts new elements at the start of an array. + * @param items Elements to insert at the start of the Array. + */ + unshift(...items: T[]): number; + + /** + * Returns the index of the first occurrence of a value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at index 0. + */ + indexOf(searchElement: T, fromIndex?: number): number; + + /** + * Returns the index of the last occurrence of a specified value in an array. + * @param searchElement The value to locate in the array. + * @param fromIndex The array index at which to begin the search. If fromIndex is omitted, the search starts at the last index in the array. + */ + lastIndexOf(searchElement: T, fromIndex?: number): number; + + /** + * Determines whether all the members of an array satisfy the specified test. + * @param callbackfn A function that accepts up to three arguments. The every method calls the callbackfn function for each element in array1 until the callbackfn returns false, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + every(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): boolean; + + /** + * Determines whether the specified callback function returns true for any element of an array. + * @param callbackfn A function that accepts up to three arguments. The some method calls the callbackfn function for each element in array1 until the callbackfn returns true, or until the end of the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + some(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): boolean; + + /** + * Performs the specified action for each element in an array. + * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + forEach(callbackfn: (value: T, index: number, array: T[]) => void, thisArg?: any): void; + + /** + * Calls a defined callback function on each element of an array, and returns an array that contains the results. + * @param callbackfn A function that accepts up to three arguments. The map method calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + map(callbackfn: (value: T, index: number, array: T[]) => U, thisArg?: any): U[]; + + /** + * Returns the elements of an array that meet the condition specified in a callback function. + * @param callbackfn A function that accepts up to three arguments. The filter method calls the callbackfn function one time for each element in the array. + * @param thisArg An object to which the this keyword can refer in the callbackfn function. If thisArg is omitted, undefined is used as the this value. + */ + filter(callbackfn: (value: T, index: number, array: T[]) => boolean, thisArg?: any): 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. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: 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. + * @param callbackfn A function that accepts up to four arguments. The reduce method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: 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. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue?: 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. + * @param callbackfn A function that accepts up to four arguments. The reduceRight method calls the callbackfn function one time for each element in the array. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of an array value. + */ + reduceRight(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U; + + /** + * Gets or sets the length of the array. This is a number one higher than the highest element defined in an array. + */ + length: number; + + [n: number]: T; +} +declare var Array: { + new (arrayLength?: number): any[]; + new (arrayLength: number): T[]; + new (...items: T[]): T[]; + (arrayLength?: number): any[]; + (arrayLength: number): T[]; + (...items: T[]): T[]; + isArray(arg: any): boolean; + prototype: Array; +} + +///////////////////////////// +/// IE10 ECMAScript Extensions +///////////////////////////// + +/** + * Represents a raw buffer of binary data, which is used to store data for the + * different typed arrays. ArrayBuffers cannot be read from or written to directly, + * but can be passed to a typed array or DataView Object to interpret the raw + * buffer as needed. + */ +interface ArrayBuffer { + /** + * Read-only. The length of the ArrayBuffer (in bytes). + */ + byteLength: number; +} + +declare var ArrayBuffer: { + prototype: ArrayBuffer; + new (byteLength: number): ArrayBuffer; +} + +interface ArrayBufferView { + buffer: ArrayBuffer; + byteOffset: number; + byteLength: number; +} + +/** + * A typed array of 8-bit integer values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Int8Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Int8Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Int8Array view of the ArrayBuffer store for this array, referencing the elements at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Int8Array; +} +declare var Int8Array: { + prototype: Int8Array; + new (length: number): Int8Array; + new (array: Int8Array): Int8Array; + new (array: number[]): Int8Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int8Array; + BYTES_PER_ELEMENT: number; +} + +/** + * A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Uint8Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Uint8Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Uint8Array view of the ArrayBuffer Object store for this array, specifying the first and last members of the subarray. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Uint8Array; +} +declare var Uint8Array: { + prototype: Uint8Array; + new (length: number): Uint8Array; + new (array: Uint8Array): Uint8Array; + new (array: number[]): Uint8Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint8Array; + BYTES_PER_ELEMENT: number; +} + +/** + * A typed array of 16-bit integer values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Int16Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Int16Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Int16Array view of the ArrayBuffer Object store for this array, specifying the first and last members of the subarray. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Int16Array; +} +declare var Int16Array: { + prototype: Int16Array; + new (length: number): Int16Array; + new (array: Int16Array): Int16Array; + new (array: number[]): Int16Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int16Array; + BYTES_PER_ELEMENT: number; +} + +/** + * A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Uint16Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Uint16Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Uint16Array view of the ArrayBuffer Object store for this array, specifying the first and last members of the subarray. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Uint16Array; +} +declare var Uint16Array: { + prototype: Uint16Array; + new (length: number): Uint16Array; + new (array: Uint16Array): Uint16Array; + new (array: number[]): Uint16Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint16Array; + BYTES_PER_ELEMENT: number; +} + +/** + * A typed array of 32-bit integer values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Int32Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Int32Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Int32Array view of the ArrayBuffer Object store for this array, specifying the first and last members of the subarray. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Int32Array; +} +declare var Int32Array: { + prototype: Int32Array; + new (length: number): Int32Array; + new (array: Int32Array): Int32Array; + new (array: number[]): Int32Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int32Array; + BYTES_PER_ELEMENT: number; +} + +/** + * A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Uint32Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Uint32Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Int8Array view of the ArrayBuffer Object store for this array, specifying the first and last members of the subarray. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Uint32Array; +} +declare var Uint32Array: { + prototype: Uint32Array; + new (length: number): Uint32Array; + new (array: Uint32Array): Uint32Array; + new (array: number[]): Uint32Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint32Array; + BYTES_PER_ELEMENT: number; +} + +/** + * A typed array of 32-bit float values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Float32Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Float32Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Float32Array view of the ArrayBuffer Object store for this array, specifying the first and last members of the subarray. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Float32Array; +} +declare var Float32Array: { + prototype: Float32Array; + new (length: number): Float32Array; + new (array: Float32Array): Float32Array; + new (array: number[]): Float32Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Float32Array; + BYTES_PER_ELEMENT: number; +} + +/** + * A typed array of 64-bit float values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Float64Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Float64Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Float64Array view of the ArrayBuffer Object store for this array, specifying the first and last members of the subarray. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Float64Array; +} +declare var Float64Array: { + prototype: Float64Array; + new (length: number): Float64Array; + new (array: Float64Array): Float64Array; + new (array: number[]): Float64Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Float64Array; + BYTES_PER_ELEMENT: number; +} + +/** + * You can use a DataView object to read and write the different kinds of binary data to any location in the ArrayBuffer. + */ +interface DataView extends ArrayBufferView { + /** + * Gets the Int8 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getInt8(byteOffset: number): number; + + /** + * Gets the Uint8 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getUint8(byteOffset: number): number; + + /** + * Gets the Int16 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getInt16(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Uint16 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getUint16(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Int32 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getInt32(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Uint32 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getUint32(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Float32 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getFloat32(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Float64 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getFloat64(byteOffset: number, littleEndian?: boolean): number; + + /** + * Stores an Int8 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + */ + setInt8(byteOffset: number, value: number): void; + + /** + * Stores an Uint8 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + */ + setUint8(byteOffset: number, value: number): void; + + /** + * Stores an Int16 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, otherwise a little-endian value should be written. + */ + setInt16(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Uint16 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, otherwise a little-endian value should be written. + */ + setUint16(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Int32 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, otherwise a little-endian value should be written. + */ + setInt32(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Uint32 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, otherwise a little-endian value should be written. + */ + setUint32(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Float32 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, otherwise a little-endian value should be written. + */ + setFloat32(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Float64 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, otherwise a little-endian value should be written. + */ + setFloat64(byteOffset: number, value: number, littleEndian?: boolean): void; +} +declare var DataView: { + prototype: DataView; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): DataView; +} + +///////////////////////////// +/// IE11 ECMAScript Extensions +///////////////////////////// + +interface Map { + clear(): void; + delete(key: K): boolean; + forEach(callbackfn: (value: V, index: K, map: Map) => void, thisArg?: any): void; + get(key: K): V; + has(key: K): boolean; + set(key: K, value: V): Map; + size: number; +} +declare var Map: { + new (): Map; +} + +interface WeakMap { + clear(): void; + delete(key: K): boolean; + get(key: K): V; + has(key: K): boolean; + set(key: K, value: V): WeakMap; +} +declare var WeakMap: { + new (): WeakMap; +} + +interface Set { + add(value: T): Set; + clear(): void; + delete(value: T): boolean; + forEach(callbackfn: (value: T, index: T, set: Set) => void, thisArg?: any): void; + has(value: T): boolean; + size: number; +} +declare var Set: { + new (): Set; +} + +declare module Intl { + + interface CollatorOptions { + usage?: string; + localeMatcher?: string; + numeric?: boolean; + caseFirst?: string; + sensitivity?: string; + ignorePunctuation?: boolean; + } + + interface ResolvedCollatorOptions { + locale: string; + usage: string; + sensitivity: string; + ignorePunctuation: boolean; + collation: string; + caseFirst: string; + numeric: boolean; + } + + interface Collator { + compare(x: string, y: string): number; + resolvedOptions(): ResolvedCollatorOptions; + } + var Collator: { + new (locales?: string[], options?: CollatorOptions): Collator; + new (locale?: string, options?: CollatorOptions): Collator; + (locales?: string[], options?: CollatorOptions): Collator; + (locale?: string, options?: CollatorOptions): Collator; + supportedLocalesOf(locales: string[], options?: CollatorOptions): string[]; + supportedLocalesOf(locale: string, options?: CollatorOptions): string[]; + } + + interface NumberFormatOptions { + localeMatcher?: string; + style?: string; + currency?: string; + currencyDisplay?: string; + useGrouping?: boolean; + } + + interface ResolvedNumberFormatOptions { + locale: string; + numberingSystem: string; + style: string; + currency?: string; + currencyDisplay?: string; + minimumintegerDigits: number; + minimumFractionDigits: number; + maximumFractionDigits: number; + minimumSignificantDigits?: number; + maximumSignificantDigits?: number; + useGrouping: boolean; + } + + interface NumberFormat { + format(value: number): string; + resolvedOptions(): ResolvedNumberFormatOptions; + } + var NumberFormat: { + new (locales?: string[], options?: NumberFormatOptions): Collator; + new (locale?: string, options?: NumberFormatOptions): Collator; + (locales?: string[], options?: NumberFormatOptions): Collator; + (locale?: string, options?: NumberFormatOptions): Collator; + supportedLocalesOf(locales: string[], options?: NumberFormatOptions): string[]; + supportedLocalesOf(locale: string, options?: NumberFormatOptions): string[]; + } + + interface DateTimeFormatOptions { + localeMatcher?: string; + weekday?: string; + era?: string; + year?: string; + month?: string; + day?: string; + hour?: string; + minute?: string; + second?: string; + timeZoneName?: string; + formatMatcher?: string; + hour12: boolean; + } + + interface ResolvedDateTimeFormatOptions { + locale: string; + calendar: string; + numberingSystem: string; + timeZone: string; + hour12?: boolean; + weekday?: string; + era?: string; + year?: string; + month?: string; + day?: string; + hour?: string; + minute?: string; + second?: string; + timeZoneName?: string; + } + + interface DateTimeFormat { + format(date: number): string; + resolvedOptions(): ResolvedDateTimeFormatOptions; + } + var DateTimeFormat: { + new (locales?: string[], options?: DateTimeFormatOptions): Collator; + new (locale?: string, options?: DateTimeFormatOptions): Collator; + (locales?: string[], options?: DateTimeFormatOptions): Collator; + (locale?: string, options?: DateTimeFormatOptions): Collator; + supportedLocalesOf(locales: string[], options?: DateTimeFormatOptions): string[]; + supportedLocalesOf(locale: string, options?: DateTimeFormatOptions): string[]; + } +} + +interface String { + /** + * Determines whether two strings are equivalent in the current locale. + * @param that String to compare to target string + * @param locales An array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details. + * @param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details. + */ + localeCompare(that: string, locales: string[], options?: Intl.CollatorOptions): number; + + /** + * Determines whether two strings are equivalent in the current locale. + * @param that String to compare to target string + * @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details. + * @param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details. + */ + localeCompare(that: string, locale: string, options?: Intl.CollatorOptions): number; +} + +interface Number { + /** + * Converts a number to a string by using the current or specified locale. + * @param locales An array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleString(locales?: string[], options?: Intl.NumberFormatOptions): string; + + /** + * Converts a number to a string by using the current or specified locale. + * @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleString(locale?: string, options?: Intl.NumberFormatOptions): string; +} + +interface Date { + /** + * Converts a date to a string by using the current or specified locale. + * @param locales An array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleString(locales?: string[], options?: Intl.DateTimeFormatOptions): string; + + /** + * Converts a date to a string by using the current or specified locale. + * @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleString(locale?: string, options?: Intl.DateTimeFormatOptions): string; +} + +///////////////////////////// +/// IE DOM APIs +///////////////////////////// + + +interface PositionOptions { + enableHighAccuracy?: boolean; + timeout?: number; + maximumAge?: number; +} + +interface ObjectURLOptions { + oneTimeOnly?: boolean; +} + +interface StoreExceptionsInformation extends ExceptionInformation { + siteName?: string; + explanationString?: string; + detailURI?: string; +} + +interface StoreSiteSpecificExceptionsInformation extends StoreExceptionsInformation { + arrayOfDomainStrings?: string[]; +} + +interface ConfirmSiteSpecificExceptionsInformation extends ExceptionInformation { + arrayOfDomainStrings?: string[]; +} + +interface AlgorithmParameters { +} + +interface MutationObserverInit { + childList?: boolean; + attributes?: boolean; + characterData?: boolean; + subtree?: boolean; + attributeOldValue?: boolean; + characterDataOldValue?: boolean; + attributeFilter?: string[]; +} + +interface PointerEventInit extends MouseEventInit { + pointerId?: number; + width?: number; + height?: number; + pressure?: number; + tiltX?: number; + tiltY?: number; + pointerType?: string; + isPrimary?: boolean; +} + +interface ExceptionInformation { + domain?: string; +} + +interface DeviceAccelerationDict { + x?: number; + y?: number; + z?: number; +} + +interface MsZoomToOptions { + contentX?: number; + contentY?: number; + viewportX?: string; + viewportY?: string; + scaleFactor?: number; + animate?: string; +} + +interface DeviceRotationRateDict { + alpha?: number; + beta?: number; + gamma?: number; +} + +interface Algorithm { + name?: string; + params?: AlgorithmParameters; +} + +interface MouseEventInit { + bubbles?: boolean; + cancelable?: boolean; + view?: Window; + detail?: number; + screenX?: number; + screenY?: number; + clientX?: number; + clientY?: number; + ctrlKey?: boolean; + shiftKey?: boolean; + altKey?: boolean; + metaKey?: boolean; + button?: number; + buttons?: number; + relatedTarget?: EventTarget; +} + +interface WebGLContextAttributes { + alpha?: boolean; + depth?: boolean; + stencil?: boolean; + antialias?: boolean; + premultipliedAlpha?: boolean; + preserveDrawingBuffer?: boolean; +} + +interface NodeListOf extends NodeList { + length: number; + item(index: number): TNode; + [index: number]: TNode; +} + +interface HTMLElement extends Element, ElementCSSInlineStyle, MSEventAttachmentTarget, MSNodeExtensions { + hidden: any; + readyState: any; + onmouseleave: (ev: MouseEvent) => any; + onbeforecut: (ev: DragEvent) => any; + onkeydown: (ev: KeyboardEvent) => any; + onmove: (ev: MSEventObj) => any; + onkeyup: (ev: KeyboardEvent) => any; + onreset: (ev: Event) => any; + onhelp: (ev: Event) => any; + ondragleave: (ev: DragEvent) => any; + className: string; + onfocusin: (ev: FocusEvent) => any; + onseeked: (ev: Event) => any; + recordNumber: any; + title: string; + parentTextEdit: Element; + outerHTML: string; + ondurationchange: (ev: Event) => any; + offsetHeight: number; + all: HTMLCollection; + onblur: (ev: FocusEvent) => any; + dir: string; + onemptied: (ev: Event) => any; + onseeking: (ev: Event) => any; + oncanplay: (ev: Event) => any; + ondeactivate: (ev: UIEvent) => any; + ondatasetchanged: (ev: MSEventObj) => any; + onrowsdelete: (ev: MSEventObj) => any; + sourceIndex: number; + onloadstart: (ev: Event) => any; + onlosecapture: (ev: MSEventObj) => any; + ondragenter: (ev: DragEvent) => any; + oncontrolselect: (ev: MSEventObj) => any; + onsubmit: (ev: Event) => any; + behaviorUrns: MSBehaviorUrnsCollection; + scopeName: string; + onchange: (ev: Event) => any; + id: string; + onlayoutcomplete: (ev: MSEventObj) => any; + uniqueID: string; + onbeforeactivate: (ev: UIEvent) => any; + oncanplaythrough: (ev: Event) => any; + onbeforeupdate: (ev: MSEventObj) => any; + onfilterchange: (ev: MSEventObj) => any; + offsetParent: Element; + ondatasetcomplete: (ev: MSEventObj) => any; + onsuspend: (ev: Event) => any; + onmouseenter: (ev: MouseEvent) => any; + innerText: string; + onerrorupdate: (ev: MSEventObj) => any; + onmouseout: (ev: MouseEvent) => any; + parentElement: HTMLElement; + onmousewheel: (ev: MouseWheelEvent) => any; + onvolumechange: (ev: Event) => any; + oncellchange: (ev: MSEventObj) => any; + onrowexit: (ev: MSEventObj) => any; + onrowsinserted: (ev: MSEventObj) => any; + onpropertychange: (ev: MSEventObj) => any; + filters: any; + children: HTMLCollection; + ondragend: (ev: DragEvent) => any; + onbeforepaste: (ev: DragEvent) => any; + ondragover: (ev: DragEvent) => any; + offsetTop: number; + onmouseup: (ev: MouseEvent) => any; + ondragstart: (ev: DragEvent) => any; + onbeforecopy: (ev: DragEvent) => any; + ondrag: (ev: DragEvent) => any; + innerHTML: string; + onmouseover: (ev: MouseEvent) => any; + lang: string; + uniqueNumber: number; + onpause: (ev: Event) => any; + tagUrn: string; + onmousedown: (ev: MouseEvent) => any; + onclick: (ev: MouseEvent) => any; + onwaiting: (ev: Event) => any; + onresizestart: (ev: MSEventObj) => any; + offsetLeft: number; + isTextEdit: boolean; + isDisabled: boolean; + onpaste: (ev: DragEvent) => any; + canHaveHTML: boolean; + onmoveend: (ev: MSEventObj) => any; + language: string; + onstalled: (ev: Event) => any; + onmousemove: (ev: MouseEvent) => any; + style: MSStyleCSSProperties; + isContentEditable: boolean; + onbeforeeditfocus: (ev: MSEventObj) => any; + onratechange: (ev: Event) => any; + contentEditable: string; + tabIndex: number; + document: Document; + onprogress: (ev: ProgressEvent) => any; + ondblclick: (ev: MouseEvent) => any; + oncontextmenu: (ev: MouseEvent) => any; + onloadedmetadata: (ev: Event) => any; + onafterupdate: (ev: MSEventObj) => any; + onerror: (ev: ErrorEvent) => any; + onplay: (ev: Event) => any; + onresizeend: (ev: MSEventObj) => any; + onplaying: (ev: Event) => any; + isMultiLine: boolean; + onfocusout: (ev: FocusEvent) => any; + onabort: (ev: UIEvent) => any; + ondataavailable: (ev: MSEventObj) => any; + hideFocus: boolean; + onreadystatechange: (ev: Event) => any; + onkeypress: (ev: KeyboardEvent) => any; + onloadeddata: (ev: Event) => any; + onbeforedeactivate: (ev: UIEvent) => any; + outerText: string; + disabled: boolean; + onactivate: (ev: UIEvent) => any; + accessKey: string; + onmovestart: (ev: MSEventObj) => any; + onselectstart: (ev: Event) => any; + onfocus: (ev: FocusEvent) => any; + ontimeupdate: (ev: Event) => any; + onresize: (ev: UIEvent) => any; + oncut: (ev: DragEvent) => any; + onselect: (ev: UIEvent) => any; + ondrop: (ev: DragEvent) => any; + offsetWidth: number; + oncopy: (ev: DragEvent) => any; + onended: (ev: Event) => any; + onscroll: (ev: UIEvent) => any; + onrowenter: (ev: MSEventObj) => any; + onload: (ev: Event) => any; + canHaveChildren: boolean; + oninput: (ev: Event) => any; + onmscontentzoom: (ev: MSEventObj) => any; + oncuechange: (ev: Event) => any; + spellcheck: boolean; + classList: DOMTokenList; + onmsmanipulationstatechanged: (ev: any) => any; + draggable: boolean; + dataset: DOMStringMap; + dragDrop(): boolean; + scrollIntoView(top?: boolean): void; + addFilter(filter: any): void; + setCapture(containerCapture?: boolean): void; + focus(): void; + getAdjacentText(where: string): string; + insertAdjacentText(where: string, text: string): void; + getElementsByClassName(classNames: string): NodeList; + setActive(): void; + removeFilter(filter: any): void; + blur(): void; + clearAttributes(): void; + releaseCapture(): void; + createControlRange(): ControlRangeCollection; + removeBehavior(cookie: number): boolean; + contains(child: HTMLElement): boolean; + click(): void; + insertAdjacentElement(position: string, insertedElement: Element): Element; + mergeAttributes(source: HTMLElement, preserveIdentity?: boolean): void; + replaceAdjacentText(where: string, newText: string): string; + applyElement(apply: Element, where?: string): Element; + addBehavior(bstrUrl: string, factory?: any): number; + insertAdjacentHTML(where: string, html: string): void; + msGetInputContext(): MSInputMethodContext; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgotpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mslostpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "move", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "datasetchanged", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsdelete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "losecapture", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "controlselect", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "layoutcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "filterchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "datasetcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "errorupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cellchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowexit", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsinserted", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "propertychange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "moveend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeeditfocus", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "afterupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizeend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dataavailable", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "movestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "rowenter", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mscontentzoom", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "msmanipulationstatechanged", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var HTMLElement: { + prototype: HTMLElement; + new(): HTMLElement; +} + +interface Document extends Node, NodeSelector, MSEventAttachmentTarget, DocumentEvent, MSResourceMetadata, MSNodeExtensions, MSDocumentExtensions, GlobalEventHandlers { + /** + * Gets a reference to the root node of the document. + */ + documentElement: HTMLElement; + /** + * Retrieves the collection of user agents and versions declared in the X-UA-Compatible + */ + compatible: MSCompatibleInfoCollection; + /** + * Fires when the user presses a key. + * @param ev The keyboard event + */ + onkeydown: (ev: KeyboardEvent) => any; + /** + * Fires when the user releases a key. + * @param ev The keyboard event + */ + onkeyup: (ev: KeyboardEvent) => any; + /** + * Gets the implementation object of the current document. + */ + implementation: DOMImplementation; + /** + * Fires when the user resets a form. + * @param ev The event. + */ + onreset: (ev: Event) => any; + /** + * Retrieves a collection of all script objects in the document. + */ + scripts: HTMLCollection; + /** + * Fires when the user presses the F1 key while the browser is the active window. + * @param ev The event. + */ + onhelp: (ev: Event) => any; + /** + * Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation. + * @param ev The drag event. + */ + ondragleave: (ev: DragEvent) => any; + /** + * Gets or sets the character set used to encode the object. + */ + charset: string; + /** + * Fires for an element just prior to setting focus on that element. + * @param ev The focus event + */ + onfocusin: (ev: FocusEvent) => any; + /** + * Sets or gets the color of the links that the user has visited. + */ + vlinkColor: string; + /** + * Occurs when the seek operation ends. + * @param ev The event. + */ + onseeked: (ev: Event) => any; + security: string; + /** + * Contains the title of the document. + */ + title: string; + /** + * Retrieves a collection of namespace objects. + */ + namespaces: MSNamespaceInfoCollection; + /** + * Gets the default character set from the current regional language settings. + */ + defaultCharset: string; + /** + * Retrieves a collection of all embed objects in the document. + */ + embeds: HTMLCollection; + /** + * Retrieves a collection of styleSheet objects representing the style sheets that correspond to each instance of a link or style object in the document. + */ + styleSheets: StyleSheetList; + /** + * Retrieves a collection of all window objects defined by the given document or defined by the document associated with the given window. + */ + frames: Window; + /** + * Occurs when the duration attribute is updated. + * @param ev The event. + */ + ondurationchange: (ev: Event) => any; + /** + * Returns a reference to the collection of elements contained by the object. + */ + all: HTMLCollection; + /** + * Retrieves a collection, in source order, of all form objects in the document. + */ + forms: HTMLCollection; + /** + * Fires when the object loses the input focus. + * @param ev The focus event. + */ + onblur: (ev: FocusEvent) => any; + /** + * Sets or retrieves a value that indicates the reading order of the object. + */ + dir: string; + /** + * Occurs when the media element is reset to its initial state. + * @param ev The event. + */ + onemptied: (ev: Event) => any; + /** + * Sets or gets a value that indicates whether the document can be edited. + */ + designMode: string; + /** + * Occurs when the current playback position is moved. + * @param ev The event. + */ + onseeking: (ev: Event) => any; + /** + * Fires when the activeElement is changed from the current object to another object in the parent document. + * @param ev The UI Event + */ + ondeactivate: (ev: UIEvent) => any; + /** + * Occurs when playback is possible, but would require further buffering. + * @param ev The event. + */ + oncanplay: (ev: Event) => any; + /** + * Fires when the data set exposed by a data source object changes. + * @param ev The event. + */ + ondatasetchanged: (ev: MSEventObj) => any; + /** + * Fires when rows are about to be deleted from the recordset. + * @param ev The event + */ + onrowsdelete: (ev: MSEventObj) => any; + Script: MSScriptHost; + /** + * Occurs when Internet Explorer begins looking for media data. + * @param ev The event. + */ + onloadstart: (ev: Event) => any; + /** + * Gets the URL for the document, stripped of any character encoding. + */ + URLUnencoded: string; + defaultView: Window; + /** + * Fires when the user is about to make a control selection of the object. + * @param ev The event. + */ + oncontrolselect: (ev: MSEventObj) => any; + /** + * Fires on the target element when the user drags the object to a valid drop target. + * @param ev The drag event. + */ + ondragenter: (ev: DragEvent) => any; + onsubmit: (ev: Event) => any; + /** + * Returns the character encoding used to create the webpage that is loaded into the document object. + */ + inputEncoding: string; + /** + * Gets the object that has the focus when the parent document has focus. + */ + activeElement: Element; + /** + * Fires when the contents of the object or selection have changed. + * @param ev The event. + */ + onchange: (ev: Event) => any; + /** + * Retrieves a collection of all a objects that specify the href property and all area objects in the document. + */ + links: HTMLCollection; + /** + * Retrieves an autogenerated, unique identifier for the object. + */ + uniqueID: string; + /** + * Sets or gets the URL for the current document. + */ + URL: string; + /** + * Fires immediately before the object is set as the active element. + * @param ev The event. + */ + onbeforeactivate: (ev: UIEvent) => any; + head: HTMLHeadElement; + cookie: string; + xmlEncoding: string; + oncanplaythrough: (ev: Event) => any; + /** + * Retrieves the document compatibility mode of the document. + */ + documentMode: number; + characterSet: string; + /** + * Retrieves a collection of all a objects that have a name and/or id property. Objects in this collection are in HTML source order. + */ + anchors: HTMLCollection; + onbeforeupdate: (ev: MSEventObj) => any; + /** + * Fires to indicate that all data is available from the data source object. + * @param ev The event. + */ + ondatasetcomplete: (ev: MSEventObj) => any; + plugins: HTMLCollection; + /** + * Occurs if the load operation has been intentionally halted. + * @param ev The event. + */ + onsuspend: (ev: Event) => any; + /** + * Gets the root svg element in the document hierarchy. + */ + rootElement: SVGSVGElement; + /** + * Retrieves a value that indicates the current state of the object. + */ + readyState: string; + /** + * Gets the URL of the location that referred the user to the current page. + */ + referrer: string; + /** + * Sets or gets the color of all active links in the document. + */ + alinkColor: string; + /** + * Fires on a databound object when an error occurs while updating the associated data in the data source object. + * @param ev The event. + */ + onerrorupdate: (ev: MSEventObj) => any; + /** + * Gets a reference to the container object of the window. + */ + parentWindow: Window; + /** + * Fires when the user moves the mouse pointer outside the boundaries of the object. + * @param ev The mouse event. + */ + onmouseout: (ev: MouseEvent) => any; + /** + * Occurs when a user clicks a button in a Thumbnail Toolbar of a webpage running in Site Mode. + * @param ev The event. + */ + onmsthumbnailclick: (ev: MSSiteModeEvent) => any; + /** + * Fires when the wheel button is rotated. + * @param ev The mouse event + */ + onmousewheel: (ev: MouseWheelEvent) => any; + /** + * Occurs when the volume is changed, or playback is muted or unmuted. + * @param ev The event. + */ + onvolumechange: (ev: Event) => any; + /** + * Fires when data changes in the data provider. + * @param ev The event. + */ + oncellchange: (ev: MSEventObj) => any; + /** + * Fires just before the data source control changes the current row in the object. + * @param ev The event. + */ + onrowexit: (ev: MSEventObj) => any; + /** + * Fires just after new rows are inserted in the current recordset. + * @param ev The event. + */ + onrowsinserted: (ev: MSEventObj) => any; + /** + * Gets or sets the version attribute specified in the declaration of an XML document. + */ + xmlVersion: string; + msCapsLockWarningOff: boolean; + /** + * Fires when a property changes on the object. + * @param ev The event. + */ + onpropertychange: (ev: MSEventObj) => any; + /** + * Fires on the source object when the user releases the mouse at the close of a drag operation. + * @param ev The event. + */ + ondragend: (ev: DragEvent) => any; + /** + * Gets an object representing the document type declaration associated with the current document. + */ + doctype: DocumentType; + /** + * Fires on the target element continuously while the user drags the object over a valid drop target. + * @param ev The event. + */ + ondragover: (ev: DragEvent) => any; + /** + * Deprecated. Sets or retrieves a value that indicates the background color behind the object. + */ + bgColor: string; + /** + * Fires on the source object when the user starts to drag a text selection or selected object. + * @param ev The event. + */ + ondragstart: (ev: DragEvent) => any; + /** + * Fires when the user releases a mouse button while the mouse is over the object. + * @param ev The mouse event. + */ + onmouseup: (ev: MouseEvent) => any; + /** + * Fires on the source object continuously during a drag operation. + * @param ev The event. + */ + ondrag: (ev: DragEvent) => any; + /** + * Fires when the user moves the mouse pointer into the object. + * @param ev The mouse event. + */ + onmouseover: (ev: MouseEvent) => any; + /** + * Sets or gets the color of the document links. + */ + linkColor: string; + /** + * Occurs when playback is paused. + * @param ev The event. + */ + onpause: (ev: Event) => any; + /** + * Fires when the user clicks the object with either mouse button. + * @param ev The mouse event. + */ + onmousedown: (ev: MouseEvent) => any; + /** + * Fires when the user clicks the left mouse button on the object + * @param ev The mouse event. + */ + onclick: (ev: MouseEvent) => any; + /** + * Occurs when playback stops because the next frame of a video resource is not available. + * @param ev The event. + */ + onwaiting: (ev: Event) => any; + /** + * Fires when the user clicks the Stop button or leaves the Web page. + * @param ev The event. + */ + onstop: (ev: Event) => any; + /** + * Occurs when an item is removed from a Jump List of a webpage running in Site Mode. + * @param ev The event. + */ + onmssitemodejumplistitemremoved: (ev: MSSiteModeEvent) => any; + /** + * Retrieves a collection of all applet objects in the document. + */ + applets: HTMLCollection; + /** + * Specifies the beginning and end of the document body. + */ + body: HTMLElement; + /** + * Sets or gets the security domain of the document. + */ + domain: string; + xmlStandalone: boolean; + /** + * Represents the active selection, which is a highlighted block of text or other elements in the document that a user or a script can carry out some action on. + */ + selection: MSSelection; + /** + * Occurs when the download has stopped. + * @param ev The event. + */ + onstalled: (ev: Event) => any; + /** + * Fires when the user moves the mouse over the object. + * @param ev The mouse event. + */ + onmousemove: (ev: MouseEvent) => any; + /** + * Fires before an object contained in an editable element enters a UI-activated state or when an editable container object is control selected. + * @param ev The event. + */ + onbeforeeditfocus: (ev: MSEventObj) => any; + /** + * Occurs when the playback rate is increased or decreased. + * @param ev The event. + */ + onratechange: (ev: Event) => any; + /** + * Occurs to indicate progress while downloading media data. + * @param ev The event. + */ + onprogress: (ev: ProgressEvent) => any; + /** + * Fires when the user double-clicks the object. + * @param ev The mouse event. + */ + ondblclick: (ev: MouseEvent) => any; + /** + * Fires when the user clicks the right mouse button in the client area, opening the context menu. + * @param ev The mouse event. + */ + oncontextmenu: (ev: MouseEvent) => any; + /** + * Occurs when the duration and dimensions of the media have been determined. + * @param ev The event. + */ + onloadedmetadata: (ev: Event) => any; + media: string; + /** + * Fires when an error occurs during object loading. + * @param ev The event. + */ + onerror: (ev: ErrorEvent) => any; + /** + * Occurs when the play method is requested. + * @param ev The event. + */ + onplay: (ev: Event) => any; + onafterupdate: (ev: MSEventObj) => any; + /** + * Occurs when the audio or video has started playing. + * @param ev The event. + */ + onplaying: (ev: Event) => any; + /** + * Retrieves a collection, in source order, of img objects in the document. + */ + images: HTMLCollection; + /** + * Contains information about the current URL. + */ + location: Location; + /** + * Fires when the user aborts the download. + * @param ev The event. + */ + onabort: (ev: UIEvent) => any; + /** + * Fires for the current element with focus immediately after moving focus to another element. + * @param ev The event. + */ + onfocusout: (ev: FocusEvent) => any; + /** + * Fires when the selection state of a document changes. + * @param ev The event. + */ + onselectionchange: (ev: Event) => any; + /** + * Fires when a local DOM Storage area is written to disk. + * @param ev The event. + */ + onstoragecommit: (ev: StorageEvent) => any; + /** + * Fires periodically as data arrives from data source objects that asynchronously transmit their data. + * @param ev The event. + */ + ondataavailable: (ev: MSEventObj) => any; + /** + * Fires when the state of the object has changed. + * @param ev The event + */ + onreadystatechange: (ev: Event) => any; + /** + * Gets the date that the page was last modified, if the page supplies one. + */ + lastModified: string; + /** + * Fires when the user presses an alphanumeric key. + * @param ev The event. + */ + onkeypress: (ev: KeyboardEvent) => any; + /** + * Occurs when media data is loaded at the current playback position. + * @param ev The event. + */ + onloadeddata: (ev: Event) => any; + /** + * Fires immediately before the activeElement is changed from the current object to another object in the parent document. + * @param ev The event. + */ + onbeforedeactivate: (ev: UIEvent) => any; + /** + * Fires when the object is set as the active element. + * @param ev The event. + */ + onactivate: (ev: UIEvent) => any; + onselectstart: (ev: Event) => any; + /** + * Fires when the object receives focus. + * @param ev The event. + */ + onfocus: (ev: FocusEvent) => any; + /** + * Sets or gets the foreground (text) color of the document. + */ + fgColor: string; + /** + * Occurs to indicate the current playback position. + * @param ev The event. + */ + ontimeupdate: (ev: Event) => any; + /** + * Fires when the current selection changes. + * @param ev The event. + */ + onselect: (ev: UIEvent) => any; + ondrop: (ev: DragEvent) => any; + /** + * Occurs when the end of playback is reached. + * @param ev The event + */ + onended: (ev: Event) => any; + /** + * Gets a value that indicates whether standards-compliant mode is switched on for the object. + */ + compatMode: string; + /** + * Fires when the user repositions the scroll box in the scroll bar on the object. + * @param ev The event. + */ + onscroll: (ev: UIEvent) => any; + /** + * Fires to indicate that the current row has changed in the data source and new data values are available on the object. + * @param ev The event. + */ + onrowenter: (ev: MSEventObj) => any; + /** + * Fires immediately after the browser loads the object. + * @param ev The event. + */ + onload: (ev: Event) => any; + oninput: (ev: Event) => any; + onmspointerdown: (ev: any) => any; + msHidden: boolean; + msVisibilityState: string; + onmsgesturedoubletap: (ev: any) => any; + visibilityState: string; + onmsmanipulationstatechanged: (ev: any) => any; + onmspointerhover: (ev: any) => any; + onmscontentzoom: (ev: MSEventObj) => any; + onmspointermove: (ev: any) => any; + onmsgesturehold: (ev: any) => any; + onmsgesturechange: (ev: any) => any; + onmsgesturestart: (ev: any) => any; + onmspointercancel: (ev: any) => any; + onmsgestureend: (ev: any) => any; + onmsgesturetap: (ev: any) => any; + onmspointerout: (ev: any) => any; + onmsinertiastart: (ev: any) => any; + msCSSOMElementFloatMetrics: boolean; + onmspointerover: (ev: any) => any; + hidden: boolean; + onmspointerup: (ev: any) => any; + msFullscreenEnabled: boolean; + onmsfullscreenerror: (ev: any) => any; + onmspointerenter: (ev: any) => any; + msFullscreenElement: Element; + onmsfullscreenchange: (ev: any) => any; + onmspointerleave: (ev: any) => any; + /** + * Returns a reference to the first object with the specified value of the ID or NAME attribute. + * @param elementId String that specifies the ID value. Case-insensitive. + */ + getElementById(elementId: string): HTMLElement; + /** + * Returns the current value of the document, range, or current selection for the given command. + * @param commandId String that specifies a command identifier. + */ + queryCommandValue(commandId: string): string; + adoptNode(source: Node): Node; + /** + * Returns a Boolean value that indicates whether the specified command is in the indeterminate state. + * @param commandId String that specifies a command identifier. + */ + queryCommandIndeterm(commandId: string): boolean; + getElementsByTagNameNS(namespaceURI: string, localName: string): NodeList; + createProcessingInstruction(target: string, data: string): ProcessingInstruction; + /** + * Executes a command on the current document, current selection, or the given range. + * @param commandId String that specifies the command to execute. This command can be any of the command identifiers that can be executed in script. + * @param showUI Display the user interface, defaults to false. + * @param value Value to assign. + */ + execCommand(commandId: string, showUI?: boolean, value?: any): boolean; + /** + * Returns the element for the specified x coordinate and the specified y coordinate. + * @param x The x-offset + * @param y The y-offset + */ + elementFromPoint(x: number, y: number): Element; + createCDATASection(data: string): CDATASection; + /** + * Retrieves the string associated with a command. + * @param commandId String that contains the identifier of a command. This can be any command identifier given in the list of Command Identifiers. + */ + queryCommandText(commandId: string): string; + /** + * Writes one or more HTML expressions to a document in the specified window. + * @param content Specifies the text and HTML tags to write. + */ + write(...content: string[]): void; + /** + * Allows updating the print settings for the page. + */ + updateSettings(): void; + /** + * Creates an instance of the element for the specified tag. + * @param tagName The name of an element. + */ + createElement(tagName: "a"): HTMLAnchorElement; + createElement(tagName: "abbr"): HTMLPhraseElement; + createElement(tagName: "acronym"): HTMLPhraseElement; + createElement(tagName: "address"): HTMLBlockElement; + createElement(tagName: "applet"): HTMLAppletElement; + createElement(tagName: "area"): HTMLAreaElement; + createElement(tagName: "article"): HTMLElement; + createElement(tagName: "aside"): HTMLElement; + createElement(tagName: "audio"): HTMLAudioElement; + createElement(tagName: "b"): HTMLPhraseElement; + createElement(tagName: "base"): HTMLBaseElement; + createElement(tagName: "basefont"): HTMLBaseFontElement; + createElement(tagName: "bdo"): HTMLPhraseElement; + createElement(tagName: "bgsound"): HTMLBGSoundElement; + createElement(tagName: "big"): HTMLPhraseElement; + createElement(tagName: "blockquote"): HTMLBlockElement; + createElement(tagName: "body"): HTMLBodyElement; + createElement(tagName: "br"): HTMLBRElement; + createElement(tagName: "button"): HTMLButtonElement; + createElement(tagName: "canvas"): HTMLCanvasElement; + createElement(tagName: "caption"): HTMLTableCaptionElement; + createElement(tagName: "center"): HTMLBlockElement; + createElement(tagName: "cite"): HTMLPhraseElement; + createElement(tagName: "code"): HTMLPhraseElement; + createElement(tagName: "col"): HTMLTableColElement; + createElement(tagName: "colgroup"): HTMLTableColElement; + createElement(tagName: "datalist"): HTMLDataListElement; + createElement(tagName: "dd"): HTMLDDElement; + createElement(tagName: "del"): HTMLModElement; + createElement(tagName: "dfn"): HTMLPhraseElement; + createElement(tagName: "dir"): HTMLDirectoryElement; + createElement(tagName: "div"): HTMLDivElement; + createElement(tagName: "dl"): HTMLDListElement; + createElement(tagName: "dt"): HTMLDTElement; + createElement(tagName: "em"): HTMLPhraseElement; + createElement(tagName: "embed"): HTMLEmbedElement; + createElement(tagName: "fieldset"): HTMLFieldSetElement; + createElement(tagName: "figcaption"): HTMLElement; + createElement(tagName: "figure"): HTMLElement; + createElement(tagName: "font"): HTMLFontElement; + createElement(tagName: "footer"): HTMLElement; + createElement(tagName: "form"): HTMLFormElement; + createElement(tagName: "frame"): HTMLFrameElement; + createElement(tagName: "frameset"): HTMLFrameSetElement; + createElement(tagName: "h1"): HTMLHeadingElement; + createElement(tagName: "h2"): HTMLHeadingElement; + createElement(tagName: "h3"): HTMLHeadingElement; + createElement(tagName: "h4"): HTMLHeadingElement; + createElement(tagName: "h5"): HTMLHeadingElement; + createElement(tagName: "h6"): HTMLHeadingElement; + createElement(tagName: "head"): HTMLHeadElement; + createElement(tagName: "header"): HTMLElement; + createElement(tagName: "hgroup"): HTMLElement; + createElement(tagName: "hr"): HTMLHRElement; + createElement(tagName: "html"): HTMLHtmlElement; + createElement(tagName: "i"): HTMLPhraseElement; + createElement(tagName: "iframe"): HTMLIFrameElement; + createElement(tagName: "img"): HTMLImageElement; + createElement(tagName: "input"): HTMLInputElement; + createElement(tagName: "ins"): HTMLModElement; + createElement(tagName: "isindex"): HTMLIsIndexElement; + createElement(tagName: "kbd"): HTMLPhraseElement; + createElement(tagName: "keygen"): HTMLBlockElement; + createElement(tagName: "label"): HTMLLabelElement; + createElement(tagName: "legend"): HTMLLegendElement; + createElement(tagName: "li"): HTMLLIElement; + createElement(tagName: "link"): HTMLLinkElement; + createElement(tagName: "listing"): HTMLBlockElement; + createElement(tagName: "map"): HTMLMapElement; + createElement(tagName: "mark"): HTMLElement; + createElement(tagName: "marquee"): HTMLMarqueeElement; + createElement(tagName: "menu"): HTMLMenuElement; + createElement(tagName: "meta"): HTMLMetaElement; + createElement(tagName: "nav"): HTMLElement; + createElement(tagName: "nextid"): HTMLNextIdElement; + createElement(tagName: "nobr"): HTMLPhraseElement; + createElement(tagName: "noframes"): HTMLElement; + createElement(tagName: "noscript"): HTMLElement; + createElement(tagName: "object"): HTMLObjectElement; + createElement(tagName: "ol"): HTMLOListElement; + createElement(tagName: "optgroup"): HTMLOptGroupElement; + createElement(tagName: "option"): HTMLOptionElement; + createElement(tagName: "p"): HTMLParagraphElement; + createElement(tagName: "param"): HTMLParamElement; + createElement(tagName: "plaintext"): HTMLBlockElement; + createElement(tagName: "pre"): HTMLPreElement; + createElement(tagName: "progress"): HTMLProgressElement; + createElement(tagName: "q"): HTMLQuoteElement; + createElement(tagName: "rt"): HTMLPhraseElement; + createElement(tagName: "ruby"): HTMLPhraseElement; + createElement(tagName: "s"): HTMLPhraseElement; + createElement(tagName: "samp"): HTMLPhraseElement; + createElement(tagName: "script"): HTMLScriptElement; + createElement(tagName: "section"): HTMLElement; + createElement(tagName: "select"): HTMLSelectElement; + createElement(tagName: "small"): HTMLPhraseElement; + createElement(tagName: "SOURCE"): HTMLSourceElement; + createElement(tagName: "span"): HTMLSpanElement; + createElement(tagName: "strike"): HTMLPhraseElement; + createElement(tagName: "strong"): HTMLPhraseElement; + createElement(tagName: "style"): HTMLStyleElement; + createElement(tagName: "sub"): HTMLPhraseElement; + createElement(tagName: "sup"): HTMLPhraseElement; + createElement(tagName: "table"): HTMLTableElement; + createElement(tagName: "tbody"): HTMLTableSectionElement; + createElement(tagName: "td"): HTMLTableDataCellElement; + createElement(tagName: "textarea"): HTMLTextAreaElement; + createElement(tagName: "tfoot"): HTMLTableSectionElement; + createElement(tagName: "th"): HTMLTableHeaderCellElement; + createElement(tagName: "thead"): HTMLTableSectionElement; + createElement(tagName: "title"): HTMLTitleElement; + createElement(tagName: "tr"): HTMLTableRowElement; + createElement(tagName: "track"): HTMLTrackElement; + createElement(tagName: "tt"): HTMLPhraseElement; + createElement(tagName: "u"): HTMLPhraseElement; + createElement(tagName: "ul"): HTMLUListElement; + createElement(tagName: "var"): HTMLPhraseElement; + createElement(tagName: "video"): HTMLVideoElement; + createElement(tagName: "wbr"): HTMLElement; + createElement(tagName: "x-ms-webview"): MSHTMLWebViewElement; + createElement(tagName: "xmp"): HTMLBlockElement; + createElement(tagName: string): HTMLElement; + /** + * Removes mouse capture from the object in the current document. + */ + releaseCapture(): void; + /** + * Writes one or more HTML expressions, followed by a carriage return, to a document in the specified window. + * @param content The text and HTML tags to write. + */ + writeln(...content: string[]): void; + createElementNS(namespaceURI: string, qualifiedName: string): Element; + /** + * Opens a new window and loads a document specified by a given URL. Also, opens a new window that uses the url parameter and the name parameter to collect the output of the write method and the writeln method. + * @param url Specifies a MIME type for the document. + * @param name Specifies the name of the window. This name is used as the value for the TARGET attribute on a form or an anchor element. + * @param features Contains a list of items separated by commas. Each item consists of an option and a value, separated by an equals sign (for example, "fullscreen=yes, toolbar=yes"). The following values are supported. + * @param replace Specifies whether the existing entry for the document is replaced in the history list. + */ + open(url?: string, name?: string, features?: string, replace?: boolean): any; + /** + * Returns a Boolean value that indicates whether the current command is supported on the current range. + * @param commandId Specifies a command identifier. + */ + queryCommandSupported(commandId: string): boolean; + /** + * Creates a TreeWalker object that you can use to traverse filtered lists of nodes or elements in a document. + * @param root The root element or node to start traversing on. + * @param whatToShow The type of nodes or elements to appear in the node list. For more information, see whatToShow. + * @param filter A custom NodeFilter function to use. + * @param entityReferenceExpansion A flag that specifies whether entity reference nodes are expanded. + */ + createTreeWalker(root: Node, whatToShow: number, filter: NodeFilter, entityReferenceExpansion: boolean): TreeWalker; + createAttributeNS(namespaceURI: string, qualifiedName: string): Attr; + /** + * Returns a Boolean value that indicates whether a specified command can be successfully executed using execCommand, given the current state of the document. + * @param commandId Specifies a command identifier. + */ + queryCommandEnabled(commandId: string): boolean; + /** + * Causes the element to receive the focus and executes the code specified by the onfocus event. + */ + focus(): void; + /** + * Closes an output stream and forces the sent data to display. + */ + close(): void; + getElementsByClassName(classNames: string): NodeList; + importNode(importedNode: Node, deep: boolean): Node; + /** + * Returns an empty range object that has both of its boundary points positioned at the beginning of the document. + */ + createRange(): Range; + /** + * Fires a specified event on the object. + * @param eventName Specifies the name of the event to fire. + * @param eventObj Object that specifies the event object from which to obtain event object properties. + */ + fireEvent(eventName: string, eventObj?: any): boolean; + /** + * Creates a comment object with the specified data. + * @param data Sets the comment object's data. + */ + createComment(data: string): Comment; + /** + * Retrieves a collection of objects based on the specified element name. + * @param name Specifies the name of an element. + */ + getElementsByTagName(name: "a"): NodeListOf; + getElementsByTagName(name: "abbr"): NodeListOf; + getElementsByTagName(name: "acronym"): NodeListOf; + getElementsByTagName(name: "address"): NodeListOf; + getElementsByTagName(name: "applet"): NodeListOf; + getElementsByTagName(name: "area"): NodeListOf; + getElementsByTagName(name: "article"): NodeListOf; + getElementsByTagName(name: "aside"): NodeListOf; + getElementsByTagName(name: "audio"): NodeListOf; + getElementsByTagName(name: "b"): NodeListOf; + getElementsByTagName(name: "base"): NodeListOf; + getElementsByTagName(name: "basefont"): NodeListOf; + getElementsByTagName(name: "bdo"): NodeListOf; + getElementsByTagName(name: "bgsound"): NodeListOf; + getElementsByTagName(name: "big"): NodeListOf; + getElementsByTagName(name: "blockquote"): NodeListOf; + getElementsByTagName(name: "body"): NodeListOf; + getElementsByTagName(name: "br"): NodeListOf; + getElementsByTagName(name: "button"): NodeListOf; + getElementsByTagName(name: "canvas"): NodeListOf; + getElementsByTagName(name: "caption"): NodeListOf; + getElementsByTagName(name: "center"): NodeListOf; + getElementsByTagName(name: "cite"): NodeListOf; + getElementsByTagName(name: "code"): NodeListOf; + getElementsByTagName(name: "col"): NodeListOf; + getElementsByTagName(name: "colgroup"): NodeListOf; + getElementsByTagName(name: "datalist"): NodeListOf; + getElementsByTagName(name: "dd"): NodeListOf; + getElementsByTagName(name: "del"): NodeListOf; + getElementsByTagName(name: "dfn"): NodeListOf; + getElementsByTagName(name: "dir"): NodeListOf; + getElementsByTagName(name: "div"): NodeListOf; + getElementsByTagName(name: "dl"): NodeListOf; + getElementsByTagName(name: "dt"): NodeListOf; + getElementsByTagName(name: "em"): NodeListOf; + getElementsByTagName(name: "embed"): NodeListOf; + getElementsByTagName(name: "fieldset"): NodeListOf; + getElementsByTagName(name: "figcaption"): NodeListOf; + getElementsByTagName(name: "figure"): NodeListOf; + getElementsByTagName(name: "font"): NodeListOf; + getElementsByTagName(name: "footer"): NodeListOf; + getElementsByTagName(name: "form"): NodeListOf; + getElementsByTagName(name: "frame"): NodeListOf; + getElementsByTagName(name: "frameset"): NodeListOf; + getElementsByTagName(name: "h1"): NodeListOf; + getElementsByTagName(name: "h2"): NodeListOf; + getElementsByTagName(name: "h3"): NodeListOf; + getElementsByTagName(name: "h4"): NodeListOf; + getElementsByTagName(name: "h5"): NodeListOf; + getElementsByTagName(name: "h6"): NodeListOf; + getElementsByTagName(name: "head"): NodeListOf; + getElementsByTagName(name: "header"): NodeListOf; + getElementsByTagName(name: "hgroup"): NodeListOf; + getElementsByTagName(name: "hr"): NodeListOf; + getElementsByTagName(name: "html"): NodeListOf; + getElementsByTagName(name: "i"): NodeListOf; + getElementsByTagName(name: "iframe"): NodeListOf; + getElementsByTagName(name: "img"): NodeListOf; + getElementsByTagName(name: "input"): NodeListOf; + getElementsByTagName(name: "ins"): NodeListOf; + getElementsByTagName(name: "isindex"): NodeListOf; + getElementsByTagName(name: "kbd"): NodeListOf; + getElementsByTagName(name: "keygen"): NodeListOf; + getElementsByTagName(name: "label"): NodeListOf; + getElementsByTagName(name: "legend"): NodeListOf; + getElementsByTagName(name: "li"): NodeListOf; + getElementsByTagName(name: "link"): NodeListOf; + getElementsByTagName(name: "listing"): NodeListOf; + getElementsByTagName(name: "map"): NodeListOf; + getElementsByTagName(name: "mark"): NodeListOf; + getElementsByTagName(name: "marquee"): NodeListOf; + getElementsByTagName(name: "menu"): NodeListOf; + getElementsByTagName(name: "meta"): NodeListOf; + getElementsByTagName(name: "nav"): NodeListOf; + getElementsByTagName(name: "nextid"): NodeListOf; + getElementsByTagName(name: "nobr"): NodeListOf; + getElementsByTagName(name: "noframes"): NodeListOf; + getElementsByTagName(name: "noscript"): NodeListOf; + getElementsByTagName(name: "object"): NodeListOf; + getElementsByTagName(name: "ol"): NodeListOf; + getElementsByTagName(name: "optgroup"): NodeListOf; + getElementsByTagName(name: "option"): NodeListOf; + getElementsByTagName(name: "p"): NodeListOf; + getElementsByTagName(name: "param"): NodeListOf; + getElementsByTagName(name: "plaintext"): NodeListOf; + getElementsByTagName(name: "pre"): NodeListOf; + getElementsByTagName(name: "progress"): NodeListOf; + getElementsByTagName(name: "q"): NodeListOf; + getElementsByTagName(name: "rt"): NodeListOf; + getElementsByTagName(name: "ruby"): NodeListOf; + getElementsByTagName(name: "s"): NodeListOf; + getElementsByTagName(name: "samp"): NodeListOf; + getElementsByTagName(name: "script"): NodeListOf; + getElementsByTagName(name: "section"): NodeListOf; + getElementsByTagName(name: "select"): NodeListOf; + getElementsByTagName(name: "small"): NodeListOf; + getElementsByTagName(name: "SOURCE"): NodeListOf; + getElementsByTagName(name: "span"): NodeListOf; + getElementsByTagName(name: "strike"): NodeListOf; + getElementsByTagName(name: "strong"): NodeListOf; + getElementsByTagName(name: "style"): NodeListOf; + getElementsByTagName(name: "sub"): NodeListOf; + getElementsByTagName(name: "sup"): NodeListOf; + getElementsByTagName(name: "table"): NodeListOf; + getElementsByTagName(name: "tbody"): NodeListOf; + getElementsByTagName(name: "td"): NodeListOf; + getElementsByTagName(name: "textarea"): NodeListOf; + getElementsByTagName(name: "tfoot"): NodeListOf; + getElementsByTagName(name: "th"): NodeListOf; + getElementsByTagName(name: "thead"): NodeListOf; + getElementsByTagName(name: "title"): NodeListOf; + getElementsByTagName(name: "tr"): NodeListOf; + getElementsByTagName(name: "track"): NodeListOf; + getElementsByTagName(name: "tt"): NodeListOf; + getElementsByTagName(name: "u"): NodeListOf; + getElementsByTagName(name: "ul"): NodeListOf; + getElementsByTagName(name: "var"): NodeListOf; + getElementsByTagName(name: "video"): NodeListOf; + getElementsByTagName(name: "wbr"): NodeListOf; + getElementsByTagName(name: "x-ms-webview"): NodeListOf; + getElementsByTagName(name: "xmp"): NodeListOf; + getElementsByTagName(name: string): NodeList; + /** + * Creates a new document. + */ + createDocumentFragment(): DocumentFragment; + /** + * Creates a style sheet for the document. + * @param href Specifies how to add the style sheet to the document. If a file name is specified for the URL, the style information is added as a link object. If the URL contains style information, it is added to the style object. + * @param index Specifies the index that indicates where the new style sheet is inserted in the styleSheets collection. The default is to insert the new style sheet at the end of the collection. + */ + createStyleSheet(href?: string, index?: number): CSSStyleSheet; + /** + * Gets a collection of objects based on the value of the NAME or ID attribute. + * @param elementName Gets a collection of objects based on the value of the NAME or ID attribute. + */ + getElementsByName(elementName: string): NodeList; + /** + * Returns a Boolean value that indicates the current state of the command. + * @param commandId String that specifies a command identifier. + */ + queryCommandState(commandId: string): boolean; + /** + * Gets a value indicating whether the object currently has focus. + */ + hasFocus(): boolean; + /** + * Displays help information for the given command identifier. + * @param commandId Displays help information for the given command identifier. + */ + execCommandShowHelp(commandId: string): boolean; + /** + * Creates an attribute object with a specified name. + * @param name String that sets the attribute object's name. + */ + createAttribute(name: string): Attr; + /** + * Creates a text string from the specified value. + * @param data String that specifies the nodeValue property of the text node. + */ + createTextNode(data: string): Text; + /** + * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document. + * @param root The root element or node to start traversing on. + * @param whatToShow The type of nodes or elements to appear in the node list + * @param filter A custom NodeFilter function to use. For more information, see filter. Use null for no filter. + * @param entityReferenceExpansion A flag that specifies whether entity reference nodes are expanded. + */ + createNodeIterator(root: Node, whatToShow: number, filter: NodeFilter, entityReferenceExpansion: boolean): NodeIterator; + /** + * Generates an event object to pass event context information when you use the fireEvent method. + * @param eventObj An object that specifies an existing event object on which to base the new object. + */ + createEventObject(eventObj?: any): MSEventObj; + /** + * Returns an object representing the current selection of the document that is loaded into the object displaying a webpage. + */ + getSelection(): Selection; + msElementsFromPoint(x: number, y: number): NodeList; + msElementsFromRect(left: number, top: number, width: number, height: number): NodeList; + clear(): void; + msExitFullscreen(): void; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "datasetchanged", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsdelete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "controlselect", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "datasetcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "errorupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "msthumbnailclick", listener: (ev: MSSiteModeEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cellchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowexit", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsinserted", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "propertychange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "stop", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mssitemodejumplistitemremoved", listener: (ev: MSSiteModeEvent) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeeditfocus", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "afterupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "selectionchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "storagecommit", listener: (ev: StorageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dataavailable", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "rowenter", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msmanipulationstatechanged", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mscontentzoom", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msfullscreenerror", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msfullscreenchange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var Document: { + prototype: Document; + new(): Document; +} + +interface Console { + info(message?: any, ...optionalParams: any[]): void; + warn(message?: any, ...optionalParams: any[]): void; + error(message?: any, ...optionalParams: any[]): void; + log(message?: any, ...optionalParams: any[]): void; + profile(reportName?: string): void; + assert(test?: boolean, message?: string, ...optionalParams: any[]): void; + msIsIndependentlyComposed(element: Element): boolean; + clear(): void; + dir(value?: any, ...optionalParams: any[]): void; + profileEnd(): void; + count(countTitle?: string): void; + groupEnd(): void; + time(timerName?: string): void; + timeEnd(timerName?: string): void; + trace(): void; + group(groupTitle?: string): void; + dirxml(value: any): void; + debug(message?: string, ...optionalParams: any[]): void; + groupCollapsed(groupTitle?: string): void; + select(element: Element): void; +} +declare var Console: { + prototype: Console; + new(): Console; +} + +interface MSEventObj extends Event { + nextPage: string; + keyCode: number; + toElement: Element; + returnValue: any; + dataFld: string; + y: number; + dataTransfer: DataTransfer; + propertyName: string; + url: string; + offsetX: number; + recordset: any; + screenX: number; + buttonID: number; + wheelDelta: number; + reason: number; + origin: string; + data: string; + srcFilter: any; + boundElements: HTMLCollection; + cancelBubble: boolean; + altLeft: boolean; + behaviorCookie: number; + bookmarks: BookmarkCollection; + type: string; + repeat: boolean; + srcElement: Element; + source: Window; + fromElement: Element; + offsetY: number; + x: number; + behaviorPart: number; + qualifier: string; + altKey: boolean; + ctrlKey: boolean; + clientY: number; + shiftKey: boolean; + shiftLeft: boolean; + contentOverflow: boolean; + screenY: number; + ctrlLeft: boolean; + button: number; + srcUrn: string; + clientX: number; + actionURL: string; + getAttribute(strAttributeName: string, lFlags?: number): any; + setAttribute(strAttributeName: string, AttributeValue: any, lFlags?: number): void; + removeAttribute(strAttributeName: string, lFlags?: number): boolean; +} +declare var MSEventObj: { + prototype: MSEventObj; + new(): MSEventObj; +} + +interface HTMLCanvasElement extends HTMLElement { + /** + * Gets or sets the width of a canvas element on a document. + */ + width: number; + /** + * Gets or sets the height of a canvas element on a document. + */ + height: number; + /** + * Returns an object that provides methods and properties for drawing and manipulating images and graphics on a canvas element in a document. A context object includes information about colors, line widths, fonts, and other graphic parameters that can be drawn on a canvas. + * @param contextId The identifier (ID) of the type of canvas to create. Internet Explorer 9 and Internet Explorer 10 support only a 2-D context using canvas.getContext("2d"); IE11 Preview also supports 3-D or WebGL context using canvas.getContext("experimental-webgl"); + */ + getContext(contextId: "2d"): CanvasRenderingContext2D; + /** + * Returns an object that provides methods and properties for drawing and manipulating images and graphics on a canvas element in a document. A context object includes information about colors, line widths, fonts, and other graphic parameters that can be drawn on a canvas. + * @param contextId The identifier (ID) of the type of canvas to create. Internet Explorer 9 and Internet Explorer 10 support only a 2-D context using canvas.getContext("2d"); IE11 Preview also supports 3-D or WebGL context using canvas.getContext("experimental-webgl"); + */ + getContext(contextId: "experimental-webgl"): WebGLRenderingContext; + /** + * Returns an object that provides methods and properties for drawing and manipulating images and graphics on a canvas element in a document. A context object includes information about colors, line widths, fonts, and other graphic parameters that can be drawn on a canvas. + * @param contextId The identifier (ID) of the type of canvas to create. Internet Explorer 9 and Internet Explorer 10 support only a 2-D context using canvas.getContext("2d"); IE11 Preview also supports 3-D or WebGL context using canvas.getContext("experimental-webgl"); + */ + getContext(contextId: string, ...args: any[]): any; + /** + * Returns the content of the current canvas as an image that you can use as a source for another canvas or an HTML element. + * @param type The standard MIME type for the image format to return. If you do not specify this parameter, the default value is a PNG format image. + */ + toDataURL(type?: string, ...args: any[]): string; + /** + * Returns a blob object encoded as a Portable Network Graphics (PNG) format from a canvas image or drawing. + */ + msToBlob(): Blob; +} +declare var HTMLCanvasElement: { + prototype: HTMLCanvasElement; + new(): HTMLCanvasElement; +} + +interface Window extends EventTarget, MSEventAttachmentTarget, WindowLocalStorage, MSWindowExtensions, WindowSessionStorage, WindowTimers, WindowBase64, IDBEnvironment, WindowConsole, GlobalEventHandlers { + ondragend: (ev: DragEvent) => any; + onkeydown: (ev: KeyboardEvent) => any; + ondragover: (ev: DragEvent) => any; + onkeyup: (ev: KeyboardEvent) => any; + onreset: (ev: Event) => any; + onmouseup: (ev: MouseEvent) => any; + ondragstart: (ev: DragEvent) => any; + ondrag: (ev: DragEvent) => any; + screenX: number; + onmouseover: (ev: MouseEvent) => any; + ondragleave: (ev: DragEvent) => any; + history: History; + pageXOffset: number; + name: string; + onafterprint: (ev: Event) => any; + onpause: (ev: Event) => any; + onbeforeprint: (ev: Event) => any; + top: Window; + onmousedown: (ev: MouseEvent) => any; + onseeked: (ev: Event) => any; + opener: Window; + onclick: (ev: MouseEvent) => any; + innerHeight: number; + onwaiting: (ev: Event) => any; + ononline: (ev: Event) => any; + ondurationchange: (ev: Event) => any; + frames: Window; + onblur: (ev: FocusEvent) => any; + onemptied: (ev: Event) => any; + onseeking: (ev: Event) => any; + oncanplay: (ev: Event) => any; + outerWidth: number; + onstalled: (ev: Event) => any; + onmousemove: (ev: MouseEvent) => any; + innerWidth: number; + onoffline: (ev: Event) => any; + length: number; + screen: Screen; + onbeforeunload: (ev: BeforeUnloadEvent) => any; + onratechange: (ev: Event) => any; + onstorage: (ev: StorageEvent) => any; + onloadstart: (ev: Event) => any; + ondragenter: (ev: DragEvent) => any; + onsubmit: (ev: Event) => any; + self: Window; + document: Document; + onprogress: (ev: ProgressEvent) => any; + ondblclick: (ev: MouseEvent) => any; + pageYOffset: number; + oncontextmenu: (ev: MouseEvent) => any; + onchange: (ev: Event) => any; + onloadedmetadata: (ev: Event) => any; + onplay: (ev: Event) => any; + onerror: ErrorEventHandler; + onplaying: (ev: Event) => any; + parent: Window; + location: Location; + oncanplaythrough: (ev: Event) => any; + onabort: (ev: UIEvent) => any; + onreadystatechange: (ev: Event) => any; + outerHeight: number; + onkeypress: (ev: KeyboardEvent) => any; + frameElement: Element; + onloadeddata: (ev: Event) => any; + onsuspend: (ev: Event) => any; + window: Window; + onfocus: (ev: FocusEvent) => any; + onmessage: (ev: MessageEvent) => any; + ontimeupdate: (ev: Event) => any; + onresize: (ev: UIEvent) => any; + onselect: (ev: UIEvent) => any; + navigator: Navigator; + styleMedia: StyleMedia; + ondrop: (ev: DragEvent) => any; + onmouseout: (ev: MouseEvent) => any; + onended: (ev: Event) => any; + onhashchange: (ev: Event) => any; + onunload: (ev: Event) => any; + onscroll: (ev: UIEvent) => any; + screenY: number; + onmousewheel: (ev: MouseWheelEvent) => any; + onload: (ev: Event) => any; + onvolumechange: (ev: Event) => any; + oninput: (ev: Event) => any; + performance: Performance; + onmspointerdown: (ev: any) => any; + animationStartTime: number; + onmsgesturedoubletap: (ev: any) => any; + onmspointerhover: (ev: any) => any; + onmsgesturehold: (ev: any) => any; + onmspointermove: (ev: any) => any; + onmsgesturechange: (ev: any) => any; + onmsgesturestart: (ev: any) => any; + onmspointercancel: (ev: any) => any; + onmsgestureend: (ev: any) => any; + onmsgesturetap: (ev: any) => any; + onmspointerout: (ev: any) => any; + msAnimationStartTime: number; + applicationCache: ApplicationCache; + onmsinertiastart: (ev: any) => any; + onmspointerover: (ev: any) => any; + onpopstate: (ev: PopStateEvent) => any; + onmspointerup: (ev: any) => any; + onpageshow: (ev: PageTransitionEvent) => any; + ondevicemotion: (ev: DeviceMotionEvent) => any; + devicePixelRatio: number; + msCrypto: Crypto; + ondeviceorientation: (ev: DeviceOrientationEvent) => any; + doNotTrack: string; + onmspointerenter: (ev: any) => any; + onpagehide: (ev: PageTransitionEvent) => any; + onmspointerleave: (ev: any) => any; + alert(message?: any): void; + scroll(x?: number, y?: number): void; + focus(): void; + scrollTo(x?: number, y?: number): void; + print(): void; + prompt(message?: string, _default?: string): string; + toString(): string; + open(url?: string, target?: string, features?: string, replace?: boolean): Window; + scrollBy(x?: number, y?: number): void; + confirm(message?: string): boolean; + close(): void; + postMessage(message: any, targetOrigin: string, ports?: any): void; + showModalDialog(url?: string, argument?: any, options?: any): any; + blur(): void; + getSelection(): Selection; + getComputedStyle(elt: Element, pseudoElt?: string): CSSStyleDeclaration; + msCancelRequestAnimationFrame(handle: number): void; + matchMedia(mediaQuery: string): MediaQueryList; + cancelAnimationFrame(handle: number): void; + msIsStaticHTML(html: string): boolean; + msMatchMedia(mediaQuery: string): MediaQueryList; + requestAnimationFrame(callback: FrameRequestCallback): number; + msRequestAnimationFrame(callback: FrameRequestCallback): number; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "afterprint", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeprint", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "online", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "offline", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeunload", listener: (ev: BeforeUnloadEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "storage", listener: (ev: StorageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "hashchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "unload", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "popstate", listener: (ev: PopStateEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "pageshow", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; + addEventListener(type: "devicemotion", listener: (ev: DeviceMotionEvent) => any, useCapture?: boolean): void; + addEventListener(type: "deviceorientation", listener: (ev: DeviceOrientationEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "pagehide", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var Window: { + prototype: Window; + new(): Window; +} + +interface NavigatorID { + appVersion: string; + appName: string; + userAgent: string; + platform: string; + product: string; + vendor: string; +} + +interface HTMLTableElement extends HTMLElement, MSDataBindingTableExtensions, MSDataBindingExtensions, DOML2DeprecatedBackgroundStyle, DOML2DeprecatedBackgroundColorStyle { + /** + * Sets or retrieves the width of the object. + */ + width: string; + /** + * Sets or retrieves the color for one of the two colors used to draw the 3-D border of the object. + */ + borderColorLight: any; + /** + * Sets or retrieves the amount of space between cells in a table. + */ + cellSpacing: string; + /** + * Retrieves the tFoot object of the table. + */ + tFoot: HTMLTableSectionElement; + /** + * Sets or retrieves the way the border frame around the table is displayed. + */ + frame: string; + /** + * Sets or retrieves the border color of the object. + */ + borderColor: any; + /** + * Sets or retrieves the number of horizontal rows contained in the object. + */ + rows: HTMLCollection; + /** + * Sets or retrieves which dividing lines (inner borders) are displayed. + */ + rules: string; + /** + * Sets or retrieves the number of columns in the table. + */ + cols: number; + /** + * Sets or retrieves a description and/or structure of the object. + */ + summary: string; + /** + * Retrieves the caption object of a table. + */ + caption: HTMLTableCaptionElement; + /** + * Retrieves a collection of all tBody objects in the table. Objects in this collection are in source order. + */ + tBodies: HTMLCollection; + /** + * Retrieves the tHead object of the table. + */ + tHead: HTMLTableSectionElement; + /** + * Sets or retrieves a value that indicates the table alignment. + */ + align: string; + /** + * Retrieves a collection of all cells in the table row or in the entire table. + */ + cells: HTMLCollection; + /** + * Sets or retrieves the height of the object. + */ + height: any; + /** + * Sets or retrieves the amount of space between the border of the cell and the content of the cell. + */ + cellPadding: string; + /** + * Sets or retrieves the width of the border to draw around the object. + */ + border: string; + /** + * Sets or retrieves the color for one of the two colors used to draw the 3-D border of the object. + */ + borderColorDark: any; + /** + * Removes the specified row (tr) from the element and from the rows collection. + * @param index Number that specifies the zero-based position in the rows collection of the row to remove. + */ + deleteRow(index?: number): void; + /** + * Creates an empty tBody element in the table. + */ + createTBody(): HTMLElement; + /** + * Deletes the caption element and its contents from the table. + */ + deleteCaption(): void; + /** + * Creates a new row (tr) in the table, and adds the row to the rows collection. + * @param index Number that specifies where to insert the row in the rows collection. The default value is -1, which appends the new row to the end of the rows collection. + */ + insertRow(index?: number): HTMLElement; + /** + * Deletes the tFoot element and its contents from the table. + */ + deleteTFoot(): void; + /** + * Returns the tHead element object if successful, or null otherwise. + */ + createTHead(): HTMLElement; + /** + * Deletes the tHead element and its contents from the table. + */ + deleteTHead(): void; + /** + * Creates an empty caption element in the table. + */ + createCaption(): HTMLElement; + /** + * Moves a table row to a new position. + * @param indexFrom Number that specifies the index in the rows collection of the table row that is moved. + * @param indexTo Number that specifies where the row is moved within the rows collection. + */ + moveRow(indexFrom?: number, indexTo?: number): any; + /** + * Creates an empty tFoot element in the table. + */ + createTFoot(): HTMLElement; +} +declare var HTMLTableElement: { + prototype: HTMLTableElement; + new(): HTMLTableElement; +} + +interface TreeWalker { + whatToShow: number; + filter: NodeFilter; + root: Node; + currentNode: Node; + expandEntityReferences: boolean; + previousSibling(): Node; + lastChild(): Node; + nextSibling(): Node; + nextNode(): Node; + parentNode(): Node; + firstChild(): Node; + previousNode(): Node; +} +declare var TreeWalker: { + prototype: TreeWalker; + new(): TreeWalker; +} + +interface GetSVGDocument { + getSVGDocument(): Document; +} + +interface SVGPathSegCurvetoQuadraticRel extends SVGPathSeg { + y: number; + y1: number; + x: number; + x1: number; +} +declare var SVGPathSegCurvetoQuadraticRel: { + prototype: SVGPathSegCurvetoQuadraticRel; + new(): SVGPathSegCurvetoQuadraticRel; +} + +interface Performance { + navigation: PerformanceNavigation; + timing: PerformanceTiming; + getEntriesByType(entryType: string): any; + toJSON(): any; + getMeasures(measureName?: string): any; + clearMarks(markName?: string): void; + getMarks(markName?: string): any; + clearResourceTimings(): void; + mark(markName: string): void; + measure(measureName: string, startMarkName?: string, endMarkName?: string): void; + getEntriesByName(name: string, entryType?: string): any; + getEntries(): any; + clearMeasures(measureName?: string): void; + setResourceTimingBufferSize(maxSize: number): void; + now(): number; +} +declare var Performance: { + prototype: Performance; + new(): Performance; +} + +interface MSDataBindingTableExtensions { + dataPageSize: number; + nextPage(): void; + firstPage(): void; + refresh(): void; + previousPage(): void; + lastPage(): void; +} + +interface CompositionEvent extends UIEvent { + data: string; + locale: string; + initCompositionEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, dataArg: string, locale: string): void; +} +declare var CompositionEvent: { + prototype: CompositionEvent; + new(): CompositionEvent; +} + +interface WindowTimers extends WindowTimersExtension { + clearTimeout(handle: number): void; + setTimeout(handler: any, timeout?: any, ...args: any[]): number; + clearInterval(handle: number): void; + setInterval(handler: any, timeout?: any, ...args: any[]): number; +} + +interface SVGMarkerElement extends SVGElement, SVGStylable, SVGLangSpace, SVGFitToViewBox, SVGExternalResourcesRequired { + orientType: SVGAnimatedEnumeration; + markerUnits: SVGAnimatedEnumeration; + markerWidth: SVGAnimatedLength; + markerHeight: SVGAnimatedLength; + orientAngle: SVGAnimatedAngle; + refY: SVGAnimatedLength; + refX: SVGAnimatedLength; + setOrientToAngle(angle: SVGAngle): void; + setOrientToAuto(): void; + SVG_MARKER_ORIENT_UNKNOWN: number; + SVG_MARKER_ORIENT_ANGLE: number; + SVG_MARKERUNITS_UNKNOWN: number; + SVG_MARKERUNITS_STROKEWIDTH: number; + SVG_MARKER_ORIENT_AUTO: number; + SVG_MARKERUNITS_USERSPACEONUSE: number; +} +declare var SVGMarkerElement: { + prototype: SVGMarkerElement; + new(): SVGMarkerElement; + SVG_MARKER_ORIENT_UNKNOWN: number; + SVG_MARKER_ORIENT_ANGLE: number; + SVG_MARKERUNITS_UNKNOWN: number; + SVG_MARKERUNITS_STROKEWIDTH: number; + SVG_MARKER_ORIENT_AUTO: number; + SVG_MARKERUNITS_USERSPACEONUSE: number; +} + +interface CSSStyleDeclaration { + backgroundAttachment: string; + visibility: string; + textAlignLast: string; + borderRightStyle: string; + counterIncrement: string; + orphans: string; + cssText: string; + borderStyle: string; + pointerEvents: string; + borderTopColor: string; + markerEnd: string; + textIndent: string; + listStyleImage: string; + cursor: string; + listStylePosition: string; + wordWrap: string; + borderTopStyle: string; + alignmentBaseline: string; + opacity: string; + direction: string; + strokeMiterlimit: string; + maxWidth: string; + color: string; + clip: string; + borderRightWidth: string; + verticalAlign: string; + overflow: string; + mask: string; + borderLeftStyle: string; + emptyCells: string; + stopOpacity: string; + paddingRight: string; + parentRule: CSSRule; + background: string; + boxSizing: string; + textJustify: string; + height: string; + paddingTop: string; + length: number; + right: string; + baselineShift: string; + borderLeft: string; + widows: string; + lineHeight: string; + left: string; + textUnderlinePosition: string; + glyphOrientationHorizontal: string; + display: string; + textAnchor: string; + cssFloat: string; + strokeDasharray: string; + rubyAlign: string; + fontSizeAdjust: string; + borderLeftColor: string; + backgroundImage: string; + listStyleType: string; + strokeWidth: string; + textOverflow: string; + fillRule: string; + borderBottomColor: string; + zIndex: string; + position: string; + listStyle: string; + msTransformOrigin: string; + dominantBaseline: string; + overflowY: string; + fill: string; + captionSide: string; + borderCollapse: string; + boxShadow: string; + quotes: string; + tableLayout: string; + unicodeBidi: string; + borderBottomWidth: string; + backgroundSize: string; + textDecoration: string; + strokeDashoffset: string; + fontSize: string; + border: string; + pageBreakBefore: string; + borderTopRightRadius: string; + msTransform: string; + borderBottomLeftRadius: string; + textTransform: string; + rubyPosition: string; + strokeLinejoin: string; + clipPath: string; + borderRightColor: string; + fontFamily: string; + clear: string; + content: string; + backgroundClip: string; + marginBottom: string; + counterReset: string; + outlineWidth: string; + marginRight: string; + paddingLeft: string; + borderBottom: string; + wordBreak: string; + marginTop: string; + top: string; + fontWeight: string; + borderRight: string; + width: string; + kerning: string; + pageBreakAfter: string; + borderBottomStyle: string; + fontStretch: string; + padding: string; + strokeOpacity: string; + markerStart: string; + bottom: string; + borderLeftWidth: string; + clipRule: string; + backgroundPosition: string; + backgroundColor: string; + pageBreakInside: string; + backgroundOrigin: string; + strokeLinecap: string; + borderTopWidth: string; + outlineStyle: string; + borderTop: string; + outlineColor: string; + paddingBottom: string; + marginLeft: string; + font: string; + outline: string; + wordSpacing: string; + maxHeight: string; + fillOpacity: string; + letterSpacing: string; + borderSpacing: string; + backgroundRepeat: string; + borderRadius: string; + borderWidth: string; + borderBottomRightRadius: string; + whiteSpace: string; + fontStyle: string; + minWidth: string; + stopColor: string; + borderTopLeftRadius: string; + borderColor: string; + marker: string; + glyphOrientationVertical: string; + markerMid: string; + fontVariant: string; + minHeight: string; + stroke: string; + rubyOverhang: string; + overflowX: string; + textAlign: string; + margin: string; + animationFillMode: string; + floodColor: string; + animationIterationCount: string; + textShadow: string; + backfaceVisibility: string; + msAnimationIterationCount: string; + animationDelay: string; + animationTimingFunction: string; + columnWidth: any; + msScrollSnapX: string; + columnRuleColor: any; + columnRuleWidth: any; + transitionDelay: string; + transition: string; + msFlowFrom: string; + msScrollSnapType: string; + msContentZoomSnapType: string; + msGridColumns: string; + msAnimationName: string; + msGridRowAlign: string; + msContentZoomChaining: string; + msGridColumn: any; + msHyphenateLimitZone: any; + msScrollRails: string; + msAnimationDelay: string; + enableBackground: string; + msWrapThrough: string; + columnRuleStyle: string; + msAnimation: string; + msFlexFlow: string; + msScrollSnapY: string; + msHyphenateLimitLines: any; + msTouchAction: string; + msScrollLimit: string; + animation: string; + transform: string; + filter: string; + colorInterpolationFilters: string; + transitionTimingFunction: string; + msBackfaceVisibility: string; + animationPlayState: string; + transformOrigin: string; + msScrollLimitYMin: any; + msFontFeatureSettings: string; + msContentZoomLimitMin: any; + columnGap: any; + transitionProperty: string; + msAnimationDuration: string; + msAnimationFillMode: string; + msFlexDirection: string; + msTransitionDuration: string; + fontFeatureSettings: string; + breakBefore: string; + msFlexWrap: string; + perspective: string; + msFlowInto: string; + msTransformStyle: string; + msScrollTranslation: string; + msTransitionProperty: string; + msUserSelect: string; + msOverflowStyle: string; + msScrollSnapPointsY: string; + animationDirection: string; + animationDuration: string; + msFlex: string; + msTransitionTimingFunction: string; + animationName: string; + columnRule: string; + msGridColumnSpan: any; + msFlexNegative: string; + columnFill: string; + msGridRow: any; + msFlexOrder: string; + msFlexItemAlign: string; + msFlexPositive: string; + msContentZoomLimitMax: any; + msScrollLimitYMax: any; + msGridColumnAlign: string; + perspectiveOrigin: string; + lightingColor: string; + columns: string; + msScrollChaining: string; + msHyphenateLimitChars: string; + msTouchSelect: string; + floodOpacity: string; + msAnimationDirection: string; + msAnimationPlayState: string; + columnSpan: string; + msContentZooming: string; + msPerspective: string; + msFlexPack: string; + msScrollSnapPointsX: string; + msContentZoomSnapPoints: string; + msGridRowSpan: any; + msContentZoomSnap: string; + msScrollLimitXMin: any; + breakInside: string; + msHighContrastAdjust: string; + msFlexLinePack: string; + msGridRows: string; + transitionDuration: string; + msHyphens: string; + breakAfter: string; + msTransition: string; + msPerspectiveOrigin: string; + msContentZoomLimit: string; + msScrollLimitXMax: any; + msFlexAlign: string; + msWrapMargin: any; + columnCount: any; + msAnimationTimingFunction: string; + msTransitionDelay: string; + transformStyle: string; + msWrapFlow: string; + msFlexPreferredSize: string; + alignItems: string; + borderImageSource: string; + flexBasis: string; + borderImageWidth: string; + borderImageRepeat: string; + order: string; + flex: string; + alignContent: string; + msImeAlign: string; + flexShrink: string; + flexGrow: string; + borderImageSlice: string; + flexWrap: string; + borderImageOutset: string; + flexDirection: string; + touchAction: string; + flexFlow: string; + borderImage: string; + justifyContent: string; + alignSelf: string; + msTextCombineHorizontal: string; + getPropertyPriority(propertyName: string): string; + getPropertyValue(propertyName: string): string; + removeProperty(propertyName: string): string; + item(index: number): string; + [index: number]: string; + setProperty(propertyName: string, value: string, priority?: string): void; +} +declare var CSSStyleDeclaration: { + prototype: CSSStyleDeclaration; + new(): CSSStyleDeclaration; +} + +interface SVGGElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired { +} +declare var SVGGElement: { + prototype: SVGGElement; + new(): SVGGElement; +} + +interface MSStyleCSSProperties extends MSCSSProperties { + pixelWidth: number; + posHeight: number; + posLeft: number; + pixelTop: number; + pixelBottom: number; + textDecorationNone: boolean; + pixelLeft: number; + posTop: number; + posBottom: number; + textDecorationOverline: boolean; + posWidth: number; + textDecorationLineThrough: boolean; + pixelHeight: number; + textDecorationBlink: boolean; + posRight: number; + pixelRight: number; + textDecorationUnderline: boolean; +} +declare var MSStyleCSSProperties: { + prototype: MSStyleCSSProperties; + new(): MSStyleCSSProperties; +} + +interface Navigator extends NavigatorID, NavigatorOnLine, NavigatorContentUtils, MSNavigatorExtensions, NavigatorGeolocation, MSNavigatorDoNotTrack, NavigatorStorageUtils, MSFileSaver { + msMaxTouchPoints: number; + msPointerEnabled: boolean; + msManipulationViewsEnabled: boolean; + pointerEnabled: boolean; + maxTouchPoints: number; + msLaunchUri(uri: string, successCallback?: MSLaunchUriCallback, noHandlerCallback?: MSLaunchUriCallback): void; +} +declare var Navigator: { + prototype: Navigator; + new(): Navigator; +} + +interface SVGPathSegCurvetoCubicSmoothAbs extends SVGPathSeg { + y: number; + x2: number; + x: number; + y2: number; +} +declare var SVGPathSegCurvetoCubicSmoothAbs: { + prototype: SVGPathSegCurvetoCubicSmoothAbs; + new(): SVGPathSegCurvetoCubicSmoothAbs; +} + +interface SVGZoomEvent extends UIEvent { + zoomRectScreen: SVGRect; + previousScale: number; + newScale: number; + previousTranslate: SVGPoint; + newTranslate: SVGPoint; +} +declare var SVGZoomEvent: { + prototype: SVGZoomEvent; + new(): SVGZoomEvent; +} + +interface NodeSelector { + querySelectorAll(selectors: string): NodeList; + querySelector(selectors: string): Element; +} + +interface HTMLTableDataCellElement extends HTMLTableCellElement { +} +declare var HTMLTableDataCellElement: { + prototype: HTMLTableDataCellElement; + new(): HTMLTableDataCellElement; +} + +interface HTMLBaseElement extends HTMLElement { + /** + * Sets or retrieves the window or frame at which to target content. + */ + target: string; + /** + * Gets or sets the baseline URL on which relative links are based. + */ + href: string; +} +declare var HTMLBaseElement: { + prototype: HTMLBaseElement; + new(): HTMLBaseElement; +} + +interface ClientRect { + left: number; + width: number; + right: number; + top: number; + bottom: number; + height: number; +} +declare var ClientRect: { + prototype: ClientRect; + new(): ClientRect; +} + +interface PositionErrorCallback { + (error: PositionError): void; +} + +interface DOMImplementation { + createDocumentType(qualifiedName: string, publicId: string, systemId: string): DocumentType; + createDocument(namespaceURI: string, qualifiedName: string, doctype: DocumentType): Document; + hasFeature(feature: string, version?: string): boolean; + createHTMLDocument(title: string): Document; +} +declare var DOMImplementation: { + prototype: DOMImplementation; + new(): DOMImplementation; +} + +interface SVGUnitTypes { + SVG_UNIT_TYPE_UNKNOWN: number; + SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: number; + SVG_UNIT_TYPE_USERSPACEONUSE: number; +} +declare var SVGUnitTypes: SVGUnitTypes; + +interface Element extends Node, NodeSelector, ElementTraversal, GlobalEventHandlers { + scrollTop: number; + clientLeft: number; + scrollLeft: number; + tagName: string; + clientWidth: number; + scrollWidth: number; + clientHeight: number; + clientTop: number; + scrollHeight: number; + msRegionOverflow: string; + onmspointerdown: (ev: any) => any; + onmsgotpointercapture: (ev: any) => any; + onmsgesturedoubletap: (ev: any) => any; + onmspointerhover: (ev: any) => any; + onmsgesturehold: (ev: any) => any; + onmspointermove: (ev: any) => any; + onmsgesturechange: (ev: any) => any; + onmsgesturestart: (ev: any) => any; + onmspointercancel: (ev: any) => any; + onmsgestureend: (ev: any) => any; + onmsgesturetap: (ev: any) => any; + onmspointerout: (ev: any) => any; + onmsinertiastart: (ev: any) => any; + onmslostpointercapture: (ev: any) => any; + onmspointerover: (ev: any) => any; + msContentZoomFactor: number; + onmspointerup: (ev: any) => any; + onlostpointercapture: (ev: PointerEvent) => any; + onmspointerenter: (ev: any) => any; + ongotpointercapture: (ev: PointerEvent) => any; + onmspointerleave: (ev: any) => any; + getAttribute(name?: string): string; + getElementsByTagNameNS(namespaceURI: string, localName: string): NodeList; + hasAttributeNS(namespaceURI: string, localName: string): boolean; + getBoundingClientRect(): ClientRect; + getAttributeNS(namespaceURI: string, localName: string): string; + getAttributeNodeNS(namespaceURI: string, localName: string): Attr; + setAttributeNodeNS(newAttr: Attr): Attr; + msMatchesSelector(selectors: string): boolean; + hasAttribute(name: string): boolean; + removeAttribute(name?: string): void; + setAttributeNS(namespaceURI: string, qualifiedName: string, value: string): void; + getAttributeNode(name: string): Attr; + fireEvent(eventName: string, eventObj?: any): boolean; + getElementsByTagName(name: "a"): NodeListOf; + getElementsByTagName(name: "abbr"): NodeListOf; + getElementsByTagName(name: "acronym"): NodeListOf; + getElementsByTagName(name: "address"): NodeListOf; + getElementsByTagName(name: "applet"): NodeListOf; + getElementsByTagName(name: "area"): NodeListOf; + getElementsByTagName(name: "article"): NodeListOf; + getElementsByTagName(name: "aside"): NodeListOf; + getElementsByTagName(name: "audio"): NodeListOf; + getElementsByTagName(name: "b"): NodeListOf; + getElementsByTagName(name: "base"): NodeListOf; + getElementsByTagName(name: "basefont"): NodeListOf; + getElementsByTagName(name: "bdo"): NodeListOf; + getElementsByTagName(name: "bgsound"): NodeListOf; + getElementsByTagName(name: "big"): NodeListOf; + getElementsByTagName(name: "blockquote"): NodeListOf; + getElementsByTagName(name: "body"): NodeListOf; + getElementsByTagName(name: "br"): NodeListOf; + getElementsByTagName(name: "button"): NodeListOf; + getElementsByTagName(name: "canvas"): NodeListOf; + getElementsByTagName(name: "caption"): NodeListOf; + getElementsByTagName(name: "center"): NodeListOf; + getElementsByTagName(name: "cite"): NodeListOf; + getElementsByTagName(name: "code"): NodeListOf; + getElementsByTagName(name: "col"): NodeListOf; + getElementsByTagName(name: "colgroup"): NodeListOf; + getElementsByTagName(name: "datalist"): NodeListOf; + getElementsByTagName(name: "dd"): NodeListOf; + getElementsByTagName(name: "del"): NodeListOf; + getElementsByTagName(name: "dfn"): NodeListOf; + getElementsByTagName(name: "dir"): NodeListOf; + getElementsByTagName(name: "div"): NodeListOf; + getElementsByTagName(name: "dl"): NodeListOf; + getElementsByTagName(name: "dt"): NodeListOf; + getElementsByTagName(name: "em"): NodeListOf; + getElementsByTagName(name: "embed"): NodeListOf; + getElementsByTagName(name: "fieldset"): NodeListOf; + getElementsByTagName(name: "figcaption"): NodeListOf; + getElementsByTagName(name: "figure"): NodeListOf; + getElementsByTagName(name: "font"): NodeListOf; + getElementsByTagName(name: "footer"): NodeListOf; + getElementsByTagName(name: "form"): NodeListOf; + getElementsByTagName(name: "frame"): NodeListOf; + getElementsByTagName(name: "frameset"): NodeListOf; + getElementsByTagName(name: "h1"): NodeListOf; + getElementsByTagName(name: "h2"): NodeListOf; + getElementsByTagName(name: "h3"): NodeListOf; + getElementsByTagName(name: "h4"): NodeListOf; + getElementsByTagName(name: "h5"): NodeListOf; + getElementsByTagName(name: "h6"): NodeListOf; + getElementsByTagName(name: "head"): NodeListOf; + getElementsByTagName(name: "header"): NodeListOf; + getElementsByTagName(name: "hgroup"): NodeListOf; + getElementsByTagName(name: "hr"): NodeListOf; + getElementsByTagName(name: "html"): NodeListOf; + getElementsByTagName(name: "i"): NodeListOf; + getElementsByTagName(name: "iframe"): NodeListOf; + getElementsByTagName(name: "img"): NodeListOf; + getElementsByTagName(name: "input"): NodeListOf; + getElementsByTagName(name: "ins"): NodeListOf; + getElementsByTagName(name: "isindex"): NodeListOf; + getElementsByTagName(name: "kbd"): NodeListOf; + getElementsByTagName(name: "keygen"): NodeListOf; + getElementsByTagName(name: "label"): NodeListOf; + getElementsByTagName(name: "legend"): NodeListOf; + getElementsByTagName(name: "li"): NodeListOf; + getElementsByTagName(name: "link"): NodeListOf; + getElementsByTagName(name: "listing"): NodeListOf; + getElementsByTagName(name: "map"): NodeListOf; + getElementsByTagName(name: "mark"): NodeListOf; + getElementsByTagName(name: "marquee"): NodeListOf; + getElementsByTagName(name: "menu"): NodeListOf; + getElementsByTagName(name: "meta"): NodeListOf; + getElementsByTagName(name: "nav"): NodeListOf; + getElementsByTagName(name: "nextid"): NodeListOf; + getElementsByTagName(name: "nobr"): NodeListOf; + getElementsByTagName(name: "noframes"): NodeListOf; + getElementsByTagName(name: "noscript"): NodeListOf; + getElementsByTagName(name: "object"): NodeListOf; + getElementsByTagName(name: "ol"): NodeListOf; + getElementsByTagName(name: "optgroup"): NodeListOf; + getElementsByTagName(name: "option"): NodeListOf; + getElementsByTagName(name: "p"): NodeListOf; + getElementsByTagName(name: "param"): NodeListOf; + getElementsByTagName(name: "plaintext"): NodeListOf; + getElementsByTagName(name: "pre"): NodeListOf; + getElementsByTagName(name: "progress"): NodeListOf; + getElementsByTagName(name: "q"): NodeListOf; + getElementsByTagName(name: "rt"): NodeListOf; + getElementsByTagName(name: "ruby"): NodeListOf; + getElementsByTagName(name: "s"): NodeListOf; + getElementsByTagName(name: "samp"): NodeListOf; + getElementsByTagName(name: "script"): NodeListOf; + getElementsByTagName(name: "section"): NodeListOf; + getElementsByTagName(name: "select"): NodeListOf; + getElementsByTagName(name: "small"): NodeListOf; + getElementsByTagName(name: "SOURCE"): NodeListOf; + getElementsByTagName(name: "span"): NodeListOf; + getElementsByTagName(name: "strike"): NodeListOf; + getElementsByTagName(name: "strong"): NodeListOf; + getElementsByTagName(name: "style"): NodeListOf; + getElementsByTagName(name: "sub"): NodeListOf; + getElementsByTagName(name: "sup"): NodeListOf; + getElementsByTagName(name: "table"): NodeListOf; + getElementsByTagName(name: "tbody"): NodeListOf; + getElementsByTagName(name: "td"): NodeListOf; + getElementsByTagName(name: "textarea"): NodeListOf; + getElementsByTagName(name: "tfoot"): NodeListOf; + getElementsByTagName(name: "th"): NodeListOf; + getElementsByTagName(name: "thead"): NodeListOf; + getElementsByTagName(name: "title"): NodeListOf; + getElementsByTagName(name: "tr"): NodeListOf; + getElementsByTagName(name: "track"): NodeListOf; + getElementsByTagName(name: "tt"): NodeListOf; + getElementsByTagName(name: "u"): NodeListOf; + getElementsByTagName(name: "ul"): NodeListOf; + getElementsByTagName(name: "var"): NodeListOf; + getElementsByTagName(name: "video"): NodeListOf; + getElementsByTagName(name: "wbr"): NodeListOf; + getElementsByTagName(name: "x-ms-webview"): NodeListOf; + getElementsByTagName(name: "xmp"): NodeListOf; + getElementsByTagName(name: string): NodeList; + getClientRects(): ClientRectList; + setAttributeNode(newAttr: Attr): Attr; + removeAttributeNode(oldAttr: Attr): Attr; + setAttribute(name?: string, value?: string): void; + removeAttributeNS(namespaceURI: string, localName: string): void; + msGetRegionContent(): MSRangeCollection; + msReleasePointerCapture(pointerId: number): void; + msSetPointerCapture(pointerId: number): void; + msZoomTo(args: MsZoomToOptions): void; + setPointerCapture(pointerId: number): void; + msGetUntransformedBounds(): ClientRect; + releasePointerCapture(pointerId: number): void; + msRequestFullscreen(): void; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgotpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mslostpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var Element: { + prototype: Element; + new(): Element; +} + +interface HTMLNextIdElement extends HTMLElement { + n: string; +} +declare var HTMLNextIdElement: { + prototype: HTMLNextIdElement; + new(): HTMLNextIdElement; +} + +interface SVGPathSegMovetoRel extends SVGPathSeg { + y: number; + x: number; +} +declare var SVGPathSegMovetoRel: { + prototype: SVGPathSegMovetoRel; + new(): SVGPathSegMovetoRel; +} + +interface SVGLineElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired { + y1: SVGAnimatedLength; + x2: SVGAnimatedLength; + x1: SVGAnimatedLength; + y2: SVGAnimatedLength; +} +declare var SVGLineElement: { + prototype: SVGLineElement; + new(): SVGLineElement; +} + +interface HTMLParagraphElement extends HTMLElement, DOML2DeprecatedTextFlowControl { + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + align: string; +} +declare var HTMLParagraphElement: { + prototype: HTMLParagraphElement; + new(): HTMLParagraphElement; +} + +interface HTMLAreasCollection extends HTMLCollection { + /** + * Removes an element from the collection. + */ + remove(index?: number): void; + /** + * Adds an element to the areas, controlRange, or options collection. + */ + add(element: HTMLElement, before?: any): void; +} +declare var HTMLAreasCollection: { + prototype: HTMLAreasCollection; + new(): HTMLAreasCollection; +} + +interface SVGDescElement extends SVGElement, SVGStylable, SVGLangSpace { +} +declare var SVGDescElement: { + prototype: SVGDescElement; + new(): SVGDescElement; +} + +interface Node extends EventTarget { + nodeType: number; + previousSibling: Node; + localName: string; + namespaceURI: string; + textContent: string; + parentNode: Node; + nextSibling: Node; + nodeValue: string; + lastChild: Node; + childNodes: NodeList; + nodeName: string; + ownerDocument: Document; + attributes: NamedNodeMap; + firstChild: Node; + prefix: string; + removeChild(oldChild: Node): Node; + appendChild(newChild: Node): Node; + isSupported(feature: string, version: string): boolean; + isEqualNode(arg: Node): boolean; + lookupPrefix(namespaceURI: string): string; + isDefaultNamespace(namespaceURI: string): boolean; + compareDocumentPosition(other: Node): number; + normalize(): void; + isSameNode(other: Node): boolean; + hasAttributes(): boolean; + lookupNamespaceURI(prefix: string): string; + cloneNode(deep?: boolean): Node; + hasChildNodes(): boolean; + replaceChild(newChild: Node, oldChild: Node): Node; + insertBefore(newChild: Node, refChild?: Node): Node; + ENTITY_REFERENCE_NODE: number; + ATTRIBUTE_NODE: number; + DOCUMENT_FRAGMENT_NODE: number; + TEXT_NODE: number; + ELEMENT_NODE: number; + COMMENT_NODE: number; + DOCUMENT_POSITION_DISCONNECTED: number; + DOCUMENT_POSITION_CONTAINED_BY: number; + DOCUMENT_POSITION_CONTAINS: number; + DOCUMENT_TYPE_NODE: number; + DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number; + DOCUMENT_NODE: number; + ENTITY_NODE: number; + PROCESSING_INSTRUCTION_NODE: number; + CDATA_SECTION_NODE: number; + NOTATION_NODE: number; + DOCUMENT_POSITION_FOLLOWING: number; + DOCUMENT_POSITION_PRECEDING: number; +} +declare var Node: { + prototype: Node; + new(): Node; + ENTITY_REFERENCE_NODE: number; + ATTRIBUTE_NODE: number; + DOCUMENT_FRAGMENT_NODE: number; + TEXT_NODE: number; + ELEMENT_NODE: number; + COMMENT_NODE: number; + DOCUMENT_POSITION_DISCONNECTED: number; + DOCUMENT_POSITION_CONTAINED_BY: number; + DOCUMENT_POSITION_CONTAINS: number; + DOCUMENT_TYPE_NODE: number; + DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number; + DOCUMENT_NODE: number; + ENTITY_NODE: number; + PROCESSING_INSTRUCTION_NODE: number; + CDATA_SECTION_NODE: number; + NOTATION_NODE: number; + DOCUMENT_POSITION_FOLLOWING: number; + DOCUMENT_POSITION_PRECEDING: number; +} + +interface SVGPathSegCurvetoQuadraticSmoothRel extends SVGPathSeg { + y: number; + x: number; +} +declare var SVGPathSegCurvetoQuadraticSmoothRel: { + prototype: SVGPathSegCurvetoQuadraticSmoothRel; + new(): SVGPathSegCurvetoQuadraticSmoothRel; +} + +interface DOML2DeprecatedListSpaceReduction { + compact: boolean; +} + +interface MSScriptHost { +} +declare var MSScriptHost: { + prototype: MSScriptHost; + new(): MSScriptHost; +} + +interface SVGClipPathElement extends SVGElement, SVGUnitTypes, SVGStylable, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired { + clipPathUnits: SVGAnimatedEnumeration; +} +declare var SVGClipPathElement: { + prototype: SVGClipPathElement; + new(): SVGClipPathElement; +} + +interface MouseEvent extends UIEvent { + toElement: Element; + layerY: number; + fromElement: Element; + which: number; + pageX: number; + offsetY: number; + x: number; + y: number; + metaKey: boolean; + altKey: boolean; + ctrlKey: boolean; + offsetX: number; + screenX: number; + clientY: number; + shiftKey: boolean; + layerX: number; + screenY: number; + relatedTarget: EventTarget; + button: number; + pageY: number; + buttons: number; + clientX: number; + initMouseEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget): void; + getModifierState(keyArg: string): boolean; +} +declare var MouseEvent: { + prototype: MouseEvent; + new(): MouseEvent; +} + +interface RangeException { + code: number; + message: string; + name: string; + toString(): string; + INVALID_NODE_TYPE_ERR: number; + BAD_BOUNDARYPOINTS_ERR: number; +} +declare var RangeException: { + prototype: RangeException; + new(): RangeException; + INVALID_NODE_TYPE_ERR: number; + BAD_BOUNDARYPOINTS_ERR: number; +} + +interface SVGTextPositioningElement extends SVGTextContentElement { + y: SVGAnimatedLengthList; + rotate: SVGAnimatedNumberList; + dy: SVGAnimatedLengthList; + x: SVGAnimatedLengthList; + dx: SVGAnimatedLengthList; +} +declare var SVGTextPositioningElement: { + prototype: SVGTextPositioningElement; + new(): SVGTextPositioningElement; +} + +interface HTMLAppletElement extends HTMLElement, DOML2DeprecatedMarginStyle, DOML2DeprecatedBorderStyle, DOML2DeprecatedAlignmentStyle, MSDataBindingExtensions, MSDataBindingRecordSetExtensions { + width: number; + /** + * Sets or retrieves the Internet media type for the code associated with the object. + */ + codeType: string; + object: string; + form: HTMLFormElement; + code: string; + /** + * Sets or retrieves a character string that can be used to implement your own archive functionality for the object. + */ + archive: string; + /** + * Sets or retrieves a text alternative to the graphic. + */ + alt: string; + /** + * Sets or retrieves a message to be displayed while an object is loading. + */ + standby: string; + /** + * Sets or retrieves the class identifier for the object. + */ + classid: string; + /** + * Sets or retrieves the shape of the object. + */ + name: string; + /** + * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. + */ + useMap: string; + /** + * Sets or retrieves the URL that references the data of the object. + */ + data: string; + /** + * Sets or retrieves the height of the object. + */ + height: string; + /** + * Gets or sets the optional alternative HTML script to execute if the object fails to load. + */ + altHtml: string; + /** + * Address of a pointer to the document this page or frame contains. If there is no document, then null will be returned. + */ + contentDocument: Document; + /** + * Sets or retrieves the URL of the component. + */ + codeBase: string; + /** + * Sets or retrieves a character string that can be used to implement your own declare functionality for the object. + */ + declare: boolean; + /** + * Returns the content type of the object. + */ + type: string; + /** + * Retrieves a string of the URL where the object tag can be found. This is often the href of the document that the object is in, or the value set by a base element. + */ + BaseHref: string; +} +declare var HTMLAppletElement: { + prototype: HTMLAppletElement; + new(): HTMLAppletElement; +} + +interface TextMetrics { + width: number; +} +declare var TextMetrics: { + prototype: TextMetrics; + new(): TextMetrics; +} + +interface DocumentEvent { + createEvent(eventInterface: "AnimationEvent"): AnimationEvent; + createEvent(eventInterface: "CloseEvent"): CloseEvent; + createEvent(eventInterface: "CompositionEvent"): CompositionEvent; + createEvent(eventInterface: "CustomEvent"): CustomEvent; + createEvent(eventInterface: "DeviceMotionEvent"): DeviceMotionEvent; + createEvent(eventInterface: "DeviceOrientationEvent"): DeviceOrientationEvent; + createEvent(eventInterface: "DragEvent"): DragEvent; + createEvent(eventInterface: "ErrorEvent"): ErrorEvent; + createEvent(eventInterface: "Event"): Event; + createEvent(eventInterface: "Events"): Event; + createEvent(eventInterface: "FocusEvent"): FocusEvent; + createEvent(eventInterface: "HTMLEvents"): Event; + createEvent(eventInterface: "IDBVersionChangeEvent"): IDBVersionChangeEvent; + createEvent(eventInterface: "KeyboardEvent"): KeyboardEvent; + createEvent(eventInterface: "LongRunningScriptDetectedEvent"): LongRunningScriptDetectedEvent; + createEvent(eventInterface: "MessageEvent"): MessageEvent; + createEvent(eventInterface: "MouseEvent"): MouseEvent; + createEvent(eventInterface: "MouseEvents"): MouseEvent; + createEvent(eventInterface: "MouseWheelEvent"): MouseWheelEvent; + createEvent(eventInterface: "MSGestureEvent"): MSGestureEvent; + createEvent(eventInterface: "MSPointerEvent"): MSPointerEvent; + createEvent(eventInterface: "MutationEvent"): MutationEvent; + createEvent(eventInterface: "MutationEvents"): MutationEvent; + createEvent(eventInterface: "NavigationCompletedEvent"): NavigationCompletedEvent; + createEvent(eventInterface: "NavigationEvent"): NavigationEvent; + createEvent(eventInterface: "PageTransitionEvent"): PageTransitionEvent; + createEvent(eventInterface: "PointerEvent"): MSPointerEvent; + createEvent(eventInterface: "PopStateEvent"): PopStateEvent; + createEvent(eventInterface: "ProgressEvent"): ProgressEvent; + createEvent(eventInterface: "StorageEvent"): StorageEvent; + createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent; + createEvent(eventInterface: "TextEvent"): TextEvent; + createEvent(eventInterface: "TrackEvent"): TrackEvent; + createEvent(eventInterface: "TransitionEvent"): TransitionEvent; + createEvent(eventInterface: "UIEvent"): UIEvent; + createEvent(eventInterface: "UIEvents"): UIEvent; + createEvent(eventInterface: "UnviewableContentIdentifiedEvent"): UnviewableContentIdentifiedEvent; + createEvent(eventInterface: "WebGLContextEvent"): WebGLContextEvent; + createEvent(eventInterface: "WheelEvent"): WheelEvent; + createEvent(eventInterface: string): Event; +} + +interface HTMLOListElement extends HTMLElement, DOML2DeprecatedListSpaceReduction, DOML2DeprecatedListNumberingAndBulletStyle { + /** + * The starting number. + */ + start: number; +} +declare var HTMLOListElement: { + prototype: HTMLOListElement; + new(): HTMLOListElement; +} + +interface SVGPathSegLinetoVerticalRel extends SVGPathSeg { + y: number; +} +declare var SVGPathSegLinetoVerticalRel: { + prototype: SVGPathSegLinetoVerticalRel; + new(): SVGPathSegLinetoVerticalRel; +} + +interface SVGAnimatedString { + animVal: string; + baseVal: string; +} +declare var SVGAnimatedString: { + prototype: SVGAnimatedString; + new(): SVGAnimatedString; +} + +interface CDATASection extends Text { +} +declare var CDATASection: { + prototype: CDATASection; + new(): CDATASection; +} + +interface StyleMedia { + type: string; + matchMedium(mediaquery: string): boolean; +} +declare var StyleMedia: { + prototype: StyleMedia; + new(): StyleMedia; +} + +interface HTMLSelectElement extends HTMLElement, MSHTMLCollectionExtensions, MSDataBindingExtensions { + options: HTMLSelectElement; + /** + * Sets or retrieves the value which is returned to the server when the form control is submitted. + */ + value: string; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Sets or retrieves the number of rows in the list box. + */ + size: number; + /** + * Sets or retrieves the number of objects in a collection. + */ + length: number; + /** + * Sets or retrieves the index of the selected option in a select object. + */ + selectedIndex: number; + /** + * Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list. + */ + multiple: boolean; + /** + * Retrieves the type of select control based on the value of the MULTIPLE attribute. + */ + type: string; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + validationMessage: string; + /** + * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. + */ + autofocus: boolean; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + validity: ValidityState; + /** + * When present, marks an element that can't be submitted without a value. + */ + required: boolean; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + willValidate: boolean; + /** + * Removes an element from the collection. + * @param index Number that specifies the zero-based index of the element to remove from the collection. + */ + remove(index?: number): void; + /** + * Adds an element to the areas, controlRange, or options collection. + * @param element Variant of type Number that specifies the index position in the collection where the element is placed. If no value is given, the method places the element at the end of the collection. + * @param before Variant of type Object that specifies an element to insert before, or null to append the object to the collection. + */ + add(element: HTMLElement, before?: any): void; + /** + * Retrieves a select object or an object from an options collection. + * @param name Variant of type Number or String that specifies the object or collection to retrieve. If this parameter is an integer, it is the zero-based index of the object. If this parameter is a string, all objects with matching name or id properties are retrieved, and a collection is returned if more than one match is made. + * @param index Variant of type Number that specifies the zero-based index of the object to retrieve when a collection is returned. + */ + item(name?: any, index?: any): any; + /** + * Retrieves a select object or an object from an options collection. + * @param namedItem A String that specifies the name or id property of the object to retrieve. A collection is returned if more than one match is made. + */ + namedItem(name: string): any; + [name: string]: any; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; +} +declare var HTMLSelectElement: { + prototype: HTMLSelectElement; + new(): HTMLSelectElement; +} + +interface TextRange { + boundingLeft: number; + htmlText: string; + offsetLeft: number; + boundingWidth: number; + boundingHeight: number; + boundingTop: number; + text: string; + offsetTop: number; + moveToPoint(x: number, y: number): void; + queryCommandValue(cmdID: string): any; + getBookmark(): string; + move(unit: string, count?: number): number; + queryCommandIndeterm(cmdID: string): boolean; + scrollIntoView(fStart?: boolean): void; + findText(string: string, count?: number, flags?: number): boolean; + execCommand(cmdID: string, showUI?: boolean, value?: any): boolean; + getBoundingClientRect(): ClientRect; + moveToBookmark(bookmark: string): boolean; + isEqual(range: TextRange): boolean; + duplicate(): TextRange; + collapse(start?: boolean): void; + queryCommandText(cmdID: string): string; + select(): void; + pasteHTML(html: string): void; + inRange(range: TextRange): boolean; + moveEnd(unit: string, count?: number): number; + getClientRects(): ClientRectList; + moveStart(unit: string, count?: number): number; + parentElement(): Element; + queryCommandState(cmdID: string): boolean; + compareEndPoints(how: string, sourceRange: TextRange): number; + execCommandShowHelp(cmdID: string): boolean; + moveToElementText(element: Element): void; + expand(Unit: string): boolean; + queryCommandSupported(cmdID: string): boolean; + setEndPoint(how: string, SourceRange: TextRange): void; + queryCommandEnabled(cmdID: string): boolean; +} +declare var TextRange: { + prototype: TextRange; + new(): TextRange; +} + +interface SVGTests { + requiredFeatures: SVGStringList; + requiredExtensions: SVGStringList; + systemLanguage: SVGStringList; + hasExtension(extension: string): boolean; +} + +interface HTMLBlockElement extends HTMLElement, DOML2DeprecatedTextFlowControl { + /** + * Sets or retrieves the width of the object. + */ + width: number; + /** + * Sets or retrieves reference information about the object. + */ + cite: string; +} +declare var HTMLBlockElement: { + prototype: HTMLBlockElement; + new(): HTMLBlockElement; +} + +interface CSSStyleSheet extends StyleSheet { + owningElement: Element; + imports: StyleSheetList; + isAlternate: boolean; + rules: MSCSSRuleList; + isPrefAlternate: boolean; + readOnly: boolean; + cssText: string; + ownerRule: CSSRule; + href: string; + cssRules: CSSRuleList; + id: string; + pages: StyleSheetPageList; + addImport(bstrURL: string, lIndex?: number): number; + addPageRule(bstrSelector: string, bstrStyle: string, lIndex?: number): number; + insertRule(rule: string, index?: number): number; + removeRule(lIndex: number): void; + deleteRule(index?: number): void; + addRule(bstrSelector: string, bstrStyle?: string, lIndex?: number): number; + removeImport(lIndex: number): void; +} +declare var CSSStyleSheet: { + prototype: CSSStyleSheet; + new(): CSSStyleSheet; +} + +interface MSSelection { + type: string; + typeDetail: string; + createRange(): TextRange; + clear(): void; + createRangeCollection(): TextRangeCollection; + empty(): void; +} +declare var MSSelection: { + prototype: MSSelection; + new(): MSSelection; +} + +interface HTMLMetaElement extends HTMLElement { + /** + * Gets or sets information used to bind the value of a content attribute of a meta element to an HTTP response header. + */ + httpEquiv: string; + /** + * Sets or retrieves the value specified in the content attribute of the meta object. + */ + name: string; + /** + * Gets or sets meta-information to associate with httpEquiv or name. + */ + content: string; + /** + * Sets or retrieves the URL property that will be loaded after the specified time has elapsed. + */ + url: string; + /** + * Sets or retrieves a scheme to be used in interpreting the value of a property specified for the object. + */ + scheme: string; + /** + * Sets or retrieves the character set used to encode the object. + */ + charset: string; +} +declare var HTMLMetaElement: { + prototype: HTMLMetaElement; + new(): HTMLMetaElement; +} + +interface SVGPatternElement extends SVGElement, SVGUnitTypes, SVGStylable, SVGLangSpace, SVGTests, SVGFitToViewBox, SVGExternalResourcesRequired, SVGURIReference { + patternUnits: SVGAnimatedEnumeration; + y: SVGAnimatedLength; + width: SVGAnimatedLength; + x: SVGAnimatedLength; + patternContentUnits: SVGAnimatedEnumeration; + patternTransform: SVGAnimatedTransformList; + height: SVGAnimatedLength; +} +declare var SVGPatternElement: { + prototype: SVGPatternElement; + new(): SVGPatternElement; +} + +interface SVGAnimatedAngle { + animVal: SVGAngle; + baseVal: SVGAngle; +} +declare var SVGAnimatedAngle: { + prototype: SVGAnimatedAngle; + new(): SVGAnimatedAngle; +} + +interface Selection { + isCollapsed: boolean; + anchorNode: Node; + focusNode: Node; + anchorOffset: number; + focusOffset: number; + rangeCount: number; + addRange(range: Range): void; + collapseToEnd(): void; + toString(): string; + selectAllChildren(parentNode: Node): void; + getRangeAt(index: number): Range; + collapse(parentNode: Node, offset: number): void; + removeAllRanges(): void; + collapseToStart(): void; + deleteFromDocument(): void; + removeRange(range: Range): void; +} +declare var Selection: { + prototype: Selection; + new(): Selection; +} + +interface SVGScriptElement extends SVGElement, SVGExternalResourcesRequired, SVGURIReference { + type: string; +} +declare var SVGScriptElement: { + prototype: SVGScriptElement; + new(): SVGScriptElement; +} + +interface HTMLDDElement extends HTMLElement { + /** + * Sets or retrieves whether the browser automatically performs wordwrap. + */ + noWrap: boolean; +} +declare var HTMLDDElement: { + prototype: HTMLDDElement; + new(): HTMLDDElement; +} + +interface MSDataBindingRecordSetReadonlyExtensions { + recordset: any; + namedRecordset(dataMember: string, hierarchy?: any): any; +} + +interface CSSStyleRule extends CSSRule { + selectorText: string; + style: MSStyleCSSProperties; + readOnly: boolean; +} +declare var CSSStyleRule: { + prototype: CSSStyleRule; + new(): CSSStyleRule; +} + +interface NodeIterator { + whatToShow: number; + filter: NodeFilter; + root: Node; + expandEntityReferences: boolean; + nextNode(): Node; + detach(): void; + previousNode(): Node; +} +declare var NodeIterator: { + prototype: NodeIterator; + new(): NodeIterator; +} + +interface SVGViewElement extends SVGElement, SVGZoomAndPan, SVGFitToViewBox, SVGExternalResourcesRequired { + viewTarget: SVGStringList; +} +declare var SVGViewElement: { + prototype: SVGViewElement; + new(): SVGViewElement; +} + +interface HTMLLinkElement extends HTMLElement, LinkStyle { + /** + * Sets or retrieves the relationship between the object and the destination of the link. + */ + rel: string; + /** + * Sets or retrieves the window or frame at which to target content. + */ + target: string; + /** + * Sets or retrieves a destination URL or an anchor point. + */ + href: string; + /** + * Sets or retrieves the media type. + */ + media: string; + /** + * Sets or retrieves the relationship between the object and the destination of the link. + */ + rev: string; + /** + * Sets or retrieves the MIME type of the object. + */ + type: string; + /** + * Sets or retrieves the character set used to encode the object. + */ + charset: string; + /** + * Sets or retrieves the language code of the object. + */ + hreflang: string; +} +declare var HTMLLinkElement: { + prototype: HTMLLinkElement; + new(): HTMLLinkElement; +} + +interface SVGLocatable { + farthestViewportElement: SVGElement; + nearestViewportElement: SVGElement; + getBBox(): SVGRect; + getTransformToElement(element: SVGElement): SVGMatrix; + getCTM(): SVGMatrix; + getScreenCTM(): SVGMatrix; +} + +interface HTMLFontElement extends HTMLElement, DOML2DeprecatedColorProperty, DOML2DeprecatedSizeProperty { + /** + * Sets or retrieves the current typeface family. + */ + face: string; +} +declare var HTMLFontElement: { + prototype: HTMLFontElement; + new(): HTMLFontElement; +} + +interface SVGTitleElement extends SVGElement, SVGStylable, SVGLangSpace { +} +declare var SVGTitleElement: { + prototype: SVGTitleElement; + new(): SVGTitleElement; +} + +interface ControlRangeCollection { + length: number; + queryCommandValue(cmdID: string): any; + remove(index: number): void; + add(item: Element): void; + queryCommandIndeterm(cmdID: string): boolean; + scrollIntoView(varargStart?: any): void; + item(index: number): Element; + [index: number]: Element; + execCommand(cmdID: string, showUI?: boolean, value?: any): boolean; + addElement(item: Element): void; + queryCommandState(cmdID: string): boolean; + queryCommandSupported(cmdID: string): boolean; + queryCommandEnabled(cmdID: string): boolean; + queryCommandText(cmdID: string): string; + select(): void; +} +declare var ControlRangeCollection: { + prototype: ControlRangeCollection; + new(): ControlRangeCollection; +} + +interface MSNamespaceInfo extends MSEventAttachmentTarget { + urn: string; + onreadystatechange: (ev: Event) => any; + name: string; + readyState: string; + doImport(implementationUrl: string): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var MSNamespaceInfo: { + prototype: MSNamespaceInfo; + new(): MSNamespaceInfo; +} + +interface WindowSessionStorage { + sessionStorage: Storage; +} + +interface SVGAnimatedTransformList { + animVal: SVGTransformList; + baseVal: SVGTransformList; +} +declare var SVGAnimatedTransformList: { + prototype: SVGAnimatedTransformList; + new(): SVGAnimatedTransformList; +} + +interface HTMLTableCaptionElement extends HTMLElement { + /** + * Sets or retrieves the alignment of the caption or legend. + */ + align: string; + /** + * Sets or retrieves whether the caption appears at the top or bottom of the table. + */ + vAlign: string; +} +declare var HTMLTableCaptionElement: { + prototype: HTMLTableCaptionElement; + new(): HTMLTableCaptionElement; +} + +interface HTMLOptionElement extends HTMLElement, MSDataBindingExtensions { + /** + * Sets or retrieves the ordinal position of an option in a list box. + */ + index: number; + /** + * Sets or retrieves the status of an option. + */ + defaultSelected: boolean; + /** + * Sets or retrieves the value which is returned to the server when the form control is submitted. + */ + value: string; + /** + * Sets or retrieves the text string specified by the option tag. + */ + text: string; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; + /** + * Sets or retrieves a value that you can use to implement your own label functionality for the object. + */ + label: string; + /** + * Sets or retrieves whether the option in the list box is the default item. + */ + selected: boolean; +} +declare var HTMLOptionElement: { + prototype: HTMLOptionElement; + new(): HTMLOptionElement; + create(): HTMLOptionElement; +} + +interface HTMLMapElement extends HTMLElement { + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Retrieves a collection of the area objects defined for the given map object. + */ + areas: HTMLAreasCollection; +} +declare var HTMLMapElement: { + prototype: HTMLMapElement; + new(): HTMLMapElement; +} + +interface HTMLMenuElement extends HTMLElement, DOML2DeprecatedListSpaceReduction { + type: string; +} +declare var HTMLMenuElement: { + prototype: HTMLMenuElement; + new(): HTMLMenuElement; +} + +interface MouseWheelEvent extends MouseEvent { + wheelDelta: number; + initMouseWheelEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, buttonArg: number, relatedTargetArg: EventTarget, modifiersListArg: string, wheelDeltaArg: number): void; +} +declare var MouseWheelEvent: { + prototype: MouseWheelEvent; + new(): MouseWheelEvent; +} + +interface SVGFitToViewBox { + viewBox: SVGAnimatedRect; + preserveAspectRatio: SVGAnimatedPreserveAspectRatio; +} + +interface SVGPointList { + numberOfItems: number; + replaceItem(newItem: SVGPoint, index: number): SVGPoint; + getItem(index: number): SVGPoint; + clear(): void; + appendItem(newItem: SVGPoint): SVGPoint; + initialize(newItem: SVGPoint): SVGPoint; + removeItem(index: number): SVGPoint; + insertItemBefore(newItem: SVGPoint, index: number): SVGPoint; +} +declare var SVGPointList: { + prototype: SVGPointList; + new(): SVGPointList; +} + +interface SVGAnimatedLengthList { + animVal: SVGLengthList; + baseVal: SVGLengthList; +} +declare var SVGAnimatedLengthList: { + prototype: SVGAnimatedLengthList; + new(): SVGAnimatedLengthList; +} + +interface SVGAnimatedPreserveAspectRatio { + animVal: SVGPreserveAspectRatio; + baseVal: SVGPreserveAspectRatio; +} +declare var SVGAnimatedPreserveAspectRatio: { + prototype: SVGAnimatedPreserveAspectRatio; + new(): SVGAnimatedPreserveAspectRatio; +} + +interface MSSiteModeEvent extends Event { + buttonID: number; + actionURL: string; +} +declare var MSSiteModeEvent: { + prototype: MSSiteModeEvent; + new(): MSSiteModeEvent; +} + +interface DOML2DeprecatedTextFlowControl { + clear: string; +} + +interface StyleSheetPageList { + length: number; + item(index: number): CSSPageRule; + [index: number]: CSSPageRule; +} +declare var StyleSheetPageList: { + prototype: StyleSheetPageList; + new(): StyleSheetPageList; +} + +interface MSCSSProperties extends CSSStyleDeclaration { + scrollbarShadowColor: string; + scrollbarHighlightColor: string; + layoutGridChar: string; + layoutGridType: string; + textAutospace: string; + textKashidaSpace: string; + writingMode: string; + scrollbarFaceColor: string; + backgroundPositionY: string; + lineBreak: string; + imeMode: string; + msBlockProgression: string; + layoutGridLine: string; + scrollbarBaseColor: string; + layoutGrid: string; + layoutFlow: string; + textKashida: string; + filter: string; + zoom: string; + scrollbarArrowColor: string; + behavior: string; + backgroundPositionX: string; + accelerator: string; + layoutGridMode: string; + textJustifyTrim: string; + scrollbar3dLightColor: string; + msInterpolationMode: string; + scrollbarTrackColor: string; + scrollbarDarkShadowColor: string; + styleFloat: string; + getAttribute(attributeName: string, flags?: number): any; + setAttribute(attributeName: string, AttributeValue: any, flags?: number): void; + removeAttribute(attributeName: string, flags?: number): boolean; +} +declare var MSCSSProperties: { + prototype: MSCSSProperties; + new(): MSCSSProperties; +} + +interface HTMLCollection extends MSHTMLCollectionExtensions { + /** + * Sets or retrieves the number of objects in a collection. + */ + length: number; + /** + * Retrieves an object from various collections. + */ + item(nameOrIndex?: any, optionalIndex?: any): Element; + /** + * Retrieves a select object or an object from an options collection. + */ + namedItem(name: string): Element; + // [name: string]: Element; +} +declare var HTMLCollection: { + prototype: HTMLCollection; + new(): HTMLCollection; +} + +interface SVGExternalResourcesRequired { + externalResourcesRequired: SVGAnimatedBoolean; +} + +interface HTMLImageElement extends HTMLElement, MSImageResourceExtensions, MSDataBindingExtensions, MSResourceMetadata { + /** + * Sets or retrieves the width of the object. + */ + width: number; + /** + * Sets or retrieves the vertical margin for the object. + */ + vspace: number; + /** + * The original height of the image resource before sizing. + */ + naturalHeight: number; + /** + * Sets or retrieves a text alternative to the graphic. + */ + alt: string; + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + align: string; + /** + * The address or URL of the a media resource that is to be considered. + */ + src: string; + /** + * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. + */ + useMap: string; + /** + * The original width of the image resource before sizing. + */ + naturalWidth: number; + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Sets or retrieves the height of the object. + */ + height: number; + /** + * Specifies the properties of a border drawn around an object. + */ + border: string; + /** + * Sets or retrieves the width of the border to draw around the object. + */ + hspace: number; + /** + * Sets or retrieves a Uniform Resource Identifier (URI) to a long description of the object. + */ + longDesc: string; + /** + * Contains the hypertext reference (HREF) of the URL. + */ + href: string; + /** + * Sets or retrieves whether the image is a server-side image map. + */ + isMap: boolean; + /** + * Retrieves whether the object is fully loaded. + */ + complete: boolean; + /** + * Gets or sets the primary DLNA PlayTo device. + */ + msPlayToPrimary: boolean; + /** + * Gets or sets whether the DLNA PlayTo device is available. + */ + msPlayToDisabled: boolean; + /** + * Gets the source associated with the media element for use by the PlayToManager. + */ + msPlayToSource: any; + crossOrigin: string; + msPlayToPreferredSourceUri: string; +} +declare var HTMLImageElement: { + prototype: HTMLImageElement; + new(): HTMLImageElement; + create(): HTMLImageElement; +} + +interface HTMLAreaElement extends HTMLElement { + /** + * Sets or retrieves the protocol portion of a URL. + */ + protocol: string; + /** + * Sets or retrieves the substring of the href property that follows the question mark. + */ + search: string; + /** + * Sets or retrieves a text alternative to the graphic. + */ + alt: string; + /** + * Sets or retrieves the coordinates of the object. + */ + coords: string; + /** + * Sets or retrieves the host name part of the location or URL. + */ + hostname: string; + /** + * Sets or retrieves the port number associated with a URL. + */ + port: string; + /** + * Sets or retrieves the file name or path specified by the object. + */ + pathname: string; + /** + * Sets or retrieves the hostname and port number of the location or URL. + */ + host: string; + /** + * Sets or retrieves the subsection of the href property that follows the number sign (#). + */ + hash: string; + /** + * Sets or retrieves the window or frame at which to target content. + */ + target: string; + /** + * Sets or retrieves a destination URL or an anchor point. + */ + href: string; + /** + * Sets or gets whether clicks in this region cause action. + */ + noHref: boolean; + /** + * Sets or retrieves the shape of the object. + */ + shape: string; + /** + * Returns a string representation of an object. + */ + toString(): string; +} +declare var HTMLAreaElement: { + prototype: HTMLAreaElement; + new(): HTMLAreaElement; +} + +interface EventTarget { + removeEventListener(type: string, listener: EventListener, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; + dispatchEvent(evt: Event): boolean; +} + +interface SVGAngle { + valueAsString: string; + valueInSpecifiedUnits: number; + value: number; + unitType: number; + newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void; + convertToSpecifiedUnits(unitType: number): void; + SVG_ANGLETYPE_RAD: number; + SVG_ANGLETYPE_UNKNOWN: number; + SVG_ANGLETYPE_UNSPECIFIED: number; + SVG_ANGLETYPE_DEG: number; + SVG_ANGLETYPE_GRAD: number; +} +declare var SVGAngle: { + prototype: SVGAngle; + new(): SVGAngle; + SVG_ANGLETYPE_RAD: number; + SVG_ANGLETYPE_UNKNOWN: number; + SVG_ANGLETYPE_UNSPECIFIED: number; + SVG_ANGLETYPE_DEG: number; + SVG_ANGLETYPE_GRAD: number; +} + +interface HTMLButtonElement extends HTMLElement, MSDataBindingExtensions { + /** + * Sets or retrieves the default or selected value of the control. + */ + value: string; + status: any; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Gets the classification and default behavior of the button. + */ + type: string; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + validationMessage: string; + /** + * Overrides the target attribute on a form element. + */ + formTarget: string; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + willValidate: boolean; + /** + * Overrides the action attribute (where the data on a form is sent) on the parent form element. + */ + formAction: string; + /** + * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. + */ + autofocus: boolean; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + validity: ValidityState; + /** + * Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a "save draft"-type submit option. + */ + formNoValidate: string; + /** + * Used to override the encoding (formEnctype attribute) specified on the form element. + */ + formEnctype: string; + /** + * Overrides the submit method attribute previously specified on a form element. + */ + formMethod: string; + /** + * Creates a TextRange object for the element. + */ + createTextRange(): TextRange; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; +} +declare var HTMLButtonElement: { + prototype: HTMLButtonElement; + new(): HTMLButtonElement; +} + +interface HTMLSourceElement extends HTMLElement { + /** + * The address or URL of the a media resource that is to be considered. + */ + src: string; + /** + * Gets or sets the intended media type of the media source. + */ + media: string; + /** + * Gets or sets the MIME type of a media resource. + */ + type: string; + msKeySystem: string; +} +declare var HTMLSourceElement: { + prototype: HTMLSourceElement; + new(): HTMLSourceElement; +} + +interface CanvasGradient { + addColorStop(offset: number, color: string): void; +} +declare var CanvasGradient: { + prototype: CanvasGradient; + new(): CanvasGradient; +} + +interface KeyboardEvent extends UIEvent { + location: number; + keyCode: number; + shiftKey: boolean; + which: number; + locale: string; + key: string; + altKey: boolean; + metaKey: boolean; + char: string; + ctrlKey: boolean; + repeat: boolean; + charCode: number; + getModifierState(keyArg: string): boolean; + initKeyboardEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, keyArg: string, locationArg: number, modifiersListArg: string, repeat: boolean, locale: string): void; + DOM_KEY_LOCATION_RIGHT: number; + DOM_KEY_LOCATION_STANDARD: number; + DOM_KEY_LOCATION_LEFT: number; + DOM_KEY_LOCATION_NUMPAD: number; + DOM_KEY_LOCATION_JOYSTICK: number; + DOM_KEY_LOCATION_MOBILE: number; +} +declare var KeyboardEvent: { + prototype: KeyboardEvent; + new(): KeyboardEvent; + DOM_KEY_LOCATION_RIGHT: number; + DOM_KEY_LOCATION_STANDARD: number; + DOM_KEY_LOCATION_LEFT: number; + DOM_KEY_LOCATION_NUMPAD: number; + DOM_KEY_LOCATION_JOYSTICK: number; + DOM_KEY_LOCATION_MOBILE: number; +} + +interface MessageEvent extends Event { + source: Window; + origin: string; + data: any; + ports: any; + initMessageEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, dataArg: any, originArg: string, lastEventIdArg: string, sourceArg: Window): void; +} +declare var MessageEvent: { + prototype: MessageEvent; + new(): MessageEvent; +} + +interface SVGElement extends Element { + onmouseover: (ev: MouseEvent) => any; + viewportElement: SVGElement; + onmousemove: (ev: MouseEvent) => any; + onmouseout: (ev: MouseEvent) => any; + ondblclick: (ev: MouseEvent) => any; + onfocusout: (ev: FocusEvent) => any; + onfocusin: (ev: FocusEvent) => any; + xmlbase: string; + onmousedown: (ev: MouseEvent) => any; + onload: (ev: Event) => any; + onmouseup: (ev: MouseEvent) => any; + onclick: (ev: MouseEvent) => any; + ownerSVGElement: SVGSVGElement; + id: string; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgotpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mslostpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var SVGElement: { + prototype: SVGElement; + new(): SVGElement; +} + +interface HTMLScriptElement extends HTMLElement { + /** + * Sets or retrieves the status of the script. + */ + defer: boolean; + /** + * Retrieves or sets the text of the object as a string. + */ + text: string; + /** + * Retrieves the URL to an external file that contains the source code or data. + */ + src: string; + /** + * Sets or retrieves the object that is bound to the event script. + */ + htmlFor: string; + /** + * Sets or retrieves the character set used to encode the object. + */ + charset: string; + /** + * Sets or retrieves the MIME type for the associated scripting engine. + */ + type: string; + /** + * Sets or retrieves the event for which the script is written. + */ + event: string; + async: boolean; +} +declare var HTMLScriptElement: { + prototype: HTMLScriptElement; + new(): HTMLScriptElement; +} + +interface HTMLTableRowElement extends HTMLElement, HTMLTableAlignment, DOML2DeprecatedBackgroundColorStyle { + /** + * Retrieves the position of the object in the rows collection for the table. + */ + rowIndex: number; + /** + * Retrieves a collection of all cells in the table row. + */ + cells: HTMLCollection; + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + align: string; + /** + * Sets or retrieves the color for one of the two colors used to draw the 3-D border of the object. + */ + borderColorLight: any; + /** + * Retrieves the position of the object in the collection. + */ + sectionRowIndex: number; + /** + * Sets or retrieves the border color of the object. + */ + borderColor: any; + /** + * Sets or retrieves the height of the object. + */ + height: any; + /** + * Sets or retrieves the color for one of the two colors used to draw the 3-D border of the object. + */ + borderColorDark: any; + /** + * Removes the specified cell from the table row, as well as from the cells collection. + * @param index Number that specifies the zero-based position of the cell to remove from the table row. If no value is provided, the last cell in the cells collection is deleted. + */ + deleteCell(index?: number): void; + /** + * Creates a new cell in the table row, and adds the cell to the cells collection. + * @param index Number that specifies where to insert the cell in the tr. The default value is -1, which appends the new cell to the end of the cells collection. + */ + insertCell(index?: number): HTMLElement; +} +declare var HTMLTableRowElement: { + prototype: HTMLTableRowElement; + new(): HTMLTableRowElement; +} + +interface CanvasRenderingContext2D { + miterLimit: number; + font: string; + globalCompositeOperation: string; + msFillRule: string; + lineCap: string; + msImageSmoothingEnabled: boolean; + lineDashOffset: number; + shadowColor: string; + lineJoin: string; + shadowOffsetX: number; + lineWidth: number; + canvas: HTMLCanvasElement; + strokeStyle: any; + globalAlpha: number; + shadowOffsetY: number; + fillStyle: any; + shadowBlur: number; + textAlign: string; + textBaseline: string; + restore(): void; + setTransform(m11: number, m12: number, m21: number, m22: number, dx: number, dy: number): void; + save(): void; + arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; + measureText(text: string): TextMetrics; + isPointInPath(x: number, y: number, fillRule?: string): boolean; + quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void; + putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX?: number, dirtyY?: number, dirtyWidth?: number, dirtyHeight?: number): void; + rotate(angle: number): void; + fillText(text: string, x: number, y: number, maxWidth?: number): void; + translate(x: number, y: number): void; + scale(x: number, y: number): void; + createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient; + lineTo(x: number, y: number): void; + getLineDash(): number[]; + fill(fillRule?: string): void; + createImageData(imageDataOrSw: any, sh?: number): ImageData; + createPattern(image: HTMLElement, repetition: string): CanvasPattern; + closePath(): void; + rect(x: number, y: number, w: number, h: number): void; + clip(fillRule?: string): void; + clearRect(x: number, y: number, w: number, h: number): void; + moveTo(x: number, y: number): void; + getImageData(sx: number, sy: number, sw: number, sh: number): ImageData; + fillRect(x: number, y: number, w: number, h: number): void; + bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void; + drawImage(image: HTMLElement, offsetX: number, offsetY: number, width?: number, height?: number, canvasOffsetX?: number, canvasOffsetY?: number, canvasImageWidth?: number, canvasImageHeight?: number): void; + transform(m11: number, m12: number, m21: number, m22: number, dx: number, dy: number): void; + stroke(): void; + strokeRect(x: number, y: number, w: number, h: number): void; + setLineDash(segments: number[]): void; + strokeText(text: string, x: number, y: number, maxWidth?: number): void; + beginPath(): void; + arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void; + createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient; +} +declare var CanvasRenderingContext2D: { + prototype: CanvasRenderingContext2D; + new(): CanvasRenderingContext2D; +} + +interface MSCSSRuleList { + length: number; + item(index?: number): CSSStyleRule; + [index: number]: CSSStyleRule; +} +declare var MSCSSRuleList: { + prototype: MSCSSRuleList; + new(): MSCSSRuleList; +} + +interface SVGPathSegLinetoHorizontalAbs extends SVGPathSeg { + x: number; +} +declare var SVGPathSegLinetoHorizontalAbs: { + prototype: SVGPathSegLinetoHorizontalAbs; + new(): SVGPathSegLinetoHorizontalAbs; +} + +interface SVGPathSegArcAbs extends SVGPathSeg { + y: number; + sweepFlag: boolean; + r2: number; + x: number; + angle: number; + r1: number; + largeArcFlag: boolean; +} +declare var SVGPathSegArcAbs: { + prototype: SVGPathSegArcAbs; + new(): SVGPathSegArcAbs; +} + +interface SVGTransformList { + numberOfItems: number; + getItem(index: number): SVGTransform; + consolidate(): SVGTransform; + clear(): void; + appendItem(newItem: SVGTransform): SVGTransform; + initialize(newItem: SVGTransform): SVGTransform; + removeItem(index: number): SVGTransform; + insertItemBefore(newItem: SVGTransform, index: number): SVGTransform; + replaceItem(newItem: SVGTransform, index: number): SVGTransform; + createSVGTransformFromMatrix(matrix: SVGMatrix): SVGTransform; +} +declare var SVGTransformList: { + prototype: SVGTransformList; + new(): SVGTransformList; +} + +interface HTMLHtmlElement extends HTMLElement { + /** + * Sets or retrieves the DTD version that governs the current document. + */ + version: string; +} +declare var HTMLHtmlElement: { + prototype: HTMLHtmlElement; + new(): HTMLHtmlElement; +} + +interface SVGPathSegClosePath extends SVGPathSeg { +} +declare var SVGPathSegClosePath: { + prototype: SVGPathSegClosePath; + new(): SVGPathSegClosePath; +} + +interface HTMLFrameElement extends HTMLElement, GetSVGDocument, MSDataBindingExtensions { + /** + * Sets or retrieves the width of the object. + */ + width: any; + /** + * Sets or retrieves whether the frame can be scrolled. + */ + scrolling: string; + /** + * Sets or retrieves the top and bottom margin heights before displaying the text in a frame. + */ + marginHeight: string; + /** + * Sets or retrieves the left and right margin widths before displaying the text in a frame. + */ + marginWidth: string; + /** + * Sets or retrieves the border color of the object. + */ + borderColor: any; + /** + * Sets or retrieves the amount of additional space between the frames. + */ + frameSpacing: any; + /** + * Sets or retrieves whether to display a border for the frame. + */ + frameBorder: string; + /** + * Sets or retrieves whether the user can resize the frame. + */ + noResize: boolean; + /** + * Retrieves the object of the specified. + */ + contentWindow: Window; + /** + * Sets or retrieves a URL to be loaded by the object. + */ + src: string; + /** + * Sets or retrieves the frame name. + */ + name: string; + /** + * Sets or retrieves the height of the object. + */ + height: any; + /** + * Retrieves the document object of the page or frame. + */ + contentDocument: Document; + /** + * Specifies the properties of a border drawn around an object. + */ + border: string; + /** + * Sets or retrieves a URI to a long description of the object. + */ + longDesc: string; + /** + * Raised when the object has been completely received from the server. + */ + onload: (ev: Event) => any; + /** + * Sets the value indicating whether the source file of a frame or iframe has specific security restrictions applied. + */ + security: any; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgotpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mslostpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "move", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "datasetchanged", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsdelete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "losecapture", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "controlselect", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "layoutcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "filterchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "datasetcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "errorupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cellchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowexit", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsinserted", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "propertychange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "moveend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeeditfocus", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "afterupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizeend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dataavailable", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "movestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "rowenter", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mscontentzoom", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "msmanipulationstatechanged", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var HTMLFrameElement: { + prototype: HTMLFrameElement; + new(): HTMLFrameElement; +} + +interface SVGAnimatedLength { + animVal: SVGLength; + baseVal: SVGLength; +} +declare var SVGAnimatedLength: { + prototype: SVGAnimatedLength; + new(): SVGAnimatedLength; +} + +interface SVGAnimatedPoints { + points: SVGPointList; + animatedPoints: SVGPointList; +} + +interface SVGDefsElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired { +} +declare var SVGDefsElement: { + prototype: SVGDefsElement; + new(): SVGDefsElement; +} + +interface HTMLQuoteElement extends HTMLElement { + /** + * Sets or retrieves the date and time of a modification to the object. + */ + dateTime: string; + /** + * Sets or retrieves reference information about the object. + */ + cite: string; +} +declare var HTMLQuoteElement: { + prototype: HTMLQuoteElement; + new(): HTMLQuoteElement; +} + +interface CSSMediaRule extends CSSRule { + media: MediaList; + cssRules: CSSRuleList; + insertRule(rule: string, index?: number): number; + deleteRule(index?: number): void; +} +declare var CSSMediaRule: { + prototype: CSSMediaRule; + new(): CSSMediaRule; +} + +interface WindowModal { + dialogArguments: any; + returnValue: any; +} + +interface XMLHttpRequest extends EventTarget { + responseBody: any; + status: number; + readyState: number; + responseText: string; + responseXML: any; + ontimeout: (ev: Event) => any; + statusText: string; + onreadystatechange: (ev: Event) => any; + timeout: number; + onload: (ev: Event) => any; + response: any; + withCredentials: boolean; + onprogress: (ev: ProgressEvent) => any; + onabort: (ev: UIEvent) => any; + responseType: string; + onloadend: (ev: ProgressEvent) => any; + upload: XMLHttpRequestEventTarget; + onerror: (ev: ErrorEvent) => any; + onloadstart: (ev: Event) => any; + msCaching: string; + open(method: string, url: string, async?: boolean, user?: string, password?: string): void; + send(data?: any): void; + abort(): void; + getAllResponseHeaders(): string; + setRequestHeader(header: string, value: string): void; + getResponseHeader(header: string): string; + msCachingEnabled(): boolean; + overrideMimeType(mime: string): void; + LOADING: number; + DONE: number; + UNSENT: number; + OPENED: number; + HEADERS_RECEIVED: number; + addEventListener(type: "timeout", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadend", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var XMLHttpRequest: { + prototype: XMLHttpRequest; + new(): XMLHttpRequest; + LOADING: number; + DONE: number; + UNSENT: number; + OPENED: number; + HEADERS_RECEIVED: number; + create(): XMLHttpRequest; +} + +interface HTMLTableHeaderCellElement extends HTMLTableCellElement { + /** + * Sets or retrieves the group of cells in a table to which the object's information applies. + */ + scope: string; +} +declare var HTMLTableHeaderCellElement: { + prototype: HTMLTableHeaderCellElement; + new(): HTMLTableHeaderCellElement; +} + +interface HTMLDListElement extends HTMLElement, DOML2DeprecatedListSpaceReduction { +} +declare var HTMLDListElement: { + prototype: HTMLDListElement; + new(): HTMLDListElement; +} + +interface MSDataBindingExtensions { + dataSrc: string; + dataFormatAs: string; + dataFld: string; +} + +interface SVGPathSegLinetoHorizontalRel extends SVGPathSeg { + x: number; +} +declare var SVGPathSegLinetoHorizontalRel: { + prototype: SVGPathSegLinetoHorizontalRel; + new(): SVGPathSegLinetoHorizontalRel; +} + +interface SVGEllipseElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired { + ry: SVGAnimatedLength; + cx: SVGAnimatedLength; + rx: SVGAnimatedLength; + cy: SVGAnimatedLength; +} +declare var SVGEllipseElement: { + prototype: SVGEllipseElement; + new(): SVGEllipseElement; +} + +interface SVGAElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired, SVGURIReference { + target: SVGAnimatedString; +} +declare var SVGAElement: { + prototype: SVGAElement; + new(): SVGAElement; +} + +interface SVGStylable { + className: SVGAnimatedString; + style: CSSStyleDeclaration; +} + +interface SVGTransformable extends SVGLocatable { + transform: SVGAnimatedTransformList; +} + +interface HTMLFrameSetElement extends HTMLElement { + ononline: (ev: Event) => any; + /** + * Sets or retrieves the border color of the object. + */ + borderColor: any; + /** + * Sets or retrieves the frame heights of the object. + */ + rows: string; + /** + * Sets or retrieves the frame widths of the object. + */ + cols: string; + /** + * Fires when the object loses the input focus. + */ + onblur: (ev: FocusEvent) => any; + /** + * Sets or retrieves the amount of additional space between the frames. + */ + frameSpacing: any; + /** + * Fires when the object receives focus. + */ + onfocus: (ev: FocusEvent) => any; + onmessage: (ev: MessageEvent) => any; + onerror: (ev: ErrorEvent) => any; + /** + * Sets or retrieves whether to display a border for the frame. + */ + frameBorder: string; + onresize: (ev: UIEvent) => any; + name: string; + onafterprint: (ev: Event) => any; + onbeforeprint: (ev: Event) => any; + onoffline: (ev: Event) => any; + border: string; + onunload: (ev: Event) => any; + onhashchange: (ev: Event) => any; + onload: (ev: Event) => any; + onbeforeunload: (ev: BeforeUnloadEvent) => any; + onstorage: (ev: StorageEvent) => any; + onpageshow: (ev: PageTransitionEvent) => any; + onpagehide: (ev: PageTransitionEvent) => any; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgotpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mslostpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "move", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "datasetchanged", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsdelete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "losecapture", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "controlselect", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "layoutcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "filterchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "datasetcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "errorupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cellchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowexit", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsinserted", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "propertychange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "moveend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeeditfocus", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "afterupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizeend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dataavailable", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "movestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "rowenter", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mscontentzoom", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "msmanipulationstatechanged", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "online", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "afterprint", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeprint", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "offline", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "unload", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "hashchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeunload", listener: (ev: BeforeUnloadEvent) => any, useCapture?: boolean): void; + addEventListener(type: "storage", listener: (ev: StorageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pageshow", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pagehide", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var HTMLFrameSetElement: { + prototype: HTMLFrameSetElement; + new(): HTMLFrameSetElement; +} + +interface Screen extends EventTarget { + width: number; + deviceXDPI: number; + fontSmoothingEnabled: boolean; + bufferDepth: number; + logicalXDPI: number; + systemXDPI: number; + availHeight: number; + height: number; + logicalYDPI: number; + systemYDPI: number; + updateInterval: number; + colorDepth: number; + availWidth: number; + deviceYDPI: number; + pixelDepth: number; + msOrientation: string; + onmsorientationchange: (ev: any) => any; + msLockOrientation(orientation: string): boolean; + msLockOrientation(orientations: string[]): boolean; + msUnlockOrientation(): void; + addEventListener(type: "msorientationchange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var Screen: { + prototype: Screen; + new(): Screen; +} + +interface Coordinates { + altitudeAccuracy: number; + longitude: number; + latitude: number; + speed: number; + heading: number; + altitude: number; + accuracy: number; +} +declare var Coordinates: { + prototype: Coordinates; + new(): Coordinates; +} + +interface NavigatorGeolocation { + geolocation: Geolocation; +} + +interface NavigatorContentUtils { +} + +interface EventListener { + (evt: Event): void; +} + +interface SVGLangSpace { + xmllang: string; + xmlspace: string; +} + +interface DataTransfer { + effectAllowed: string; + dropEffect: string; + types: DOMStringList; + files: FileList; + clearData(format?: string): boolean; + setData(format: string, data: string): boolean; + getData(format: string): string; +} +declare var DataTransfer: { + prototype: DataTransfer; + new(): DataTransfer; +} + +interface FocusEvent extends UIEvent { + relatedTarget: EventTarget; + initFocusEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, relatedTargetArg: EventTarget): void; +} +declare var FocusEvent: { + prototype: FocusEvent; + new(): FocusEvent; +} + +interface Range { + startOffset: number; + collapsed: boolean; + endOffset: number; + startContainer: Node; + endContainer: Node; + commonAncestorContainer: Node; + setStart(refNode: Node, offset: number): void; + setEndBefore(refNode: Node): void; + setStartBefore(refNode: Node): void; + selectNode(refNode: Node): void; + detach(): void; + getBoundingClientRect(): ClientRect; + toString(): string; + compareBoundaryPoints(how: number, sourceRange: Range): number; + insertNode(newNode: Node): void; + collapse(toStart: boolean): void; + selectNodeContents(refNode: Node): void; + cloneContents(): DocumentFragment; + setEnd(refNode: Node, offset: number): void; + cloneRange(): Range; + getClientRects(): ClientRectList; + surroundContents(newParent: Node): void; + deleteContents(): void; + setStartAfter(refNode: Node): void; + extractContents(): DocumentFragment; + setEndAfter(refNode: Node): void; + createContextualFragment(fragment: string): DocumentFragment; + END_TO_END: number; + START_TO_START: number; + START_TO_END: number; + END_TO_START: number; +} +declare var Range: { + prototype: Range; + new(): Range; + END_TO_END: number; + START_TO_START: number; + START_TO_END: number; + END_TO_START: number; +} + +interface SVGPoint { + y: number; + x: number; + matrixTransform(matrix: SVGMatrix): SVGPoint; +} +declare var SVGPoint: { + prototype: SVGPoint; + new(): SVGPoint; +} + +interface MSPluginsCollection { + length: number; + refresh(reload?: boolean): void; +} +declare var MSPluginsCollection: { + prototype: MSPluginsCollection; + new(): MSPluginsCollection; +} + +interface SVGAnimatedNumberList { + animVal: SVGNumberList; + baseVal: SVGNumberList; +} +declare var SVGAnimatedNumberList: { + prototype: SVGAnimatedNumberList; + new(): SVGAnimatedNumberList; +} + +interface SVGSVGElement extends SVGElement, SVGStylable, SVGZoomAndPan, DocumentEvent, SVGLangSpace, SVGLocatable, SVGTests, SVGFitToViewBox, SVGExternalResourcesRequired { + width: SVGAnimatedLength; + x: SVGAnimatedLength; + contentStyleType: string; + onzoom: (ev: any) => any; + y: SVGAnimatedLength; + viewport: SVGRect; + onerror: (ev: ErrorEvent) => any; + pixelUnitToMillimeterY: number; + onresize: (ev: UIEvent) => any; + screenPixelToMillimeterY: number; + height: SVGAnimatedLength; + onabort: (ev: UIEvent) => any; + contentScriptType: string; + pixelUnitToMillimeterX: number; + currentTranslate: SVGPoint; + onunload: (ev: Event) => any; + currentScale: number; + onscroll: (ev: UIEvent) => any; + screenPixelToMillimeterX: number; + setCurrentTime(seconds: number): void; + createSVGLength(): SVGLength; + getIntersectionList(rect: SVGRect, referenceElement: SVGElement): NodeList; + unpauseAnimations(): void; + createSVGRect(): SVGRect; + checkIntersection(element: SVGElement, rect: SVGRect): boolean; + unsuspendRedrawAll(): void; + pauseAnimations(): void; + suspendRedraw(maxWaitMilliseconds: number): number; + deselectAll(): void; + createSVGAngle(): SVGAngle; + getEnclosureList(rect: SVGRect, referenceElement: SVGElement): NodeList; + createSVGTransform(): SVGTransform; + unsuspendRedraw(suspendHandleID: number): void; + forceRedraw(): void; + getCurrentTime(): number; + checkEnclosure(element: SVGElement, rect: SVGRect): boolean; + createSVGMatrix(): SVGMatrix; + createSVGPoint(): SVGPoint; + createSVGNumber(): SVGNumber; + createSVGTransformFromMatrix(matrix: SVGMatrix): SVGTransform; + getComputedStyle(elt: Element, pseudoElt?: string): CSSStyleDeclaration; + getElementById(elementId: string): Element; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgotpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mslostpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "zoom", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "unload", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var SVGSVGElement: { + prototype: SVGSVGElement; + new(): SVGSVGElement; +} + +interface HTMLLabelElement extends HTMLElement, MSDataBindingExtensions { + /** + * Sets or retrieves the object to which the given label object is assigned. + */ + htmlFor: string; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; +} +declare var HTMLLabelElement: { + prototype: HTMLLabelElement; + new(): HTMLLabelElement; +} + +interface MSResourceMetadata { + protocol: string; + fileSize: string; + fileUpdatedDate: string; + nameProp: string; + fileCreatedDate: string; + fileModifiedDate: string; + mimeType: string; +} + +interface HTMLLegendElement extends HTMLElement, MSDataBindingExtensions { + /** + * Retrieves a reference to the form that the object is embedded in. + */ + align: string; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; +} +declare var HTMLLegendElement: { + prototype: HTMLLegendElement; + new(): HTMLLegendElement; +} + +interface HTMLDirectoryElement extends HTMLElement, DOML2DeprecatedListSpaceReduction, DOML2DeprecatedListNumberingAndBulletStyle { +} +declare var HTMLDirectoryElement: { + prototype: HTMLDirectoryElement; + new(): HTMLDirectoryElement; +} + +interface SVGAnimatedInteger { + animVal: number; + baseVal: number; +} +declare var SVGAnimatedInteger: { + prototype: SVGAnimatedInteger; + new(): SVGAnimatedInteger; +} + +interface SVGTextElement extends SVGTextPositioningElement, SVGTransformable { +} +declare var SVGTextElement: { + prototype: SVGTextElement; + new(): SVGTextElement; +} + +interface SVGTSpanElement extends SVGTextPositioningElement { +} +declare var SVGTSpanElement: { + prototype: SVGTSpanElement; + new(): SVGTSpanElement; +} + +interface HTMLLIElement extends HTMLElement, DOML2DeprecatedListNumberingAndBulletStyle { + /** + * Sets or retrieves the value of a list item. + */ + value: number; +} +declare var HTMLLIElement: { + prototype: HTMLLIElement; + new(): HTMLLIElement; +} + +interface SVGPathSegLinetoVerticalAbs extends SVGPathSeg { + y: number; +} +declare var SVGPathSegLinetoVerticalAbs: { + prototype: SVGPathSegLinetoVerticalAbs; + new(): SVGPathSegLinetoVerticalAbs; +} + +interface MSStorageExtensions { + remainingSpace: number; +} + +interface SVGStyleElement extends SVGElement, SVGLangSpace { + media: string; + type: string; + title: string; +} +declare var SVGStyleElement: { + prototype: SVGStyleElement; + new(): SVGStyleElement; +} + +interface MSCurrentStyleCSSProperties extends MSCSSProperties { + blockDirection: string; + clipBottom: string; + clipLeft: string; + clipRight: string; + clipTop: string; + hasLayout: string; +} +declare var MSCurrentStyleCSSProperties: { + prototype: MSCurrentStyleCSSProperties; + new(): MSCurrentStyleCSSProperties; +} + +interface MSHTMLCollectionExtensions { + urns(urn: any): any; + tags(tagName: any): any; +} + +interface Storage extends MSStorageExtensions { + length: number; + getItem(key: string): any; + [key: string]: any; + setItem(key: string, data: string): void; + clear(): void; + removeItem(key: string): void; + key(index: number): string; + [index: number]: string; +} +declare var Storage: { + prototype: Storage; + new(): Storage; +} + +interface HTMLIFrameElement extends HTMLElement, GetSVGDocument, MSDataBindingExtensions { + /** + * Sets or retrieves the width of the object. + */ + width: string; + /** + * Sets or retrieves whether the frame can be scrolled. + */ + scrolling: string; + /** + * Sets or retrieves the top and bottom margin heights before displaying the text in a frame. + */ + marginHeight: string; + /** + * Sets or retrieves the left and right margin widths before displaying the text in a frame. + */ + marginWidth: string; + /** + * Sets or retrieves the amount of additional space between the frames. + */ + frameSpacing: any; + /** + * Sets or retrieves whether to display a border for the frame. + */ + frameBorder: string; + /** + * Sets or retrieves whether the user can resize the frame. + */ + noResize: boolean; + /** + * Sets or retrieves the vertical margin for the object. + */ + vspace: number; + /** + * Retrieves the object of the specified. + */ + contentWindow: Window; + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + align: string; + /** + * Sets or retrieves a URL to be loaded by the object. + */ + src: string; + /** + * Sets or retrieves the frame name. + */ + name: string; + /** + * Sets or retrieves the height of the object. + */ + height: string; + /** + * Specifies the properties of a border drawn around an object. + */ + border: string; + /** + * Retrieves the document object of the page or frame. + */ + contentDocument: Document; + /** + * Sets or retrieves the horizontal margin for the object. + */ + hspace: number; + /** + * Sets or retrieves a URI to a long description of the object. + */ + longDesc: string; + /** + * Sets the value indicating whether the source file of a frame or iframe has specific security restrictions applied. + */ + security: any; + /** + * Raised when the object has been completely received from the server. + */ + onload: (ev: Event) => any; + sandbox: DOMSettableTokenList; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgotpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mslostpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "move", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "datasetchanged", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsdelete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "losecapture", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "controlselect", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "layoutcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "filterchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "datasetcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "errorupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cellchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowexit", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsinserted", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "propertychange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "moveend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeeditfocus", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "afterupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizeend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dataavailable", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "movestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "rowenter", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mscontentzoom", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "msmanipulationstatechanged", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var HTMLIFrameElement: { + prototype: HTMLIFrameElement; + new(): HTMLIFrameElement; +} + +interface TextRangeCollection { + length: number; + item(index: number): TextRange; + [index: number]: TextRange; +} +declare var TextRangeCollection: { + prototype: TextRangeCollection; + new(): TextRangeCollection; +} + +interface HTMLBodyElement extends HTMLElement, DOML2DeprecatedBackgroundStyle, DOML2DeprecatedBackgroundColorStyle { + scroll: string; + ononline: (ev: Event) => any; + onblur: (ev: FocusEvent) => any; + noWrap: boolean; + onfocus: (ev: FocusEvent) => any; + onmessage: (ev: MessageEvent) => any; + text: any; + onerror: (ev: ErrorEvent) => any; + bgProperties: string; + onresize: (ev: UIEvent) => any; + link: any; + aLink: any; + bottomMargin: any; + topMargin: any; + onafterprint: (ev: Event) => any; + vLink: any; + onbeforeprint: (ev: Event) => any; + onoffline: (ev: Event) => any; + onunload: (ev: Event) => any; + onhashchange: (ev: Event) => any; + onload: (ev: Event) => any; + rightMargin: any; + onbeforeunload: (ev: BeforeUnloadEvent) => any; + leftMargin: any; + onstorage: (ev: StorageEvent) => any; + onpopstate: (ev: PopStateEvent) => any; + onpageshow: (ev: PageTransitionEvent) => any; + onpagehide: (ev: PageTransitionEvent) => any; + createTextRange(): TextRange; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgotpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mslostpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "move", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "datasetchanged", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsdelete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "losecapture", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "controlselect", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "layoutcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "filterchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "datasetcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "errorupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cellchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowexit", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsinserted", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "propertychange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "moveend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeeditfocus", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "afterupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizeend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dataavailable", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "movestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "rowenter", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mscontentzoom", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "msmanipulationstatechanged", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "online", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "afterprint", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeprint", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "offline", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "unload", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "hashchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeunload", listener: (ev: BeforeUnloadEvent) => any, useCapture?: boolean): void; + addEventListener(type: "storage", listener: (ev: StorageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "popstate", listener: (ev: PopStateEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pageshow", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pagehide", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var HTMLBodyElement: { + prototype: HTMLBodyElement; + new(): HTMLBodyElement; +} + +interface DocumentType extends Node { + name: string; + notations: NamedNodeMap; + systemId: string; + internalSubset: string; + entities: NamedNodeMap; + publicId: string; +} +declare var DocumentType: { + prototype: DocumentType; + new(): DocumentType; +} + +interface SVGRadialGradientElement extends SVGGradientElement { + cx: SVGAnimatedLength; + r: SVGAnimatedLength; + cy: SVGAnimatedLength; + fx: SVGAnimatedLength; + fy: SVGAnimatedLength; +} +declare var SVGRadialGradientElement: { + prototype: SVGRadialGradientElement; + new(): SVGRadialGradientElement; +} + +interface MutationEvent extends Event { + newValue: string; + attrChange: number; + attrName: string; + prevValue: string; + relatedNode: Node; + initMutationEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, relatedNodeArg: Node, prevValueArg: string, newValueArg: string, attrNameArg: string, attrChangeArg: number): void; + MODIFICATION: number; + REMOVAL: number; + ADDITION: number; +} +declare var MutationEvent: { + prototype: MutationEvent; + new(): MutationEvent; + MODIFICATION: number; + REMOVAL: number; + ADDITION: number; +} + +interface DragEvent extends MouseEvent { + dataTransfer: DataTransfer; + initDragEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget, dataTransferArg: DataTransfer): void; + msConvertURL(file: File, targetType: string, targetURL?: string): void; +} +declare var DragEvent: { + prototype: DragEvent; + new(): DragEvent; +} + +interface HTMLTableSectionElement extends HTMLElement, HTMLTableAlignment, DOML2DeprecatedBackgroundColorStyle { + /** + * Sets or retrieves a value that indicates the table alignment. + */ + align: string; + /** + * Sets or retrieves the number of horizontal rows contained in the object. + */ + rows: HTMLCollection; + /** + * Removes the specified row (tr) from the element and from the rows collection. + * @param index Number that specifies the zero-based position in the rows collection of the row to remove. + */ + deleteRow(index?: number): void; + /** + * Moves a table row to a new position. + * @param indexFrom Number that specifies the index in the rows collection of the table row that is moved. + * @param indexTo Number that specifies where the row is moved within the rows collection. + */ + moveRow(indexFrom?: number, indexTo?: number): any; + /** + * Creates a new row (tr) in the table, and adds the row to the rows collection. + * @param index Number that specifies where to insert the row in the rows collection. The default value is -1, which appends the new row to the end of the rows collection. + */ + insertRow(index?: number): HTMLElement; +} +declare var HTMLTableSectionElement: { + prototype: HTMLTableSectionElement; + new(): HTMLTableSectionElement; +} + +interface DOML2DeprecatedListNumberingAndBulletStyle { + type: string; +} + +interface HTMLInputElement extends HTMLElement, MSDataBindingExtensions { + /** + * Sets or retrieves the width of the object. + */ + width: string; + status: boolean; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; + /** + * Gets or sets the starting position or offset of a text selection. + */ + selectionStart: number; + indeterminate: boolean; + readOnly: boolean; + size: number; + loop: number; + /** + * Gets or sets the end position or offset of a text selection. + */ + selectionEnd: number; + /** + * Sets or retrieves the URL of the virtual reality modeling language (VRML) world to be displayed in the window. + */ + vrml: string; + /** + * Sets or retrieves a lower resolution image to display. + */ + lowsrc: string; + /** + * Sets or retrieves the vertical margin for the object. + */ + vspace: number; + /** + * Sets or retrieves a comma-separated list of content types. + */ + accept: string; + /** + * Sets or retrieves a text alternative to the graphic. + */ + alt: string; + /** + * Sets or retrieves the state of the check box or radio button. + */ + defaultChecked: boolean; + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + align: string; + /** + * Returns the value of the data at the cursor's current position. + */ + value: string; + /** + * The address or URL of the a media resource that is to be considered. + */ + src: string; + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. + */ + useMap: string; + /** + * Sets or retrieves the height of the object. + */ + height: string; + /** + * Sets or retrieves the width of the border to draw around the object. + */ + border: string; + dynsrc: string; + /** + * Sets or retrieves the state of the check box or radio button. + */ + checked: boolean; + /** + * Sets or retrieves the width of the border to draw around the object. + */ + hspace: number; + /** + * Sets or retrieves the maximum number of characters that the user can enter in a text control. + */ + maxLength: number; + /** + * Returns the content type of the object. + */ + type: string; + /** + * Sets or retrieves the initial contents of the object. + */ + defaultValue: string; + /** + * Retrieves whether the object is fully loaded. + */ + complete: boolean; + start: string; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + validationMessage: string; + /** + * Returns a FileList object on a file type input object. + */ + files: FileList; + /** + * Defines the maximum acceptable value for an input element with type="number".When used with the min and step attributes, lets you control the range and increment (such as only even numbers) that the user can enter into an input field. + */ + max: string; + /** + * Overrides the target attribute on a form element. + */ + formTarget: string; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + willValidate: boolean; + /** + * Defines an increment or jump between values that you want to allow the user to enter. When used with the max and min attributes, lets you control the range and increment (for example, allow only even numbers) that the user can enter into an input field. + */ + step: string; + /** + * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. + */ + autofocus: boolean; + /** + * When present, marks an element that can't be submitted without a value. + */ + required: boolean; + /** + * Used to override the encoding (formEnctype attribute) specified on the form element. + */ + formEnctype: string; + /** + * Returns the input field value as a number. + */ + valueAsNumber: number; + /** + * Gets or sets a text string that is displayed in an input field as a hint or prompt to users as the format or type of information they need to enter.The text appears in an input field until the user puts focus on the field. + */ + placeholder: string; + /** + * Overrides the submit method attribute previously specified on a form element. + */ + formMethod: string; + /** + * Specifies the ID of a pre-defined datalist of options for an input element. + */ + list: HTMLElement; + /** + * Specifies whether autocomplete is applied to an editable text field. + */ + autocomplete: string; + /** + * Defines the minimum acceptable value for an input element with type="number". When used with the max and step attributes, lets you control the range and increment (such as even numbers only) that the user can enter into an input field. + */ + min: string; + /** + * Overrides the action attribute (where the data on a form is sent) on the parent form element. + */ + formAction: string; + /** + * Gets or sets a string containing a regular expression that the user's input must match. + */ + pattern: string; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + validity: ValidityState; + /** + * Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a "save draft"-type submit option. + */ + formNoValidate: string; + /** + * Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list. + */ + multiple: boolean; + /** + * Creates a TextRange object for the element. + */ + createTextRange(): TextRange; + /** + * Sets the start and end positions of a selection in a text field. + * @param start The offset into the text field for the start of the selection. + * @param end The offset into the text field for the end of the selection. + */ + setSelectionRange(start: number, end: number): void; + /** + * Makes the selection equal to the current object. + */ + select(): void; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + /** + * Decrements a range input control's value by the value given by the Step attribute. If the optional parameter is used, it will decrement the input control's step value multiplied by the parameter's value. + * @param n Value to decrement the value by. + */ + stepDown(n?: number): void; + /** + * Increments a range input control's value by the value given by the Step attribute. If the optional parameter is used, will increment the input control's value by that value. + * @param n Value to increment the value by. + */ + stepUp(n?: number): void; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; +} +declare var HTMLInputElement: { + prototype: HTMLInputElement; + new(): HTMLInputElement; +} + +interface HTMLAnchorElement extends HTMLElement, MSDataBindingExtensions { + /** + * Sets or retrieves the relationship between the object and the destination of the link. + */ + rel: string; + /** + * Contains the protocol of the URL. + */ + protocol: string; + /** + * Sets or retrieves the substring of the href property that follows the question mark. + */ + search: string; + /** + * Sets or retrieves the coordinates of the object. + */ + coords: string; + /** + * Contains the hostname of a URL. + */ + hostname: string; + /** + * Contains the pathname of the URL. + */ + pathname: string; + Methods: string; + /** + * Sets or retrieves the window or frame at which to target content. + */ + target: string; + protocolLong: string; + /** + * Sets or retrieves a destination URL or an anchor point. + */ + href: string; + /** + * Sets or retrieves the shape of the object. + */ + name: string; + /** + * Sets or retrieves the character set used to encode the object. + */ + charset: string; + /** + * Sets or retrieves the language code of the object. + */ + hreflang: string; + /** + * Sets or retrieves the port number associated with a URL. + */ + port: string; + /** + * Contains the hostname and port values of the URL. + */ + host: string; + /** + * Contains the anchor portion of the URL including the hash sign (#). + */ + hash: string; + nameProp: string; + urn: string; + /** + * Sets or retrieves the relationship between the object and the destination of the link. + */ + rev: string; + /** + * Sets or retrieves the shape of the object. + */ + shape: string; + type: string; + mimeType: string; + /** + * Retrieves or sets the text of the object as a string. + */ + text: string; + /** + * Returns a string representation of an object. + */ + toString(): string; +} +declare var HTMLAnchorElement: { + prototype: HTMLAnchorElement; + new(): HTMLAnchorElement; +} + +interface HTMLParamElement extends HTMLElement { + /** + * Sets or retrieves the value of an input parameter for an element. + */ + value: string; + /** + * Sets or retrieves the name of an input parameter for an element. + */ + name: string; + /** + * Sets or retrieves the content type of the resource designated by the value attribute. + */ + type: string; + /** + * Sets or retrieves the data type of the value attribute. + */ + valueType: string; +} +declare var HTMLParamElement: { + prototype: HTMLParamElement; + new(): HTMLParamElement; +} + +interface SVGImageElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired, SVGURIReference { + y: SVGAnimatedLength; + width: SVGAnimatedLength; + preserveAspectRatio: SVGAnimatedPreserveAspectRatio; + x: SVGAnimatedLength; + height: SVGAnimatedLength; +} +declare var SVGImageElement: { + prototype: SVGImageElement; + new(): SVGImageElement; +} + +interface SVGAnimatedNumber { + animVal: number; + baseVal: number; +} +declare var SVGAnimatedNumber: { + prototype: SVGAnimatedNumber; + new(): SVGAnimatedNumber; +} + +interface PerformanceTiming { + redirectStart: number; + domainLookupEnd: number; + responseStart: number; + domComplete: number; + domainLookupStart: number; + loadEventStart: number; + msFirstPaint: number; + unloadEventEnd: number; + fetchStart: number; + requestStart: number; + domInteractive: number; + navigationStart: number; + connectEnd: number; + loadEventEnd: number; + connectStart: number; + responseEnd: number; + domLoading: number; + redirectEnd: number; + unloadEventStart: number; + domContentLoadedEventStart: number; + domContentLoadedEventEnd: number; + toJSON(): any; +} +declare var PerformanceTiming: { + prototype: PerformanceTiming; + new(): PerformanceTiming; +} + +interface HTMLPreElement extends HTMLElement, DOML2DeprecatedTextFlowControl { + /** + * Sets or gets a value that you can use to implement your own width functionality for the object. + */ + width: number; + /** + * Indicates a citation by rendering text in italic type. + */ + cite: string; +} +declare var HTMLPreElement: { + prototype: HTMLPreElement; + new(): HTMLPreElement; +} + +interface EventException { + code: number; + message: string; + name: string; + toString(): string; + DISPATCH_REQUEST_ERR: number; + UNSPECIFIED_EVENT_TYPE_ERR: number; +} +declare var EventException: { + prototype: EventException; + new(): EventException; + DISPATCH_REQUEST_ERR: number; + UNSPECIFIED_EVENT_TYPE_ERR: number; +} + +interface MSNavigatorDoNotTrack { + msDoNotTrack: string; + removeSiteSpecificTrackingException(args: ExceptionInformation): void; + removeWebWideTrackingException(args: ExceptionInformation): void; + storeWebWideTrackingException(args: StoreExceptionsInformation): void; + storeSiteSpecificTrackingException(args: StoreSiteSpecificExceptionsInformation): void; + confirmSiteSpecificTrackingException(args: ConfirmSiteSpecificExceptionsInformation): boolean; + confirmWebWideTrackingException(args: ExceptionInformation): boolean; +} + +interface NavigatorOnLine { + onLine: boolean; +} + +interface WindowLocalStorage { + localStorage: Storage; +} + +interface SVGMetadataElement extends SVGElement { +} +declare var SVGMetadataElement: { + prototype: SVGMetadataElement; + new(): SVGMetadataElement; +} + +interface SVGPathSegArcRel extends SVGPathSeg { + y: number; + sweepFlag: boolean; + r2: number; + x: number; + angle: number; + r1: number; + largeArcFlag: boolean; +} +declare var SVGPathSegArcRel: { + prototype: SVGPathSegArcRel; + new(): SVGPathSegArcRel; +} + +interface SVGPathSegMovetoAbs extends SVGPathSeg { + y: number; + x: number; +} +declare var SVGPathSegMovetoAbs: { + prototype: SVGPathSegMovetoAbs; + new(): SVGPathSegMovetoAbs; +} + +interface SVGStringList { + numberOfItems: number; + replaceItem(newItem: string, index: number): string; + getItem(index: number): string; + clear(): void; + appendItem(newItem: string): string; + initialize(newItem: string): string; + removeItem(index: number): string; + insertItemBefore(newItem: string, index: number): string; +} +declare var SVGStringList: { + prototype: SVGStringList; + new(): SVGStringList; +} + +interface XDomainRequest { + timeout: number; + onerror: (ev: ErrorEvent) => any; + onload: (ev: Event) => any; + onprogress: (ev: ProgressEvent) => any; + ontimeout: (ev: Event) => any; + responseText: string; + contentType: string; + open(method: string, url: string): void; + abort(): void; + send(data?: any): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeout", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var XDomainRequest: { + prototype: XDomainRequest; + new(): XDomainRequest; + create(): XDomainRequest; +} + +interface DOML2DeprecatedBackgroundColorStyle { + bgColor: any; +} + +interface ElementTraversal { + childElementCount: number; + previousElementSibling: Element; + lastElementChild: Element; + nextElementSibling: Element; + firstElementChild: Element; +} + +interface SVGLength { + valueAsString: string; + valueInSpecifiedUnits: number; + value: number; + unitType: number; + newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void; + convertToSpecifiedUnits(unitType: number): void; + SVG_LENGTHTYPE_NUMBER: number; + SVG_LENGTHTYPE_CM: number; + SVG_LENGTHTYPE_PC: number; + SVG_LENGTHTYPE_PERCENTAGE: number; + SVG_LENGTHTYPE_MM: number; + SVG_LENGTHTYPE_PT: number; + SVG_LENGTHTYPE_IN: number; + SVG_LENGTHTYPE_EMS: number; + SVG_LENGTHTYPE_PX: number; + SVG_LENGTHTYPE_UNKNOWN: number; + SVG_LENGTHTYPE_EXS: number; +} +declare var SVGLength: { + prototype: SVGLength; + new(): SVGLength; + SVG_LENGTHTYPE_NUMBER: number; + SVG_LENGTHTYPE_CM: number; + SVG_LENGTHTYPE_PC: number; + SVG_LENGTHTYPE_PERCENTAGE: number; + SVG_LENGTHTYPE_MM: number; + SVG_LENGTHTYPE_PT: number; + SVG_LENGTHTYPE_IN: number; + SVG_LENGTHTYPE_EMS: number; + SVG_LENGTHTYPE_PX: number; + SVG_LENGTHTYPE_UNKNOWN: number; + SVG_LENGTHTYPE_EXS: number; +} + +interface SVGPolygonElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGAnimatedPoints, SVGTests, SVGExternalResourcesRequired { +} +declare var SVGPolygonElement: { + prototype: SVGPolygonElement; + new(): SVGPolygonElement; +} + +interface HTMLPhraseElement extends HTMLElement { + /** + * Sets or retrieves the date and time of a modification to the object. + */ + dateTime: string; + /** + * Sets or retrieves reference information about the object. + */ + cite: string; +} +declare var HTMLPhraseElement: { + prototype: HTMLPhraseElement; + new(): HTMLPhraseElement; +} + +interface NavigatorStorageUtils { +} + +interface SVGPathSegCurvetoCubicRel extends SVGPathSeg { + y: number; + y1: number; + x2: number; + x: number; + x1: number; + y2: number; +} +declare var SVGPathSegCurvetoCubicRel: { + prototype: SVGPathSegCurvetoCubicRel; + new(): SVGPathSegCurvetoCubicRel; +} + +interface SVGTextContentElement extends SVGElement, SVGStylable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired { + textLength: SVGAnimatedLength; + lengthAdjust: SVGAnimatedEnumeration; + getCharNumAtPosition(point: SVGPoint): number; + getStartPositionOfChar(charnum: number): SVGPoint; + getExtentOfChar(charnum: number): SVGRect; + getComputedTextLength(): number; + getSubStringLength(charnum: number, nchars: number): number; + selectSubString(charnum: number, nchars: number): void; + getNumberOfChars(): number; + getRotationOfChar(charnum: number): number; + getEndPositionOfChar(charnum: number): SVGPoint; + LENGTHADJUST_SPACING: number; + LENGTHADJUST_SPACINGANDGLYPHS: number; + LENGTHADJUST_UNKNOWN: number; +} +declare var SVGTextContentElement: { + prototype: SVGTextContentElement; + new(): SVGTextContentElement; + LENGTHADJUST_SPACING: number; + LENGTHADJUST_SPACINGANDGLYPHS: number; + LENGTHADJUST_UNKNOWN: number; +} + +interface DOML2DeprecatedColorProperty { + color: string; +} + +interface Location { + hash: string; + protocol: string; + search: string; + href: string; + hostname: string; + port: string; + pathname: string; + host: string; + reload(flag?: boolean): void; + replace(url: string): void; + assign(url: string): void; + toString(): string; +} +declare var Location: { + prototype: Location; + new(): Location; +} + +interface HTMLTitleElement extends HTMLElement { + /** + * Retrieves or sets the text of the object as a string. + */ + text: string; +} +declare var HTMLTitleElement: { + prototype: HTMLTitleElement; + new(): HTMLTitleElement; +} + +interface HTMLStyleElement extends HTMLElement, LinkStyle { + /** + * Sets or retrieves the media type. + */ + media: string; + /** + * Retrieves the CSS language in which the style sheet is written. + */ + type: string; +} +declare var HTMLStyleElement: { + prototype: HTMLStyleElement; + new(): HTMLStyleElement; +} + +interface PerformanceEntry { + name: string; + startTime: number; + duration: number; + entryType: string; +} +declare var PerformanceEntry: { + prototype: PerformanceEntry; + new(): PerformanceEntry; +} + +interface SVGTransform { + type: number; + angle: number; + matrix: SVGMatrix; + setTranslate(tx: number, ty: number): void; + setScale(sx: number, sy: number): void; + setMatrix(matrix: SVGMatrix): void; + setSkewY(angle: number): void; + setRotate(angle: number, cx: number, cy: number): void; + setSkewX(angle: number): void; + SVG_TRANSFORM_SKEWX: number; + SVG_TRANSFORM_UNKNOWN: number; + SVG_TRANSFORM_SCALE: number; + SVG_TRANSFORM_TRANSLATE: number; + SVG_TRANSFORM_MATRIX: number; + SVG_TRANSFORM_ROTATE: number; + SVG_TRANSFORM_SKEWY: number; +} +declare var SVGTransform: { + prototype: SVGTransform; + new(): SVGTransform; + SVG_TRANSFORM_SKEWX: number; + SVG_TRANSFORM_UNKNOWN: number; + SVG_TRANSFORM_SCALE: number; + SVG_TRANSFORM_TRANSLATE: number; + SVG_TRANSFORM_MATRIX: number; + SVG_TRANSFORM_ROTATE: number; + SVG_TRANSFORM_SKEWY: number; +} + +interface UIEvent extends Event { + detail: number; + view: Window; + initUIEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number): void; +} +declare var UIEvent: { + prototype: UIEvent; + new(): UIEvent; +} + +interface SVGURIReference { + href: SVGAnimatedString; +} + +interface SVGPathSeg { + pathSegType: number; + pathSegTypeAsLetter: string; + PATHSEG_MOVETO_REL: number; + PATHSEG_LINETO_VERTICAL_REL: number; + PATHSEG_CURVETO_CUBIC_SMOOTH_ABS: number; + PATHSEG_CURVETO_QUADRATIC_REL: number; + PATHSEG_CURVETO_CUBIC_ABS: number; + PATHSEG_LINETO_HORIZONTAL_ABS: number; + PATHSEG_CURVETO_QUADRATIC_ABS: number; + PATHSEG_LINETO_ABS: number; + PATHSEG_CLOSEPATH: number; + PATHSEG_LINETO_HORIZONTAL_REL: number; + PATHSEG_CURVETO_CUBIC_SMOOTH_REL: number; + PATHSEG_LINETO_REL: number; + PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS: number; + PATHSEG_ARC_REL: number; + PATHSEG_CURVETO_CUBIC_REL: number; + PATHSEG_UNKNOWN: number; + PATHSEG_LINETO_VERTICAL_ABS: number; + PATHSEG_ARC_ABS: number; + PATHSEG_MOVETO_ABS: number; + PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL: number; +} +declare var SVGPathSeg: { + prototype: SVGPathSeg; + new(): SVGPathSeg; + PATHSEG_MOVETO_REL: number; + PATHSEG_LINETO_VERTICAL_REL: number; + PATHSEG_CURVETO_CUBIC_SMOOTH_ABS: number; + PATHSEG_CURVETO_QUADRATIC_REL: number; + PATHSEG_CURVETO_CUBIC_ABS: number; + PATHSEG_LINETO_HORIZONTAL_ABS: number; + PATHSEG_CURVETO_QUADRATIC_ABS: number; + PATHSEG_LINETO_ABS: number; + PATHSEG_CLOSEPATH: number; + PATHSEG_LINETO_HORIZONTAL_REL: number; + PATHSEG_CURVETO_CUBIC_SMOOTH_REL: number; + PATHSEG_LINETO_REL: number; + PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS: number; + PATHSEG_ARC_REL: number; + PATHSEG_CURVETO_CUBIC_REL: number; + PATHSEG_UNKNOWN: number; + PATHSEG_LINETO_VERTICAL_ABS: number; + PATHSEG_ARC_ABS: number; + PATHSEG_MOVETO_ABS: number; + PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL: number; +} + +interface WheelEvent extends MouseEvent { + deltaZ: number; + deltaX: number; + deltaMode: number; + deltaY: number; + initWheelEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, buttonArg: number, relatedTargetArg: EventTarget, modifiersListArg: string, deltaXArg: number, deltaYArg: number, deltaZArg: number, deltaMode: number): void; + getCurrentPoint(element: Element): void; + DOM_DELTA_PIXEL: number; + DOM_DELTA_LINE: number; + DOM_DELTA_PAGE: number; +} +declare var WheelEvent: { + prototype: WheelEvent; + new(): WheelEvent; + DOM_DELTA_PIXEL: number; + DOM_DELTA_LINE: number; + DOM_DELTA_PAGE: number; +} + +interface MSEventAttachmentTarget { + attachEvent(event: string, listener: EventListener): boolean; + detachEvent(event: string, listener: EventListener): void; +} + +interface SVGNumber { + value: number; +} +declare var SVGNumber: { + prototype: SVGNumber; + new(): SVGNumber; +} + +interface SVGPathElement extends SVGElement, SVGStylable, SVGAnimatedPathData, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired { + getPathSegAtLength(distance: number): number; + getPointAtLength(distance: number): SVGPoint; + createSVGPathSegCurvetoQuadraticAbs(x: number, y: number, x1: number, y1: number): SVGPathSegCurvetoQuadraticAbs; + createSVGPathSegLinetoRel(x: number, y: number): SVGPathSegLinetoRel; + createSVGPathSegCurvetoQuadraticRel(x: number, y: number, x1: number, y1: number): SVGPathSegCurvetoQuadraticRel; + createSVGPathSegCurvetoCubicAbs(x: number, y: number, x1: number, y1: number, x2: number, y2: number): SVGPathSegCurvetoCubicAbs; + createSVGPathSegLinetoAbs(x: number, y: number): SVGPathSegLinetoAbs; + createSVGPathSegClosePath(): SVGPathSegClosePath; + createSVGPathSegCurvetoCubicRel(x: number, y: number, x1: number, y1: number, x2: number, y2: number): SVGPathSegCurvetoCubicRel; + createSVGPathSegCurvetoQuadraticSmoothRel(x: number, y: number): SVGPathSegCurvetoQuadraticSmoothRel; + createSVGPathSegMovetoRel(x: number, y: number): SVGPathSegMovetoRel; + createSVGPathSegCurvetoCubicSmoothAbs(x: number, y: number, x2: number, y2: number): SVGPathSegCurvetoCubicSmoothAbs; + createSVGPathSegMovetoAbs(x: number, y: number): SVGPathSegMovetoAbs; + createSVGPathSegLinetoVerticalRel(y: number): SVGPathSegLinetoVerticalRel; + createSVGPathSegArcRel(x: number, y: number, r1: number, r2: number, angle: number, largeArcFlag: boolean, sweepFlag: boolean): SVGPathSegArcRel; + createSVGPathSegCurvetoQuadraticSmoothAbs(x: number, y: number): SVGPathSegCurvetoQuadraticSmoothAbs; + createSVGPathSegLinetoHorizontalRel(x: number): SVGPathSegLinetoHorizontalRel; + getTotalLength(): number; + createSVGPathSegCurvetoCubicSmoothRel(x: number, y: number, x2: number, y2: number): SVGPathSegCurvetoCubicSmoothRel; + createSVGPathSegLinetoHorizontalAbs(x: number): SVGPathSegLinetoHorizontalAbs; + createSVGPathSegLinetoVerticalAbs(y: number): SVGPathSegLinetoVerticalAbs; + createSVGPathSegArcAbs(x: number, y: number, r1: number, r2: number, angle: number, largeArcFlag: boolean, sweepFlag: boolean): SVGPathSegArcAbs; +} +declare var SVGPathElement: { + prototype: SVGPathElement; + new(): SVGPathElement; +} + +interface MSCompatibleInfo { + version: string; + userAgent: string; +} +declare var MSCompatibleInfo: { + prototype: MSCompatibleInfo; + new(): MSCompatibleInfo; +} + +interface Text extends CharacterData, MSNodeExtensions { + wholeText: string; + splitText(offset: number): Text; + replaceWholeText(content: string): Text; +} +declare var Text: { + prototype: Text; + new(): Text; +} + +interface SVGAnimatedRect { + animVal: SVGRect; + baseVal: SVGRect; +} +declare var SVGAnimatedRect: { + prototype: SVGAnimatedRect; + new(): SVGAnimatedRect; +} + +interface CSSNamespaceRule extends CSSRule { + namespaceURI: string; + prefix: string; +} +declare var CSSNamespaceRule: { + prototype: CSSNamespaceRule; + new(): CSSNamespaceRule; +} + +interface SVGPathSegList { + numberOfItems: number; + replaceItem(newItem: SVGPathSeg, index: number): SVGPathSeg; + getItem(index: number): SVGPathSeg; + clear(): void; + appendItem(newItem: SVGPathSeg): SVGPathSeg; + initialize(newItem: SVGPathSeg): SVGPathSeg; + removeItem(index: number): SVGPathSeg; + insertItemBefore(newItem: SVGPathSeg, index: number): SVGPathSeg; +} +declare var SVGPathSegList: { + prototype: SVGPathSegList; + new(): SVGPathSegList; +} + +interface HTMLUnknownElement extends HTMLElement, MSDataBindingRecordSetReadonlyExtensions { +} +declare var HTMLUnknownElement: { + prototype: HTMLUnknownElement; + new(): HTMLUnknownElement; +} + +interface HTMLAudioElement extends HTMLMediaElement { +} +declare var HTMLAudioElement: { + prototype: HTMLAudioElement; + new(): HTMLAudioElement; +} + +interface MSImageResourceExtensions { + dynsrc: string; + vrml: string; + lowsrc: string; + start: string; + loop: number; +} + +interface PositionError { + code: number; + message: string; + toString(): string; + POSITION_UNAVAILABLE: number; + PERMISSION_DENIED: number; + TIMEOUT: number; +} +declare var PositionError: { + prototype: PositionError; + new(): PositionError; + POSITION_UNAVAILABLE: number; + PERMISSION_DENIED: number; + TIMEOUT: number; +} + +interface HTMLTableCellElement extends HTMLElement, HTMLTableAlignment, DOML2DeprecatedBackgroundStyle, DOML2DeprecatedBackgroundColorStyle { + /** + * Sets or retrieves the width of the object. + */ + width: number; + /** + * Sets or retrieves a list of header cells that provide information for the object. + */ + headers: string; + /** + * Retrieves the position of the object in the cells collection of a row. + */ + cellIndex: number; + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + align: string; + /** + * Sets or retrieves the color for one of the two colors used to draw the 3-D border of the object. + */ + borderColorLight: any; + /** + * Sets or retrieves the number columns in the table that the object should span. + */ + colSpan: number; + /** + * Sets or retrieves the border color of the object. + */ + borderColor: any; + /** + * Sets or retrieves a comma-delimited list of conceptual categories associated with the object. + */ + axis: string; + /** + * Sets or retrieves the height of the object. + */ + height: any; + /** + * Sets or retrieves whether the browser automatically performs wordwrap. + */ + noWrap: boolean; + /** + * Sets or retrieves abbreviated text for the object. + */ + abbr: string; + /** + * Sets or retrieves how many rows in a table the cell should span. + */ + rowSpan: number; + /** + * Sets or retrieves the group of cells in a table to which the object's information applies. + */ + scope: string; + /** + * Sets or retrieves the color for one of the two colors used to draw the 3-D border of the object. + */ + borderColorDark: any; +} +declare var HTMLTableCellElement: { + prototype: HTMLTableCellElement; + new(): HTMLTableCellElement; +} + +interface SVGElementInstance extends EventTarget { + previousSibling: SVGElementInstance; + parentNode: SVGElementInstance; + lastChild: SVGElementInstance; + nextSibling: SVGElementInstance; + childNodes: SVGElementInstanceList; + correspondingUseElement: SVGUseElement; + correspondingElement: SVGElement; + firstChild: SVGElementInstance; +} +declare var SVGElementInstance: { + prototype: SVGElementInstance; + new(): SVGElementInstance; +} + +interface MSNamespaceInfoCollection { + length: number; + add(namespace?: string, urn?: string, implementationUrl?: any): any; + item(index: any): any; + // [index: any]: any; +} +declare var MSNamespaceInfoCollection: { + prototype: MSNamespaceInfoCollection; + new(): MSNamespaceInfoCollection; +} + +interface SVGCircleElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired { + cx: SVGAnimatedLength; + r: SVGAnimatedLength; + cy: SVGAnimatedLength; +} +declare var SVGCircleElement: { + prototype: SVGCircleElement; + new(): SVGCircleElement; +} + +interface StyleSheetList { + length: number; + item(index?: number): StyleSheet; + [index: number]: StyleSheet; +} +declare var StyleSheetList: { + prototype: StyleSheetList; + new(): StyleSheetList; +} + +interface CSSImportRule extends CSSRule { + styleSheet: CSSStyleSheet; + href: string; + media: MediaList; +} +declare var CSSImportRule: { + prototype: CSSImportRule; + new(): CSSImportRule; +} + +interface CustomEvent extends Event { + detail: any; + initCustomEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, detailArg: any): void; +} +declare var CustomEvent: { + prototype: CustomEvent; + new(): CustomEvent; +} + +interface HTMLBaseFontElement extends HTMLElement, DOML2DeprecatedColorProperty { + /** + * Sets or retrieves the current typeface family. + */ + face: string; + /** + * Sets or retrieves the font size of the object. + */ + size: number; +} +declare var HTMLBaseFontElement: { + prototype: HTMLBaseFontElement; + new(): HTMLBaseFontElement; +} + +interface HTMLTextAreaElement extends HTMLElement, MSDataBindingExtensions { + /** + * Retrieves or sets the text in the entry field of the textArea element. + */ + value: string; + /** + * Sets or retrieves the value indicating whether the control is selected. + */ + status: any; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Gets or sets the starting position or offset of a text selection. + */ + selectionStart: number; + /** + * Sets or retrieves the number of horizontal rows contained in the object. + */ + rows: number; + /** + * Sets or retrieves the width of the object. + */ + cols: number; + /** + * Sets or retrieves the value indicated whether the content of the object is read-only. + */ + readOnly: boolean; + /** + * Sets or retrieves how to handle wordwrapping in the object. + */ + wrap: string; + /** + * Gets or sets the end position or offset of a text selection. + */ + selectionEnd: number; + /** + * Retrieves the type of control. + */ + type: string; + /** + * Sets or retrieves the initial contents of the object. + */ + defaultValue: string; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + validationMessage: string; + /** + * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. + */ + autofocus: boolean; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + validity: ValidityState; + /** + * When present, marks an element that can't be submitted without a value. + */ + required: boolean; + /** + * Sets or retrieves the maximum number of characters that the user can enter in a text control. + */ + maxLength: number; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + willValidate: boolean; + /** + * Gets or sets a text string that is displayed in an input field as a hint or prompt to users as the format or type of information they need to enter.The text appears in an input field until the user puts focus on the field. + */ + placeholder: string; + /** + * Creates a TextRange object for the element. + */ + createTextRange(): TextRange; + /** + * Sets the start and end positions of a selection in a text field. + * @param start The offset into the text field for the start of the selection. + * @param end The offset into the text field for the end of the selection. + */ + setSelectionRange(start: number, end: number): void; + /** + * Highlights the input area of a form element. + */ + select(): void; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; +} +declare var HTMLTextAreaElement: { + prototype: HTMLTextAreaElement; + new(): HTMLTextAreaElement; +} + +interface Geolocation { + clearWatch(watchId: number): void; + getCurrentPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): void; + watchPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): number; +} +declare var Geolocation: { + prototype: Geolocation; + new(): Geolocation; +} + +interface DOML2DeprecatedMarginStyle { + vspace: number; + hspace: number; +} + +interface MSWindowModeless { + dialogTop: any; + dialogLeft: any; + dialogWidth: any; + dialogHeight: any; + menuArguments: any; +} + +interface DOML2DeprecatedAlignmentStyle { + align: string; +} + +interface HTMLMarqueeElement extends HTMLElement, MSDataBindingExtensions, DOML2DeprecatedBackgroundColorStyle { + width: string; + onbounce: (ev: Event) => any; + vspace: number; + trueSpeed: boolean; + scrollAmount: number; + scrollDelay: number; + behavior: string; + height: string; + loop: number; + direction: string; + hspace: number; + onstart: (ev: Event) => any; + onfinish: (ev: Event) => any; + stop(): void; + start(): void; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgotpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mslostpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "move", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "datasetchanged", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsdelete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "losecapture", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "controlselect", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "layoutcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "filterchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "datasetcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "errorupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cellchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowexit", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsinserted", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "propertychange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "moveend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeeditfocus", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "afterupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizeend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dataavailable", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "movestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "rowenter", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mscontentzoom", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "msmanipulationstatechanged", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "bounce", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "start", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "finish", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var HTMLMarqueeElement: { + prototype: HTMLMarqueeElement; + new(): HTMLMarqueeElement; +} + +interface SVGRect { + y: number; + width: number; + x: number; + height: number; +} +declare var SVGRect: { + prototype: SVGRect; + new(): SVGRect; +} + +interface MSNodeExtensions { + swapNode(otherNode: Node): Node; + removeNode(deep?: boolean): Node; + replaceNode(replacement: Node): Node; +} + +interface History { + length: number; + state: any; + back(distance?: any): void; + forward(distance?: any): void; + go(delta?: any): void; + replaceState(statedata: any, title: string, url?: string): void; + pushState(statedata: any, title: string, url?: string): void; +} +declare var History: { + prototype: History; + new(): History; +} + +interface SVGPathSegCurvetoCubicAbs extends SVGPathSeg { + y: number; + y1: number; + x2: number; + x: number; + x1: number; + y2: number; +} +declare var SVGPathSegCurvetoCubicAbs: { + prototype: SVGPathSegCurvetoCubicAbs; + new(): SVGPathSegCurvetoCubicAbs; +} + +interface SVGPathSegCurvetoQuadraticAbs extends SVGPathSeg { + y: number; + y1: number; + x: number; + x1: number; +} +declare var SVGPathSegCurvetoQuadraticAbs: { + prototype: SVGPathSegCurvetoQuadraticAbs; + new(): SVGPathSegCurvetoQuadraticAbs; +} + +interface TimeRanges { + length: number; + start(index: number): number; + end(index: number): number; +} +declare var TimeRanges: { + prototype: TimeRanges; + new(): TimeRanges; +} + +interface CSSRule { + cssText: string; + parentStyleSheet: CSSStyleSheet; + parentRule: CSSRule; + type: number; + IMPORT_RULE: number; + MEDIA_RULE: number; + STYLE_RULE: number; + NAMESPACE_RULE: number; + PAGE_RULE: number; + UNKNOWN_RULE: number; + FONT_FACE_RULE: number; + CHARSET_RULE: number; + KEYFRAMES_RULE: number; + KEYFRAME_RULE: number; + VIEWPORT_RULE: number; +} +declare var CSSRule: { + prototype: CSSRule; + new(): CSSRule; + IMPORT_RULE: number; + MEDIA_RULE: number; + STYLE_RULE: number; + NAMESPACE_RULE: number; + PAGE_RULE: number; + UNKNOWN_RULE: number; + FONT_FACE_RULE: number; + CHARSET_RULE: number; + KEYFRAMES_RULE: number; + KEYFRAME_RULE: number; + VIEWPORT_RULE: number; +} + +interface SVGPathSegLinetoAbs extends SVGPathSeg { + y: number; + x: number; +} +declare var SVGPathSegLinetoAbs: { + prototype: SVGPathSegLinetoAbs; + new(): SVGPathSegLinetoAbs; +} + +interface HTMLModElement extends HTMLElement { + /** + * Sets or retrieves the date and time of a modification to the object. + */ + dateTime: string; + /** + * Sets or retrieves reference information about the object. + */ + cite: string; +} +declare var HTMLModElement: { + prototype: HTMLModElement; + new(): HTMLModElement; +} + +interface SVGMatrix { + e: number; + c: number; + a: number; + b: number; + d: number; + f: number; + multiply(secondMatrix: SVGMatrix): SVGMatrix; + flipY(): SVGMatrix; + skewY(angle: number): SVGMatrix; + inverse(): SVGMatrix; + scaleNonUniform(scaleFactorX: number, scaleFactorY: number): SVGMatrix; + rotate(angle: number): SVGMatrix; + flipX(): SVGMatrix; + translate(x: number, y: number): SVGMatrix; + scale(scaleFactor: number): SVGMatrix; + rotateFromVector(x: number, y: number): SVGMatrix; + skewX(angle: number): SVGMatrix; +} +declare var SVGMatrix: { + prototype: SVGMatrix; + new(): SVGMatrix; +} + +interface MSPopupWindow { + document: Document; + isOpen: boolean; + show(x: number, y: number, w: number, h: number, element?: any): void; + hide(): void; +} +declare var MSPopupWindow: { + prototype: MSPopupWindow; + new(): MSPopupWindow; +} + +interface BeforeUnloadEvent extends Event { + returnValue: string; +} +declare var BeforeUnloadEvent: { + prototype: BeforeUnloadEvent; + new(): BeforeUnloadEvent; +} + +interface SVGUseElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired, SVGURIReference { + y: SVGAnimatedLength; + width: SVGAnimatedLength; + animatedInstanceRoot: SVGElementInstance; + instanceRoot: SVGElementInstance; + x: SVGAnimatedLength; + height: SVGAnimatedLength; +} +declare var SVGUseElement: { + prototype: SVGUseElement; + new(): SVGUseElement; +} + +interface Event { + timeStamp: number; + defaultPrevented: boolean; + isTrusted: boolean; + currentTarget: EventTarget; + cancelBubble: boolean; + target: EventTarget; + eventPhase: number; + cancelable: boolean; + type: string; + srcElement: Element; + bubbles: boolean; + initEvent(eventTypeArg: string, canBubbleArg: boolean, cancelableArg: boolean): void; + stopPropagation(): void; + stopImmediatePropagation(): void; + preventDefault(): void; + CAPTURING_PHASE: number; + AT_TARGET: number; + BUBBLING_PHASE: number; +} +declare var Event: { + prototype: Event; + new(): Event; + CAPTURING_PHASE: number; + AT_TARGET: number; + BUBBLING_PHASE: number; +} + +interface ImageData { + width: number; + data: number[]; + height: number; +} +declare var ImageData: { + prototype: ImageData; + new(): ImageData; +} + +interface HTMLTableColElement extends HTMLElement, HTMLTableAlignment { + /** + * Sets or retrieves the width of the object. + */ + width: any; + /** + * Sets or retrieves the alignment of the object relative to the display or table. + */ + align: string; + /** + * Sets or retrieves the number of columns in the group. + */ + span: number; +} +declare var HTMLTableColElement: { + prototype: HTMLTableColElement; + new(): HTMLTableColElement; +} + +interface SVGException { + code: number; + message: string; + name: string; + toString(): string; + SVG_MATRIX_NOT_INVERTABLE: number; + SVG_WRONG_TYPE_ERR: number; + SVG_INVALID_VALUE_ERR: number; +} +declare var SVGException: { + prototype: SVGException; + new(): SVGException; + SVG_MATRIX_NOT_INVERTABLE: number; + SVG_WRONG_TYPE_ERR: number; + SVG_INVALID_VALUE_ERR: number; +} + +interface SVGLinearGradientElement extends SVGGradientElement { + y1: SVGAnimatedLength; + x2: SVGAnimatedLength; + x1: SVGAnimatedLength; + y2: SVGAnimatedLength; +} +declare var SVGLinearGradientElement: { + prototype: SVGLinearGradientElement; + new(): SVGLinearGradientElement; +} + +interface HTMLTableAlignment { + /** + * Sets or retrieves a value that you can use to implement your own ch functionality for the object. + */ + ch: string; + /** + * Sets or retrieves how text and other content are vertically aligned within the object that contains them. + */ + vAlign: string; + /** + * Sets or retrieves a value that you can use to implement your own chOff functionality for the object. + */ + chOff: string; +} + +interface SVGAnimatedEnumeration { + animVal: number; + baseVal: number; +} +declare var SVGAnimatedEnumeration: { + prototype: SVGAnimatedEnumeration; + new(): SVGAnimatedEnumeration; +} + +interface DOML2DeprecatedSizeProperty { + size: number; +} + +interface HTMLUListElement extends HTMLElement, DOML2DeprecatedListSpaceReduction, DOML2DeprecatedListNumberingAndBulletStyle { +} +declare var HTMLUListElement: { + prototype: HTMLUListElement; + new(): HTMLUListElement; +} + +interface SVGRectElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired { + y: SVGAnimatedLength; + width: SVGAnimatedLength; + ry: SVGAnimatedLength; + rx: SVGAnimatedLength; + x: SVGAnimatedLength; + height: SVGAnimatedLength; +} +declare var SVGRectElement: { + prototype: SVGRectElement; + new(): SVGRectElement; +} + +interface ErrorEventHandler { + (event: Event, source: string, fileno: number, columnNumber: number): void; +} + +interface HTMLDivElement extends HTMLElement, MSDataBindingExtensions { + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + align: string; + /** + * Sets or retrieves whether the browser automatically performs wordwrap. + */ + noWrap: boolean; +} +declare var HTMLDivElement: { + prototype: HTMLDivElement; + new(): HTMLDivElement; +} + +interface DOML2DeprecatedBorderStyle { + border: string; +} + +interface NamedNodeMap { + length: number; + removeNamedItemNS(namespaceURI: string, localName: string): Attr; + item(index: number): Attr; + [index: number]: Attr; + removeNamedItem(name: string): Attr; + getNamedItem(name: string): Attr; + // [name: string]: Attr; + setNamedItem(arg: Attr): Attr; + getNamedItemNS(namespaceURI: string, localName: string): Attr; + setNamedItemNS(arg: Attr): Attr; +} +declare var NamedNodeMap: { + prototype: NamedNodeMap; + new(): NamedNodeMap; +} + +interface MediaList { + length: number; + mediaText: string; + deleteMedium(oldMedium: string): void; + appendMedium(newMedium: string): void; + item(index: number): string; + [index: number]: string; + toString(): string; +} +declare var MediaList: { + prototype: MediaList; + new(): MediaList; +} + +interface SVGPathSegCurvetoQuadraticSmoothAbs extends SVGPathSeg { + y: number; + x: number; +} +declare var SVGPathSegCurvetoQuadraticSmoothAbs: { + prototype: SVGPathSegCurvetoQuadraticSmoothAbs; + new(): SVGPathSegCurvetoQuadraticSmoothAbs; +} + +interface SVGPathSegCurvetoCubicSmoothRel extends SVGPathSeg { + y: number; + x2: number; + x: number; + y2: number; +} +declare var SVGPathSegCurvetoCubicSmoothRel: { + prototype: SVGPathSegCurvetoCubicSmoothRel; + new(): SVGPathSegCurvetoCubicSmoothRel; +} + +interface SVGLengthList { + numberOfItems: number; + replaceItem(newItem: SVGLength, index: number): SVGLength; + getItem(index: number): SVGLength; + clear(): void; + appendItem(newItem: SVGLength): SVGLength; + initialize(newItem: SVGLength): SVGLength; + removeItem(index: number): SVGLength; + insertItemBefore(newItem: SVGLength, index: number): SVGLength; +} +declare var SVGLengthList: { + prototype: SVGLengthList; + new(): SVGLengthList; +} + +interface ProcessingInstruction extends Node { + target: string; + data: string; +} +declare var ProcessingInstruction: { + prototype: ProcessingInstruction; + new(): ProcessingInstruction; +} + +interface MSWindowExtensions { + status: string; + onmouseleave: (ev: MouseEvent) => any; + screenLeft: number; + offscreenBuffering: any; + maxConnectionsPerServer: number; + onmouseenter: (ev: MouseEvent) => any; + clipboardData: DataTransfer; + defaultStatus: string; + clientInformation: Navigator; + closed: boolean; + onhelp: (ev: Event) => any; + external: External; + event: MSEventObj; + onfocusout: (ev: FocusEvent) => any; + screenTop: number; + onfocusin: (ev: FocusEvent) => any; + showModelessDialog(url?: string, argument?: any, options?: any): Window; + navigate(url: string): void; + resizeBy(x?: number, y?: number): void; + item(index: any): any; + resizeTo(x?: number, y?: number): void; + createPopup(arguments?: any): MSPopupWindow; + toStaticHTML(html: string): string; + execScript(code: string, language?: string): any; + msWriteProfilerMark(profilerMarkName: string): void; + moveTo(x?: number, y?: number): void; + moveBy(x?: number, y?: number): void; + showHelp(url: string, helpArg?: any, features?: string): void; + captureEvents(): void; + releaseEvents(): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} + +interface MSBehaviorUrnsCollection { + length: number; + item(index: number): string; +} +declare var MSBehaviorUrnsCollection: { + prototype: MSBehaviorUrnsCollection; + new(): MSBehaviorUrnsCollection; +} + +interface CSSFontFaceRule extends CSSRule { + style: CSSStyleDeclaration; +} +declare var CSSFontFaceRule: { + prototype: CSSFontFaceRule; + new(): CSSFontFaceRule; +} + +interface DOML2DeprecatedBackgroundStyle { + background: string; +} + +interface TextEvent extends UIEvent { + inputMethod: number; + data: string; + locale: string; + initTextEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, dataArg: string, inputMethod: number, locale: string): void; + DOM_INPUT_METHOD_KEYBOARD: number; + DOM_INPUT_METHOD_DROP: number; + DOM_INPUT_METHOD_IME: number; + DOM_INPUT_METHOD_SCRIPT: number; + DOM_INPUT_METHOD_VOICE: number; + DOM_INPUT_METHOD_UNKNOWN: number; + DOM_INPUT_METHOD_PASTE: number; + DOM_INPUT_METHOD_HANDWRITING: number; + DOM_INPUT_METHOD_OPTION: number; + DOM_INPUT_METHOD_MULTIMODAL: number; +} +declare var TextEvent: { + prototype: TextEvent; + new(): TextEvent; + DOM_INPUT_METHOD_KEYBOARD: number; + DOM_INPUT_METHOD_DROP: number; + DOM_INPUT_METHOD_IME: number; + DOM_INPUT_METHOD_SCRIPT: number; + DOM_INPUT_METHOD_VOICE: number; + DOM_INPUT_METHOD_UNKNOWN: number; + DOM_INPUT_METHOD_PASTE: number; + DOM_INPUT_METHOD_HANDWRITING: number; + DOM_INPUT_METHOD_OPTION: number; + DOM_INPUT_METHOD_MULTIMODAL: number; +} + +interface DocumentFragment extends Node, NodeSelector, MSEventAttachmentTarget, MSNodeExtensions { +} +declare var DocumentFragment: { + prototype: DocumentFragment; + new(): DocumentFragment; +} + +interface SVGPolylineElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGAnimatedPoints, SVGTests, SVGExternalResourcesRequired { +} +declare var SVGPolylineElement: { + prototype: SVGPolylineElement; + new(): SVGPolylineElement; +} + +interface SVGAnimatedPathData { + pathSegList: SVGPathSegList; +} + +interface Position { + timestamp: Date; + coords: Coordinates; +} +declare var Position: { + prototype: Position; + new(): Position; +} + +interface BookmarkCollection { + length: number; + item(index: number): any; + [index: number]: any; +} +declare var BookmarkCollection: { + prototype: BookmarkCollection; + new(): BookmarkCollection; +} + +interface PerformanceMark extends PerformanceEntry { +} +declare var PerformanceMark: { + prototype: PerformanceMark; + new(): PerformanceMark; +} + +interface CSSPageRule extends CSSRule { + pseudoClass: string; + selectorText: string; + selector: string; + style: CSSStyleDeclaration; +} +declare var CSSPageRule: { + prototype: CSSPageRule; + new(): CSSPageRule; +} + +interface HTMLBRElement extends HTMLElement { + /** + * Sets or retrieves the side on which floating objects are not to be positioned when any IHTMLBlockElement is inserted into the document. + */ + clear: string; +} +declare var HTMLBRElement: { + prototype: HTMLBRElement; + new(): HTMLBRElement; +} + +interface MSNavigatorExtensions { + userLanguage: string; + plugins: MSPluginsCollection; + cookieEnabled: boolean; + appCodeName: string; + cpuClass: string; + appMinorVersion: string; + connectionSpeed: number; + browserLanguage: string; + mimeTypes: MSMimeTypesCollection; + systemLanguage: string; + language: string; + javaEnabled(): boolean; + taintEnabled(): boolean; +} + +interface HTMLSpanElement extends HTMLElement, MSDataBindingExtensions { +} +declare var HTMLSpanElement: { + prototype: HTMLSpanElement; + new(): HTMLSpanElement; +} + +interface HTMLHeadElement extends HTMLElement { + profile: string; +} +declare var HTMLHeadElement: { + prototype: HTMLHeadElement; + new(): HTMLHeadElement; +} + +interface HTMLHeadingElement extends HTMLElement, DOML2DeprecatedTextFlowControl { + /** + * Sets or retrieves a value that indicates the table alignment. + */ + align: string; +} +declare var HTMLHeadingElement: { + prototype: HTMLHeadingElement; + new(): HTMLHeadingElement; +} + +interface HTMLFormElement extends HTMLElement, MSHTMLCollectionExtensions { + /** + * Sets or retrieves the number of objects in a collection. + */ + length: number; + /** + * Sets or retrieves the window or frame at which to target content. + */ + target: string; + /** + * Sets or retrieves a list of character encodings for input data that must be accepted by the server processing the form. + */ + acceptCharset: string; + /** + * Sets or retrieves the encoding type for the form. + */ + enctype: string; + /** + * Retrieves a collection, in source order, of all controls in a given form. + */ + elements: HTMLCollection; + /** + * Sets or retrieves the URL to which the form content is sent for processing. + */ + action: string; + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Sets or retrieves how to send the form data to the server. + */ + method: string; + /** + * Sets or retrieves the MIME encoding for the form. + */ + encoding: string; + /** + * Specifies whether autocomplete is applied to an editable text field. + */ + autocomplete: string; + /** + * Designates a form that is not validated when submitted. + */ + noValidate: boolean; + /** + * Fires when the user resets a form. + */ + reset(): void; + /** + * Retrieves a form object or an object from an elements collection. + * @param name Variant of type Number or String that specifies the object or collection to retrieve. If this parameter is a Number, it is the zero-based index of the object. If this parameter is a string, all objects with matching name or id properties are retrieved, and a collection is returned if more than one match is made. + * @param index Variant of type Number that specifies the zero-based index of the object to retrieve when a collection is returned. + */ + item(name?: any, index?: any): any; + /** + * Fires when a FORM is about to be submitted. + */ + submit(): void; + /** + * Retrieves a form object or an object from an elements collection. + */ + namedItem(name: string): any; + [name: string]: any; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; +} +declare var HTMLFormElement: { + prototype: HTMLFormElement; + new(): HTMLFormElement; +} + +interface SVGZoomAndPan { + zoomAndPan: number; + SVG_ZOOMANDPAN_MAGNIFY: number; + SVG_ZOOMANDPAN_UNKNOWN: number; + SVG_ZOOMANDPAN_DISABLE: number; +} +declare var SVGZoomAndPan: SVGZoomAndPan; + +interface HTMLMediaElement extends HTMLElement { + /** + * Gets the earliest possible position, in seconds, that the playback can begin. + */ + initialTime: number; + /** + * Gets TimeRanges for the current media resource that has been played. + */ + played: TimeRanges; + /** + * Gets the address or URL of the current media resource that is selected by IHTMLMediaElement. + */ + currentSrc: string; + readyState: any; + /** + * The autobuffer element is not supported by Internet Explorer 9. Use the preload element instead. + */ + autobuffer: boolean; + /** + * Gets or sets a flag to specify whether playback should restart after it completes. + */ + loop: boolean; + /** + * Gets information about whether the playback has ended or not. + */ + ended: boolean; + /** + * Gets a collection of buffered time ranges. + */ + buffered: TimeRanges; + /** + * Returns an object representing the current error state of the audio or video element. + */ + error: MediaError; + /** + * Returns a TimeRanges object that represents the ranges of the current media resource that can be seeked. + */ + seekable: TimeRanges; + /** + * Gets or sets a value that indicates whether to start playing the media automatically. + */ + autoplay: boolean; + /** + * Gets or sets a flag that indicates whether the client provides a set of controls for the media (in case the developer does not include controls for the player). + */ + controls: boolean; + /** + * Gets or sets the volume level for audio portions of the media element. + */ + volume: number; + /** + * The address or URL of the a media resource that is to be considered. + */ + src: string; + /** + * Gets or sets the current rate of speed for the media resource to play. This speed is expressed as a multiple of the normal speed of the media resource. + */ + playbackRate: number; + /** + * Returns the duration in seconds of the current media resource. A NaN value is returned if duration is not available, or Infinity if the media resource is streaming. + */ + duration: number; + /** + * Gets or sets a flag that indicates whether the audio (either audio or the audio track on video media) is muted. + */ + muted: boolean; + /** + * Gets or sets the default playback rate when the user is not using fast forward or reverse for a video or audio resource. + */ + defaultPlaybackRate: number; + /** + * Gets a flag that specifies whether playback is paused. + */ + paused: boolean; + /** + * Gets a flag that indicates whether the the client is currently moving to a new playback position in the media resource. + */ + seeking: boolean; + /** + * Gets or sets the current playback position, in seconds. + */ + currentTime: number; + /** + * Gets or sets the current playback position, in seconds. + */ + preload: string; + /** + * Gets the current network activity for the element. + */ + networkState: number; + /** + * Specifies the purpose of the audio or video media, such as background audio or alerts. + */ + msAudioCategory: string; + /** + * Specifies whether or not to enable low-latency playback on the media element. + */ + msRealTime: boolean; + /** + * Gets or sets the primary DLNA PlayTo device. + */ + msPlayToPrimary: boolean; + textTracks: TextTrackList; + /** + * Gets or sets whether the DLNA PlayTo device is available. + */ + msPlayToDisabled: boolean; + /** + * Returns an AudioTrackList object with the audio tracks for a given video element. + */ + audioTracks: AudioTrackList; + /** + * Gets the source associated with the media element for use by the PlayToManager. + */ + msPlayToSource: any; + /** + * Specifies the output device id that the audio will be sent to. + */ + msAudioDeviceType: string; + /** + * Gets or sets the path to the preferred media source. This enables the Play To target device to stream the media content, which can be DRM protected, from a different location, such as a cloud media server. + */ + msPlayToPreferredSourceUri: string; + onmsneedkey: (ev: MSMediaKeyNeededEvent) => any; + /** + * Gets the MSMediaKeys object, which is used for decrypting media data, that is associated with this media element. + */ + msKeys: MSMediaKeys; + msGraphicsTrustStatus: MSGraphicsTrust; + /** + * Pauses the current playback and sets paused to TRUE. This can be used to test whether the media is playing or paused. You can also use the pause or play events to tell whether the media is playing or not. + */ + pause(): void; + /** + * Loads and starts playback of a media resource. + */ + play(): void; + /** + * Fires immediately after the client loads the object. + */ + load(): void; + /** + * Returns a string that specifies whether the client can play a given media resource type. + */ + canPlayType(type: string): string; + /** + * Clears all effects from the media pipeline. + */ + msClearEffects(): void; + /** + * Specifies the media protection manager for a given media pipeline. + */ + msSetMediaProtectionManager(mediaProtectionManager?: any): void; + /** + * Inserts the specified audio effect into media pipeline. + */ + msInsertAudioEffect(activatableClassId: string, effectRequired: boolean, config?: any): void; + msSetMediaKeys(mediaKeys: MSMediaKeys): void; + addTextTrack(kind: string, label?: string, language?: string): TextTrack; + HAVE_METADATA: number; + HAVE_CURRENT_DATA: number; + HAVE_NOTHING: number; + NETWORK_NO_SOURCE: number; + HAVE_ENOUGH_DATA: number; + NETWORK_EMPTY: number; + NETWORK_LOADING: number; + NETWORK_IDLE: number; + HAVE_FUTURE_DATA: number; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgotpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mslostpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "move", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "datasetchanged", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsdelete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "losecapture", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "controlselect", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "layoutcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "filterchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "datasetcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "errorupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cellchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowexit", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsinserted", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "propertychange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "moveend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeeditfocus", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "afterupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizeend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dataavailable", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "movestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "rowenter", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mscontentzoom", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "msmanipulationstatechanged", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msneedkey", listener: (ev: MSMediaKeyNeededEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var HTMLMediaElement: { + prototype: HTMLMediaElement; + new(): HTMLMediaElement; + HAVE_METADATA: number; + HAVE_CURRENT_DATA: number; + HAVE_NOTHING: number; + NETWORK_NO_SOURCE: number; + HAVE_ENOUGH_DATA: number; + NETWORK_EMPTY: number; + NETWORK_LOADING: number; + NETWORK_IDLE: number; + HAVE_FUTURE_DATA: number; +} + +interface ElementCSSInlineStyle { + runtimeStyle: MSStyleCSSProperties; + currentStyle: MSCurrentStyleCSSProperties; + doScroll(component?: any): void; + componentFromPoint(x: number, y: number): string; +} + +interface DOMParser { + parseFromString(source: string, mimeType: string): Document; +} +declare var DOMParser: { + prototype: DOMParser; + new(): DOMParser; +} + +interface MSMimeTypesCollection { + length: number; +} +declare var MSMimeTypesCollection: { + prototype: MSMimeTypesCollection; + new(): MSMimeTypesCollection; +} + +interface StyleSheet { + disabled: boolean; + ownerNode: Node; + parentStyleSheet: StyleSheet; + href: string; + media: MediaList; + type: string; + title: string; +} +declare var StyleSheet: { + prototype: StyleSheet; + new(): StyleSheet; +} + +interface SVGTextPathElement extends SVGTextContentElement, SVGURIReference { + startOffset: SVGAnimatedLength; + method: SVGAnimatedEnumeration; + spacing: SVGAnimatedEnumeration; + TEXTPATH_SPACINGTYPE_EXACT: number; + TEXTPATH_METHODTYPE_STRETCH: number; + TEXTPATH_SPACINGTYPE_AUTO: number; + TEXTPATH_SPACINGTYPE_UNKNOWN: number; + TEXTPATH_METHODTYPE_UNKNOWN: number; + TEXTPATH_METHODTYPE_ALIGN: number; +} +declare var SVGTextPathElement: { + prototype: SVGTextPathElement; + new(): SVGTextPathElement; + TEXTPATH_SPACINGTYPE_EXACT: number; + TEXTPATH_METHODTYPE_STRETCH: number; + TEXTPATH_SPACINGTYPE_AUTO: number; + TEXTPATH_SPACINGTYPE_UNKNOWN: number; + TEXTPATH_METHODTYPE_UNKNOWN: number; + TEXTPATH_METHODTYPE_ALIGN: number; +} + +interface HTMLDTElement extends HTMLElement { + /** + * Sets or retrieves whether the browser automatically performs wordwrap. + */ + noWrap: boolean; +} +declare var HTMLDTElement: { + prototype: HTMLDTElement; + new(): HTMLDTElement; +} + +interface NodeList { + length: number; + item(index: number): Node; + [index: number]: Node; +} +declare var NodeList: { + prototype: NodeList; + new(): NodeList; +} + +interface XMLSerializer { + serializeToString(target: Node): string; +} +declare var XMLSerializer: { + prototype: XMLSerializer; + new(): XMLSerializer; +} + +interface PerformanceMeasure extends PerformanceEntry { +} +declare var PerformanceMeasure: { + prototype: PerformanceMeasure; + new(): PerformanceMeasure; +} + +interface SVGGradientElement extends SVGElement, SVGUnitTypes, SVGStylable, SVGExternalResourcesRequired, SVGURIReference { + spreadMethod: SVGAnimatedEnumeration; + gradientTransform: SVGAnimatedTransformList; + gradientUnits: SVGAnimatedEnumeration; + SVG_SPREADMETHOD_REFLECT: number; + SVG_SPREADMETHOD_PAD: number; + SVG_SPREADMETHOD_UNKNOWN: number; + SVG_SPREADMETHOD_REPEAT: number; +} +declare var SVGGradientElement: { + prototype: SVGGradientElement; + new(): SVGGradientElement; + SVG_SPREADMETHOD_REFLECT: number; + SVG_SPREADMETHOD_PAD: number; + SVG_SPREADMETHOD_UNKNOWN: number; + SVG_SPREADMETHOD_REPEAT: number; +} + +interface NodeFilter { + acceptNode(n: Node): number; + SHOW_ENTITY_REFERENCE: number; + SHOW_NOTATION: number; + SHOW_ENTITY: number; + SHOW_DOCUMENT: number; + SHOW_PROCESSING_INSTRUCTION: number; + FILTER_REJECT: number; + SHOW_CDATA_SECTION: number; + FILTER_ACCEPT: number; + SHOW_ALL: number; + SHOW_DOCUMENT_TYPE: number; + SHOW_TEXT: number; + SHOW_ELEMENT: number; + SHOW_COMMENT: number; + FILTER_SKIP: number; + SHOW_ATTRIBUTE: number; + SHOW_DOCUMENT_FRAGMENT: number; +} +declare var NodeFilter: NodeFilter; + +interface SVGNumberList { + numberOfItems: number; + replaceItem(newItem: SVGNumber, index: number): SVGNumber; + getItem(index: number): SVGNumber; + clear(): void; + appendItem(newItem: SVGNumber): SVGNumber; + initialize(newItem: SVGNumber): SVGNumber; + removeItem(index: number): SVGNumber; + insertItemBefore(newItem: SVGNumber, index: number): SVGNumber; +} +declare var SVGNumberList: { + prototype: SVGNumberList; + new(): SVGNumberList; +} + +interface MediaError { + code: number; + msExtendedCode: number; + MEDIA_ERR_ABORTED: number; + MEDIA_ERR_NETWORK: number; + MEDIA_ERR_SRC_NOT_SUPPORTED: number; + MEDIA_ERR_DECODE: number; + MS_MEDIA_ERR_ENCRYPTED: number; +} +declare var MediaError: { + prototype: MediaError; + new(): MediaError; + MEDIA_ERR_ABORTED: number; + MEDIA_ERR_NETWORK: number; + MEDIA_ERR_SRC_NOT_SUPPORTED: number; + MEDIA_ERR_DECODE: number; + MS_MEDIA_ERR_ENCRYPTED: number; +} + +interface HTMLFieldSetElement extends HTMLElement { + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + align: string; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + validationMessage: string; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + validity: ValidityState; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + willValidate: boolean; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; +} +declare var HTMLFieldSetElement: { + prototype: HTMLFieldSetElement; + new(): HTMLFieldSetElement; +} + +interface HTMLBGSoundElement extends HTMLElement { + /** + * Sets or gets the value indicating how the volume of the background sound is divided between the left speaker and the right speaker. + */ + balance: any; + /** + * Sets or gets the volume setting for the sound. + */ + volume: any; + /** + * Sets or gets the URL of a sound to play. + */ + src: string; + /** + * Sets or retrieves the number of times a sound or video clip will loop when activated. + */ + loop: number; +} +declare var HTMLBGSoundElement: { + prototype: HTMLBGSoundElement; + new(): HTMLBGSoundElement; +} + +interface Comment extends CharacterData { + text: string; +} +declare var Comment: { + prototype: Comment; + new(): Comment; +} + +interface PerformanceResourceTiming extends PerformanceEntry { + redirectStart: number; + redirectEnd: number; + domainLookupEnd: number; + responseStart: number; + domainLookupStart: number; + fetchStart: number; + requestStart: number; + connectEnd: number; + connectStart: number; + initiatorType: string; + responseEnd: number; +} +declare var PerformanceResourceTiming: { + prototype: PerformanceResourceTiming; + new(): PerformanceResourceTiming; +} + +interface CanvasPattern { +} +declare var CanvasPattern: { + prototype: CanvasPattern; + new(): CanvasPattern; +} + +interface HTMLHRElement extends HTMLElement, DOML2DeprecatedColorProperty, DOML2DeprecatedSizeProperty { + /** + * Sets or retrieves the width of the object. + */ + width: number; + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + align: string; + /** + * Sets or retrieves whether the horizontal rule is drawn with 3-D shading. + */ + noShade: boolean; +} +declare var HTMLHRElement: { + prototype: HTMLHRElement; + new(): HTMLHRElement; +} + +interface HTMLObjectElement extends HTMLElement, GetSVGDocument, DOML2DeprecatedMarginStyle, DOML2DeprecatedBorderStyle, DOML2DeprecatedAlignmentStyle, MSDataBindingExtensions, MSDataBindingRecordSetExtensions { + /** + * Sets or retrieves the width of the object. + */ + width: string; + /** + * Sets or retrieves the Internet media type for the code associated with the object. + */ + codeType: string; + /** + * Retrieves the contained object. + */ + object: any; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; + /** + * Sets or retrieves the URL of the file containing the compiled Java class. + */ + code: string; + /** + * Sets or retrieves a character string that can be used to implement your own archive functionality for the object. + */ + archive: string; + /** + * Sets or retrieves a message to be displayed while an object is loading. + */ + standby: string; + /** + * Sets or retrieves a text alternative to the graphic. + */ + alt: string; + /** + * Sets or retrieves the class identifier for the object. + */ + classid: string; + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. + */ + useMap: string; + /** + * Sets or retrieves the URL that references the data of the object. + */ + data: string; + /** + * Sets or retrieves the height of the object. + */ + height: string; + /** + * Retrieves the document object of the page or frame. + */ + contentDocument: Document; + /** + * Gets or sets the optional alternative HTML script to execute if the object fails to load. + */ + altHtml: string; + /** + * Sets or retrieves the URL of the component. + */ + codeBase: string; + declare: boolean; + /** + * Sets or retrieves the MIME type of the object. + */ + type: string; + /** + * Retrieves a string of the URL where the object tag can be found. This is often the href of the document that the object is in, or the value set by a base element. + */ + BaseHref: string; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + validationMessage: string; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + validity: ValidityState; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + willValidate: boolean; + /** + * Gets or sets the path to the preferred media source. This enables the Play To target device to stream the media content, which can be DRM protected, from a different location, such as a cloud media server. + */ + msPlayToPreferredSourceUri: string; + /** + * Gets or sets the primary DLNA PlayTo device. + */ + msPlayToPrimary: boolean; + /** + * Gets or sets whether the DLNA PlayTo device is available. + */ + msPlayToDisabled: boolean; + readyState: number; + /** + * Gets the source associated with the media element for use by the PlayToManager. + */ + msPlayToSource: any; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; +} +declare var HTMLObjectElement: { + prototype: HTMLObjectElement; + new(): HTMLObjectElement; +} + +interface HTMLEmbedElement extends HTMLElement, GetSVGDocument { + /** + * Sets or retrieves the width of the object. + */ + width: string; + /** + * Retrieves the palette used for the embedded document. + */ + palette: string; + /** + * Sets or retrieves a URL to be loaded by the object. + */ + src: string; + /** + * Sets or retrieves the name of the object. + */ + name: string; + hidden: string; + /** + * Retrieves the URL of the plug-in used to view an embedded document. + */ + pluginspage: string; + /** + * Sets or retrieves the height of the object. + */ + height: string; + /** + * Sets or retrieves the height and width units of the embed object. + */ + units: string; + /** + * Gets or sets the path to the preferred media source. This enables the Play To target device to stream the media content, which can be DRM protected, from a different location, such as a cloud media server. + */ + msPlayToPreferredSourceUri: string; + /** + * Gets or sets the primary DLNA PlayTo device. + */ + msPlayToPrimary: boolean; + /** + * Gets or sets whether the DLNA PlayTo device is available. + */ + msPlayToDisabled: boolean; + readyState: string; + /** + * Gets the source associated with the media element for use by the PlayToManager. + */ + msPlayToSource: any; +} +declare var HTMLEmbedElement: { + prototype: HTMLEmbedElement; + new(): HTMLEmbedElement; +} + +interface StorageEvent extends Event { + oldValue: any; + newValue: any; + url: string; + storageArea: Storage; + key: string; + initStorageEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, keyArg: string, oldValueArg: any, newValueArg: any, urlArg: string, storageAreaArg: Storage): void; +} +declare var StorageEvent: { + prototype: StorageEvent; + new(): StorageEvent; +} + +interface CharacterData extends Node { + length: number; + data: string; + deleteData(offset: number, count: number): void; + replaceData(offset: number, count: number, arg: string): void; + appendData(arg: string): void; + insertData(offset: number, arg: string): void; + substringData(offset: number, count: number): string; +} +declare var CharacterData: { + prototype: CharacterData; + new(): CharacterData; +} + +interface HTMLOptGroupElement extends HTMLElement, MSDataBindingExtensions { + /** + * Sets or retrieves the ordinal position of an option in a list box. + */ + index: number; + /** + * Sets or retrieves the status of an option. + */ + defaultSelected: boolean; + /** + * Sets or retrieves the text string specified by the option tag. + */ + text: string; + /** + * Sets or retrieves the value which is returned to the server when the form control is submitted. + */ + value: string; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; + /** + * Sets or retrieves a value that you can use to implement your own label functionality for the object. + */ + label: string; + /** + * Sets or retrieves whether the option in the list box is the default item. + */ + selected: boolean; +} +declare var HTMLOptGroupElement: { + prototype: HTMLOptGroupElement; + new(): HTMLOptGroupElement; +} + +interface HTMLIsIndexElement extends HTMLElement { + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; + /** + * Sets or retrieves the URL to which the form content is sent for processing. + */ + action: string; + prompt: string; +} +declare var HTMLIsIndexElement: { + prototype: HTMLIsIndexElement; + new(): HTMLIsIndexElement; +} + +interface SVGPathSegLinetoRel extends SVGPathSeg { + y: number; + x: number; +} +declare var SVGPathSegLinetoRel: { + prototype: SVGPathSegLinetoRel; + new(): SVGPathSegLinetoRel; +} + +interface DOMException { + code: number; + message: string; + name: string; + toString(): string; + HIERARCHY_REQUEST_ERR: number; + NO_MODIFICATION_ALLOWED_ERR: number; + INVALID_MODIFICATION_ERR: number; + NAMESPACE_ERR: number; + INVALID_CHARACTER_ERR: number; + TYPE_MISMATCH_ERR: number; + ABORT_ERR: number; + INVALID_STATE_ERR: number; + SECURITY_ERR: number; + NETWORK_ERR: number; + WRONG_DOCUMENT_ERR: number; + QUOTA_EXCEEDED_ERR: number; + INDEX_SIZE_ERR: number; + DOMSTRING_SIZE_ERR: number; + SYNTAX_ERR: number; + SERIALIZE_ERR: number; + VALIDATION_ERR: number; + NOT_FOUND_ERR: number; + URL_MISMATCH_ERR: number; + PARSE_ERR: number; + NO_DATA_ALLOWED_ERR: number; + NOT_SUPPORTED_ERR: number; + INVALID_ACCESS_ERR: number; + INUSE_ATTRIBUTE_ERR: number; + INVALID_NODE_TYPE_ERR: number; + DATA_CLONE_ERR: number; + TIMEOUT_ERR: number; +} +declare var DOMException: { + prototype: DOMException; + new(): DOMException; + HIERARCHY_REQUEST_ERR: number; + NO_MODIFICATION_ALLOWED_ERR: number; + INVALID_MODIFICATION_ERR: number; + NAMESPACE_ERR: number; + INVALID_CHARACTER_ERR: number; + TYPE_MISMATCH_ERR: number; + ABORT_ERR: number; + INVALID_STATE_ERR: number; + SECURITY_ERR: number; + NETWORK_ERR: number; + WRONG_DOCUMENT_ERR: number; + QUOTA_EXCEEDED_ERR: number; + INDEX_SIZE_ERR: number; + DOMSTRING_SIZE_ERR: number; + SYNTAX_ERR: number; + SERIALIZE_ERR: number; + VALIDATION_ERR: number; + NOT_FOUND_ERR: number; + URL_MISMATCH_ERR: number; + PARSE_ERR: number; + NO_DATA_ALLOWED_ERR: number; + NOT_SUPPORTED_ERR: number; + INVALID_ACCESS_ERR: number; + INUSE_ATTRIBUTE_ERR: number; + INVALID_NODE_TYPE_ERR: number; + DATA_CLONE_ERR: number; + TIMEOUT_ERR: number; +} + +interface SVGAnimatedBoolean { + animVal: boolean; + baseVal: boolean; +} +declare var SVGAnimatedBoolean: { + prototype: SVGAnimatedBoolean; + new(): SVGAnimatedBoolean; +} + +interface MSCompatibleInfoCollection { + length: number; + item(index: number): MSCompatibleInfo; +} +declare var MSCompatibleInfoCollection: { + prototype: MSCompatibleInfoCollection; + new(): MSCompatibleInfoCollection; +} + +interface SVGSwitchElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired { +} +declare var SVGSwitchElement: { + prototype: SVGSwitchElement; + new(): SVGSwitchElement; +} + +interface SVGPreserveAspectRatio { + align: number; + meetOrSlice: number; + SVG_PRESERVEASPECTRATIO_NONE: number; + SVG_PRESERVEASPECTRATIO_XMINYMID: number; + SVG_PRESERVEASPECTRATIO_XMAXYMIN: number; + SVG_PRESERVEASPECTRATIO_XMINYMAX: number; + SVG_PRESERVEASPECTRATIO_XMAXYMAX: number; + SVG_MEETORSLICE_UNKNOWN: number; + SVG_PRESERVEASPECTRATIO_XMAXYMID: number; + SVG_PRESERVEASPECTRATIO_XMIDYMAX: number; + SVG_PRESERVEASPECTRATIO_XMINYMIN: number; + SVG_MEETORSLICE_MEET: number; + SVG_PRESERVEASPECTRATIO_XMIDYMID: number; + SVG_PRESERVEASPECTRATIO_XMIDYMIN: number; + SVG_MEETORSLICE_SLICE: number; + SVG_PRESERVEASPECTRATIO_UNKNOWN: number; +} +declare var SVGPreserveAspectRatio: { + prototype: SVGPreserveAspectRatio; + new(): SVGPreserveAspectRatio; + SVG_PRESERVEASPECTRATIO_NONE: number; + SVG_PRESERVEASPECTRATIO_XMINYMID: number; + SVG_PRESERVEASPECTRATIO_XMAXYMIN: number; + SVG_PRESERVEASPECTRATIO_XMINYMAX: number; + SVG_PRESERVEASPECTRATIO_XMAXYMAX: number; + SVG_MEETORSLICE_UNKNOWN: number; + SVG_PRESERVEASPECTRATIO_XMAXYMID: number; + SVG_PRESERVEASPECTRATIO_XMIDYMAX: number; + SVG_PRESERVEASPECTRATIO_XMINYMIN: number; + SVG_MEETORSLICE_MEET: number; + SVG_PRESERVEASPECTRATIO_XMIDYMID: number; + SVG_PRESERVEASPECTRATIO_XMIDYMIN: number; + SVG_MEETORSLICE_SLICE: number; + SVG_PRESERVEASPECTRATIO_UNKNOWN: number; +} + +interface Attr extends Node { + expando: boolean; + specified: boolean; + ownerElement: Element; + value: string; + name: string; +} +declare var Attr: { + prototype: Attr; + new(): Attr; +} + +interface PerformanceNavigation { + redirectCount: number; + type: number; + toJSON(): any; + TYPE_RELOAD: number; + TYPE_RESERVED: number; + TYPE_BACK_FORWARD: number; + TYPE_NAVIGATE: number; +} +declare var PerformanceNavigation: { + prototype: PerformanceNavigation; + new(): PerformanceNavigation; + TYPE_RELOAD: number; + TYPE_RESERVED: number; + TYPE_BACK_FORWARD: number; + TYPE_NAVIGATE: number; +} + +interface SVGStopElement extends SVGElement, SVGStylable { + offset: SVGAnimatedNumber; +} +declare var SVGStopElement: { + prototype: SVGStopElement; + new(): SVGStopElement; +} + +interface PositionCallback { + (position: Position): void; +} + +interface SVGSymbolElement extends SVGElement, SVGStylable, SVGLangSpace, SVGFitToViewBox, SVGExternalResourcesRequired { +} +declare var SVGSymbolElement: { + prototype: SVGSymbolElement; + new(): SVGSymbolElement; +} + +interface SVGElementInstanceList { + length: number; + item(index: number): SVGElementInstance; +} +declare var SVGElementInstanceList: { + prototype: SVGElementInstanceList; + new(): SVGElementInstanceList; +} + +interface CSSRuleList { + length: number; + item(index: number): CSSRule; + [index: number]: CSSRule; +} +declare var CSSRuleList: { + prototype: CSSRuleList; + new(): CSSRuleList; +} + +interface MSDataBindingRecordSetExtensions { + recordset: any; + namedRecordset(dataMember: string, hierarchy?: any): any; +} + +interface LinkStyle { + styleSheet: StyleSheet; + sheet: StyleSheet; +} + +interface HTMLVideoElement extends HTMLMediaElement { + /** + * Gets or sets the width of the video element. + */ + width: number; + /** + * Gets the intrinsic width of a video in CSS pixels, or zero if the dimensions are not known. + */ + videoWidth: number; + /** + * Gets the intrinsic height of a video in CSS pixels, or zero if the dimensions are not known. + */ + videoHeight: number; + /** + * Gets or sets the height of the video element. + */ + height: number; + /** + * Gets or sets a URL of an image to display, for example, like a movie poster. This can be a still frame from the video, or another image if no video data is available. + */ + poster: string; + msIsStereo3D: boolean; + msStereo3DPackingMode: string; + onMSVideoOptimalLayoutChanged: (ev: any) => any; + onMSVideoFrameStepCompleted: (ev: any) => any; + msStereo3DRenderMode: string; + msIsLayoutOptimalForPlayback: boolean; + msHorizontalMirror: boolean; + onMSVideoFormatChanged: (ev: any) => any; + msZoom: boolean; + msInsertVideoEffect(activatableClassId: string, effectRequired: boolean, config?: any): void; + msSetVideoRectangle(left: number, top: number, right: number, bottom: number): void; + msFrameStep(forward: boolean): void; + getVideoPlaybackQuality(): VideoPlaybackQuality; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgotpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mslostpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "move", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "datasetchanged", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsdelete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "losecapture", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "controlselect", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "layoutcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "filterchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "datasetcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "errorupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cellchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowexit", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsinserted", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "propertychange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "moveend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeeditfocus", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "afterupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizeend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dataavailable", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "movestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "rowenter", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mscontentzoom", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "msmanipulationstatechanged", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msneedkey", listener: (ev: MSMediaKeyNeededEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSVideoOptimalLayoutChanged", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "MSVideoFrameStepCompleted", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "MSVideoFormatChanged", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var HTMLVideoElement: { + prototype: HTMLVideoElement; + new(): HTMLVideoElement; +} + +interface ClientRectList { + length: number; + item(index: number): ClientRect; + [index: number]: ClientRect; +} +declare var ClientRectList: { + prototype: ClientRectList; + new(): ClientRectList; +} + +interface SVGMaskElement extends SVGElement, SVGUnitTypes, SVGStylable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired { + y: SVGAnimatedLength; + width: SVGAnimatedLength; + maskUnits: SVGAnimatedEnumeration; + maskContentUnits: SVGAnimatedEnumeration; + x: SVGAnimatedLength; + height: SVGAnimatedLength; +} +declare var SVGMaskElement: { + prototype: SVGMaskElement; + new(): SVGMaskElement; +} + +interface External { +} +declare var External: { + prototype: External; + new(): External; +} + +interface MSGestureEvent extends UIEvent { + offsetY: number; + translationY: number; + velocityExpansion: number; + velocityY: number; + velocityAngular: number; + translationX: number; + velocityX: number; + hwTimestamp: number; + offsetX: number; + screenX: number; + rotation: number; + expansion: number; + clientY: number; + screenY: number; + scale: number; + gestureObject: any; + clientX: number; + initGestureEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, offsetXArg: number, offsetYArg: number, translationXArg: number, translationYArg: number, scaleArg: number, expansionArg: number, rotationArg: number, velocityXArg: number, velocityYArg: number, velocityExpansionArg: number, velocityAngularArg: number, hwTimestampArg: number): void; + MSGESTURE_FLAG_BEGIN: number; + MSGESTURE_FLAG_END: number; + MSGESTURE_FLAG_CANCEL: number; + MSGESTURE_FLAG_INERTIA: number; + MSGESTURE_FLAG_NONE: number; +} +declare var MSGestureEvent: { + prototype: MSGestureEvent; + new(): MSGestureEvent; + MSGESTURE_FLAG_BEGIN: number; + MSGESTURE_FLAG_END: number; + MSGESTURE_FLAG_CANCEL: number; + MSGESTURE_FLAG_INERTIA: number; + MSGESTURE_FLAG_NONE: number; +} + +interface ErrorEvent extends Event { + colno: number; + filename: string; + error: any; + lineno: number; + message: string; + initErrorEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, messageArg: string, filenameArg: string, linenoArg: number): void; +} +declare var ErrorEvent: { + prototype: ErrorEvent; + new(): ErrorEvent; +} + +interface SVGFilterElement extends SVGElement, SVGUnitTypes, SVGStylable, SVGLangSpace, SVGURIReference, SVGExternalResourcesRequired { + y: SVGAnimatedLength; + width: SVGAnimatedLength; + filterResX: SVGAnimatedInteger; + filterUnits: SVGAnimatedEnumeration; + primitiveUnits: SVGAnimatedEnumeration; + x: SVGAnimatedLength; + height: SVGAnimatedLength; + filterResY: SVGAnimatedInteger; + setFilterRes(filterResX: number, filterResY: number): void; +} +declare var SVGFilterElement: { + prototype: SVGFilterElement; + new(): SVGFilterElement; +} + +interface TrackEvent extends Event { + track: any; +} +declare var TrackEvent: { + prototype: TrackEvent; + new(): TrackEvent; +} + +interface SVGFEMergeNodeElement extends SVGElement { + in1: SVGAnimatedString; +} +declare var SVGFEMergeNodeElement: { + prototype: SVGFEMergeNodeElement; + new(): SVGFEMergeNodeElement; +} + +interface SVGFEFloodElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { +} +declare var SVGFEFloodElement: { + prototype: SVGFEFloodElement; + new(): SVGFEFloodElement; +} + +interface MSGesture { + target: Element; + addPointer(pointerId: number): void; + stop(): void; +} +declare var MSGesture: { + prototype: MSGesture; + new(): MSGesture; +} + +interface TextTrackCue extends EventTarget { + onenter: (ev: Event) => any; + track: TextTrack; + endTime: number; + text: string; + pauseOnExit: boolean; + id: string; + startTime: number; + onexit: (ev: Event) => any; + getCueAsHTML(): DocumentFragment; + addEventListener(type: "enter", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "exit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var TextTrackCue: { + prototype: TextTrackCue; + new(startTime: number, endTime: number, text: string): TextTrackCue; +} + +interface MSStreamReader extends MSBaseReader { + error: DOMError; + readAsArrayBuffer(stream: MSStream, size?: number): void; + readAsBlob(stream: MSStream, size?: number): void; + readAsDataURL(stream: MSStream, size?: number): void; + readAsText(stream: MSStream, encoding?: string, size?: number): void; +} +declare var MSStreamReader: { + prototype: MSStreamReader; + new(): MSStreamReader; +} + +interface DOMTokenList { + length: number; + contains(token: string): boolean; + remove(token: string): void; + toggle(token: string): boolean; + add(token: string): void; + item(index: number): string; + [index: number]: string; + toString(): string; +} +declare var DOMTokenList: { + prototype: DOMTokenList; + new(): DOMTokenList; +} + +interface SVGFEFuncAElement extends SVGComponentTransferFunctionElement { +} +declare var SVGFEFuncAElement: { + prototype: SVGFEFuncAElement; + new(): SVGFEFuncAElement; +} + +interface SVGFETileElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + in1: SVGAnimatedString; +} +declare var SVGFETileElement: { + prototype: SVGFETileElement; + new(): SVGFETileElement; +} + +interface SVGFEBlendElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + in2: SVGAnimatedString; + mode: SVGAnimatedEnumeration; + in1: SVGAnimatedString; + SVG_FEBLEND_MODE_DARKEN: number; + SVG_FEBLEND_MODE_UNKNOWN: number; + SVG_FEBLEND_MODE_MULTIPLY: number; + SVG_FEBLEND_MODE_NORMAL: number; + SVG_FEBLEND_MODE_SCREEN: number; + SVG_FEBLEND_MODE_LIGHTEN: number; +} +declare var SVGFEBlendElement: { + prototype: SVGFEBlendElement; + new(): SVGFEBlendElement; + SVG_FEBLEND_MODE_DARKEN: number; + SVG_FEBLEND_MODE_UNKNOWN: number; + SVG_FEBLEND_MODE_MULTIPLY: number; + SVG_FEBLEND_MODE_NORMAL: number; + SVG_FEBLEND_MODE_SCREEN: number; + SVG_FEBLEND_MODE_LIGHTEN: number; +} + +interface MessageChannel { + port2: MessagePort; + port1: MessagePort; +} +declare var MessageChannel: { + prototype: MessageChannel; + new(): MessageChannel; +} + +interface SVGFEMergeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { +} +declare var SVGFEMergeElement: { + prototype: SVGFEMergeElement; + new(): SVGFEMergeElement; +} + +interface TransitionEvent extends Event { + propertyName: string; + elapsedTime: number; + initTransitionEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, propertyNameArg: string, elapsedTimeArg: number): void; +} +declare var TransitionEvent: { + prototype: TransitionEvent; + new(): TransitionEvent; +} + +interface MediaQueryList { + matches: boolean; + media: string; + addListener(listener: MediaQueryListListener): void; + removeListener(listener: MediaQueryListListener): void; +} +declare var MediaQueryList: { + prototype: MediaQueryList; + new(): MediaQueryList; +} + +interface DOMError { + name: string; + toString(): string; +} +declare var DOMError: { + prototype: DOMError; + new(): DOMError; +} + +interface CloseEvent extends Event { + wasClean: boolean; + reason: string; + code: number; + initCloseEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, wasCleanArg: boolean, codeArg: number, reasonArg: string): void; +} +declare var CloseEvent: { + prototype: CloseEvent; + new(): CloseEvent; +} + +interface WebSocket extends EventTarget { + protocol: string; + readyState: number; + bufferedAmount: number; + onopen: (ev: Event) => any; + extensions: string; + onmessage: (ev: MessageEvent) => any; + onclose: (ev: CloseEvent) => any; + onerror: (ev: ErrorEvent) => any; + binaryType: string; + url: string; + close(code?: number, reason?: string): void; + send(data: any): void; + OPEN: number; + CLOSING: number; + CONNECTING: number; + CLOSED: number; + addEventListener(type: "open", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "close", listener: (ev: CloseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var WebSocket: { + prototype: WebSocket; + new(url: string, protocols?: string): WebSocket; + new(url: string, protocols?: string[]): WebSocket; + OPEN: number; + CLOSING: number; + CONNECTING: number; + CLOSED: number; +} + +interface SVGFEPointLightElement extends SVGElement { + y: SVGAnimatedNumber; + x: SVGAnimatedNumber; + z: SVGAnimatedNumber; +} +declare var SVGFEPointLightElement: { + prototype: SVGFEPointLightElement; + new(): SVGFEPointLightElement; +} + +interface ProgressEvent extends Event { + loaded: number; + lengthComputable: boolean; + total: number; + initProgressEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, lengthComputableArg: boolean, loadedArg: number, totalArg: number): void; +} +declare var ProgressEvent: { + prototype: ProgressEvent; + new(): ProgressEvent; +} + +interface IDBObjectStore { + indexNames: DOMStringList; + name: string; + transaction: IDBTransaction; + keyPath: string; + count(key?: any): IDBRequest; + add(value: any, key?: any): IDBRequest; + clear(): IDBRequest; + createIndex(name: string, keyPath: string, optionalParameters?: any): IDBIndex; + put(value: any, key?: any): IDBRequest; + openCursor(range?: any, direction?: string): IDBRequest; + deleteIndex(indexName: string): void; + index(name: string): IDBIndex; + get(key: any): IDBRequest; + delete(key: any): IDBRequest; +} +declare var IDBObjectStore: { + prototype: IDBObjectStore; + new(): IDBObjectStore; +} + +interface SVGFEGaussianBlurElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + stdDeviationX: SVGAnimatedNumber; + in1: SVGAnimatedString; + stdDeviationY: SVGAnimatedNumber; + setStdDeviation(stdDeviationX: number, stdDeviationY: number): void; +} +declare var SVGFEGaussianBlurElement: { + prototype: SVGFEGaussianBlurElement; + new(): SVGFEGaussianBlurElement; +} + +interface SVGFilterPrimitiveStandardAttributes extends SVGStylable { + y: SVGAnimatedLength; + width: SVGAnimatedLength; + x: SVGAnimatedLength; + height: SVGAnimatedLength; + result: SVGAnimatedString; +} + +interface IDBVersionChangeEvent extends Event { + newVersion: number; + oldVersion: number; +} +declare var IDBVersionChangeEvent: { + prototype: IDBVersionChangeEvent; + new(): IDBVersionChangeEvent; +} + +interface IDBIndex { + unique: boolean; + name: string; + keyPath: string; + objectStore: IDBObjectStore; + count(key?: any): IDBRequest; + getKey(key: any): IDBRequest; + openKeyCursor(range?: IDBKeyRange, direction?: string): IDBRequest; + get(key: any): IDBRequest; + openCursor(range?: IDBKeyRange, direction?: string): IDBRequest; +} +declare var IDBIndex: { + prototype: IDBIndex; + new(): IDBIndex; +} + +interface FileList { + length: number; + item(index: number): File; + [index: number]: File; +} +declare var FileList: { + prototype: FileList; + new(): FileList; +} + +interface IDBCursor { + source: any; + direction: string; + key: any; + primaryKey: any; + advance(count: number): void; + delete(): IDBRequest; + continue(key?: any): void; + update(value: any): IDBRequest; + PREV: string; + PREV_NO_DUPLICATE: string; + NEXT: string; + NEXT_NO_DUPLICATE: string; +} +declare var IDBCursor: { + prototype: IDBCursor; + new(): IDBCursor; + PREV: string; + PREV_NO_DUPLICATE: string; + NEXT: string; + NEXT_NO_DUPLICATE: string; +} + +interface SVGFESpecularLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + kernelUnitLengthY: SVGAnimatedNumber; + surfaceScale: SVGAnimatedNumber; + specularExponent: SVGAnimatedNumber; + in1: SVGAnimatedString; + kernelUnitLengthX: SVGAnimatedNumber; + specularConstant: SVGAnimatedNumber; +} +declare var SVGFESpecularLightingElement: { + prototype: SVGFESpecularLightingElement; + new(): SVGFESpecularLightingElement; +} + +interface File extends Blob { + lastModifiedDate: any; + name: string; +} +declare var File: { + prototype: File; + new(): File; +} + +interface URL { + revokeObjectURL(url: string): void; + createObjectURL(object: any, options?: ObjectURLOptions): string; +} +declare var URL: URL; + +interface IDBCursorWithValue extends IDBCursor { + value: any; +} +declare var IDBCursorWithValue: { + prototype: IDBCursorWithValue; + new(): IDBCursorWithValue; +} + +interface XMLHttpRequestEventTarget extends EventTarget { + onprogress: (ev: ProgressEvent) => any; + onerror: (ev: ErrorEvent) => any; + onload: (ev: Event) => any; + ontimeout: (ev: Event) => any; + onabort: (ev: UIEvent) => any; + onloadstart: (ev: Event) => any; + onloadend: (ev: ProgressEvent) => any; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "timeout", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadend", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var XMLHttpRequestEventTarget: { + prototype: XMLHttpRequestEventTarget; + new(): XMLHttpRequestEventTarget; +} + +interface IDBEnvironment { + msIndexedDB: IDBFactory; + indexedDB: IDBFactory; +} + +interface AudioTrackList extends EventTarget { + length: number; + onchange: (ev: Event) => any; + onaddtrack: (ev: TrackEvent) => any; + onremovetrack: (ev: any /*PluginArray*/) => any; + getTrackById(id: string): AudioTrack; + item(index: number): AudioTrack; + [index: number]: AudioTrack; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "addtrack", listener: (ev: TrackEvent) => any, useCapture?: boolean): void; + addEventListener(type: "removetrack", listener: (ev: any /*PluginArray*/) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var AudioTrackList: { + prototype: AudioTrackList; + new(): AudioTrackList; +} + +interface MSBaseReader extends EventTarget { + onprogress: (ev: ProgressEvent) => any; + readyState: number; + onabort: (ev: UIEvent) => any; + onloadend: (ev: ProgressEvent) => any; + onerror: (ev: ErrorEvent) => any; + onload: (ev: Event) => any; + onloadstart: (ev: Event) => any; + result: any; + abort(): void; + LOADING: number; + EMPTY: number; + DONE: number; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadend", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} + +interface SVGFEMorphologyElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + operator: SVGAnimatedEnumeration; + radiusX: SVGAnimatedNumber; + radiusY: SVGAnimatedNumber; + in1: SVGAnimatedString; + SVG_MORPHOLOGY_OPERATOR_UNKNOWN: number; + SVG_MORPHOLOGY_OPERATOR_ERODE: number; + SVG_MORPHOLOGY_OPERATOR_DILATE: number; +} +declare var SVGFEMorphologyElement: { + prototype: SVGFEMorphologyElement; + new(): SVGFEMorphologyElement; + SVG_MORPHOLOGY_OPERATOR_UNKNOWN: number; + SVG_MORPHOLOGY_OPERATOR_ERODE: number; + SVG_MORPHOLOGY_OPERATOR_DILATE: number; +} + +interface SVGFEFuncRElement extends SVGComponentTransferFunctionElement { +} +declare var SVGFEFuncRElement: { + prototype: SVGFEFuncRElement; + new(): SVGFEFuncRElement; +} + +interface WindowTimersExtension { + msSetImmediate(expression: any, ...args: any[]): number; + clearImmediate(handle: number): void; + msClearImmediate(handle: number): void; + setImmediate(expression: any, ...args: any[]): number; +} + +interface SVGFEDisplacementMapElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + in2: SVGAnimatedString; + xChannelSelector: SVGAnimatedEnumeration; + yChannelSelector: SVGAnimatedEnumeration; + scale: SVGAnimatedNumber; + in1: SVGAnimatedString; + SVG_CHANNEL_B: number; + SVG_CHANNEL_R: number; + SVG_CHANNEL_G: number; + SVG_CHANNEL_UNKNOWN: number; + SVG_CHANNEL_A: number; +} +declare var SVGFEDisplacementMapElement: { + prototype: SVGFEDisplacementMapElement; + new(): SVGFEDisplacementMapElement; + SVG_CHANNEL_B: number; + SVG_CHANNEL_R: number; + SVG_CHANNEL_G: number; + SVG_CHANNEL_UNKNOWN: number; + SVG_CHANNEL_A: number; +} + +interface AnimationEvent extends Event { + animationName: string; + elapsedTime: number; + initAnimationEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, animationNameArg: string, elapsedTimeArg: number): void; +} +declare var AnimationEvent: { + prototype: AnimationEvent; + new(): AnimationEvent; +} + +interface SVGComponentTransferFunctionElement extends SVGElement { + tableValues: SVGAnimatedNumberList; + slope: SVGAnimatedNumber; + type: SVGAnimatedEnumeration; + exponent: SVGAnimatedNumber; + amplitude: SVGAnimatedNumber; + intercept: SVGAnimatedNumber; + offset: SVGAnimatedNumber; + SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: number; + SVG_FECOMPONENTTRANSFER_TYPE_TABLE: number; + SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: number; + SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: number; + SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: number; + SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: number; +} +declare var SVGComponentTransferFunctionElement: { + prototype: SVGComponentTransferFunctionElement; + new(): SVGComponentTransferFunctionElement; + SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: number; + SVG_FECOMPONENTTRANSFER_TYPE_TABLE: number; + SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: number; + SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: number; + SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: number; + SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: number; +} + +interface MSRangeCollection { + length: number; + item(index: number): Range; + [index: number]: Range; +} +declare var MSRangeCollection: { + prototype: MSRangeCollection; + new(): MSRangeCollection; +} + +interface SVGFEDistantLightElement extends SVGElement { + azimuth: SVGAnimatedNumber; + elevation: SVGAnimatedNumber; +} +declare var SVGFEDistantLightElement: { + prototype: SVGFEDistantLightElement; + new(): SVGFEDistantLightElement; +} + +interface SVGFEFuncBElement extends SVGComponentTransferFunctionElement { +} +declare var SVGFEFuncBElement: { + prototype: SVGFEFuncBElement; + new(): SVGFEFuncBElement; +} + +interface IDBKeyRange { + upper: any; + upperOpen: boolean; + lower: any; + lowerOpen: boolean; +} +declare var IDBKeyRange: { + prototype: IDBKeyRange; + new(): IDBKeyRange; + bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange; + only(value: any): IDBKeyRange; + lowerBound(bound: any, open?: boolean): IDBKeyRange; + upperBound(bound: any, open?: boolean): IDBKeyRange; +} + +interface WindowConsole { + console: Console; +} + +interface IDBTransaction extends EventTarget { + oncomplete: (ev: Event) => any; + db: IDBDatabase; + mode: string; + error: DOMError; + onerror: (ev: ErrorEvent) => any; + onabort: (ev: UIEvent) => any; + abort(): void; + objectStore(name: string): IDBObjectStore; + READ_ONLY: string; + VERSION_CHANGE: string; + READ_WRITE: string; + addEventListener(type: "complete", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var IDBTransaction: { + prototype: IDBTransaction; + new(): IDBTransaction; + READ_ONLY: string; + VERSION_CHANGE: string; + READ_WRITE: string; +} + +interface AudioTrack { + kind: string; + language: string; + id: string; + label: string; + enabled: boolean; + sourceBuffer: SourceBuffer; +} +declare var AudioTrack: { + prototype: AudioTrack; + new(): AudioTrack; +} + +interface SVGFEConvolveMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + orderY: SVGAnimatedInteger; + kernelUnitLengthY: SVGAnimatedNumber; + orderX: SVGAnimatedInteger; + preserveAlpha: SVGAnimatedBoolean; + kernelMatrix: SVGAnimatedNumberList; + edgeMode: SVGAnimatedEnumeration; + kernelUnitLengthX: SVGAnimatedNumber; + bias: SVGAnimatedNumber; + targetX: SVGAnimatedInteger; + targetY: SVGAnimatedInteger; + divisor: SVGAnimatedNumber; + in1: SVGAnimatedString; + SVG_EDGEMODE_WRAP: number; + SVG_EDGEMODE_DUPLICATE: number; + SVG_EDGEMODE_UNKNOWN: number; + SVG_EDGEMODE_NONE: number; +} +declare var SVGFEConvolveMatrixElement: { + prototype: SVGFEConvolveMatrixElement; + new(): SVGFEConvolveMatrixElement; + SVG_EDGEMODE_WRAP: number; + SVG_EDGEMODE_DUPLICATE: number; + SVG_EDGEMODE_UNKNOWN: number; + SVG_EDGEMODE_NONE: number; +} + +interface TextTrackCueList { + length: number; + item(index: number): TextTrackCue; + [index: number]: TextTrackCue; + getCueById(id: string): TextTrackCue; +} +declare var TextTrackCueList: { + prototype: TextTrackCueList; + new(): TextTrackCueList; +} + +interface CSSKeyframesRule extends CSSRule { + name: string; + cssRules: CSSRuleList; + findRule(rule: string): CSSKeyframeRule; + deleteRule(rule: string): void; + appendRule(rule: string): void; +} +declare var CSSKeyframesRule: { + prototype: CSSKeyframesRule; + new(): CSSKeyframesRule; +} + +interface SVGFETurbulenceElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + baseFrequencyX: SVGAnimatedNumber; + numOctaves: SVGAnimatedInteger; + type: SVGAnimatedEnumeration; + baseFrequencyY: SVGAnimatedNumber; + stitchTiles: SVGAnimatedEnumeration; + seed: SVGAnimatedNumber; + SVG_STITCHTYPE_UNKNOWN: number; + SVG_STITCHTYPE_NOSTITCH: number; + SVG_TURBULENCE_TYPE_UNKNOWN: number; + SVG_TURBULENCE_TYPE_TURBULENCE: number; + SVG_TURBULENCE_TYPE_FRACTALNOISE: number; + SVG_STITCHTYPE_STITCH: number; +} +declare var SVGFETurbulenceElement: { + prototype: SVGFETurbulenceElement; + new(): SVGFETurbulenceElement; + SVG_STITCHTYPE_UNKNOWN: number; + SVG_STITCHTYPE_NOSTITCH: number; + SVG_TURBULENCE_TYPE_UNKNOWN: number; + SVG_TURBULENCE_TYPE_TURBULENCE: number; + SVG_TURBULENCE_TYPE_FRACTALNOISE: number; + SVG_STITCHTYPE_STITCH: number; +} + +interface TextTrackList extends EventTarget { + length: number; + onaddtrack: (ev: TrackEvent) => any; + item(index: number): TextTrack; + [index: number]: TextTrack; + addEventListener(type: "addtrack", listener: (ev: TrackEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var TextTrackList: { + prototype: TextTrackList; + new(): TextTrackList; +} + +interface SVGFEFuncGElement extends SVGComponentTransferFunctionElement { +} +declare var SVGFEFuncGElement: { + prototype: SVGFEFuncGElement; + new(): SVGFEFuncGElement; +} + +interface SVGFEColorMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + in1: SVGAnimatedString; + type: SVGAnimatedEnumeration; + values: SVGAnimatedNumberList; + SVG_FECOLORMATRIX_TYPE_SATURATE: number; + SVG_FECOLORMATRIX_TYPE_UNKNOWN: number; + SVG_FECOLORMATRIX_TYPE_MATRIX: number; + SVG_FECOLORMATRIX_TYPE_HUEROTATE: number; + SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: number; +} +declare var SVGFEColorMatrixElement: { + prototype: SVGFEColorMatrixElement; + new(): SVGFEColorMatrixElement; + SVG_FECOLORMATRIX_TYPE_SATURATE: number; + SVG_FECOLORMATRIX_TYPE_UNKNOWN: number; + SVG_FECOLORMATRIX_TYPE_MATRIX: number; + SVG_FECOLORMATRIX_TYPE_HUEROTATE: number; + SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: number; +} + +interface SVGFESpotLightElement extends SVGElement { + pointsAtY: SVGAnimatedNumber; + y: SVGAnimatedNumber; + limitingConeAngle: SVGAnimatedNumber; + specularExponent: SVGAnimatedNumber; + x: SVGAnimatedNumber; + pointsAtZ: SVGAnimatedNumber; + z: SVGAnimatedNumber; + pointsAtX: SVGAnimatedNumber; +} +declare var SVGFESpotLightElement: { + prototype: SVGFESpotLightElement; + new(): SVGFESpotLightElement; +} + +interface WindowBase64 { + btoa(rawString: string): string; + atob(encodedString: string): string; +} + +interface IDBDatabase extends EventTarget { + version: string; + name: string; + objectStoreNames: DOMStringList; + onerror: (ev: ErrorEvent) => any; + onabort: (ev: UIEvent) => any; + createObjectStore(name: string, optionalParameters?: any): IDBObjectStore; + close(): void; + transaction(storeNames: any, mode?: string): IDBTransaction; + deleteObjectStore(name: string): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var IDBDatabase: { + prototype: IDBDatabase; + new(): IDBDatabase; +} + +interface DOMStringList { + length: number; + contains(str: string): boolean; + item(index: number): string; + [index: number]: string; +} +declare var DOMStringList: { + prototype: DOMStringList; + new(): DOMStringList; +} + +interface IDBOpenDBRequest extends IDBRequest { + onupgradeneeded: (ev: IDBVersionChangeEvent) => any; + onblocked: (ev: Event) => any; + addEventListener(type: "success", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "upgradeneeded", listener: (ev: IDBVersionChangeEvent) => any, useCapture?: boolean): void; + addEventListener(type: "blocked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var IDBOpenDBRequest: { + prototype: IDBOpenDBRequest; + new(): IDBOpenDBRequest; +} + +interface HTMLProgressElement extends HTMLElement { + /** + * Sets or gets the current value of a progress element. The value must be a non-negative number between 0 and the max value. + */ + value: number; + /** + * Defines the maximum, or "done" value for a progress element. + */ + max: number; + /** + * Returns the quotient of value/max when the value attribute is set (determinate progress bar), or -1 when the value attribute is missing (indeterminate progress bar). + */ + position: number; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; +} +declare var HTMLProgressElement: { + prototype: HTMLProgressElement; + new(): HTMLProgressElement; +} + +interface MSLaunchUriCallback { + (): void; +} + +interface SVGFEOffsetElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + dy: SVGAnimatedNumber; + in1: SVGAnimatedString; + dx: SVGAnimatedNumber; +} +declare var SVGFEOffsetElement: { + prototype: SVGFEOffsetElement; + new(): SVGFEOffsetElement; +} + +interface MSUnsafeFunctionCallback { + (): any; +} + +interface TextTrack extends EventTarget { + language: string; + mode: any; + readyState: number; + activeCues: TextTrackCueList; + cues: TextTrackCueList; + oncuechange: (ev: Event) => any; + kind: string; + onload: (ev: Event) => any; + onerror: (ev: ErrorEvent) => any; + label: string; + addCue(cue: TextTrackCue): void; + removeCue(cue: TextTrackCue): void; + ERROR: number; + SHOWING: number; + LOADING: number; + LOADED: number; + NONE: number; + HIDDEN: number; + DISABLED: number; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var TextTrack: { + prototype: TextTrack; + new(): TextTrack; + ERROR: number; + SHOWING: number; + LOADING: number; + LOADED: number; + NONE: number; + HIDDEN: number; + DISABLED: number; +} + +interface MediaQueryListListener { + (mql: MediaQueryList): void; +} + +interface IDBRequest extends EventTarget { + source: any; + onsuccess: (ev: Event) => any; + error: DOMError; + transaction: IDBTransaction; + onerror: (ev: ErrorEvent) => any; + readyState: string; + result: any; + addEventListener(type: "success", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var IDBRequest: { + prototype: IDBRequest; + new(): IDBRequest; +} + +interface MessagePort extends EventTarget { + onmessage: (ev: MessageEvent) => any; + close(): void; + postMessage(message?: any, ports?: any): void; + start(): void; + addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var MessagePort: { + prototype: MessagePort; + new(): MessagePort; +} + +interface FileReader extends MSBaseReader { + error: DOMError; + readAsArrayBuffer(blob: Blob): void; + readAsDataURL(blob: Blob): void; + readAsText(blob: Blob, encoding?: string): void; +} +declare var FileReader: { + prototype: FileReader; + new(): FileReader; +} + +interface Blob { + type: string; + size: number; + msDetachStream(): any; + slice(start?: number, end?: number, contentType?: string): Blob; + msClose(): void; +} +declare var Blob: { + prototype: Blob; + new(): Blob; +} + +interface ApplicationCache extends EventTarget { + status: number; + ondownloading: (ev: Event) => any; + onprogress: (ev: ProgressEvent) => any; + onupdateready: (ev: Event) => any; + oncached: (ev: Event) => any; + onobsolete: (ev: Event) => any; + onerror: (ev: ErrorEvent) => any; + onchecking: (ev: Event) => any; + onnoupdate: (ev: Event) => any; + swapCache(): void; + abort(): void; + update(): void; + CHECKING: number; + UNCACHED: number; + UPDATEREADY: number; + DOWNLOADING: number; + IDLE: number; + OBSOLETE: number; + addEventListener(type: "downloading", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "updateready", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cached", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "obsolete", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "checking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "noupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var ApplicationCache: { + prototype: ApplicationCache; + new(): ApplicationCache; + CHECKING: number; + UNCACHED: number; + UPDATEREADY: number; + DOWNLOADING: number; + IDLE: number; + OBSOLETE: number; +} + +interface FrameRequestCallback { + (time: number): void; +} + +interface PopStateEvent extends Event { + state: any; + initPopStateEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, stateArg: any): void; +} +declare var PopStateEvent: { + prototype: PopStateEvent; + new(): PopStateEvent; +} + +interface CSSKeyframeRule extends CSSRule { + keyText: string; + style: CSSStyleDeclaration; +} +declare var CSSKeyframeRule: { + prototype: CSSKeyframeRule; + new(): CSSKeyframeRule; +} + +interface MSFileSaver { + msSaveBlob(blob: any, defaultName?: string): boolean; + msSaveOrOpenBlob(blob: any, defaultName?: string): boolean; +} + +interface MSStream { + type: string; + msDetachStream(): any; + msClose(): void; +} +declare var MSStream: { + prototype: MSStream; + new(): MSStream; +} + +interface MSBlobBuilder { + append(data: any, endings?: string): void; + getBlob(contentType?: string): Blob; +} +declare var MSBlobBuilder: { + prototype: MSBlobBuilder; + new(): MSBlobBuilder; +} + +interface DOMSettableTokenList extends DOMTokenList { + value: string; +} +declare var DOMSettableTokenList: { + prototype: DOMSettableTokenList; + new(): DOMSettableTokenList; +} + +interface IDBFactory { + open(name: string, version?: number): IDBOpenDBRequest; + cmp(first: any, second: any): number; + deleteDatabase(name: string): IDBOpenDBRequest; +} +declare var IDBFactory: { + prototype: IDBFactory; + new(): IDBFactory; +} + +interface MSPointerEvent extends MouseEvent { + width: number; + rotation: number; + pressure: number; + pointerType: any; + isPrimary: boolean; + tiltY: number; + height: number; + intermediatePoints: any; + currentPoint: any; + tiltX: number; + hwTimestamp: number; + pointerId: number; + initPointerEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget, offsetXArg: number, offsetYArg: number, widthArg: number, heightArg: number, pressure: number, rotation: number, tiltX: number, tiltY: number, pointerIdArg: number, pointerType: any, hwTimestampArg: number, isPrimary: boolean): void; + getCurrentPoint(element: Element): void; + getIntermediatePoints(element: Element): void; + MSPOINTER_TYPE_PEN: number; + MSPOINTER_TYPE_MOUSE: number; + MSPOINTER_TYPE_TOUCH: number; +} +declare var MSPointerEvent: { + prototype: MSPointerEvent; + new(): MSPointerEvent; + MSPOINTER_TYPE_PEN: number; + MSPOINTER_TYPE_MOUSE: number; + MSPOINTER_TYPE_TOUCH: number; +} + +interface MSManipulationEvent extends UIEvent { + lastState: number; + currentState: number; + initMSManipulationEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, lastState: number, currentState: number): void; + MS_MANIPULATION_STATE_STOPPED: number; + MS_MANIPULATION_STATE_ACTIVE: number; + MS_MANIPULATION_STATE_INERTIA: number; + MS_MANIPULATION_STATE_SELECTING: number; + MS_MANIPULATION_STATE_COMMITTED: number; + MS_MANIPULATION_STATE_PRESELECT: number; + MS_MANIPULATION_STATE_DRAGGING: number; + MS_MANIPULATION_STATE_CANCELLED: number; +} +declare var MSManipulationEvent: { + prototype: MSManipulationEvent; + new(): MSManipulationEvent; + MS_MANIPULATION_STATE_STOPPED: number; + MS_MANIPULATION_STATE_ACTIVE: number; + MS_MANIPULATION_STATE_INERTIA: number; + MS_MANIPULATION_STATE_SELECTING: number; + MS_MANIPULATION_STATE_COMMITTED: number; + MS_MANIPULATION_STATE_PRESELECT: number; + MS_MANIPULATION_STATE_DRAGGING: number; + MS_MANIPULATION_STATE_CANCELLED: number; +} + +interface FormData { + append(name: any, value: any, blobName?: string): void; +} +declare var FormData: { + prototype: FormData; + new(): FormData; +} + +interface HTMLDataListElement extends HTMLElement { + options: HTMLCollection; +} +declare var HTMLDataListElement: { + prototype: HTMLDataListElement; + new(): HTMLDataListElement; +} + +interface SVGFEImageElement extends SVGElement, SVGLangSpace, SVGFilterPrimitiveStandardAttributes, SVGURIReference, SVGExternalResourcesRequired { + preserveAspectRatio: SVGAnimatedPreserveAspectRatio; +} +declare var SVGFEImageElement: { + prototype: SVGFEImageElement; + new(): SVGFEImageElement; +} + +interface AbstractWorker extends EventTarget { + onerror: (ev: ErrorEvent) => any; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} + +interface SVGFECompositeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + operator: SVGAnimatedEnumeration; + in2: SVGAnimatedString; + k2: SVGAnimatedNumber; + k1: SVGAnimatedNumber; + k3: SVGAnimatedNumber; + in1: SVGAnimatedString; + k4: SVGAnimatedNumber; + SVG_FECOMPOSITE_OPERATOR_OUT: number; + SVG_FECOMPOSITE_OPERATOR_OVER: number; + SVG_FECOMPOSITE_OPERATOR_XOR: number; + SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: number; + SVG_FECOMPOSITE_OPERATOR_UNKNOWN: number; + SVG_FECOMPOSITE_OPERATOR_IN: number; + SVG_FECOMPOSITE_OPERATOR_ATOP: number; +} +declare var SVGFECompositeElement: { + prototype: SVGFECompositeElement; + new(): SVGFECompositeElement; + SVG_FECOMPOSITE_OPERATOR_OUT: number; + SVG_FECOMPOSITE_OPERATOR_OVER: number; + SVG_FECOMPOSITE_OPERATOR_XOR: number; + SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: number; + SVG_FECOMPOSITE_OPERATOR_UNKNOWN: number; + SVG_FECOMPOSITE_OPERATOR_IN: number; + SVG_FECOMPOSITE_OPERATOR_ATOP: number; +} + +interface ValidityState { + customError: boolean; + valueMissing: boolean; + stepMismatch: boolean; + rangeUnderflow: boolean; + rangeOverflow: boolean; + typeMismatch: boolean; + patternMismatch: boolean; + tooLong: boolean; + valid: boolean; +} +declare var ValidityState: { + prototype: ValidityState; + new(): ValidityState; +} + +interface HTMLTrackElement extends HTMLElement { + kind: string; + src: string; + srclang: string; + track: TextTrack; + label: string; + default: boolean; + readyState: number; + ERROR: number; + LOADING: number; + LOADED: number; + NONE: number; +} +declare var HTMLTrackElement: { + prototype: HTMLTrackElement; + new(): HTMLTrackElement; + ERROR: number; + LOADING: number; + LOADED: number; + NONE: number; +} + +interface MSApp { + createFileFromStorageFile(storageFile: any): File; + createBlobFromRandomAccessStream(type: string, seeker: any): Blob; + createStreamFromInputStream(type: string, inputStream: any): MSStream; + terminateApp(exceptionObject: any): void; + createDataPackage(object: any): any; + execUnsafeLocalFunction(unsafeFunction: MSUnsafeFunctionCallback): any; + getHtmlPrintDocumentSource(htmlDoc: any): any; + addPublicLocalApplicationUri(uri: string): void; + createDataPackageFromSelection(): any; + getViewOpener(): MSAppView; + suppressSubdownloadCredentialPrompts(suppress: boolean): void; + execAsyncAtPriority(asynchronousCallback: MSExecAtPriorityFunctionCallback, priority: string, ...args: any[]): void; + isTaskScheduledAtPriorityOrHigher(priority: string): boolean; + execAtPriority(synchronousCallback: MSExecAtPriorityFunctionCallback, priority: string, ...args: any[]): any; + createNewView(uri: string): MSAppView; + getCurrentPriority(): string; + NORMAL: string; + HIGH: string; + IDLE: string; + CURRENT: string; +} +declare var MSApp: MSApp; + +interface SVGFEComponentTransferElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + in1: SVGAnimatedString; +} +declare var SVGFEComponentTransferElement: { + prototype: SVGFEComponentTransferElement; + new(): SVGFEComponentTransferElement; +} + +interface SVGFEDiffuseLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + kernelUnitLengthY: SVGAnimatedNumber; + surfaceScale: SVGAnimatedNumber; + in1: SVGAnimatedString; + kernelUnitLengthX: SVGAnimatedNumber; + diffuseConstant: SVGAnimatedNumber; +} +declare var SVGFEDiffuseLightingElement: { + prototype: SVGFEDiffuseLightingElement; + new(): SVGFEDiffuseLightingElement; +} + +interface MSCSSMatrix { + m24: number; + m34: number; + a: number; + d: number; + m32: number; + m41: number; + m11: number; + f: number; + e: number; + m23: number; + m14: number; + m33: number; + m22: number; + m21: number; + c: number; + m12: number; + b: number; + m42: number; + m31: number; + m43: number; + m13: number; + m44: number; + multiply(secondMatrix: MSCSSMatrix): MSCSSMatrix; + skewY(angle: number): MSCSSMatrix; + setMatrixValue(value: string): void; + inverse(): MSCSSMatrix; + rotateAxisAngle(x: number, y: number, z: number, angle: number): MSCSSMatrix; + toString(): string; + rotate(angleX: number, angleY?: number, angleZ?: number): MSCSSMatrix; + translate(x: number, y: number, z?: number): MSCSSMatrix; + scale(scaleX: number, scaleY?: number, scaleZ?: number): MSCSSMatrix; + skewX(angle: number): MSCSSMatrix; +} +declare var MSCSSMatrix: { + prototype: MSCSSMatrix; + new(text?: string): MSCSSMatrix; +} + +interface Worker extends AbstractWorker { + onmessage: (ev: MessageEvent) => any; + postMessage(message: any, ports?: any): void; + terminate(): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var Worker: { + prototype: Worker; + new(stringUrl: string): Worker; +} + +interface MSExecAtPriorityFunctionCallback { + (...args: any[]): any; +} + +interface MSGraphicsTrust { + status: string; + constrictionActive: boolean; +} +declare var MSGraphicsTrust: { + prototype: MSGraphicsTrust; + new(): MSGraphicsTrust; +} + +interface SubtleCrypto { + unwrapKey(wrappedKey: ArrayBufferView, keyAlgorithm: any, keyEncryptionKey: Key, extractable?: boolean, keyUsages?: string[]): KeyOperation; + encrypt(algorithm: any, key: Key, buffer?: ArrayBufferView): CryptoOperation; + importKey(format: string, keyData: ArrayBufferView, algorithm: any, extractable?: boolean, keyUsages?: string[]): KeyOperation; + wrapKey(key: Key, keyEncryptionKey: Key, keyWrappingAlgorithm: any): KeyOperation; + verify(algorithm: any, key: Key, signature: ArrayBufferView, buffer?: ArrayBufferView): CryptoOperation; + deriveKey(algorithm: any, baseKey: Key, derivedKeyType: any, extractable?: boolean, keyUsages?: string[]): KeyOperation; + digest(algorithm: any, buffer?: ArrayBufferView): CryptoOperation; + exportKey(format: string, key: Key): KeyOperation; + generateKey(algorithm: any, extractable?: boolean, keyUsages?: string[]): KeyOperation; + sign(algorithm: any, key: Key, buffer?: ArrayBufferView): CryptoOperation; + decrypt(algorithm: any, key: Key, buffer?: ArrayBufferView): CryptoOperation; +} +declare var SubtleCrypto: { + prototype: SubtleCrypto; + new(): SubtleCrypto; +} + +interface Crypto extends RandomSource { + subtle: SubtleCrypto; +} +declare var Crypto: { + prototype: Crypto; + new(): Crypto; +} + +interface VideoPlaybackQuality { + totalFrameDelay: number; + creationTime: number; + totalVideoFrames: number; + droppedVideoFrames: number; +} +declare var VideoPlaybackQuality: { + prototype: VideoPlaybackQuality; + new(): VideoPlaybackQuality; +} + +interface GlobalEventHandlers { + onpointerenter: (ev: PointerEvent) => any; + onpointerout: (ev: PointerEvent) => any; + onpointerdown: (ev: PointerEvent) => any; + onpointerup: (ev: PointerEvent) => any; + onpointercancel: (ev: PointerEvent) => any; + onpointerover: (ev: PointerEvent) => any; + onpointermove: (ev: PointerEvent) => any; + onpointerleave: (ev: PointerEvent) => any; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} + +interface Key { + algorithm: Algorithm; + type: string; + extractable: boolean; + keyUsage: string[]; +} +declare var Key: { + prototype: Key; + new(): Key; +} + +interface DeviceAcceleration { + y: number; + x: number; + z: number; +} +declare var DeviceAcceleration: { + prototype: DeviceAcceleration; + new(): DeviceAcceleration; +} + +interface HTMLAllCollection extends HTMLCollection { + namedItem(name: string): Element; + // [name: string]: Element; +} +declare var HTMLAllCollection: { + prototype: HTMLAllCollection; + new(): HTMLAllCollection; +} + +interface AesGcmEncryptResult { + ciphertext: ArrayBuffer; + tag: ArrayBuffer; +} +declare var AesGcmEncryptResult: { + prototype: AesGcmEncryptResult; + new(): AesGcmEncryptResult; +} + +interface NavigationCompletedEvent extends NavigationEvent { + webErrorStatus: number; + isSuccess: boolean; +} +declare var NavigationCompletedEvent: { + prototype: NavigationCompletedEvent; + new(): NavigationCompletedEvent; +} + +interface MutationRecord { + oldValue: string; + previousSibling: Node; + addedNodes: NodeList; + attributeName: string; + removedNodes: NodeList; + target: Node; + nextSibling: Node; + attributeNamespace: string; + type: string; +} +declare var MutationRecord: { + prototype: MutationRecord; + new(): MutationRecord; +} + +interface MimeTypeArray { + length: number; + item(index: number): Plugin; + [index: number]: Plugin; + namedItem(type: string): Plugin; + // [type: string]: Plugin; +} +declare var MimeTypeArray: { + prototype: MimeTypeArray; + new(): MimeTypeArray; +} + +interface KeyOperation extends EventTarget { + oncomplete: (ev: Event) => any; + onerror: (ev: ErrorEvent) => any; + result: any; + addEventListener(type: "complete", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var KeyOperation: { + prototype: KeyOperation; + new(): KeyOperation; +} + +interface DOMStringMap { +} +declare var DOMStringMap: { + prototype: DOMStringMap; + new(): DOMStringMap; +} + +interface DeviceOrientationEvent extends Event { + gamma: number; + alpha: number; + absolute: boolean; + beta: number; + initDeviceOrientationEvent(type: string, bubbles: boolean, cancelable: boolean, alpha: number, beta: number, gamma: number, absolute: boolean): void; +} +declare var DeviceOrientationEvent: { + prototype: DeviceOrientationEvent; + new(): DeviceOrientationEvent; +} + +interface MSMediaKeys { + keySystem: string; + createSession(type: string, initData: Uint8Array, cdmData?: Uint8Array): MSMediaKeySession; +} +declare var MSMediaKeys: { + prototype: MSMediaKeys; + new(keySystem: string): MSMediaKeys; + isTypeSupported(keySystem: string, type?: string): boolean; +} + +interface MSMediaKeyMessageEvent extends Event { + destinationURL: string; + message: Uint8Array; +} +declare var MSMediaKeyMessageEvent: { + prototype: MSMediaKeyMessageEvent; + new(): MSMediaKeyMessageEvent; +} + +interface MSHTMLWebViewElement extends HTMLElement { + documentTitle: string; + width: number; + src: string; + canGoForward: boolean; + height: number; + canGoBack: boolean; + navigateWithHttpRequestMessage(requestMessage: any): void; + goBack(): void; + navigate(uri: string): void; + stop(): void; + navigateToString(contents: string): void; + captureSelectedContentToDataPackageAsync(): MSWebViewAsyncOperation; + capturePreviewToBlobAsync(): MSWebViewAsyncOperation; + refresh(): void; + goForward(): void; + navigateToLocalStreamUri(source: string, streamResolver: any): void; + invokeScriptAsync(scriptName: string, ...args: any[]): MSWebViewAsyncOperation; + buildLocalStreamUri(contentIdentifier: string, relativePath: string): string; +} +declare var MSHTMLWebViewElement: { + prototype: MSHTMLWebViewElement; + new(): MSHTMLWebViewElement; +} + +interface NavigationEvent extends Event { + uri: string; +} +declare var NavigationEvent: { + prototype: NavigationEvent; + new(): NavigationEvent; +} + +interface RandomSource { + getRandomValues(array: ArrayBufferView): ArrayBufferView; +} + +interface SourceBuffer extends EventTarget { + updating: boolean; + appendWindowStart: number; + appendWindowEnd: number; + buffered: TimeRanges; + timestampOffset: number; + audioTracks: AudioTrackList; + appendBuffer(data: ArrayBuffer): void; + remove(start: number, end: number): void; + abort(): void; + appendStream(stream: MSStream, maxSize?: number): void; +} +declare var SourceBuffer: { + prototype: SourceBuffer; + new(): SourceBuffer; +} + +interface MSInputMethodContext extends EventTarget { + oncandidatewindowshow: (ev: any) => any; + target: HTMLElement; + compositionStartOffset: number; + oncandidatewindowhide: (ev: any) => any; + oncandidatewindowupdate: (ev: any) => any; + compositionEndOffset: number; + getCompositionAlternatives(): string[]; + getCandidateWindowClientRect(): ClientRect; + hasComposition(): boolean; + isCandidateWindowVisible(): boolean; + addEventListener(type: "candidatewindowshow", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "candidatewindowhide", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "candidatewindowupdate", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var MSInputMethodContext: { + prototype: MSInputMethodContext; + new(): MSInputMethodContext; +} + +interface DeviceRotationRate { + gamma: number; + alpha: number; + beta: number; +} +declare var DeviceRotationRate: { + prototype: DeviceRotationRate; + new(): DeviceRotationRate; +} + +interface PluginArray { + length: number; + refresh(reload?: boolean): void; + item(index: number): Plugin; + [index: number]: Plugin; + namedItem(name: string): Plugin; + // [name: string]: Plugin; +} +declare var PluginArray: { + prototype: PluginArray; + new(): PluginArray; +} + +interface MSMediaKeyError { + systemCode: number; + code: number; + MS_MEDIA_KEYERR_SERVICE: number; + MS_MEDIA_KEYERR_HARDWARECHANGE: number; + MS_MEDIA_KEYERR_OUTPUT: number; + MS_MEDIA_KEYERR_DOMAIN: number; + MS_MEDIA_KEYERR_UNKNOWN: number; + MS_MEDIA_KEYERR_CLIENT: number; +} +declare var MSMediaKeyError: { + prototype: MSMediaKeyError; + new(): MSMediaKeyError; + MS_MEDIA_KEYERR_SERVICE: number; + MS_MEDIA_KEYERR_HARDWARECHANGE: number; + MS_MEDIA_KEYERR_OUTPUT: number; + MS_MEDIA_KEYERR_DOMAIN: number; + MS_MEDIA_KEYERR_UNKNOWN: number; + MS_MEDIA_KEYERR_CLIENT: number; +} + +interface Plugin { + length: number; + filename: string; + version: string; + name: string; + description: string; + item(index: number): MimeType; + [index: number]: MimeType; + namedItem(type: string): MimeType; + // [type: string]: MimeType; +} +declare var Plugin: { + prototype: Plugin; + new(): Plugin; +} + +interface MediaSource extends EventTarget { + sourceBuffers: SourceBufferList; + duration: number; + readyState: string; + activeSourceBuffers: SourceBufferList; + addSourceBuffer(type: string): SourceBuffer; + endOfStream(error?: string): void; + removeSourceBuffer(sourceBuffer: SourceBuffer): void; +} +declare var MediaSource: { + prototype: MediaSource; + new(): MediaSource; + isTypeSupported(type: string): boolean; +} + +interface SourceBufferList extends EventTarget { + length: number; + item(index: number): SourceBuffer; + [index: number]: SourceBuffer; +} +declare var SourceBufferList: { + prototype: SourceBufferList; + new(): SourceBufferList; +} + +interface XMLDocument extends Document { +} +declare var XMLDocument: { + prototype: XMLDocument; + new(): XMLDocument; +} + +interface DeviceMotionEvent extends Event { + rotationRate: DeviceRotationRate; + acceleration: DeviceAcceleration; + interval: number; + accelerationIncludingGravity: DeviceAcceleration; + initDeviceMotionEvent(type: string, bubbles: boolean, cancelable: boolean, acceleration: DeviceAccelerationDict, accelerationIncludingGravity: DeviceAccelerationDict, rotationRate: DeviceRotationRateDict, interval: number): void; +} +declare var DeviceMotionEvent: { + prototype: DeviceMotionEvent; + new(): DeviceMotionEvent; +} + +interface MimeType { + enabledPlugin: Plugin; + suffixes: string; + type: string; + description: string; +} +declare var MimeType: { + prototype: MimeType; + new(): MimeType; +} + +interface PointerEvent extends MouseEvent { + width: number; + rotation: number; + pressure: number; + pointerType: any; + isPrimary: boolean; + tiltY: number; + height: number; + intermediatePoints: any; + currentPoint: any; + tiltX: number; + hwTimestamp: number; + pointerId: number; + initPointerEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget, offsetXArg: number, offsetYArg: number, widthArg: number, heightArg: number, pressure: number, rotation: number, tiltX: number, tiltY: number, pointerIdArg: number, pointerType: any, hwTimestampArg: number, isPrimary: boolean): void; + getCurrentPoint(element: Element): void; + getIntermediatePoints(element: Element): void; +} +declare var PointerEvent: { + prototype: PointerEvent; + new(): PointerEvent; +} + +interface MSDocumentExtensions { + captureEvents(): void; + releaseEvents(): void; +} + +interface MutationObserver { + observe(target: Node, options: MutationObserverInit): void; + takeRecords(): MutationRecord[]; + disconnect(): void; +} +declare var MutationObserver: { + prototype: MutationObserver; + new (callback: (arr: MutationRecord[], observer: MutationObserver)=>any): MutationObserver; +} + +interface MSWebViewAsyncOperation extends EventTarget { + target: MSHTMLWebViewElement; + oncomplete: (ev: Event) => any; + error: DOMError; + onerror: (ev: ErrorEvent) => any; + readyState: number; + type: number; + result: any; + start(): void; + ERROR: number; + TYPE_CREATE_DATA_PACKAGE_FROM_SELECTION: number; + TYPE_INVOKE_SCRIPT: number; + COMPLETED: number; + TYPE_CAPTURE_PREVIEW_TO_RANDOM_ACCESS_STREAM: number; + STARTED: number; + addEventListener(type: "complete", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var MSWebViewAsyncOperation: { + prototype: MSWebViewAsyncOperation; + new(): MSWebViewAsyncOperation; + ERROR: number; + TYPE_CREATE_DATA_PACKAGE_FROM_SELECTION: number; + TYPE_INVOKE_SCRIPT: number; + COMPLETED: number; + TYPE_CAPTURE_PREVIEW_TO_RANDOM_ACCESS_STREAM: number; + STARTED: number; +} + +interface ScriptNotifyEvent extends Event { + value: string; + callingUri: string; +} +declare var ScriptNotifyEvent: { + prototype: ScriptNotifyEvent; + new(): ScriptNotifyEvent; +} + +interface PerformanceNavigationTiming extends PerformanceEntry { + redirectStart: number; + domainLookupEnd: number; + responseStart: number; + domComplete: number; + domainLookupStart: number; + loadEventStart: number; + unloadEventEnd: number; + fetchStart: number; + requestStart: number; + domInteractive: number; + navigationStart: number; + connectEnd: number; + loadEventEnd: number; + connectStart: number; + responseEnd: number; + domLoading: number; + redirectEnd: number; + redirectCount: number; + unloadEventStart: number; + domContentLoadedEventStart: number; + domContentLoadedEventEnd: number; + type: string; +} +declare var PerformanceNavigationTiming: { + prototype: PerformanceNavigationTiming; + new(): PerformanceNavigationTiming; +} + +interface MSMediaKeyNeededEvent extends Event { + initData: Uint8Array; +} +declare var MSMediaKeyNeededEvent: { + prototype: MSMediaKeyNeededEvent; + new(): MSMediaKeyNeededEvent; +} + +interface LongRunningScriptDetectedEvent extends Event { + stopPageScriptExecution: boolean; + executionTime: number; +} +declare var LongRunningScriptDetectedEvent: { + prototype: LongRunningScriptDetectedEvent; + new(): LongRunningScriptDetectedEvent; +} + +interface MSAppView { + viewId: number; + close(): void; + postMessage(message: any, targetOrigin: string, ports?: any): void; +} +declare var MSAppView: { + prototype: MSAppView; + new(): MSAppView; +} + +interface PerfWidgetExternal { + maxCpuSpeed: number; + independentRenderingEnabled: boolean; + irDisablingContentString: string; + irStatusAvailable: boolean; + performanceCounter: number; + averagePaintTime: number; + activeNetworkRequestCount: number; + paintRequestsPerSecond: number; + extraInformationEnabled: boolean; + performanceCounterFrequency: number; + averageFrameTime: number; + repositionWindow(x: number, y: number): void; + getRecentMemoryUsage(last: number): any; + getMemoryUsage(): number; + resizeWindow(width: number, height: number): void; + getProcessCpuUsage(): number; + removeEventListener(eventType: string, callback: (ev: any) => any): void; + getRecentCpuUsage(last: number): any; + addEventListener(eventType: string, callback: (ev: any) => any): void; + getRecentFrames(last: number): any; + getRecentPaintRequests(last: number): any; +} +declare var PerfWidgetExternal: { + prototype: PerfWidgetExternal; + new(): PerfWidgetExternal; +} + +interface PageTransitionEvent extends Event { + persisted: boolean; +} +declare var PageTransitionEvent: { + prototype: PageTransitionEvent; + new(): PageTransitionEvent; +} + +interface MutationCallback { + (mutations: MutationRecord[], observer: MutationObserver): void; +} + +interface HTMLDocument extends Document { +} +declare var HTMLDocument: { + prototype: HTMLDocument; + new(): HTMLDocument; +} + +interface KeyPair { + privateKey: Key; + publicKey: Key; +} +declare var KeyPair: { + prototype: KeyPair; + new(): KeyPair; +} + +interface MSMediaKeySession extends EventTarget { + sessionId: string; + error: MSMediaKeyError; + keySystem: string; + close(): void; + update(key: Uint8Array): void; +} +declare var MSMediaKeySession: { + prototype: MSMediaKeySession; + new(): MSMediaKeySession; +} + +interface UnviewableContentIdentifiedEvent extends NavigationEvent { + referrer: string; +} +declare var UnviewableContentIdentifiedEvent: { + prototype: UnviewableContentIdentifiedEvent; + new(): UnviewableContentIdentifiedEvent; +} + +interface CryptoOperation extends EventTarget { + algorithm: Algorithm; + oncomplete: (ev: Event) => any; + onerror: (ev: ErrorEvent) => any; + onprogress: (ev: ProgressEvent) => any; + onabort: (ev: UIEvent) => any; + key: Key; + result: any; + abort(): void; + finish(): void; + process(buffer: ArrayBufferView): void; + addEventListener(type: "complete", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var CryptoOperation: { + prototype: CryptoOperation; + new(): CryptoOperation; +} + +interface WebGLTexture extends WebGLObject { +} +declare var WebGLTexture: { + prototype: WebGLTexture; + new(): WebGLTexture; +} + +interface OES_texture_float { +} +declare var OES_texture_float: { + prototype: OES_texture_float; + new(): OES_texture_float; +} + +interface WebGLContextEvent extends Event { + statusMessage: string; +} +declare var WebGLContextEvent: { + prototype: WebGLContextEvent; + new(): WebGLContextEvent; +} + +interface WebGLRenderbuffer extends WebGLObject { +} +declare var WebGLRenderbuffer: { + prototype: WebGLRenderbuffer; + new(): WebGLRenderbuffer; +} + +interface WebGLUniformLocation { +} +declare var WebGLUniformLocation: { + prototype: WebGLUniformLocation; + new(): WebGLUniformLocation; +} + +interface WebGLActiveInfo { + name: string; + type: number; + size: number; +} +declare var WebGLActiveInfo: { + prototype: WebGLActiveInfo; + new(): WebGLActiveInfo; +} + +interface WEBGL_compressed_texture_s3tc { + COMPRESSED_RGBA_S3TC_DXT1_EXT: number; + COMPRESSED_RGBA_S3TC_DXT5_EXT: number; + COMPRESSED_RGBA_S3TC_DXT3_EXT: number; + COMPRESSED_RGB_S3TC_DXT1_EXT: number; +} +declare var WEBGL_compressed_texture_s3tc: { + prototype: WEBGL_compressed_texture_s3tc; + new(): WEBGL_compressed_texture_s3tc; + COMPRESSED_RGBA_S3TC_DXT1_EXT: number; + COMPRESSED_RGBA_S3TC_DXT5_EXT: number; + COMPRESSED_RGBA_S3TC_DXT3_EXT: number; + COMPRESSED_RGB_S3TC_DXT1_EXT: number; +} + +interface WebGLRenderingContext { + drawingBufferWidth: number; + drawingBufferHeight: number; + canvas: HTMLCanvasElement; + getUniformLocation(program: WebGLProgram, name: string): WebGLUniformLocation; + bindTexture(target: number, texture: WebGLTexture): void; + bufferData(target: number, data: ArrayBufferView, usage: number): void; + bufferData(target: number, data: ArrayBuffer, usage: number): void; + bufferData(target: number, size: number, usage: number): void; + depthMask(flag: boolean): void; + getUniform(program: WebGLProgram, location: WebGLUniformLocation): any; + vertexAttrib3fv(indx: number, values: number[]): void; + vertexAttrib3fv(indx: number, values: Float32Array): void; + linkProgram(program: WebGLProgram): void; + getSupportedExtensions(): string[]; + bufferSubData(target: number, offset: number, data: ArrayBuffer): void; + bufferSubData(target: number, offset: number, data: ArrayBufferView): void; + vertexAttribPointer(indx: number, size: number, type: number, normalized: boolean, stride: number, offset: number): void; + polygonOffset(factor: number, units: number): void; + blendColor(red: number, green: number, blue: number, alpha: number): void; + createTexture(): WebGLTexture; + hint(target: number, mode: number): void; + getVertexAttrib(index: number, pname: number): any; + enableVertexAttribArray(index: number): void; + depthRange(zNear: number, zFar: number): void; + cullFace(mode: number): void; + createFramebuffer(): WebGLFramebuffer; + uniformMatrix4fv(location: WebGLUniformLocation, transpose: boolean, value: number[]): void; + uniformMatrix4fv(location: WebGLUniformLocation, transpose: boolean, value: Float32Array): void; + framebufferTexture2D(target: number, attachment: number, textarget: number, texture: WebGLTexture, level: number): void; + deleteFramebuffer(framebuffer: WebGLFramebuffer): void; + colorMask(red: boolean, green: boolean, blue: boolean, alpha: boolean): void; + compressedTexImage2D(target: number, level: number, internalformat: number, width: number, height: number, border: number, data: ArrayBufferView): void; + uniformMatrix2fv(location: WebGLUniformLocation, transpose: boolean, value: number[]): void; + uniformMatrix2fv(location: WebGLUniformLocation, transpose: boolean, value: Float32Array): void; + getExtension(name: string): any; + createProgram(): WebGLProgram; + deleteShader(shader: WebGLShader): void; + getAttachedShaders(program: WebGLProgram): WebGLShader[]; + enable(cap: number): void; + blendEquation(mode: number): void; + texImage2D(target: number, level: number, internalformat: number, width: number, height: number, border: number, format: number, type: number, pixels: ArrayBufferView): void; + texImage2D(target: number, level: number, internalformat: number, format: number, type: number, image: HTMLImageElement): void; + texImage2D(target: number, level: number, internalformat: number, format: number, type: number, canvas: HTMLCanvasElement): void; + texImage2D(target: number, level: number, internalformat: number, format: number, type: number, video: HTMLVideoElement): void; + texImage2D(target: number, level: number, internalformat: number, format: number, type: number, pixels: ImageData): void; + createBuffer(): WebGLBuffer; + deleteTexture(texture: WebGLTexture): void; + useProgram(program: WebGLProgram): void; + vertexAttrib2fv(indx: number, values: number[]): void; + vertexAttrib2fv(indx: number, values: Float32Array): void; + checkFramebufferStatus(target: number): number; + frontFace(mode: number): void; + getBufferParameter(target: number, pname: number): any; + texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, width: number, height: number, format: number, type: number, pixels: ArrayBufferView): void; + texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, format: number, type: number, image: HTMLImageElement): void; + texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, format: number, type: number, canvas: HTMLCanvasElement): void; + texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, format: number, type: number, video: HTMLVideoElement): void; + texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, format: number, type: number, pixels: ImageData): void; + copyTexImage2D(target: number, level: number, internalformat: number, x: number, y: number, width: number, height: number, border: number): void; + getVertexAttribOffset(index: number, pname: number): number; + disableVertexAttribArray(index: number): void; + blendFunc(sfactor: number, dfactor: number): void; + drawElements(mode: number, count: number, type: number, offset: number): void; + isFramebuffer(framebuffer: WebGLFramebuffer): boolean; + uniform3iv(location: WebGLUniformLocation, v: number[]): void; + uniform3iv(location: WebGLUniformLocation, v: Int32Array): void; + lineWidth(width: number): void; + getShaderInfoLog(shader: WebGLShader): string; + getTexParameter(target: number, pname: number): any; + getParameter(pname: number): any; + getShaderPrecisionFormat(shadertype: number, precisiontype: number): WebGLShaderPrecisionFormat; + getContextAttributes(): WebGLContextAttributes; + vertexAttrib1f(indx: number, x: number): void; + bindFramebuffer(target: number, framebuffer: WebGLFramebuffer): void; + compressedTexSubImage2D(target: number, level: number, xoffset: number, yoffset: number, width: number, height: number, format: number, data: ArrayBufferView): void; + isContextLost(): boolean; + uniform1iv(location: WebGLUniformLocation, v: number[]): void; + uniform1iv(location: WebGLUniformLocation, v: Int32Array): void; + getRenderbufferParameter(target: number, pname: number): any; + uniform2fv(location: WebGLUniformLocation, v: number[]): void; + uniform2fv(location: WebGLUniformLocation, v: Float32Array): void; + isTexture(texture: WebGLTexture): boolean; + getError(): number; + shaderSource(shader: WebGLShader, source: string): void; + deleteRenderbuffer(renderbuffer: WebGLRenderbuffer): void; + stencilMask(mask: number): void; + bindBuffer(target: number, buffer: WebGLBuffer): void; + getAttribLocation(program: WebGLProgram, name: string): number; + uniform3i(location: WebGLUniformLocation, x: number, y: number, z: number): void; + blendEquationSeparate(modeRGB: number, modeAlpha: number): void; + clear(mask: number): void; + blendFuncSeparate(srcRGB: number, dstRGB: number, srcAlpha: number, dstAlpha: number): void; + stencilFuncSeparate(face: number, func: number, ref: number, mask: number): void; + readPixels(x: number, y: number, width: number, height: number, format: number, type: number, pixels: ArrayBufferView): void; + scissor(x: number, y: number, width: number, height: number): void; + uniform2i(location: WebGLUniformLocation, x: number, y: number): void; + getActiveAttrib(program: WebGLProgram, index: number): WebGLActiveInfo; + getShaderSource(shader: WebGLShader): string; + generateMipmap(target: number): void; + bindAttribLocation(program: WebGLProgram, index: number, name: string): void; + uniform1fv(location: WebGLUniformLocation, v: number[]): void; + uniform1fv(location: WebGLUniformLocation, v: Float32Array): void; + uniform2iv(location: WebGLUniformLocation, v: number[]): void; + uniform2iv(location: WebGLUniformLocation, v: Int32Array): void; + stencilOp(fail: number, zfail: number, zpass: number): void; + uniform4fv(location: WebGLUniformLocation, v: number[]): void; + uniform4fv(location: WebGLUniformLocation, v: Float32Array): void; + vertexAttrib1fv(indx: number, values: number[]): void; + vertexAttrib1fv(indx: number, values: Float32Array): void; + flush(): void; + uniform4f(location: WebGLUniformLocation, x: number, y: number, z: number, w: number): void; + deleteProgram(program: WebGLProgram): void; + isRenderbuffer(renderbuffer: WebGLRenderbuffer): boolean; + uniform1i(location: WebGLUniformLocation, x: number): void; + getProgramParameter(program: WebGLProgram, pname: number): any; + getActiveUniform(program: WebGLProgram, index: number): WebGLActiveInfo; + stencilFunc(func: number, ref: number, mask: number): void; + pixelStorei(pname: number, param: number): void; + disable(cap: number): void; + vertexAttrib4fv(indx: number, values: number[]): void; + vertexAttrib4fv(indx: number, values: Float32Array): void; + createRenderbuffer(): WebGLRenderbuffer; + isBuffer(buffer: WebGLBuffer): boolean; + stencilOpSeparate(face: number, fail: number, zfail: number, zpass: number): void; + getFramebufferAttachmentParameter(target: number, attachment: number, pname: number): any; + uniform4i(location: WebGLUniformLocation, x: number, y: number, z: number, w: number): void; + sampleCoverage(value: number, invert: boolean): void; + depthFunc(func: number): void; + texParameterf(target: number, pname: number, param: number): void; + vertexAttrib3f(indx: number, x: number, y: number, z: number): void; + drawArrays(mode: number, first: number, count: number): void; + texParameteri(target: number, pname: number, param: number): void; + vertexAttrib4f(indx: number, x: number, y: number, z: number, w: number): void; + getShaderParameter(shader: WebGLShader, pname: number): any; + clearDepth(depth: number): void; + activeTexture(texture: number): void; + viewport(x: number, y: number, width: number, height: number): void; + detachShader(program: WebGLProgram, shader: WebGLShader): void; + uniform1f(location: WebGLUniformLocation, x: number): void; + uniformMatrix3fv(location: WebGLUniformLocation, transpose: boolean, value: number[]): void; + uniformMatrix3fv(location: WebGLUniformLocation, transpose: boolean, value: Float32Array): void; + deleteBuffer(buffer: WebGLBuffer): void; + copyTexSubImage2D(target: number, level: number, xoffset: number, yoffset: number, x: number, y: number, width: number, height: number): void; + uniform3fv(location: WebGLUniformLocation, v: number[]): void; + uniform3fv(location: WebGLUniformLocation, v: Float32Array): void; + stencilMaskSeparate(face: number, mask: number): void; + attachShader(program: WebGLProgram, shader: WebGLShader): void; + compileShader(shader: WebGLShader): void; + clearColor(red: number, green: number, blue: number, alpha: number): void; + isShader(shader: WebGLShader): boolean; + clearStencil(s: number): void; + framebufferRenderbuffer(target: number, attachment: number, renderbuffertarget: number, renderbuffer: WebGLRenderbuffer): void; + finish(): void; + uniform2f(location: WebGLUniformLocation, x: number, y: number): void; + renderbufferStorage(target: number, internalformat: number, width: number, height: number): void; + uniform3f(location: WebGLUniformLocation, x: number, y: number, z: number): void; + getProgramInfoLog(program: WebGLProgram): string; + validateProgram(program: WebGLProgram): void; + isEnabled(cap: number): boolean; + vertexAttrib2f(indx: number, x: number, y: number): void; + isProgram(program: WebGLProgram): boolean; + createShader(type: number): WebGLShader; + bindRenderbuffer(target: number, renderbuffer: WebGLRenderbuffer): void; + uniform4iv(location: WebGLUniformLocation, v: number[]): void; + uniform4iv(location: WebGLUniformLocation, v: Int32Array): void; + DEPTH_FUNC: number; + DEPTH_COMPONENT16: number; + REPLACE: number; + REPEAT: number; + VERTEX_ATTRIB_ARRAY_ENABLED: number; + FRAMEBUFFER_INCOMPLETE_DIMENSIONS: number; + STENCIL_BUFFER_BIT: number; + RENDERER: number; + STENCIL_BACK_REF: number; + TEXTURE26: number; + RGB565: number; + DITHER: number; + CONSTANT_COLOR: number; + GENERATE_MIPMAP_HINT: number; + POINTS: number; + DECR: number; + INT_VEC3: number; + TEXTURE28: number; + ONE_MINUS_CONSTANT_ALPHA: number; + BACK: number; + RENDERBUFFER_STENCIL_SIZE: number; + UNPACK_FLIP_Y_WEBGL: number; + BLEND: number; + TEXTURE9: number; + ARRAY_BUFFER_BINDING: number; + MAX_VIEWPORT_DIMS: number; + INVALID_FRAMEBUFFER_OPERATION: number; + TEXTURE: number; + TEXTURE0: number; + TEXTURE31: number; + TEXTURE24: number; + HIGH_INT: number; + RENDERBUFFER_BINDING: number; + BLEND_COLOR: number; + FASTEST: number; + STENCIL_WRITEMASK: number; + ALIASED_POINT_SIZE_RANGE: number; + TEXTURE12: number; + DST_ALPHA: number; + BLEND_EQUATION_RGB: number; + FRAMEBUFFER_COMPLETE: number; + NEAREST_MIPMAP_NEAREST: number; + VERTEX_ATTRIB_ARRAY_SIZE: number; + TEXTURE3: number; + DEPTH_WRITEMASK: number; + CONTEXT_LOST_WEBGL: number; + INVALID_VALUE: number; + TEXTURE_MAG_FILTER: number; + ONE_MINUS_CONSTANT_COLOR: number; + ONE_MINUS_SRC_ALPHA: number; + TEXTURE_CUBE_MAP_POSITIVE_Z: number; + NOTEQUAL: number; + ALPHA: number; + DEPTH_STENCIL: number; + MAX_VERTEX_UNIFORM_VECTORS: number; + DEPTH_COMPONENT: number; + RENDERBUFFER_RED_SIZE: number; + TEXTURE20: number; + RED_BITS: number; + RENDERBUFFER_BLUE_SIZE: number; + SCISSOR_BOX: number; + VENDOR: number; + FRONT_AND_BACK: number; + CONSTANT_ALPHA: number; + VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: number; + NEAREST: number; + CULL_FACE: number; + ALIASED_LINE_WIDTH_RANGE: number; + TEXTURE19: number; + FRONT: number; + DEPTH_CLEAR_VALUE: number; + GREEN_BITS: number; + TEXTURE29: number; + TEXTURE23: number; + MAX_RENDERBUFFER_SIZE: number; + STENCIL_ATTACHMENT: number; + TEXTURE27: number; + BOOL_VEC2: number; + OUT_OF_MEMORY: number; + MIRRORED_REPEAT: number; + POLYGON_OFFSET_UNITS: number; + TEXTURE_MIN_FILTER: number; + STENCIL_BACK_PASS_DEPTH_PASS: number; + LINE_LOOP: number; + FLOAT_MAT3: number; + TEXTURE14: number; + LINEAR: number; + RGB5_A1: number; + ONE_MINUS_SRC_COLOR: number; + SAMPLE_COVERAGE_INVERT: number; + DONT_CARE: number; + FRAMEBUFFER_BINDING: number; + RENDERBUFFER_ALPHA_SIZE: number; + STENCIL_REF: number; + ZERO: number; + DECR_WRAP: number; + SAMPLE_COVERAGE: number; + STENCIL_BACK_FUNC: number; + TEXTURE30: number; + VIEWPORT: number; + STENCIL_BITS: number; + FLOAT: number; + COLOR_WRITEMASK: number; + SAMPLE_COVERAGE_VALUE: number; + TEXTURE_CUBE_MAP_NEGATIVE_Y: number; + STENCIL_BACK_FAIL: number; + FLOAT_MAT4: number; + UNSIGNED_SHORT_4_4_4_4: number; + TEXTURE6: number; + RENDERBUFFER_WIDTH: number; + RGBA4: number; + ALWAYS: number; + BLEND_EQUATION_ALPHA: number; + COLOR_BUFFER_BIT: number; + TEXTURE_CUBE_MAP: number; + DEPTH_BUFFER_BIT: number; + STENCIL_CLEAR_VALUE: number; + BLEND_EQUATION: number; + RENDERBUFFER_GREEN_SIZE: number; + NEAREST_MIPMAP_LINEAR: number; + VERTEX_ATTRIB_ARRAY_TYPE: number; + INCR_WRAP: number; + ONE_MINUS_DST_COLOR: number; + HIGH_FLOAT: number; + BYTE: number; + FRONT_FACE: number; + SAMPLE_ALPHA_TO_COVERAGE: number; + CCW: number; + TEXTURE13: number; + MAX_VERTEX_ATTRIBS: number; + MAX_VERTEX_TEXTURE_IMAGE_UNITS: number; + TEXTURE_WRAP_T: number; + UNPACK_PREMULTIPLY_ALPHA_WEBGL: number; + FLOAT_VEC2: number; + LUMINANCE: number; + GREATER: number; + INT_VEC2: number; + VALIDATE_STATUS: number; + FRAMEBUFFER: number; + FRAMEBUFFER_UNSUPPORTED: number; + TEXTURE5: number; + FUNC_SUBTRACT: number; + BLEND_DST_ALPHA: number; + SAMPLER_CUBE: number; + ONE_MINUS_DST_ALPHA: number; + LESS: number; + TEXTURE_CUBE_MAP_POSITIVE_X: number; + BLUE_BITS: number; + DEPTH_TEST: number; + VERTEX_ATTRIB_ARRAY_STRIDE: number; + DELETE_STATUS: number; + TEXTURE18: number; + POLYGON_OFFSET_FACTOR: number; + UNSIGNED_INT: number; + TEXTURE_2D: number; + DST_COLOR: number; + FLOAT_MAT2: number; + COMPRESSED_TEXTURE_FORMATS: number; + MAX_FRAGMENT_UNIFORM_VECTORS: number; + DEPTH_STENCIL_ATTACHMENT: number; + LUMINANCE_ALPHA: number; + CW: number; + VERTEX_ATTRIB_ARRAY_NORMALIZED: number; + TEXTURE_CUBE_MAP_NEGATIVE_Z: number; + LINEAR_MIPMAP_LINEAR: number; + BUFFER_SIZE: number; + SAMPLE_BUFFERS: number; + TEXTURE15: number; + ACTIVE_TEXTURE: number; + VERTEX_SHADER: number; + TEXTURE22: number; + VERTEX_ATTRIB_ARRAY_POINTER: number; + INCR: number; + COMPILE_STATUS: number; + MAX_COMBINED_TEXTURE_IMAGE_UNITS: number; + TEXTURE7: number; + UNSIGNED_SHORT_5_5_5_1: number; + DEPTH_BITS: number; + RGBA: number; + TRIANGLE_STRIP: number; + COLOR_CLEAR_VALUE: number; + BROWSER_DEFAULT_WEBGL: number; + INVALID_ENUM: number; + SCISSOR_TEST: number; + LINE_STRIP: number; + FRAMEBUFFER_INCOMPLETE_ATTACHMENT: number; + STENCIL_FUNC: number; + FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: number; + RENDERBUFFER_HEIGHT: number; + TEXTURE8: number; + TRIANGLES: number; + FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: number; + STENCIL_BACK_VALUE_MASK: number; + TEXTURE25: number; + RENDERBUFFER: number; + LEQUAL: number; + TEXTURE1: number; + STENCIL_INDEX8: number; + FUNC_ADD: number; + STENCIL_FAIL: number; + BLEND_SRC_ALPHA: number; + BOOL: number; + ALPHA_BITS: number; + LOW_INT: number; + TEXTURE10: number; + SRC_COLOR: number; + MAX_VARYING_VECTORS: number; + BLEND_DST_RGB: number; + TEXTURE_BINDING_CUBE_MAP: number; + STENCIL_INDEX: number; + TEXTURE_BINDING_2D: number; + MEDIUM_INT: number; + SHADER_TYPE: number; + POLYGON_OFFSET_FILL: number; + DYNAMIC_DRAW: number; + TEXTURE4: number; + STENCIL_BACK_PASS_DEPTH_FAIL: number; + STREAM_DRAW: number; + MAX_CUBE_MAP_TEXTURE_SIZE: number; + TEXTURE17: number; + TRIANGLE_FAN: number; + UNPACK_ALIGNMENT: number; + CURRENT_PROGRAM: number; + LINES: number; + INVALID_OPERATION: number; + FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: number; + LINEAR_MIPMAP_NEAREST: number; + CLAMP_TO_EDGE: number; + RENDERBUFFER_DEPTH_SIZE: number; + TEXTURE_WRAP_S: number; + ELEMENT_ARRAY_BUFFER: number; + UNSIGNED_SHORT_5_6_5: number; + ACTIVE_UNIFORMS: number; + FLOAT_VEC3: number; + NO_ERROR: number; + ATTACHED_SHADERS: number; + DEPTH_ATTACHMENT: number; + TEXTURE11: number; + STENCIL_TEST: number; + ONE: number; + FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: number; + STATIC_DRAW: number; + GEQUAL: number; + BOOL_VEC4: number; + COLOR_ATTACHMENT0: number; + PACK_ALIGNMENT: number; + MAX_TEXTURE_SIZE: number; + STENCIL_PASS_DEPTH_FAIL: number; + CULL_FACE_MODE: number; + TEXTURE16: number; + STENCIL_BACK_WRITEMASK: number; + SRC_ALPHA: number; + UNSIGNED_SHORT: number; + TEXTURE21: number; + FUNC_REVERSE_SUBTRACT: number; + SHADING_LANGUAGE_VERSION: number; + EQUAL: number; + FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: number; + BOOL_VEC3: number; + SAMPLER_2D: number; + TEXTURE_CUBE_MAP_NEGATIVE_X: number; + MAX_TEXTURE_IMAGE_UNITS: number; + TEXTURE_CUBE_MAP_POSITIVE_Y: number; + RENDERBUFFER_INTERNAL_FORMAT: number; + STENCIL_VALUE_MASK: number; + ELEMENT_ARRAY_BUFFER_BINDING: number; + ARRAY_BUFFER: number; + DEPTH_RANGE: number; + NICEST: number; + ACTIVE_ATTRIBUTES: number; + NEVER: number; + FLOAT_VEC4: number; + CURRENT_VERTEX_ATTRIB: number; + STENCIL_PASS_DEPTH_PASS: number; + INVERT: number; + LINK_STATUS: number; + RGB: number; + INT_VEC4: number; + TEXTURE2: number; + UNPACK_COLORSPACE_CONVERSION_WEBGL: number; + MEDIUM_FLOAT: number; + SRC_ALPHA_SATURATE: number; + BUFFER_USAGE: number; + SHORT: number; + NONE: number; + UNSIGNED_BYTE: number; + INT: number; + SUBPIXEL_BITS: number; + KEEP: number; + SAMPLES: number; + FRAGMENT_SHADER: number; + LINE_WIDTH: number; + BLEND_SRC_RGB: number; + LOW_FLOAT: number; + VERSION: number; +} +declare var WebGLRenderingContext: { + prototype: WebGLRenderingContext; + new(): WebGLRenderingContext; + DEPTH_FUNC: number; + DEPTH_COMPONENT16: number; + REPLACE: number; + REPEAT: number; + VERTEX_ATTRIB_ARRAY_ENABLED: number; + FRAMEBUFFER_INCOMPLETE_DIMENSIONS: number; + STENCIL_BUFFER_BIT: number; + RENDERER: number; + STENCIL_BACK_REF: number; + TEXTURE26: number; + RGB565: number; + DITHER: number; + CONSTANT_COLOR: number; + GENERATE_MIPMAP_HINT: number; + POINTS: number; + DECR: number; + INT_VEC3: number; + TEXTURE28: number; + ONE_MINUS_CONSTANT_ALPHA: number; + BACK: number; + RENDERBUFFER_STENCIL_SIZE: number; + UNPACK_FLIP_Y_WEBGL: number; + BLEND: number; + TEXTURE9: number; + ARRAY_BUFFER_BINDING: number; + MAX_VIEWPORT_DIMS: number; + INVALID_FRAMEBUFFER_OPERATION: number; + TEXTURE: number; + TEXTURE0: number; + TEXTURE31: number; + TEXTURE24: number; + HIGH_INT: number; + RENDERBUFFER_BINDING: number; + BLEND_COLOR: number; + FASTEST: number; + STENCIL_WRITEMASK: number; + ALIASED_POINT_SIZE_RANGE: number; + TEXTURE12: number; + DST_ALPHA: number; + BLEND_EQUATION_RGB: number; + FRAMEBUFFER_COMPLETE: number; + NEAREST_MIPMAP_NEAREST: number; + VERTEX_ATTRIB_ARRAY_SIZE: number; + TEXTURE3: number; + DEPTH_WRITEMASK: number; + CONTEXT_LOST_WEBGL: number; + INVALID_VALUE: number; + TEXTURE_MAG_FILTER: number; + ONE_MINUS_CONSTANT_COLOR: number; + ONE_MINUS_SRC_ALPHA: number; + TEXTURE_CUBE_MAP_POSITIVE_Z: number; + NOTEQUAL: number; + ALPHA: number; + DEPTH_STENCIL: number; + MAX_VERTEX_UNIFORM_VECTORS: number; + DEPTH_COMPONENT: number; + RENDERBUFFER_RED_SIZE: number; + TEXTURE20: number; + RED_BITS: number; + RENDERBUFFER_BLUE_SIZE: number; + SCISSOR_BOX: number; + VENDOR: number; + FRONT_AND_BACK: number; + CONSTANT_ALPHA: number; + VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: number; + NEAREST: number; + CULL_FACE: number; + ALIASED_LINE_WIDTH_RANGE: number; + TEXTURE19: number; + FRONT: number; + DEPTH_CLEAR_VALUE: number; + GREEN_BITS: number; + TEXTURE29: number; + TEXTURE23: number; + MAX_RENDERBUFFER_SIZE: number; + STENCIL_ATTACHMENT: number; + TEXTURE27: number; + BOOL_VEC2: number; + OUT_OF_MEMORY: number; + MIRRORED_REPEAT: number; + POLYGON_OFFSET_UNITS: number; + TEXTURE_MIN_FILTER: number; + STENCIL_BACK_PASS_DEPTH_PASS: number; + LINE_LOOP: number; + FLOAT_MAT3: number; + TEXTURE14: number; + LINEAR: number; + RGB5_A1: number; + ONE_MINUS_SRC_COLOR: number; + SAMPLE_COVERAGE_INVERT: number; + DONT_CARE: number; + FRAMEBUFFER_BINDING: number; + RENDERBUFFER_ALPHA_SIZE: number; + STENCIL_REF: number; + ZERO: number; + DECR_WRAP: number; + SAMPLE_COVERAGE: number; + STENCIL_BACK_FUNC: number; + TEXTURE30: number; + VIEWPORT: number; + STENCIL_BITS: number; + FLOAT: number; + COLOR_WRITEMASK: number; + SAMPLE_COVERAGE_VALUE: number; + TEXTURE_CUBE_MAP_NEGATIVE_Y: number; + STENCIL_BACK_FAIL: number; + FLOAT_MAT4: number; + UNSIGNED_SHORT_4_4_4_4: number; + TEXTURE6: number; + RENDERBUFFER_WIDTH: number; + RGBA4: number; + ALWAYS: number; + BLEND_EQUATION_ALPHA: number; + COLOR_BUFFER_BIT: number; + TEXTURE_CUBE_MAP: number; + DEPTH_BUFFER_BIT: number; + STENCIL_CLEAR_VALUE: number; + BLEND_EQUATION: number; + RENDERBUFFER_GREEN_SIZE: number; + NEAREST_MIPMAP_LINEAR: number; + VERTEX_ATTRIB_ARRAY_TYPE: number; + INCR_WRAP: number; + ONE_MINUS_DST_COLOR: number; + HIGH_FLOAT: number; + BYTE: number; + FRONT_FACE: number; + SAMPLE_ALPHA_TO_COVERAGE: number; + CCW: number; + TEXTURE13: number; + MAX_VERTEX_ATTRIBS: number; + MAX_VERTEX_TEXTURE_IMAGE_UNITS: number; + TEXTURE_WRAP_T: number; + UNPACK_PREMULTIPLY_ALPHA_WEBGL: number; + FLOAT_VEC2: number; + LUMINANCE: number; + GREATER: number; + INT_VEC2: number; + VALIDATE_STATUS: number; + FRAMEBUFFER: number; + FRAMEBUFFER_UNSUPPORTED: number; + TEXTURE5: number; + FUNC_SUBTRACT: number; + BLEND_DST_ALPHA: number; + SAMPLER_CUBE: number; + ONE_MINUS_DST_ALPHA: number; + LESS: number; + TEXTURE_CUBE_MAP_POSITIVE_X: number; + BLUE_BITS: number; + DEPTH_TEST: number; + VERTEX_ATTRIB_ARRAY_STRIDE: number; + DELETE_STATUS: number; + TEXTURE18: number; + POLYGON_OFFSET_FACTOR: number; + UNSIGNED_INT: number; + TEXTURE_2D: number; + DST_COLOR: number; + FLOAT_MAT2: number; + COMPRESSED_TEXTURE_FORMATS: number; + MAX_FRAGMENT_UNIFORM_VECTORS: number; + DEPTH_STENCIL_ATTACHMENT: number; + LUMINANCE_ALPHA: number; + CW: number; + VERTEX_ATTRIB_ARRAY_NORMALIZED: number; + TEXTURE_CUBE_MAP_NEGATIVE_Z: number; + LINEAR_MIPMAP_LINEAR: number; + BUFFER_SIZE: number; + SAMPLE_BUFFERS: number; + TEXTURE15: number; + ACTIVE_TEXTURE: number; + VERTEX_SHADER: number; + TEXTURE22: number; + VERTEX_ATTRIB_ARRAY_POINTER: number; + INCR: number; + COMPILE_STATUS: number; + MAX_COMBINED_TEXTURE_IMAGE_UNITS: number; + TEXTURE7: number; + UNSIGNED_SHORT_5_5_5_1: number; + DEPTH_BITS: number; + RGBA: number; + TRIANGLE_STRIP: number; + COLOR_CLEAR_VALUE: number; + BROWSER_DEFAULT_WEBGL: number; + INVALID_ENUM: number; + SCISSOR_TEST: number; + LINE_STRIP: number; + FRAMEBUFFER_INCOMPLETE_ATTACHMENT: number; + STENCIL_FUNC: number; + FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: number; + RENDERBUFFER_HEIGHT: number; + TEXTURE8: number; + TRIANGLES: number; + FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: number; + STENCIL_BACK_VALUE_MASK: number; + TEXTURE25: number; + RENDERBUFFER: number; + LEQUAL: number; + TEXTURE1: number; + STENCIL_INDEX8: number; + FUNC_ADD: number; + STENCIL_FAIL: number; + BLEND_SRC_ALPHA: number; + BOOL: number; + ALPHA_BITS: number; + LOW_INT: number; + TEXTURE10: number; + SRC_COLOR: number; + MAX_VARYING_VECTORS: number; + BLEND_DST_RGB: number; + TEXTURE_BINDING_CUBE_MAP: number; + STENCIL_INDEX: number; + TEXTURE_BINDING_2D: number; + MEDIUM_INT: number; + SHADER_TYPE: number; + POLYGON_OFFSET_FILL: number; + DYNAMIC_DRAW: number; + TEXTURE4: number; + STENCIL_BACK_PASS_DEPTH_FAIL: number; + STREAM_DRAW: number; + MAX_CUBE_MAP_TEXTURE_SIZE: number; + TEXTURE17: number; + TRIANGLE_FAN: number; + UNPACK_ALIGNMENT: number; + CURRENT_PROGRAM: number; + LINES: number; + INVALID_OPERATION: number; + FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: number; + LINEAR_MIPMAP_NEAREST: number; + CLAMP_TO_EDGE: number; + RENDERBUFFER_DEPTH_SIZE: number; + TEXTURE_WRAP_S: number; + ELEMENT_ARRAY_BUFFER: number; + UNSIGNED_SHORT_5_6_5: number; + ACTIVE_UNIFORMS: number; + FLOAT_VEC3: number; + NO_ERROR: number; + ATTACHED_SHADERS: number; + DEPTH_ATTACHMENT: number; + TEXTURE11: number; + STENCIL_TEST: number; + ONE: number; + FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: number; + STATIC_DRAW: number; + GEQUAL: number; + BOOL_VEC4: number; + COLOR_ATTACHMENT0: number; + PACK_ALIGNMENT: number; + MAX_TEXTURE_SIZE: number; + STENCIL_PASS_DEPTH_FAIL: number; + CULL_FACE_MODE: number; + TEXTURE16: number; + STENCIL_BACK_WRITEMASK: number; + SRC_ALPHA: number; + UNSIGNED_SHORT: number; + TEXTURE21: number; + FUNC_REVERSE_SUBTRACT: number; + SHADING_LANGUAGE_VERSION: number; + EQUAL: number; + FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: number; + BOOL_VEC3: number; + SAMPLER_2D: number; + TEXTURE_CUBE_MAP_NEGATIVE_X: number; + MAX_TEXTURE_IMAGE_UNITS: number; + TEXTURE_CUBE_MAP_POSITIVE_Y: number; + RENDERBUFFER_INTERNAL_FORMAT: number; + STENCIL_VALUE_MASK: number; + ELEMENT_ARRAY_BUFFER_BINDING: number; + ARRAY_BUFFER: number; + DEPTH_RANGE: number; + NICEST: number; + ACTIVE_ATTRIBUTES: number; + NEVER: number; + FLOAT_VEC4: number; + CURRENT_VERTEX_ATTRIB: number; + STENCIL_PASS_DEPTH_PASS: number; + INVERT: number; + LINK_STATUS: number; + RGB: number; + INT_VEC4: number; + TEXTURE2: number; + UNPACK_COLORSPACE_CONVERSION_WEBGL: number; + MEDIUM_FLOAT: number; + SRC_ALPHA_SATURATE: number; + BUFFER_USAGE: number; + SHORT: number; + NONE: number; + UNSIGNED_BYTE: number; + INT: number; + SUBPIXEL_BITS: number; + KEEP: number; + SAMPLES: number; + FRAGMENT_SHADER: number; + LINE_WIDTH: number; + BLEND_SRC_RGB: number; + LOW_FLOAT: number; + VERSION: number; +} + +interface WebGLProgram extends WebGLObject { +} +declare var WebGLProgram: { + prototype: WebGLProgram; + new(): WebGLProgram; +} + +interface OES_standard_derivatives { + FRAGMENT_SHADER_DERIVATIVE_HINT_OES: number; +} +declare var OES_standard_derivatives: { + prototype: OES_standard_derivatives; + new(): OES_standard_derivatives; + FRAGMENT_SHADER_DERIVATIVE_HINT_OES: number; +} + +interface WebGLFramebuffer extends WebGLObject { +} +declare var WebGLFramebuffer: { + prototype: WebGLFramebuffer; + new(): WebGLFramebuffer; +} + +interface WebGLShader extends WebGLObject { +} +declare var WebGLShader: { + prototype: WebGLShader; + new(): WebGLShader; +} + +interface OES_texture_float_linear { +} +declare var OES_texture_float_linear: { + prototype: OES_texture_float_linear; + new(): OES_texture_float_linear; +} + +interface WebGLObject { +} +declare var WebGLObject: { + prototype: WebGLObject; + new(): WebGLObject; +} + +interface WebGLBuffer extends WebGLObject { +} +declare var WebGLBuffer: { + prototype: WebGLBuffer; + new(): WebGLBuffer; +} + +interface WebGLShaderPrecisionFormat { + rangeMin: number; + rangeMax: number; + precision: number; +} +declare var WebGLShaderPrecisionFormat: { + prototype: WebGLShaderPrecisionFormat; + new(): WebGLShaderPrecisionFormat; +} + +interface EXT_texture_filter_anisotropic { + TEXTURE_MAX_ANISOTROPY_EXT: number; + MAX_TEXTURE_MAX_ANISOTROPY_EXT: number; +} +declare var EXT_texture_filter_anisotropic: { + prototype: EXT_texture_filter_anisotropic; + new(): EXT_texture_filter_anisotropic; + TEXTURE_MAX_ANISOTROPY_EXT: number; + MAX_TEXTURE_MAX_ANISOTROPY_EXT: number; +} + +declare var Option: { new(text?: string, value?: string, defaultSelected?: boolean, selected?:boolean): HTMLOptionElement; }; +declare var Image: { new(width?: number, height?: number): HTMLImageElement; }; +declare var Audio: { new(src?: string): HTMLAudioElement; }; + +declare var ondragend: (ev: DragEvent) => any; +declare var onkeydown: (ev: KeyboardEvent) => any; +declare var ondragover: (ev: DragEvent) => any; +declare var onkeyup: (ev: KeyboardEvent) => any; +declare var onreset: (ev: Event) => any; +declare var onmouseup: (ev: MouseEvent) => any; +declare var ondragstart: (ev: DragEvent) => any; +declare var ondrag: (ev: DragEvent) => any; +declare var screenX: number; +declare var onmouseover: (ev: MouseEvent) => any; +declare var ondragleave: (ev: DragEvent) => any; +declare var history: History; +declare var pageXOffset: number; +declare var name: string; +declare var onafterprint: (ev: Event) => any; +declare var onpause: (ev: Event) => any; +declare var onbeforeprint: (ev: Event) => any; +declare var top: Window; +declare var onmousedown: (ev: MouseEvent) => any; +declare var onseeked: (ev: Event) => any; +declare var opener: Window; +declare var onclick: (ev: MouseEvent) => any; +declare var innerHeight: number; +declare var onwaiting: (ev: Event) => any; +declare var ononline: (ev: Event) => any; +declare var ondurationchange: (ev: Event) => any; +declare var frames: Window; +declare var onblur: (ev: FocusEvent) => any; +declare var onemptied: (ev: Event) => any; +declare var onseeking: (ev: Event) => any; +declare var oncanplay: (ev: Event) => any; +declare var outerWidth: number; +declare var onstalled: (ev: Event) => any; +declare var onmousemove: (ev: MouseEvent) => any; +declare var innerWidth: number; +declare var onoffline: (ev: Event) => any; +declare var length: number; +declare var screen: Screen; +declare var onbeforeunload: (ev: BeforeUnloadEvent) => any; +declare var onratechange: (ev: Event) => any; +declare var onstorage: (ev: StorageEvent) => any; +declare var onloadstart: (ev: Event) => any; +declare var ondragenter: (ev: DragEvent) => any; +declare var onsubmit: (ev: Event) => any; +declare var self: Window; +declare var document: Document; +declare var onprogress: (ev: ProgressEvent) => any; +declare var ondblclick: (ev: MouseEvent) => any; +declare var pageYOffset: number; +declare var oncontextmenu: (ev: MouseEvent) => any; +declare var onchange: (ev: Event) => any; +declare var onloadedmetadata: (ev: Event) => any; +declare var onplay: (ev: Event) => any; +declare var onerror: ErrorEventHandler; +declare var onplaying: (ev: Event) => any; +declare var parent: Window; +declare var location: Location; +declare var oncanplaythrough: (ev: Event) => any; +declare var onabort: (ev: UIEvent) => any; +declare var onreadystatechange: (ev: Event) => any; +declare var outerHeight: number; +declare var onkeypress: (ev: KeyboardEvent) => any; +declare var frameElement: Element; +declare var onloadeddata: (ev: Event) => any; +declare var onsuspend: (ev: Event) => any; +declare var window: Window; +declare var onfocus: (ev: FocusEvent) => any; +declare var onmessage: (ev: MessageEvent) => any; +declare var ontimeupdate: (ev: Event) => any; +declare var onresize: (ev: UIEvent) => any; +declare var onselect: (ev: UIEvent) => any; +declare var navigator: Navigator; +declare var styleMedia: StyleMedia; +declare var ondrop: (ev: DragEvent) => any; +declare var onmouseout: (ev: MouseEvent) => any; +declare var onended: (ev: Event) => any; +declare var onhashchange: (ev: Event) => any; +declare var onunload: (ev: Event) => any; +declare var onscroll: (ev: UIEvent) => any; +declare var screenY: number; +declare var onmousewheel: (ev: MouseWheelEvent) => any; +declare var onload: (ev: Event) => any; +declare var onvolumechange: (ev: Event) => any; +declare var oninput: (ev: Event) => any; +declare var performance: Performance; +declare var onmspointerdown: (ev: any) => any; +declare var animationStartTime: number; +declare var onmsgesturedoubletap: (ev: any) => any; +declare var onmspointerhover: (ev: any) => any; +declare var onmsgesturehold: (ev: any) => any; +declare var onmspointermove: (ev: any) => any; +declare var onmsgesturechange: (ev: any) => any; +declare var onmsgesturestart: (ev: any) => any; +declare var onmspointercancel: (ev: any) => any; +declare var onmsgestureend: (ev: any) => any; +declare var onmsgesturetap: (ev: any) => any; +declare var onmspointerout: (ev: any) => any; +declare var msAnimationStartTime: number; +declare var applicationCache: ApplicationCache; +declare var onmsinertiastart: (ev: any) => any; +declare var onmspointerover: (ev: any) => any; +declare var onpopstate: (ev: PopStateEvent) => any; +declare var onmspointerup: (ev: any) => any; +declare var onpageshow: (ev: PageTransitionEvent) => any; +declare var ondevicemotion: (ev: DeviceMotionEvent) => any; +declare var devicePixelRatio: number; +declare var msCrypto: Crypto; +declare var ondeviceorientation: (ev: DeviceOrientationEvent) => any; +declare var doNotTrack: string; +declare var onmspointerenter: (ev: any) => any; +declare var onpagehide: (ev: PageTransitionEvent) => any; +declare var onmspointerleave: (ev: any) => any; +declare function alert(message?: any): void; +declare function scroll(x?: number, y?: number): void; +declare function focus(): void; +declare function scrollTo(x?: number, y?: number): void; +declare function print(): void; +declare function prompt(message?: string, _default?: string): string; +declare function toString(): string; +declare function open(url?: string, target?: string, features?: string, replace?: boolean): Window; +declare function scrollBy(x?: number, y?: number): void; +declare function confirm(message?: string): boolean; +declare function close(): void; +declare function postMessage(message: any, targetOrigin: string, ports?: any): void; +declare function showModalDialog(url?: string, argument?: any, options?: any): any; +declare function blur(): void; +declare function getSelection(): Selection; +declare function getComputedStyle(elt: Element, pseudoElt?: string): CSSStyleDeclaration; +declare function msCancelRequestAnimationFrame(handle: number): void; +declare function matchMedia(mediaQuery: string): MediaQueryList; +declare function cancelAnimationFrame(handle: number): void; +declare function msIsStaticHTML(html: string): boolean; +declare function msMatchMedia(mediaQuery: string): MediaQueryList; +declare function requestAnimationFrame(callback: FrameRequestCallback): number; +declare function msRequestAnimationFrame(callback: FrameRequestCallback): number; +declare function removeEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +declare function dispatchEvent(evt: Event): boolean; +declare function attachEvent(event: string, listener: EventListener): boolean; +declare function detachEvent(event: string, listener: EventListener): void; +declare var localStorage: Storage; +declare var status: string; +declare var onmouseleave: (ev: MouseEvent) => any; +declare var screenLeft: number; +declare var offscreenBuffering: any; +declare var maxConnectionsPerServer: number; +declare var onmouseenter: (ev: MouseEvent) => any; +declare var clipboardData: DataTransfer; +declare var defaultStatus: string; +declare var clientInformation: Navigator; +declare var closed: boolean; +declare var onhelp: (ev: Event) => any; +declare var external: External; +declare var event: MSEventObj; +declare var onfocusout: (ev: FocusEvent) => any; +declare var screenTop: number; +declare var onfocusin: (ev: FocusEvent) => any; +declare function showModelessDialog(url?: string, argument?: any, options?: any): Window; +declare function navigate(url: string): void; +declare function resizeBy(x?: number, y?: number): void; +declare function item(index: any): any; +declare function resizeTo(x?: number, y?: number): void; +declare function createPopup(arguments?: any): MSPopupWindow; +declare function toStaticHTML(html: string): string; +declare function execScript(code: string, language?: string): any; +declare function msWriteProfilerMark(profilerMarkName: string): void; +declare function moveTo(x?: number, y?: number): void; +declare function moveBy(x?: number, y?: number): void; +declare function showHelp(url: string, helpArg?: any, features?: string): void; +declare function captureEvents(): void; +declare function releaseEvents(): void; +declare var sessionStorage: Storage; +declare function clearTimeout(handle: number): void; +declare function setTimeout(handler: any, timeout?: any, ...args: any[]): number; +declare function clearInterval(handle: number): void; +declare function setInterval(handler: any, timeout?: any, ...args: any[]): number; +declare function msSetImmediate(expression: any, ...args: any[]): number; +declare function clearImmediate(handle: number): void; +declare function msClearImmediate(handle: number): void; +declare function setImmediate(expression: any, ...args: any[]): number; +declare function btoa(rawString: string): string; +declare function atob(encodedString: string): string; +declare var msIndexedDB: IDBFactory; +declare var indexedDB: IDBFactory; +declare var console: Console; +declare var onpointerenter: (ev: PointerEvent) => any; +declare var onpointerout: (ev: PointerEvent) => any; +declare var onpointerdown: (ev: PointerEvent) => any; +declare var onpointerup: (ev: PointerEvent) => any; +declare var onpointercancel: (ev: PointerEvent) => any; +declare var onpointerover: (ev: PointerEvent) => any; +declare var onpointermove: (ev: PointerEvent) => any; +declare var onpointerleave: (ev: PointerEvent) => any; +declare function addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "afterprint", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "beforeprint", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "online", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "offline", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "beforeunload", listener: (ev: BeforeUnloadEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "storage", listener: (ev: StorageEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "contextmenu", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "hashchange", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "unload", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "popstate", listener: (ev: PopStateEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pageshow", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "devicemotion", listener: (ev: DeviceMotionEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "deviceorientation", listener: (ev: DeviceOrientationEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pagehide", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; + +///////////////////////////// +/// WorkerGlobalScope APIs +///////////////////////////// +// These are only available in a Web Worker +declare function importScripts(...urls: string[]): void; + + +///////////////////////////// +/// Windows Script Host APIS +///////////////////////////// + +declare var ActiveXObject: { new (s: string): any; }; + +interface ITextWriter { + Write(s: string): void; + WriteLine(s: string): void; + Close(): void; +} + +declare var WScript: { + Echo(s: any): void; + StdErr: ITextWriter; + StdOut: ITextWriter; + Arguments: { length: number; Item(n: number): string; }; + ScriptFullName: string; + Quit(exitCode?: number): number; +} diff --git a/bin/lib.dom.d.ts b/bin/lib.dom.d.ts new file mode 100644 index 0000000000000..ff05bbf6b8de7 --- /dev/null +++ b/bin/lib.dom.d.ts @@ -0,0 +1,13027 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + +/// + +///////////////////////////// +/// IE10 ECMAScript Extensions +///////////////////////////// + +/** + * Represents a raw buffer of binary data, which is used to store data for the + * different typed arrays. ArrayBuffers cannot be read from or written to directly, + * but can be passed to a typed array or DataView Object to interpret the raw + * buffer as needed. + */ +interface ArrayBuffer { + /** + * Read-only. The length of the ArrayBuffer (in bytes). + */ + byteLength: number; +} + +declare var ArrayBuffer: { + prototype: ArrayBuffer; + new (byteLength: number): ArrayBuffer; +} + +interface ArrayBufferView { + buffer: ArrayBuffer; + byteOffset: number; + byteLength: number; +} + +/** + * A typed array of 8-bit integer values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Int8Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Int8Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Int8Array view of the ArrayBuffer store for this array, referencing the elements at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Int8Array; +} +declare var Int8Array: { + prototype: Int8Array; + new (length: number): Int8Array; + new (array: Int8Array): Int8Array; + new (array: number[]): Int8Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int8Array; + BYTES_PER_ELEMENT: number; +} + +/** + * A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Uint8Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Uint8Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Uint8Array view of the ArrayBuffer Object store for this array, specifying the first and last members of the subarray. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Uint8Array; +} +declare var Uint8Array: { + prototype: Uint8Array; + new (length: number): Uint8Array; + new (array: Uint8Array): Uint8Array; + new (array: number[]): Uint8Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint8Array; + BYTES_PER_ELEMENT: number; +} + +/** + * A typed array of 16-bit integer values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Int16Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Int16Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Int16Array view of the ArrayBuffer Object store for this array, specifying the first and last members of the subarray. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Int16Array; +} +declare var Int16Array: { + prototype: Int16Array; + new (length: number): Int16Array; + new (array: Int16Array): Int16Array; + new (array: number[]): Int16Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int16Array; + BYTES_PER_ELEMENT: number; +} + +/** + * A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Uint16Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Uint16Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Uint16Array view of the ArrayBuffer Object store for this array, specifying the first and last members of the subarray. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Uint16Array; +} +declare var Uint16Array: { + prototype: Uint16Array; + new (length: number): Uint16Array; + new (array: Uint16Array): Uint16Array; + new (array: number[]): Uint16Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint16Array; + BYTES_PER_ELEMENT: number; +} + +/** + * A typed array of 32-bit integer values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Int32Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Int32Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Int32Array view of the ArrayBuffer Object store for this array, specifying the first and last members of the subarray. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Int32Array; +} +declare var Int32Array: { + prototype: Int32Array; + new (length: number): Int32Array; + new (array: Int32Array): Int32Array; + new (array: number[]): Int32Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int32Array; + BYTES_PER_ELEMENT: number; +} + +/** + * A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Uint32Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Uint32Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Int8Array view of the ArrayBuffer Object store for this array, specifying the first and last members of the subarray. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Uint32Array; +} +declare var Uint32Array: { + prototype: Uint32Array; + new (length: number): Uint32Array; + new (array: Uint32Array): Uint32Array; + new (array: number[]): Uint32Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint32Array; + BYTES_PER_ELEMENT: number; +} + +/** + * A typed array of 32-bit float values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Float32Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Float32Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Float32Array view of the ArrayBuffer Object store for this array, specifying the first and last members of the subarray. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Float32Array; +} +declare var Float32Array: { + prototype: Float32Array; + new (length: number): Float32Array; + new (array: Float32Array): Float32Array; + new (array: number[]): Float32Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Float32Array; + BYTES_PER_ELEMENT: number; +} + +/** + * A typed array of 64-bit float values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Float64Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Float64Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Float64Array view of the ArrayBuffer Object store for this array, specifying the first and last members of the subarray. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Float64Array; +} +declare var Float64Array: { + prototype: Float64Array; + new (length: number): Float64Array; + new (array: Float64Array): Float64Array; + new (array: number[]): Float64Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Float64Array; + BYTES_PER_ELEMENT: number; +} + +/** + * You can use a DataView object to read and write the different kinds of binary data to any location in the ArrayBuffer. + */ +interface DataView extends ArrayBufferView { + /** + * Gets the Int8 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getInt8(byteOffset: number): number; + + /** + * Gets the Uint8 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getUint8(byteOffset: number): number; + + /** + * Gets the Int16 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getInt16(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Uint16 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getUint16(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Int32 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getInt32(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Uint32 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getUint32(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Float32 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getFloat32(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Float64 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getFloat64(byteOffset: number, littleEndian?: boolean): number; + + /** + * Stores an Int8 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + */ + setInt8(byteOffset: number, value: number): void; + + /** + * Stores an Uint8 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + */ + setUint8(byteOffset: number, value: number): void; + + /** + * Stores an Int16 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, otherwise a little-endian value should be written. + */ + setInt16(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Uint16 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, otherwise a little-endian value should be written. + */ + setUint16(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Int32 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, otherwise a little-endian value should be written. + */ + setInt32(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Uint32 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, otherwise a little-endian value should be written. + */ + setUint32(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Float32 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, otherwise a little-endian value should be written. + */ + setFloat32(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Float64 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, otherwise a little-endian value should be written. + */ + setFloat64(byteOffset: number, value: number, littleEndian?: boolean): void; +} +declare var DataView: { + prototype: DataView; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): DataView; +} + +///////////////////////////// +/// IE11 ECMAScript Extensions +///////////////////////////// + +interface Map { + clear(): void; + delete(key: K): boolean; + forEach(callbackfn: (value: V, index: K, map: Map) => void, thisArg?: any): void; + get(key: K): V; + has(key: K): boolean; + set(key: K, value: V): Map; + size: number; +} +declare var Map: { + new (): Map; +} + +interface WeakMap { + clear(): void; + delete(key: K): boolean; + get(key: K): V; + has(key: K): boolean; + set(key: K, value: V): WeakMap; +} +declare var WeakMap: { + new (): WeakMap; +} + +interface Set { + add(value: T): Set; + clear(): void; + delete(value: T): boolean; + forEach(callbackfn: (value: T, index: T, set: Set) => void, thisArg?: any): void; + has(value: T): boolean; + size: number; +} +declare var Set: { + new (): Set; +} + +declare module Intl { + + interface CollatorOptions { + usage?: string; + localeMatcher?: string; + numeric?: boolean; + caseFirst?: string; + sensitivity?: string; + ignorePunctuation?: boolean; + } + + interface ResolvedCollatorOptions { + locale: string; + usage: string; + sensitivity: string; + ignorePunctuation: boolean; + collation: string; + caseFirst: string; + numeric: boolean; + } + + interface Collator { + compare(x: string, y: string): number; + resolvedOptions(): ResolvedCollatorOptions; + } + var Collator: { + new (locales?: string[], options?: CollatorOptions): Collator; + new (locale?: string, options?: CollatorOptions): Collator; + (locales?: string[], options?: CollatorOptions): Collator; + (locale?: string, options?: CollatorOptions): Collator; + supportedLocalesOf(locales: string[], options?: CollatorOptions): string[]; + supportedLocalesOf(locale: string, options?: CollatorOptions): string[]; + } + + interface NumberFormatOptions { + localeMatcher?: string; + style?: string; + currency?: string; + currencyDisplay?: string; + useGrouping?: boolean; + } + + interface ResolvedNumberFormatOptions { + locale: string; + numberingSystem: string; + style: string; + currency?: string; + currencyDisplay?: string; + minimumintegerDigits: number; + minimumFractionDigits: number; + maximumFractionDigits: number; + minimumSignificantDigits?: number; + maximumSignificantDigits?: number; + useGrouping: boolean; + } + + interface NumberFormat { + format(value: number): string; + resolvedOptions(): ResolvedNumberFormatOptions; + } + var NumberFormat: { + new (locales?: string[], options?: NumberFormatOptions): Collator; + new (locale?: string, options?: NumberFormatOptions): Collator; + (locales?: string[], options?: NumberFormatOptions): Collator; + (locale?: string, options?: NumberFormatOptions): Collator; + supportedLocalesOf(locales: string[], options?: NumberFormatOptions): string[]; + supportedLocalesOf(locale: string, options?: NumberFormatOptions): string[]; + } + + interface DateTimeFormatOptions { + localeMatcher?: string; + weekday?: string; + era?: string; + year?: string; + month?: string; + day?: string; + hour?: string; + minute?: string; + second?: string; + timeZoneName?: string; + formatMatcher?: string; + hour12: boolean; + } + + interface ResolvedDateTimeFormatOptions { + locale: string; + calendar: string; + numberingSystem: string; + timeZone: string; + hour12?: boolean; + weekday?: string; + era?: string; + year?: string; + month?: string; + day?: string; + hour?: string; + minute?: string; + second?: string; + timeZoneName?: string; + } + + interface DateTimeFormat { + format(date: number): string; + resolvedOptions(): ResolvedDateTimeFormatOptions; + } + var DateTimeFormat: { + new (locales?: string[], options?: DateTimeFormatOptions): Collator; + new (locale?: string, options?: DateTimeFormatOptions): Collator; + (locales?: string[], options?: DateTimeFormatOptions): Collator; + (locale?: string, options?: DateTimeFormatOptions): Collator; + supportedLocalesOf(locales: string[], options?: DateTimeFormatOptions): string[]; + supportedLocalesOf(locale: string, options?: DateTimeFormatOptions): string[]; + } +} + +interface String { + /** + * Determines whether two strings are equivalent in the current locale. + * @param that String to compare to target string + * @param locales An array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details. + * @param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details. + */ + localeCompare(that: string, locales: string[], options?: Intl.CollatorOptions): number; + + /** + * Determines whether two strings are equivalent in the current locale. + * @param that String to compare to target string + * @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details. + * @param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details. + */ + localeCompare(that: string, locale: string, options?: Intl.CollatorOptions): number; +} + +interface Number { + /** + * Converts a number to a string by using the current or specified locale. + * @param locales An array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleString(locales?: string[], options?: Intl.NumberFormatOptions): string; + + /** + * Converts a number to a string by using the current or specified locale. + * @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleString(locale?: string, options?: Intl.NumberFormatOptions): string; +} + +interface Date { + /** + * Converts a date to a string by using the current or specified locale. + * @param locales An array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleString(locales?: string[], options?: Intl.DateTimeFormatOptions): string; + + /** + * Converts a date to a string by using the current or specified locale. + * @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleString(locale?: string, options?: Intl.DateTimeFormatOptions): string; +} + +///////////////////////////// +/// IE DOM APIs +///////////////////////////// + + +interface PositionOptions { + enableHighAccuracy?: boolean; + timeout?: number; + maximumAge?: number; +} + +interface ObjectURLOptions { + oneTimeOnly?: boolean; +} + +interface StoreExceptionsInformation extends ExceptionInformation { + siteName?: string; + explanationString?: string; + detailURI?: string; +} + +interface StoreSiteSpecificExceptionsInformation extends StoreExceptionsInformation { + arrayOfDomainStrings?: string[]; +} + +interface ConfirmSiteSpecificExceptionsInformation extends ExceptionInformation { + arrayOfDomainStrings?: string[]; +} + +interface AlgorithmParameters { +} + +interface MutationObserverInit { + childList?: boolean; + attributes?: boolean; + characterData?: boolean; + subtree?: boolean; + attributeOldValue?: boolean; + characterDataOldValue?: boolean; + attributeFilter?: string[]; +} + +interface PointerEventInit extends MouseEventInit { + pointerId?: number; + width?: number; + height?: number; + pressure?: number; + tiltX?: number; + tiltY?: number; + pointerType?: string; + isPrimary?: boolean; +} + +interface ExceptionInformation { + domain?: string; +} + +interface DeviceAccelerationDict { + x?: number; + y?: number; + z?: number; +} + +interface MsZoomToOptions { + contentX?: number; + contentY?: number; + viewportX?: string; + viewportY?: string; + scaleFactor?: number; + animate?: string; +} + +interface DeviceRotationRateDict { + alpha?: number; + beta?: number; + gamma?: number; +} + +interface Algorithm { + name?: string; + params?: AlgorithmParameters; +} + +interface MouseEventInit { + bubbles?: boolean; + cancelable?: boolean; + view?: Window; + detail?: number; + screenX?: number; + screenY?: number; + clientX?: number; + clientY?: number; + ctrlKey?: boolean; + shiftKey?: boolean; + altKey?: boolean; + metaKey?: boolean; + button?: number; + buttons?: number; + relatedTarget?: EventTarget; +} + +interface WebGLContextAttributes { + alpha?: boolean; + depth?: boolean; + stencil?: boolean; + antialias?: boolean; + premultipliedAlpha?: boolean; + preserveDrawingBuffer?: boolean; +} + +interface NodeListOf extends NodeList { + length: number; + item(index: number): TNode; + [index: number]: TNode; +} + +interface HTMLElement extends Element, ElementCSSInlineStyle, MSEventAttachmentTarget, MSNodeExtensions { + hidden: any; + readyState: any; + onmouseleave: (ev: MouseEvent) => any; + onbeforecut: (ev: DragEvent) => any; + onkeydown: (ev: KeyboardEvent) => any; + onmove: (ev: MSEventObj) => any; + onkeyup: (ev: KeyboardEvent) => any; + onreset: (ev: Event) => any; + onhelp: (ev: Event) => any; + ondragleave: (ev: DragEvent) => any; + className: string; + onfocusin: (ev: FocusEvent) => any; + onseeked: (ev: Event) => any; + recordNumber: any; + title: string; + parentTextEdit: Element; + outerHTML: string; + ondurationchange: (ev: Event) => any; + offsetHeight: number; + all: HTMLCollection; + onblur: (ev: FocusEvent) => any; + dir: string; + onemptied: (ev: Event) => any; + onseeking: (ev: Event) => any; + oncanplay: (ev: Event) => any; + ondeactivate: (ev: UIEvent) => any; + ondatasetchanged: (ev: MSEventObj) => any; + onrowsdelete: (ev: MSEventObj) => any; + sourceIndex: number; + onloadstart: (ev: Event) => any; + onlosecapture: (ev: MSEventObj) => any; + ondragenter: (ev: DragEvent) => any; + oncontrolselect: (ev: MSEventObj) => any; + onsubmit: (ev: Event) => any; + behaviorUrns: MSBehaviorUrnsCollection; + scopeName: string; + onchange: (ev: Event) => any; + id: string; + onlayoutcomplete: (ev: MSEventObj) => any; + uniqueID: string; + onbeforeactivate: (ev: UIEvent) => any; + oncanplaythrough: (ev: Event) => any; + onbeforeupdate: (ev: MSEventObj) => any; + onfilterchange: (ev: MSEventObj) => any; + offsetParent: Element; + ondatasetcomplete: (ev: MSEventObj) => any; + onsuspend: (ev: Event) => any; + onmouseenter: (ev: MouseEvent) => any; + innerText: string; + onerrorupdate: (ev: MSEventObj) => any; + onmouseout: (ev: MouseEvent) => any; + parentElement: HTMLElement; + onmousewheel: (ev: MouseWheelEvent) => any; + onvolumechange: (ev: Event) => any; + oncellchange: (ev: MSEventObj) => any; + onrowexit: (ev: MSEventObj) => any; + onrowsinserted: (ev: MSEventObj) => any; + onpropertychange: (ev: MSEventObj) => any; + filters: any; + children: HTMLCollection; + ondragend: (ev: DragEvent) => any; + onbeforepaste: (ev: DragEvent) => any; + ondragover: (ev: DragEvent) => any; + offsetTop: number; + onmouseup: (ev: MouseEvent) => any; + ondragstart: (ev: DragEvent) => any; + onbeforecopy: (ev: DragEvent) => any; + ondrag: (ev: DragEvent) => any; + innerHTML: string; + onmouseover: (ev: MouseEvent) => any; + lang: string; + uniqueNumber: number; + onpause: (ev: Event) => any; + tagUrn: string; + onmousedown: (ev: MouseEvent) => any; + onclick: (ev: MouseEvent) => any; + onwaiting: (ev: Event) => any; + onresizestart: (ev: MSEventObj) => any; + offsetLeft: number; + isTextEdit: boolean; + isDisabled: boolean; + onpaste: (ev: DragEvent) => any; + canHaveHTML: boolean; + onmoveend: (ev: MSEventObj) => any; + language: string; + onstalled: (ev: Event) => any; + onmousemove: (ev: MouseEvent) => any; + style: MSStyleCSSProperties; + isContentEditable: boolean; + onbeforeeditfocus: (ev: MSEventObj) => any; + onratechange: (ev: Event) => any; + contentEditable: string; + tabIndex: number; + document: Document; + onprogress: (ev: ProgressEvent) => any; + ondblclick: (ev: MouseEvent) => any; + oncontextmenu: (ev: MouseEvent) => any; + onloadedmetadata: (ev: Event) => any; + onafterupdate: (ev: MSEventObj) => any; + onerror: (ev: ErrorEvent) => any; + onplay: (ev: Event) => any; + onresizeend: (ev: MSEventObj) => any; + onplaying: (ev: Event) => any; + isMultiLine: boolean; + onfocusout: (ev: FocusEvent) => any; + onabort: (ev: UIEvent) => any; + ondataavailable: (ev: MSEventObj) => any; + hideFocus: boolean; + onreadystatechange: (ev: Event) => any; + onkeypress: (ev: KeyboardEvent) => any; + onloadeddata: (ev: Event) => any; + onbeforedeactivate: (ev: UIEvent) => any; + outerText: string; + disabled: boolean; + onactivate: (ev: UIEvent) => any; + accessKey: string; + onmovestart: (ev: MSEventObj) => any; + onselectstart: (ev: Event) => any; + onfocus: (ev: FocusEvent) => any; + ontimeupdate: (ev: Event) => any; + onresize: (ev: UIEvent) => any; + oncut: (ev: DragEvent) => any; + onselect: (ev: UIEvent) => any; + ondrop: (ev: DragEvent) => any; + offsetWidth: number; + oncopy: (ev: DragEvent) => any; + onended: (ev: Event) => any; + onscroll: (ev: UIEvent) => any; + onrowenter: (ev: MSEventObj) => any; + onload: (ev: Event) => any; + canHaveChildren: boolean; + oninput: (ev: Event) => any; + onmscontentzoom: (ev: MSEventObj) => any; + oncuechange: (ev: Event) => any; + spellcheck: boolean; + classList: DOMTokenList; + onmsmanipulationstatechanged: (ev: any) => any; + draggable: boolean; + dataset: DOMStringMap; + dragDrop(): boolean; + scrollIntoView(top?: boolean): void; + addFilter(filter: any): void; + setCapture(containerCapture?: boolean): void; + focus(): void; + getAdjacentText(where: string): string; + insertAdjacentText(where: string, text: string): void; + getElementsByClassName(classNames: string): NodeList; + setActive(): void; + removeFilter(filter: any): void; + blur(): void; + clearAttributes(): void; + releaseCapture(): void; + createControlRange(): ControlRangeCollection; + removeBehavior(cookie: number): boolean; + contains(child: HTMLElement): boolean; + click(): void; + insertAdjacentElement(position: string, insertedElement: Element): Element; + mergeAttributes(source: HTMLElement, preserveIdentity?: boolean): void; + replaceAdjacentText(where: string, newText: string): string; + applyElement(apply: Element, where?: string): Element; + addBehavior(bstrUrl: string, factory?: any): number; + insertAdjacentHTML(where: string, html: string): void; + msGetInputContext(): MSInputMethodContext; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgotpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mslostpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "move", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "datasetchanged", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsdelete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "losecapture", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "controlselect", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "layoutcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "filterchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "datasetcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "errorupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cellchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowexit", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsinserted", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "propertychange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "moveend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeeditfocus", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "afterupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizeend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dataavailable", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "movestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "rowenter", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mscontentzoom", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "msmanipulationstatechanged", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var HTMLElement: { + prototype: HTMLElement; + new(): HTMLElement; +} + +interface Document extends Node, NodeSelector, MSEventAttachmentTarget, DocumentEvent, MSResourceMetadata, MSNodeExtensions, MSDocumentExtensions, GlobalEventHandlers { + /** + * Gets a reference to the root node of the document. + */ + documentElement: HTMLElement; + /** + * Retrieves the collection of user agents and versions declared in the X-UA-Compatible + */ + compatible: MSCompatibleInfoCollection; + /** + * Fires when the user presses a key. + * @param ev The keyboard event + */ + onkeydown: (ev: KeyboardEvent) => any; + /** + * Fires when the user releases a key. + * @param ev The keyboard event + */ + onkeyup: (ev: KeyboardEvent) => any; + /** + * Gets the implementation object of the current document. + */ + implementation: DOMImplementation; + /** + * Fires when the user resets a form. + * @param ev The event. + */ + onreset: (ev: Event) => any; + /** + * Retrieves a collection of all script objects in the document. + */ + scripts: HTMLCollection; + /** + * Fires when the user presses the F1 key while the browser is the active window. + * @param ev The event. + */ + onhelp: (ev: Event) => any; + /** + * Fires on the target object when the user moves the mouse out of a valid drop target during a drag operation. + * @param ev The drag event. + */ + ondragleave: (ev: DragEvent) => any; + /** + * Gets or sets the character set used to encode the object. + */ + charset: string; + /** + * Fires for an element just prior to setting focus on that element. + * @param ev The focus event + */ + onfocusin: (ev: FocusEvent) => any; + /** + * Sets or gets the color of the links that the user has visited. + */ + vlinkColor: string; + /** + * Occurs when the seek operation ends. + * @param ev The event. + */ + onseeked: (ev: Event) => any; + security: string; + /** + * Contains the title of the document. + */ + title: string; + /** + * Retrieves a collection of namespace objects. + */ + namespaces: MSNamespaceInfoCollection; + /** + * Gets the default character set from the current regional language settings. + */ + defaultCharset: string; + /** + * Retrieves a collection of all embed objects in the document. + */ + embeds: HTMLCollection; + /** + * Retrieves a collection of styleSheet objects representing the style sheets that correspond to each instance of a link or style object in the document. + */ + styleSheets: StyleSheetList; + /** + * Retrieves a collection of all window objects defined by the given document or defined by the document associated with the given window. + */ + frames: Window; + /** + * Occurs when the duration attribute is updated. + * @param ev The event. + */ + ondurationchange: (ev: Event) => any; + /** + * Returns a reference to the collection of elements contained by the object. + */ + all: HTMLCollection; + /** + * Retrieves a collection, in source order, of all form objects in the document. + */ + forms: HTMLCollection; + /** + * Fires when the object loses the input focus. + * @param ev The focus event. + */ + onblur: (ev: FocusEvent) => any; + /** + * Sets or retrieves a value that indicates the reading order of the object. + */ + dir: string; + /** + * Occurs when the media element is reset to its initial state. + * @param ev The event. + */ + onemptied: (ev: Event) => any; + /** + * Sets or gets a value that indicates whether the document can be edited. + */ + designMode: string; + /** + * Occurs when the current playback position is moved. + * @param ev The event. + */ + onseeking: (ev: Event) => any; + /** + * Fires when the activeElement is changed from the current object to another object in the parent document. + * @param ev The UI Event + */ + ondeactivate: (ev: UIEvent) => any; + /** + * Occurs when playback is possible, but would require further buffering. + * @param ev The event. + */ + oncanplay: (ev: Event) => any; + /** + * Fires when the data set exposed by a data source object changes. + * @param ev The event. + */ + ondatasetchanged: (ev: MSEventObj) => any; + /** + * Fires when rows are about to be deleted from the recordset. + * @param ev The event + */ + onrowsdelete: (ev: MSEventObj) => any; + Script: MSScriptHost; + /** + * Occurs when Internet Explorer begins looking for media data. + * @param ev The event. + */ + onloadstart: (ev: Event) => any; + /** + * Gets the URL for the document, stripped of any character encoding. + */ + URLUnencoded: string; + defaultView: Window; + /** + * Fires when the user is about to make a control selection of the object. + * @param ev The event. + */ + oncontrolselect: (ev: MSEventObj) => any; + /** + * Fires on the target element when the user drags the object to a valid drop target. + * @param ev The drag event. + */ + ondragenter: (ev: DragEvent) => any; + onsubmit: (ev: Event) => any; + /** + * Returns the character encoding used to create the webpage that is loaded into the document object. + */ + inputEncoding: string; + /** + * Gets the object that has the focus when the parent document has focus. + */ + activeElement: Element; + /** + * Fires when the contents of the object or selection have changed. + * @param ev The event. + */ + onchange: (ev: Event) => any; + /** + * Retrieves a collection of all a objects that specify the href property and all area objects in the document. + */ + links: HTMLCollection; + /** + * Retrieves an autogenerated, unique identifier for the object. + */ + uniqueID: string; + /** + * Sets or gets the URL for the current document. + */ + URL: string; + /** + * Fires immediately before the object is set as the active element. + * @param ev The event. + */ + onbeforeactivate: (ev: UIEvent) => any; + head: HTMLHeadElement; + cookie: string; + xmlEncoding: string; + oncanplaythrough: (ev: Event) => any; + /** + * Retrieves the document compatibility mode of the document. + */ + documentMode: number; + characterSet: string; + /** + * Retrieves a collection of all a objects that have a name and/or id property. Objects in this collection are in HTML source order. + */ + anchors: HTMLCollection; + onbeforeupdate: (ev: MSEventObj) => any; + /** + * Fires to indicate that all data is available from the data source object. + * @param ev The event. + */ + ondatasetcomplete: (ev: MSEventObj) => any; + plugins: HTMLCollection; + /** + * Occurs if the load operation has been intentionally halted. + * @param ev The event. + */ + onsuspend: (ev: Event) => any; + /** + * Gets the root svg element in the document hierarchy. + */ + rootElement: SVGSVGElement; + /** + * Retrieves a value that indicates the current state of the object. + */ + readyState: string; + /** + * Gets the URL of the location that referred the user to the current page. + */ + referrer: string; + /** + * Sets or gets the color of all active links in the document. + */ + alinkColor: string; + /** + * Fires on a databound object when an error occurs while updating the associated data in the data source object. + * @param ev The event. + */ + onerrorupdate: (ev: MSEventObj) => any; + /** + * Gets a reference to the container object of the window. + */ + parentWindow: Window; + /** + * Fires when the user moves the mouse pointer outside the boundaries of the object. + * @param ev The mouse event. + */ + onmouseout: (ev: MouseEvent) => any; + /** + * Occurs when a user clicks a button in a Thumbnail Toolbar of a webpage running in Site Mode. + * @param ev The event. + */ + onmsthumbnailclick: (ev: MSSiteModeEvent) => any; + /** + * Fires when the wheel button is rotated. + * @param ev The mouse event + */ + onmousewheel: (ev: MouseWheelEvent) => any; + /** + * Occurs when the volume is changed, or playback is muted or unmuted. + * @param ev The event. + */ + onvolumechange: (ev: Event) => any; + /** + * Fires when data changes in the data provider. + * @param ev The event. + */ + oncellchange: (ev: MSEventObj) => any; + /** + * Fires just before the data source control changes the current row in the object. + * @param ev The event. + */ + onrowexit: (ev: MSEventObj) => any; + /** + * Fires just after new rows are inserted in the current recordset. + * @param ev The event. + */ + onrowsinserted: (ev: MSEventObj) => any; + /** + * Gets or sets the version attribute specified in the declaration of an XML document. + */ + xmlVersion: string; + msCapsLockWarningOff: boolean; + /** + * Fires when a property changes on the object. + * @param ev The event. + */ + onpropertychange: (ev: MSEventObj) => any; + /** + * Fires on the source object when the user releases the mouse at the close of a drag operation. + * @param ev The event. + */ + ondragend: (ev: DragEvent) => any; + /** + * Gets an object representing the document type declaration associated with the current document. + */ + doctype: DocumentType; + /** + * Fires on the target element continuously while the user drags the object over a valid drop target. + * @param ev The event. + */ + ondragover: (ev: DragEvent) => any; + /** + * Deprecated. Sets or retrieves a value that indicates the background color behind the object. + */ + bgColor: string; + /** + * Fires on the source object when the user starts to drag a text selection or selected object. + * @param ev The event. + */ + ondragstart: (ev: DragEvent) => any; + /** + * Fires when the user releases a mouse button while the mouse is over the object. + * @param ev The mouse event. + */ + onmouseup: (ev: MouseEvent) => any; + /** + * Fires on the source object continuously during a drag operation. + * @param ev The event. + */ + ondrag: (ev: DragEvent) => any; + /** + * Fires when the user moves the mouse pointer into the object. + * @param ev The mouse event. + */ + onmouseover: (ev: MouseEvent) => any; + /** + * Sets or gets the color of the document links. + */ + linkColor: string; + /** + * Occurs when playback is paused. + * @param ev The event. + */ + onpause: (ev: Event) => any; + /** + * Fires when the user clicks the object with either mouse button. + * @param ev The mouse event. + */ + onmousedown: (ev: MouseEvent) => any; + /** + * Fires when the user clicks the left mouse button on the object + * @param ev The mouse event. + */ + onclick: (ev: MouseEvent) => any; + /** + * Occurs when playback stops because the next frame of a video resource is not available. + * @param ev The event. + */ + onwaiting: (ev: Event) => any; + /** + * Fires when the user clicks the Stop button or leaves the Web page. + * @param ev The event. + */ + onstop: (ev: Event) => any; + /** + * Occurs when an item is removed from a Jump List of a webpage running in Site Mode. + * @param ev The event. + */ + onmssitemodejumplistitemremoved: (ev: MSSiteModeEvent) => any; + /** + * Retrieves a collection of all applet objects in the document. + */ + applets: HTMLCollection; + /** + * Specifies the beginning and end of the document body. + */ + body: HTMLElement; + /** + * Sets or gets the security domain of the document. + */ + domain: string; + xmlStandalone: boolean; + /** + * Represents the active selection, which is a highlighted block of text or other elements in the document that a user or a script can carry out some action on. + */ + selection: MSSelection; + /** + * Occurs when the download has stopped. + * @param ev The event. + */ + onstalled: (ev: Event) => any; + /** + * Fires when the user moves the mouse over the object. + * @param ev The mouse event. + */ + onmousemove: (ev: MouseEvent) => any; + /** + * Fires before an object contained in an editable element enters a UI-activated state or when an editable container object is control selected. + * @param ev The event. + */ + onbeforeeditfocus: (ev: MSEventObj) => any; + /** + * Occurs when the playback rate is increased or decreased. + * @param ev The event. + */ + onratechange: (ev: Event) => any; + /** + * Occurs to indicate progress while downloading media data. + * @param ev The event. + */ + onprogress: (ev: ProgressEvent) => any; + /** + * Fires when the user double-clicks the object. + * @param ev The mouse event. + */ + ondblclick: (ev: MouseEvent) => any; + /** + * Fires when the user clicks the right mouse button in the client area, opening the context menu. + * @param ev The mouse event. + */ + oncontextmenu: (ev: MouseEvent) => any; + /** + * Occurs when the duration and dimensions of the media have been determined. + * @param ev The event. + */ + onloadedmetadata: (ev: Event) => any; + media: string; + /** + * Fires when an error occurs during object loading. + * @param ev The event. + */ + onerror: (ev: ErrorEvent) => any; + /** + * Occurs when the play method is requested. + * @param ev The event. + */ + onplay: (ev: Event) => any; + onafterupdate: (ev: MSEventObj) => any; + /** + * Occurs when the audio or video has started playing. + * @param ev The event. + */ + onplaying: (ev: Event) => any; + /** + * Retrieves a collection, in source order, of img objects in the document. + */ + images: HTMLCollection; + /** + * Contains information about the current URL. + */ + location: Location; + /** + * Fires when the user aborts the download. + * @param ev The event. + */ + onabort: (ev: UIEvent) => any; + /** + * Fires for the current element with focus immediately after moving focus to another element. + * @param ev The event. + */ + onfocusout: (ev: FocusEvent) => any; + /** + * Fires when the selection state of a document changes. + * @param ev The event. + */ + onselectionchange: (ev: Event) => any; + /** + * Fires when a local DOM Storage area is written to disk. + * @param ev The event. + */ + onstoragecommit: (ev: StorageEvent) => any; + /** + * Fires periodically as data arrives from data source objects that asynchronously transmit their data. + * @param ev The event. + */ + ondataavailable: (ev: MSEventObj) => any; + /** + * Fires when the state of the object has changed. + * @param ev The event + */ + onreadystatechange: (ev: Event) => any; + /** + * Gets the date that the page was last modified, if the page supplies one. + */ + lastModified: string; + /** + * Fires when the user presses an alphanumeric key. + * @param ev The event. + */ + onkeypress: (ev: KeyboardEvent) => any; + /** + * Occurs when media data is loaded at the current playback position. + * @param ev The event. + */ + onloadeddata: (ev: Event) => any; + /** + * Fires immediately before the activeElement is changed from the current object to another object in the parent document. + * @param ev The event. + */ + onbeforedeactivate: (ev: UIEvent) => any; + /** + * Fires when the object is set as the active element. + * @param ev The event. + */ + onactivate: (ev: UIEvent) => any; + onselectstart: (ev: Event) => any; + /** + * Fires when the object receives focus. + * @param ev The event. + */ + onfocus: (ev: FocusEvent) => any; + /** + * Sets or gets the foreground (text) color of the document. + */ + fgColor: string; + /** + * Occurs to indicate the current playback position. + * @param ev The event. + */ + ontimeupdate: (ev: Event) => any; + /** + * Fires when the current selection changes. + * @param ev The event. + */ + onselect: (ev: UIEvent) => any; + ondrop: (ev: DragEvent) => any; + /** + * Occurs when the end of playback is reached. + * @param ev The event + */ + onended: (ev: Event) => any; + /** + * Gets a value that indicates whether standards-compliant mode is switched on for the object. + */ + compatMode: string; + /** + * Fires when the user repositions the scroll box in the scroll bar on the object. + * @param ev The event. + */ + onscroll: (ev: UIEvent) => any; + /** + * Fires to indicate that the current row has changed in the data source and new data values are available on the object. + * @param ev The event. + */ + onrowenter: (ev: MSEventObj) => any; + /** + * Fires immediately after the browser loads the object. + * @param ev The event. + */ + onload: (ev: Event) => any; + oninput: (ev: Event) => any; + onmspointerdown: (ev: any) => any; + msHidden: boolean; + msVisibilityState: string; + onmsgesturedoubletap: (ev: any) => any; + visibilityState: string; + onmsmanipulationstatechanged: (ev: any) => any; + onmspointerhover: (ev: any) => any; + onmscontentzoom: (ev: MSEventObj) => any; + onmspointermove: (ev: any) => any; + onmsgesturehold: (ev: any) => any; + onmsgesturechange: (ev: any) => any; + onmsgesturestart: (ev: any) => any; + onmspointercancel: (ev: any) => any; + onmsgestureend: (ev: any) => any; + onmsgesturetap: (ev: any) => any; + onmspointerout: (ev: any) => any; + onmsinertiastart: (ev: any) => any; + msCSSOMElementFloatMetrics: boolean; + onmspointerover: (ev: any) => any; + hidden: boolean; + onmspointerup: (ev: any) => any; + msFullscreenEnabled: boolean; + onmsfullscreenerror: (ev: any) => any; + onmspointerenter: (ev: any) => any; + msFullscreenElement: Element; + onmsfullscreenchange: (ev: any) => any; + onmspointerleave: (ev: any) => any; + /** + * Returns a reference to the first object with the specified value of the ID or NAME attribute. + * @param elementId String that specifies the ID value. Case-insensitive. + */ + getElementById(elementId: string): HTMLElement; + /** + * Returns the current value of the document, range, or current selection for the given command. + * @param commandId String that specifies a command identifier. + */ + queryCommandValue(commandId: string): string; + adoptNode(source: Node): Node; + /** + * Returns a Boolean value that indicates whether the specified command is in the indeterminate state. + * @param commandId String that specifies a command identifier. + */ + queryCommandIndeterm(commandId: string): boolean; + getElementsByTagNameNS(namespaceURI: string, localName: string): NodeList; + createProcessingInstruction(target: string, data: string): ProcessingInstruction; + /** + * Executes a command on the current document, current selection, or the given range. + * @param commandId String that specifies the command to execute. This command can be any of the command identifiers that can be executed in script. + * @param showUI Display the user interface, defaults to false. + * @param value Value to assign. + */ + execCommand(commandId: string, showUI?: boolean, value?: any): boolean; + /** + * Returns the element for the specified x coordinate and the specified y coordinate. + * @param x The x-offset + * @param y The y-offset + */ + elementFromPoint(x: number, y: number): Element; + createCDATASection(data: string): CDATASection; + /** + * Retrieves the string associated with a command. + * @param commandId String that contains the identifier of a command. This can be any command identifier given in the list of Command Identifiers. + */ + queryCommandText(commandId: string): string; + /** + * Writes one or more HTML expressions to a document in the specified window. + * @param content Specifies the text and HTML tags to write. + */ + write(...content: string[]): void; + /** + * Allows updating the print settings for the page. + */ + updateSettings(): void; + /** + * Creates an instance of the element for the specified tag. + * @param tagName The name of an element. + */ + createElement(tagName: "a"): HTMLAnchorElement; + createElement(tagName: "abbr"): HTMLPhraseElement; + createElement(tagName: "acronym"): HTMLPhraseElement; + createElement(tagName: "address"): HTMLBlockElement; + createElement(tagName: "applet"): HTMLAppletElement; + createElement(tagName: "area"): HTMLAreaElement; + createElement(tagName: "article"): HTMLElement; + createElement(tagName: "aside"): HTMLElement; + createElement(tagName: "audio"): HTMLAudioElement; + createElement(tagName: "b"): HTMLPhraseElement; + createElement(tagName: "base"): HTMLBaseElement; + createElement(tagName: "basefont"): HTMLBaseFontElement; + createElement(tagName: "bdo"): HTMLPhraseElement; + createElement(tagName: "bgsound"): HTMLBGSoundElement; + createElement(tagName: "big"): HTMLPhraseElement; + createElement(tagName: "blockquote"): HTMLBlockElement; + createElement(tagName: "body"): HTMLBodyElement; + createElement(tagName: "br"): HTMLBRElement; + createElement(tagName: "button"): HTMLButtonElement; + createElement(tagName: "canvas"): HTMLCanvasElement; + createElement(tagName: "caption"): HTMLTableCaptionElement; + createElement(tagName: "center"): HTMLBlockElement; + createElement(tagName: "cite"): HTMLPhraseElement; + createElement(tagName: "code"): HTMLPhraseElement; + createElement(tagName: "col"): HTMLTableColElement; + createElement(tagName: "colgroup"): HTMLTableColElement; + createElement(tagName: "datalist"): HTMLDataListElement; + createElement(tagName: "dd"): HTMLDDElement; + createElement(tagName: "del"): HTMLModElement; + createElement(tagName: "dfn"): HTMLPhraseElement; + createElement(tagName: "dir"): HTMLDirectoryElement; + createElement(tagName: "div"): HTMLDivElement; + createElement(tagName: "dl"): HTMLDListElement; + createElement(tagName: "dt"): HTMLDTElement; + createElement(tagName: "em"): HTMLPhraseElement; + createElement(tagName: "embed"): HTMLEmbedElement; + createElement(tagName: "fieldset"): HTMLFieldSetElement; + createElement(tagName: "figcaption"): HTMLElement; + createElement(tagName: "figure"): HTMLElement; + createElement(tagName: "font"): HTMLFontElement; + createElement(tagName: "footer"): HTMLElement; + createElement(tagName: "form"): HTMLFormElement; + createElement(tagName: "frame"): HTMLFrameElement; + createElement(tagName: "frameset"): HTMLFrameSetElement; + createElement(tagName: "h1"): HTMLHeadingElement; + createElement(tagName: "h2"): HTMLHeadingElement; + createElement(tagName: "h3"): HTMLHeadingElement; + createElement(tagName: "h4"): HTMLHeadingElement; + createElement(tagName: "h5"): HTMLHeadingElement; + createElement(tagName: "h6"): HTMLHeadingElement; + createElement(tagName: "head"): HTMLHeadElement; + createElement(tagName: "header"): HTMLElement; + createElement(tagName: "hgroup"): HTMLElement; + createElement(tagName: "hr"): HTMLHRElement; + createElement(tagName: "html"): HTMLHtmlElement; + createElement(tagName: "i"): HTMLPhraseElement; + createElement(tagName: "iframe"): HTMLIFrameElement; + createElement(tagName: "img"): HTMLImageElement; + createElement(tagName: "input"): HTMLInputElement; + createElement(tagName: "ins"): HTMLModElement; + createElement(tagName: "isindex"): HTMLIsIndexElement; + createElement(tagName: "kbd"): HTMLPhraseElement; + createElement(tagName: "keygen"): HTMLBlockElement; + createElement(tagName: "label"): HTMLLabelElement; + createElement(tagName: "legend"): HTMLLegendElement; + createElement(tagName: "li"): HTMLLIElement; + createElement(tagName: "link"): HTMLLinkElement; + createElement(tagName: "listing"): HTMLBlockElement; + createElement(tagName: "map"): HTMLMapElement; + createElement(tagName: "mark"): HTMLElement; + createElement(tagName: "marquee"): HTMLMarqueeElement; + createElement(tagName: "menu"): HTMLMenuElement; + createElement(tagName: "meta"): HTMLMetaElement; + createElement(tagName: "nav"): HTMLElement; + createElement(tagName: "nextid"): HTMLNextIdElement; + createElement(tagName: "nobr"): HTMLPhraseElement; + createElement(tagName: "noframes"): HTMLElement; + createElement(tagName: "noscript"): HTMLElement; + createElement(tagName: "object"): HTMLObjectElement; + createElement(tagName: "ol"): HTMLOListElement; + createElement(tagName: "optgroup"): HTMLOptGroupElement; + createElement(tagName: "option"): HTMLOptionElement; + createElement(tagName: "p"): HTMLParagraphElement; + createElement(tagName: "param"): HTMLParamElement; + createElement(tagName: "plaintext"): HTMLBlockElement; + createElement(tagName: "pre"): HTMLPreElement; + createElement(tagName: "progress"): HTMLProgressElement; + createElement(tagName: "q"): HTMLQuoteElement; + createElement(tagName: "rt"): HTMLPhraseElement; + createElement(tagName: "ruby"): HTMLPhraseElement; + createElement(tagName: "s"): HTMLPhraseElement; + createElement(tagName: "samp"): HTMLPhraseElement; + createElement(tagName: "script"): HTMLScriptElement; + createElement(tagName: "section"): HTMLElement; + createElement(tagName: "select"): HTMLSelectElement; + createElement(tagName: "small"): HTMLPhraseElement; + createElement(tagName: "SOURCE"): HTMLSourceElement; + createElement(tagName: "span"): HTMLSpanElement; + createElement(tagName: "strike"): HTMLPhraseElement; + createElement(tagName: "strong"): HTMLPhraseElement; + createElement(tagName: "style"): HTMLStyleElement; + createElement(tagName: "sub"): HTMLPhraseElement; + createElement(tagName: "sup"): HTMLPhraseElement; + createElement(tagName: "table"): HTMLTableElement; + createElement(tagName: "tbody"): HTMLTableSectionElement; + createElement(tagName: "td"): HTMLTableDataCellElement; + createElement(tagName: "textarea"): HTMLTextAreaElement; + createElement(tagName: "tfoot"): HTMLTableSectionElement; + createElement(tagName: "th"): HTMLTableHeaderCellElement; + createElement(tagName: "thead"): HTMLTableSectionElement; + createElement(tagName: "title"): HTMLTitleElement; + createElement(tagName: "tr"): HTMLTableRowElement; + createElement(tagName: "track"): HTMLTrackElement; + createElement(tagName: "tt"): HTMLPhraseElement; + createElement(tagName: "u"): HTMLPhraseElement; + createElement(tagName: "ul"): HTMLUListElement; + createElement(tagName: "var"): HTMLPhraseElement; + createElement(tagName: "video"): HTMLVideoElement; + createElement(tagName: "wbr"): HTMLElement; + createElement(tagName: "x-ms-webview"): MSHTMLWebViewElement; + createElement(tagName: "xmp"): HTMLBlockElement; + createElement(tagName: string): HTMLElement; + /** + * Removes mouse capture from the object in the current document. + */ + releaseCapture(): void; + /** + * Writes one or more HTML expressions, followed by a carriage return, to a document in the specified window. + * @param content The text and HTML tags to write. + */ + writeln(...content: string[]): void; + createElementNS(namespaceURI: string, qualifiedName: string): Element; + /** + * Opens a new window and loads a document specified by a given URL. Also, opens a new window that uses the url parameter and the name parameter to collect the output of the write method and the writeln method. + * @param url Specifies a MIME type for the document. + * @param name Specifies the name of the window. This name is used as the value for the TARGET attribute on a form or an anchor element. + * @param features Contains a list of items separated by commas. Each item consists of an option and a value, separated by an equals sign (for example, "fullscreen=yes, toolbar=yes"). The following values are supported. + * @param replace Specifies whether the existing entry for the document is replaced in the history list. + */ + open(url?: string, name?: string, features?: string, replace?: boolean): any; + /** + * Returns a Boolean value that indicates whether the current command is supported on the current range. + * @param commandId Specifies a command identifier. + */ + queryCommandSupported(commandId: string): boolean; + /** + * Creates a TreeWalker object that you can use to traverse filtered lists of nodes or elements in a document. + * @param root The root element or node to start traversing on. + * @param whatToShow The type of nodes or elements to appear in the node list. For more information, see whatToShow. + * @param filter A custom NodeFilter function to use. + * @param entityReferenceExpansion A flag that specifies whether entity reference nodes are expanded. + */ + createTreeWalker(root: Node, whatToShow: number, filter: NodeFilter, entityReferenceExpansion: boolean): TreeWalker; + createAttributeNS(namespaceURI: string, qualifiedName: string): Attr; + /** + * Returns a Boolean value that indicates whether a specified command can be successfully executed using execCommand, given the current state of the document. + * @param commandId Specifies a command identifier. + */ + queryCommandEnabled(commandId: string): boolean; + /** + * Causes the element to receive the focus and executes the code specified by the onfocus event. + */ + focus(): void; + /** + * Closes an output stream and forces the sent data to display. + */ + close(): void; + getElementsByClassName(classNames: string): NodeList; + importNode(importedNode: Node, deep: boolean): Node; + /** + * Returns an empty range object that has both of its boundary points positioned at the beginning of the document. + */ + createRange(): Range; + /** + * Fires a specified event on the object. + * @param eventName Specifies the name of the event to fire. + * @param eventObj Object that specifies the event object from which to obtain event object properties. + */ + fireEvent(eventName: string, eventObj?: any): boolean; + /** + * Creates a comment object with the specified data. + * @param data Sets the comment object's data. + */ + createComment(data: string): Comment; + /** + * Retrieves a collection of objects based on the specified element name. + * @param name Specifies the name of an element. + */ + getElementsByTagName(name: "a"): NodeListOf; + getElementsByTagName(name: "abbr"): NodeListOf; + getElementsByTagName(name: "acronym"): NodeListOf; + getElementsByTagName(name: "address"): NodeListOf; + getElementsByTagName(name: "applet"): NodeListOf; + getElementsByTagName(name: "area"): NodeListOf; + getElementsByTagName(name: "article"): NodeListOf; + getElementsByTagName(name: "aside"): NodeListOf; + getElementsByTagName(name: "audio"): NodeListOf; + getElementsByTagName(name: "b"): NodeListOf; + getElementsByTagName(name: "base"): NodeListOf; + getElementsByTagName(name: "basefont"): NodeListOf; + getElementsByTagName(name: "bdo"): NodeListOf; + getElementsByTagName(name: "bgsound"): NodeListOf; + getElementsByTagName(name: "big"): NodeListOf; + getElementsByTagName(name: "blockquote"): NodeListOf; + getElementsByTagName(name: "body"): NodeListOf; + getElementsByTagName(name: "br"): NodeListOf; + getElementsByTagName(name: "button"): NodeListOf; + getElementsByTagName(name: "canvas"): NodeListOf; + getElementsByTagName(name: "caption"): NodeListOf; + getElementsByTagName(name: "center"): NodeListOf; + getElementsByTagName(name: "cite"): NodeListOf; + getElementsByTagName(name: "code"): NodeListOf; + getElementsByTagName(name: "col"): NodeListOf; + getElementsByTagName(name: "colgroup"): NodeListOf; + getElementsByTagName(name: "datalist"): NodeListOf; + getElementsByTagName(name: "dd"): NodeListOf; + getElementsByTagName(name: "del"): NodeListOf; + getElementsByTagName(name: "dfn"): NodeListOf; + getElementsByTagName(name: "dir"): NodeListOf; + getElementsByTagName(name: "div"): NodeListOf; + getElementsByTagName(name: "dl"): NodeListOf; + getElementsByTagName(name: "dt"): NodeListOf; + getElementsByTagName(name: "em"): NodeListOf; + getElementsByTagName(name: "embed"): NodeListOf; + getElementsByTagName(name: "fieldset"): NodeListOf; + getElementsByTagName(name: "figcaption"): NodeListOf; + getElementsByTagName(name: "figure"): NodeListOf; + getElementsByTagName(name: "font"): NodeListOf; + getElementsByTagName(name: "footer"): NodeListOf; + getElementsByTagName(name: "form"): NodeListOf; + getElementsByTagName(name: "frame"): NodeListOf; + getElementsByTagName(name: "frameset"): NodeListOf; + getElementsByTagName(name: "h1"): NodeListOf; + getElementsByTagName(name: "h2"): NodeListOf; + getElementsByTagName(name: "h3"): NodeListOf; + getElementsByTagName(name: "h4"): NodeListOf; + getElementsByTagName(name: "h5"): NodeListOf; + getElementsByTagName(name: "h6"): NodeListOf; + getElementsByTagName(name: "head"): NodeListOf; + getElementsByTagName(name: "header"): NodeListOf; + getElementsByTagName(name: "hgroup"): NodeListOf; + getElementsByTagName(name: "hr"): NodeListOf; + getElementsByTagName(name: "html"): NodeListOf; + getElementsByTagName(name: "i"): NodeListOf; + getElementsByTagName(name: "iframe"): NodeListOf; + getElementsByTagName(name: "img"): NodeListOf; + getElementsByTagName(name: "input"): NodeListOf; + getElementsByTagName(name: "ins"): NodeListOf; + getElementsByTagName(name: "isindex"): NodeListOf; + getElementsByTagName(name: "kbd"): NodeListOf; + getElementsByTagName(name: "keygen"): NodeListOf; + getElementsByTagName(name: "label"): NodeListOf; + getElementsByTagName(name: "legend"): NodeListOf; + getElementsByTagName(name: "li"): NodeListOf; + getElementsByTagName(name: "link"): NodeListOf; + getElementsByTagName(name: "listing"): NodeListOf; + getElementsByTagName(name: "map"): NodeListOf; + getElementsByTagName(name: "mark"): NodeListOf; + getElementsByTagName(name: "marquee"): NodeListOf; + getElementsByTagName(name: "menu"): NodeListOf; + getElementsByTagName(name: "meta"): NodeListOf; + getElementsByTagName(name: "nav"): NodeListOf; + getElementsByTagName(name: "nextid"): NodeListOf; + getElementsByTagName(name: "nobr"): NodeListOf; + getElementsByTagName(name: "noframes"): NodeListOf; + getElementsByTagName(name: "noscript"): NodeListOf; + getElementsByTagName(name: "object"): NodeListOf; + getElementsByTagName(name: "ol"): NodeListOf; + getElementsByTagName(name: "optgroup"): NodeListOf; + getElementsByTagName(name: "option"): NodeListOf; + getElementsByTagName(name: "p"): NodeListOf; + getElementsByTagName(name: "param"): NodeListOf; + getElementsByTagName(name: "plaintext"): NodeListOf; + getElementsByTagName(name: "pre"): NodeListOf; + getElementsByTagName(name: "progress"): NodeListOf; + getElementsByTagName(name: "q"): NodeListOf; + getElementsByTagName(name: "rt"): NodeListOf; + getElementsByTagName(name: "ruby"): NodeListOf; + getElementsByTagName(name: "s"): NodeListOf; + getElementsByTagName(name: "samp"): NodeListOf; + getElementsByTagName(name: "script"): NodeListOf; + getElementsByTagName(name: "section"): NodeListOf; + getElementsByTagName(name: "select"): NodeListOf; + getElementsByTagName(name: "small"): NodeListOf; + getElementsByTagName(name: "SOURCE"): NodeListOf; + getElementsByTagName(name: "span"): NodeListOf; + getElementsByTagName(name: "strike"): NodeListOf; + getElementsByTagName(name: "strong"): NodeListOf; + getElementsByTagName(name: "style"): NodeListOf; + getElementsByTagName(name: "sub"): NodeListOf; + getElementsByTagName(name: "sup"): NodeListOf; + getElementsByTagName(name: "table"): NodeListOf; + getElementsByTagName(name: "tbody"): NodeListOf; + getElementsByTagName(name: "td"): NodeListOf; + getElementsByTagName(name: "textarea"): NodeListOf; + getElementsByTagName(name: "tfoot"): NodeListOf; + getElementsByTagName(name: "th"): NodeListOf; + getElementsByTagName(name: "thead"): NodeListOf; + getElementsByTagName(name: "title"): NodeListOf; + getElementsByTagName(name: "tr"): NodeListOf; + getElementsByTagName(name: "track"): NodeListOf; + getElementsByTagName(name: "tt"): NodeListOf; + getElementsByTagName(name: "u"): NodeListOf; + getElementsByTagName(name: "ul"): NodeListOf; + getElementsByTagName(name: "var"): NodeListOf; + getElementsByTagName(name: "video"): NodeListOf; + getElementsByTagName(name: "wbr"): NodeListOf; + getElementsByTagName(name: "x-ms-webview"): NodeListOf; + getElementsByTagName(name: "xmp"): NodeListOf; + getElementsByTagName(name: string): NodeList; + /** + * Creates a new document. + */ + createDocumentFragment(): DocumentFragment; + /** + * Creates a style sheet for the document. + * @param href Specifies how to add the style sheet to the document. If a file name is specified for the URL, the style information is added as a link object. If the URL contains style information, it is added to the style object. + * @param index Specifies the index that indicates where the new style sheet is inserted in the styleSheets collection. The default is to insert the new style sheet at the end of the collection. + */ + createStyleSheet(href?: string, index?: number): CSSStyleSheet; + /** + * Gets a collection of objects based on the value of the NAME or ID attribute. + * @param elementName Gets a collection of objects based on the value of the NAME or ID attribute. + */ + getElementsByName(elementName: string): NodeList; + /** + * Returns a Boolean value that indicates the current state of the command. + * @param commandId String that specifies a command identifier. + */ + queryCommandState(commandId: string): boolean; + /** + * Gets a value indicating whether the object currently has focus. + */ + hasFocus(): boolean; + /** + * Displays help information for the given command identifier. + * @param commandId Displays help information for the given command identifier. + */ + execCommandShowHelp(commandId: string): boolean; + /** + * Creates an attribute object with a specified name. + * @param name String that sets the attribute object's name. + */ + createAttribute(name: string): Attr; + /** + * Creates a text string from the specified value. + * @param data String that specifies the nodeValue property of the text node. + */ + createTextNode(data: string): Text; + /** + * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document. + * @param root The root element or node to start traversing on. + * @param whatToShow The type of nodes or elements to appear in the node list + * @param filter A custom NodeFilter function to use. For more information, see filter. Use null for no filter. + * @param entityReferenceExpansion A flag that specifies whether entity reference nodes are expanded. + */ + createNodeIterator(root: Node, whatToShow: number, filter: NodeFilter, entityReferenceExpansion: boolean): NodeIterator; + /** + * Generates an event object to pass event context information when you use the fireEvent method. + * @param eventObj An object that specifies an existing event object on which to base the new object. + */ + createEventObject(eventObj?: any): MSEventObj; + /** + * Returns an object representing the current selection of the document that is loaded into the object displaying a webpage. + */ + getSelection(): Selection; + msElementsFromPoint(x: number, y: number): NodeList; + msElementsFromRect(left: number, top: number, width: number, height: number): NodeList; + clear(): void; + msExitFullscreen(): void; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "datasetchanged", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsdelete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "controlselect", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "datasetcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "errorupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "msthumbnailclick", listener: (ev: MSSiteModeEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cellchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowexit", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsinserted", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "propertychange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "stop", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mssitemodejumplistitemremoved", listener: (ev: MSSiteModeEvent) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeeditfocus", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "afterupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "selectionchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "storagecommit", listener: (ev: StorageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dataavailable", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "rowenter", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msmanipulationstatechanged", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mscontentzoom", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msfullscreenerror", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msfullscreenchange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var Document: { + prototype: Document; + new(): Document; +} + +interface Console { + info(message?: any, ...optionalParams: any[]): void; + warn(message?: any, ...optionalParams: any[]): void; + error(message?: any, ...optionalParams: any[]): void; + log(message?: any, ...optionalParams: any[]): void; + profile(reportName?: string): void; + assert(test?: boolean, message?: string, ...optionalParams: any[]): void; + msIsIndependentlyComposed(element: Element): boolean; + clear(): void; + dir(value?: any, ...optionalParams: any[]): void; + profileEnd(): void; + count(countTitle?: string): void; + groupEnd(): void; + time(timerName?: string): void; + timeEnd(timerName?: string): void; + trace(): void; + group(groupTitle?: string): void; + dirxml(value: any): void; + debug(message?: string, ...optionalParams: any[]): void; + groupCollapsed(groupTitle?: string): void; + select(element: Element): void; +} +declare var Console: { + prototype: Console; + new(): Console; +} + +interface MSEventObj extends Event { + nextPage: string; + keyCode: number; + toElement: Element; + returnValue: any; + dataFld: string; + y: number; + dataTransfer: DataTransfer; + propertyName: string; + url: string; + offsetX: number; + recordset: any; + screenX: number; + buttonID: number; + wheelDelta: number; + reason: number; + origin: string; + data: string; + srcFilter: any; + boundElements: HTMLCollection; + cancelBubble: boolean; + altLeft: boolean; + behaviorCookie: number; + bookmarks: BookmarkCollection; + type: string; + repeat: boolean; + srcElement: Element; + source: Window; + fromElement: Element; + offsetY: number; + x: number; + behaviorPart: number; + qualifier: string; + altKey: boolean; + ctrlKey: boolean; + clientY: number; + shiftKey: boolean; + shiftLeft: boolean; + contentOverflow: boolean; + screenY: number; + ctrlLeft: boolean; + button: number; + srcUrn: string; + clientX: number; + actionURL: string; + getAttribute(strAttributeName: string, lFlags?: number): any; + setAttribute(strAttributeName: string, AttributeValue: any, lFlags?: number): void; + removeAttribute(strAttributeName: string, lFlags?: number): boolean; +} +declare var MSEventObj: { + prototype: MSEventObj; + new(): MSEventObj; +} + +interface HTMLCanvasElement extends HTMLElement { + /** + * Gets or sets the width of a canvas element on a document. + */ + width: number; + /** + * Gets or sets the height of a canvas element on a document. + */ + height: number; + /** + * Returns an object that provides methods and properties for drawing and manipulating images and graphics on a canvas element in a document. A context object includes information about colors, line widths, fonts, and other graphic parameters that can be drawn on a canvas. + * @param contextId The identifier (ID) of the type of canvas to create. Internet Explorer 9 and Internet Explorer 10 support only a 2-D context using canvas.getContext("2d"); IE11 Preview also supports 3-D or WebGL context using canvas.getContext("experimental-webgl"); + */ + getContext(contextId: "2d"): CanvasRenderingContext2D; + /** + * Returns an object that provides methods and properties for drawing and manipulating images and graphics on a canvas element in a document. A context object includes information about colors, line widths, fonts, and other graphic parameters that can be drawn on a canvas. + * @param contextId The identifier (ID) of the type of canvas to create. Internet Explorer 9 and Internet Explorer 10 support only a 2-D context using canvas.getContext("2d"); IE11 Preview also supports 3-D or WebGL context using canvas.getContext("experimental-webgl"); + */ + getContext(contextId: "experimental-webgl"): WebGLRenderingContext; + /** + * Returns an object that provides methods and properties for drawing and manipulating images and graphics on a canvas element in a document. A context object includes information about colors, line widths, fonts, and other graphic parameters that can be drawn on a canvas. + * @param contextId The identifier (ID) of the type of canvas to create. Internet Explorer 9 and Internet Explorer 10 support only a 2-D context using canvas.getContext("2d"); IE11 Preview also supports 3-D or WebGL context using canvas.getContext("experimental-webgl"); + */ + getContext(contextId: string, ...args: any[]): any; + /** + * Returns the content of the current canvas as an image that you can use as a source for another canvas or an HTML element. + * @param type The standard MIME type for the image format to return. If you do not specify this parameter, the default value is a PNG format image. + */ + toDataURL(type?: string, ...args: any[]): string; + /** + * Returns a blob object encoded as a Portable Network Graphics (PNG) format from a canvas image or drawing. + */ + msToBlob(): Blob; +} +declare var HTMLCanvasElement: { + prototype: HTMLCanvasElement; + new(): HTMLCanvasElement; +} + +interface Window extends EventTarget, MSEventAttachmentTarget, WindowLocalStorage, MSWindowExtensions, WindowSessionStorage, WindowTimers, WindowBase64, IDBEnvironment, WindowConsole, GlobalEventHandlers { + ondragend: (ev: DragEvent) => any; + onkeydown: (ev: KeyboardEvent) => any; + ondragover: (ev: DragEvent) => any; + onkeyup: (ev: KeyboardEvent) => any; + onreset: (ev: Event) => any; + onmouseup: (ev: MouseEvent) => any; + ondragstart: (ev: DragEvent) => any; + ondrag: (ev: DragEvent) => any; + screenX: number; + onmouseover: (ev: MouseEvent) => any; + ondragleave: (ev: DragEvent) => any; + history: History; + pageXOffset: number; + name: string; + onafterprint: (ev: Event) => any; + onpause: (ev: Event) => any; + onbeforeprint: (ev: Event) => any; + top: Window; + onmousedown: (ev: MouseEvent) => any; + onseeked: (ev: Event) => any; + opener: Window; + onclick: (ev: MouseEvent) => any; + innerHeight: number; + onwaiting: (ev: Event) => any; + ononline: (ev: Event) => any; + ondurationchange: (ev: Event) => any; + frames: Window; + onblur: (ev: FocusEvent) => any; + onemptied: (ev: Event) => any; + onseeking: (ev: Event) => any; + oncanplay: (ev: Event) => any; + outerWidth: number; + onstalled: (ev: Event) => any; + onmousemove: (ev: MouseEvent) => any; + innerWidth: number; + onoffline: (ev: Event) => any; + length: number; + screen: Screen; + onbeforeunload: (ev: BeforeUnloadEvent) => any; + onratechange: (ev: Event) => any; + onstorage: (ev: StorageEvent) => any; + onloadstart: (ev: Event) => any; + ondragenter: (ev: DragEvent) => any; + onsubmit: (ev: Event) => any; + self: Window; + document: Document; + onprogress: (ev: ProgressEvent) => any; + ondblclick: (ev: MouseEvent) => any; + pageYOffset: number; + oncontextmenu: (ev: MouseEvent) => any; + onchange: (ev: Event) => any; + onloadedmetadata: (ev: Event) => any; + onplay: (ev: Event) => any; + onerror: ErrorEventHandler; + onplaying: (ev: Event) => any; + parent: Window; + location: Location; + oncanplaythrough: (ev: Event) => any; + onabort: (ev: UIEvent) => any; + onreadystatechange: (ev: Event) => any; + outerHeight: number; + onkeypress: (ev: KeyboardEvent) => any; + frameElement: Element; + onloadeddata: (ev: Event) => any; + onsuspend: (ev: Event) => any; + window: Window; + onfocus: (ev: FocusEvent) => any; + onmessage: (ev: MessageEvent) => any; + ontimeupdate: (ev: Event) => any; + onresize: (ev: UIEvent) => any; + onselect: (ev: UIEvent) => any; + navigator: Navigator; + styleMedia: StyleMedia; + ondrop: (ev: DragEvent) => any; + onmouseout: (ev: MouseEvent) => any; + onended: (ev: Event) => any; + onhashchange: (ev: Event) => any; + onunload: (ev: Event) => any; + onscroll: (ev: UIEvent) => any; + screenY: number; + onmousewheel: (ev: MouseWheelEvent) => any; + onload: (ev: Event) => any; + onvolumechange: (ev: Event) => any; + oninput: (ev: Event) => any; + performance: Performance; + onmspointerdown: (ev: any) => any; + animationStartTime: number; + onmsgesturedoubletap: (ev: any) => any; + onmspointerhover: (ev: any) => any; + onmsgesturehold: (ev: any) => any; + onmspointermove: (ev: any) => any; + onmsgesturechange: (ev: any) => any; + onmsgesturestart: (ev: any) => any; + onmspointercancel: (ev: any) => any; + onmsgestureend: (ev: any) => any; + onmsgesturetap: (ev: any) => any; + onmspointerout: (ev: any) => any; + msAnimationStartTime: number; + applicationCache: ApplicationCache; + onmsinertiastart: (ev: any) => any; + onmspointerover: (ev: any) => any; + onpopstate: (ev: PopStateEvent) => any; + onmspointerup: (ev: any) => any; + onpageshow: (ev: PageTransitionEvent) => any; + ondevicemotion: (ev: DeviceMotionEvent) => any; + devicePixelRatio: number; + msCrypto: Crypto; + ondeviceorientation: (ev: DeviceOrientationEvent) => any; + doNotTrack: string; + onmspointerenter: (ev: any) => any; + onpagehide: (ev: PageTransitionEvent) => any; + onmspointerleave: (ev: any) => any; + alert(message?: any): void; + scroll(x?: number, y?: number): void; + focus(): void; + scrollTo(x?: number, y?: number): void; + print(): void; + prompt(message?: string, _default?: string): string; + toString(): string; + open(url?: string, target?: string, features?: string, replace?: boolean): Window; + scrollBy(x?: number, y?: number): void; + confirm(message?: string): boolean; + close(): void; + postMessage(message: any, targetOrigin: string, ports?: any): void; + showModalDialog(url?: string, argument?: any, options?: any): any; + blur(): void; + getSelection(): Selection; + getComputedStyle(elt: Element, pseudoElt?: string): CSSStyleDeclaration; + msCancelRequestAnimationFrame(handle: number): void; + matchMedia(mediaQuery: string): MediaQueryList; + cancelAnimationFrame(handle: number): void; + msIsStaticHTML(html: string): boolean; + msMatchMedia(mediaQuery: string): MediaQueryList; + requestAnimationFrame(callback: FrameRequestCallback): number; + msRequestAnimationFrame(callback: FrameRequestCallback): number; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "afterprint", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeprint", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "online", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "offline", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeunload", listener: (ev: BeforeUnloadEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "storage", listener: (ev: StorageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "hashchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "unload", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "popstate", listener: (ev: PopStateEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "pageshow", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; + addEventListener(type: "devicemotion", listener: (ev: DeviceMotionEvent) => any, useCapture?: boolean): void; + addEventListener(type: "deviceorientation", listener: (ev: DeviceOrientationEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "pagehide", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var Window: { + prototype: Window; + new(): Window; +} + +interface NavigatorID { + appVersion: string; + appName: string; + userAgent: string; + platform: string; + product: string; + vendor: string; +} + +interface HTMLTableElement extends HTMLElement, MSDataBindingTableExtensions, MSDataBindingExtensions, DOML2DeprecatedBackgroundStyle, DOML2DeprecatedBackgroundColorStyle { + /** + * Sets or retrieves the width of the object. + */ + width: string; + /** + * Sets or retrieves the color for one of the two colors used to draw the 3-D border of the object. + */ + borderColorLight: any; + /** + * Sets or retrieves the amount of space between cells in a table. + */ + cellSpacing: string; + /** + * Retrieves the tFoot object of the table. + */ + tFoot: HTMLTableSectionElement; + /** + * Sets or retrieves the way the border frame around the table is displayed. + */ + frame: string; + /** + * Sets or retrieves the border color of the object. + */ + borderColor: any; + /** + * Sets or retrieves the number of horizontal rows contained in the object. + */ + rows: HTMLCollection; + /** + * Sets or retrieves which dividing lines (inner borders) are displayed. + */ + rules: string; + /** + * Sets or retrieves the number of columns in the table. + */ + cols: number; + /** + * Sets or retrieves a description and/or structure of the object. + */ + summary: string; + /** + * Retrieves the caption object of a table. + */ + caption: HTMLTableCaptionElement; + /** + * Retrieves a collection of all tBody objects in the table. Objects in this collection are in source order. + */ + tBodies: HTMLCollection; + /** + * Retrieves the tHead object of the table. + */ + tHead: HTMLTableSectionElement; + /** + * Sets or retrieves a value that indicates the table alignment. + */ + align: string; + /** + * Retrieves a collection of all cells in the table row or in the entire table. + */ + cells: HTMLCollection; + /** + * Sets or retrieves the height of the object. + */ + height: any; + /** + * Sets or retrieves the amount of space between the border of the cell and the content of the cell. + */ + cellPadding: string; + /** + * Sets or retrieves the width of the border to draw around the object. + */ + border: string; + /** + * Sets or retrieves the color for one of the two colors used to draw the 3-D border of the object. + */ + borderColorDark: any; + /** + * Removes the specified row (tr) from the element and from the rows collection. + * @param index Number that specifies the zero-based position in the rows collection of the row to remove. + */ + deleteRow(index?: number): void; + /** + * Creates an empty tBody element in the table. + */ + createTBody(): HTMLElement; + /** + * Deletes the caption element and its contents from the table. + */ + deleteCaption(): void; + /** + * Creates a new row (tr) in the table, and adds the row to the rows collection. + * @param index Number that specifies where to insert the row in the rows collection. The default value is -1, which appends the new row to the end of the rows collection. + */ + insertRow(index?: number): HTMLElement; + /** + * Deletes the tFoot element and its contents from the table. + */ + deleteTFoot(): void; + /** + * Returns the tHead element object if successful, or null otherwise. + */ + createTHead(): HTMLElement; + /** + * Deletes the tHead element and its contents from the table. + */ + deleteTHead(): void; + /** + * Creates an empty caption element in the table. + */ + createCaption(): HTMLElement; + /** + * Moves a table row to a new position. + * @param indexFrom Number that specifies the index in the rows collection of the table row that is moved. + * @param indexTo Number that specifies where the row is moved within the rows collection. + */ + moveRow(indexFrom?: number, indexTo?: number): any; + /** + * Creates an empty tFoot element in the table. + */ + createTFoot(): HTMLElement; +} +declare var HTMLTableElement: { + prototype: HTMLTableElement; + new(): HTMLTableElement; +} + +interface TreeWalker { + whatToShow: number; + filter: NodeFilter; + root: Node; + currentNode: Node; + expandEntityReferences: boolean; + previousSibling(): Node; + lastChild(): Node; + nextSibling(): Node; + nextNode(): Node; + parentNode(): Node; + firstChild(): Node; + previousNode(): Node; +} +declare var TreeWalker: { + prototype: TreeWalker; + new(): TreeWalker; +} + +interface GetSVGDocument { + getSVGDocument(): Document; +} + +interface SVGPathSegCurvetoQuadraticRel extends SVGPathSeg { + y: number; + y1: number; + x: number; + x1: number; +} +declare var SVGPathSegCurvetoQuadraticRel: { + prototype: SVGPathSegCurvetoQuadraticRel; + new(): SVGPathSegCurvetoQuadraticRel; +} + +interface Performance { + navigation: PerformanceNavigation; + timing: PerformanceTiming; + getEntriesByType(entryType: string): any; + toJSON(): any; + getMeasures(measureName?: string): any; + clearMarks(markName?: string): void; + getMarks(markName?: string): any; + clearResourceTimings(): void; + mark(markName: string): void; + measure(measureName: string, startMarkName?: string, endMarkName?: string): void; + getEntriesByName(name: string, entryType?: string): any; + getEntries(): any; + clearMeasures(measureName?: string): void; + setResourceTimingBufferSize(maxSize: number): void; + now(): number; +} +declare var Performance: { + prototype: Performance; + new(): Performance; +} + +interface MSDataBindingTableExtensions { + dataPageSize: number; + nextPage(): void; + firstPage(): void; + refresh(): void; + previousPage(): void; + lastPage(): void; +} + +interface CompositionEvent extends UIEvent { + data: string; + locale: string; + initCompositionEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, dataArg: string, locale: string): void; +} +declare var CompositionEvent: { + prototype: CompositionEvent; + new(): CompositionEvent; +} + +interface WindowTimers extends WindowTimersExtension { + clearTimeout(handle: number): void; + setTimeout(handler: any, timeout?: any, ...args: any[]): number; + clearInterval(handle: number): void; + setInterval(handler: any, timeout?: any, ...args: any[]): number; +} + +interface SVGMarkerElement extends SVGElement, SVGStylable, SVGLangSpace, SVGFitToViewBox, SVGExternalResourcesRequired { + orientType: SVGAnimatedEnumeration; + markerUnits: SVGAnimatedEnumeration; + markerWidth: SVGAnimatedLength; + markerHeight: SVGAnimatedLength; + orientAngle: SVGAnimatedAngle; + refY: SVGAnimatedLength; + refX: SVGAnimatedLength; + setOrientToAngle(angle: SVGAngle): void; + setOrientToAuto(): void; + SVG_MARKER_ORIENT_UNKNOWN: number; + SVG_MARKER_ORIENT_ANGLE: number; + SVG_MARKERUNITS_UNKNOWN: number; + SVG_MARKERUNITS_STROKEWIDTH: number; + SVG_MARKER_ORIENT_AUTO: number; + SVG_MARKERUNITS_USERSPACEONUSE: number; +} +declare var SVGMarkerElement: { + prototype: SVGMarkerElement; + new(): SVGMarkerElement; + SVG_MARKER_ORIENT_UNKNOWN: number; + SVG_MARKER_ORIENT_ANGLE: number; + SVG_MARKERUNITS_UNKNOWN: number; + SVG_MARKERUNITS_STROKEWIDTH: number; + SVG_MARKER_ORIENT_AUTO: number; + SVG_MARKERUNITS_USERSPACEONUSE: number; +} + +interface CSSStyleDeclaration { + backgroundAttachment: string; + visibility: string; + textAlignLast: string; + borderRightStyle: string; + counterIncrement: string; + orphans: string; + cssText: string; + borderStyle: string; + pointerEvents: string; + borderTopColor: string; + markerEnd: string; + textIndent: string; + listStyleImage: string; + cursor: string; + listStylePosition: string; + wordWrap: string; + borderTopStyle: string; + alignmentBaseline: string; + opacity: string; + direction: string; + strokeMiterlimit: string; + maxWidth: string; + color: string; + clip: string; + borderRightWidth: string; + verticalAlign: string; + overflow: string; + mask: string; + borderLeftStyle: string; + emptyCells: string; + stopOpacity: string; + paddingRight: string; + parentRule: CSSRule; + background: string; + boxSizing: string; + textJustify: string; + height: string; + paddingTop: string; + length: number; + right: string; + baselineShift: string; + borderLeft: string; + widows: string; + lineHeight: string; + left: string; + textUnderlinePosition: string; + glyphOrientationHorizontal: string; + display: string; + textAnchor: string; + cssFloat: string; + strokeDasharray: string; + rubyAlign: string; + fontSizeAdjust: string; + borderLeftColor: string; + backgroundImage: string; + listStyleType: string; + strokeWidth: string; + textOverflow: string; + fillRule: string; + borderBottomColor: string; + zIndex: string; + position: string; + listStyle: string; + msTransformOrigin: string; + dominantBaseline: string; + overflowY: string; + fill: string; + captionSide: string; + borderCollapse: string; + boxShadow: string; + quotes: string; + tableLayout: string; + unicodeBidi: string; + borderBottomWidth: string; + backgroundSize: string; + textDecoration: string; + strokeDashoffset: string; + fontSize: string; + border: string; + pageBreakBefore: string; + borderTopRightRadius: string; + msTransform: string; + borderBottomLeftRadius: string; + textTransform: string; + rubyPosition: string; + strokeLinejoin: string; + clipPath: string; + borderRightColor: string; + fontFamily: string; + clear: string; + content: string; + backgroundClip: string; + marginBottom: string; + counterReset: string; + outlineWidth: string; + marginRight: string; + paddingLeft: string; + borderBottom: string; + wordBreak: string; + marginTop: string; + top: string; + fontWeight: string; + borderRight: string; + width: string; + kerning: string; + pageBreakAfter: string; + borderBottomStyle: string; + fontStretch: string; + padding: string; + strokeOpacity: string; + markerStart: string; + bottom: string; + borderLeftWidth: string; + clipRule: string; + backgroundPosition: string; + backgroundColor: string; + pageBreakInside: string; + backgroundOrigin: string; + strokeLinecap: string; + borderTopWidth: string; + outlineStyle: string; + borderTop: string; + outlineColor: string; + paddingBottom: string; + marginLeft: string; + font: string; + outline: string; + wordSpacing: string; + maxHeight: string; + fillOpacity: string; + letterSpacing: string; + borderSpacing: string; + backgroundRepeat: string; + borderRadius: string; + borderWidth: string; + borderBottomRightRadius: string; + whiteSpace: string; + fontStyle: string; + minWidth: string; + stopColor: string; + borderTopLeftRadius: string; + borderColor: string; + marker: string; + glyphOrientationVertical: string; + markerMid: string; + fontVariant: string; + minHeight: string; + stroke: string; + rubyOverhang: string; + overflowX: string; + textAlign: string; + margin: string; + animationFillMode: string; + floodColor: string; + animationIterationCount: string; + textShadow: string; + backfaceVisibility: string; + msAnimationIterationCount: string; + animationDelay: string; + animationTimingFunction: string; + columnWidth: any; + msScrollSnapX: string; + columnRuleColor: any; + columnRuleWidth: any; + transitionDelay: string; + transition: string; + msFlowFrom: string; + msScrollSnapType: string; + msContentZoomSnapType: string; + msGridColumns: string; + msAnimationName: string; + msGridRowAlign: string; + msContentZoomChaining: string; + msGridColumn: any; + msHyphenateLimitZone: any; + msScrollRails: string; + msAnimationDelay: string; + enableBackground: string; + msWrapThrough: string; + columnRuleStyle: string; + msAnimation: string; + msFlexFlow: string; + msScrollSnapY: string; + msHyphenateLimitLines: any; + msTouchAction: string; + msScrollLimit: string; + animation: string; + transform: string; + filter: string; + colorInterpolationFilters: string; + transitionTimingFunction: string; + msBackfaceVisibility: string; + animationPlayState: string; + transformOrigin: string; + msScrollLimitYMin: any; + msFontFeatureSettings: string; + msContentZoomLimitMin: any; + columnGap: any; + transitionProperty: string; + msAnimationDuration: string; + msAnimationFillMode: string; + msFlexDirection: string; + msTransitionDuration: string; + fontFeatureSettings: string; + breakBefore: string; + msFlexWrap: string; + perspective: string; + msFlowInto: string; + msTransformStyle: string; + msScrollTranslation: string; + msTransitionProperty: string; + msUserSelect: string; + msOverflowStyle: string; + msScrollSnapPointsY: string; + animationDirection: string; + animationDuration: string; + msFlex: string; + msTransitionTimingFunction: string; + animationName: string; + columnRule: string; + msGridColumnSpan: any; + msFlexNegative: string; + columnFill: string; + msGridRow: any; + msFlexOrder: string; + msFlexItemAlign: string; + msFlexPositive: string; + msContentZoomLimitMax: any; + msScrollLimitYMax: any; + msGridColumnAlign: string; + perspectiveOrigin: string; + lightingColor: string; + columns: string; + msScrollChaining: string; + msHyphenateLimitChars: string; + msTouchSelect: string; + floodOpacity: string; + msAnimationDirection: string; + msAnimationPlayState: string; + columnSpan: string; + msContentZooming: string; + msPerspective: string; + msFlexPack: string; + msScrollSnapPointsX: string; + msContentZoomSnapPoints: string; + msGridRowSpan: any; + msContentZoomSnap: string; + msScrollLimitXMin: any; + breakInside: string; + msHighContrastAdjust: string; + msFlexLinePack: string; + msGridRows: string; + transitionDuration: string; + msHyphens: string; + breakAfter: string; + msTransition: string; + msPerspectiveOrigin: string; + msContentZoomLimit: string; + msScrollLimitXMax: any; + msFlexAlign: string; + msWrapMargin: any; + columnCount: any; + msAnimationTimingFunction: string; + msTransitionDelay: string; + transformStyle: string; + msWrapFlow: string; + msFlexPreferredSize: string; + alignItems: string; + borderImageSource: string; + flexBasis: string; + borderImageWidth: string; + borderImageRepeat: string; + order: string; + flex: string; + alignContent: string; + msImeAlign: string; + flexShrink: string; + flexGrow: string; + borderImageSlice: string; + flexWrap: string; + borderImageOutset: string; + flexDirection: string; + touchAction: string; + flexFlow: string; + borderImage: string; + justifyContent: string; + alignSelf: string; + msTextCombineHorizontal: string; + getPropertyPriority(propertyName: string): string; + getPropertyValue(propertyName: string): string; + removeProperty(propertyName: string): string; + item(index: number): string; + [index: number]: string; + setProperty(propertyName: string, value: string, priority?: string): void; +} +declare var CSSStyleDeclaration: { + prototype: CSSStyleDeclaration; + new(): CSSStyleDeclaration; +} + +interface SVGGElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired { +} +declare var SVGGElement: { + prototype: SVGGElement; + new(): SVGGElement; +} + +interface MSStyleCSSProperties extends MSCSSProperties { + pixelWidth: number; + posHeight: number; + posLeft: number; + pixelTop: number; + pixelBottom: number; + textDecorationNone: boolean; + pixelLeft: number; + posTop: number; + posBottom: number; + textDecorationOverline: boolean; + posWidth: number; + textDecorationLineThrough: boolean; + pixelHeight: number; + textDecorationBlink: boolean; + posRight: number; + pixelRight: number; + textDecorationUnderline: boolean; +} +declare var MSStyleCSSProperties: { + prototype: MSStyleCSSProperties; + new(): MSStyleCSSProperties; +} + +interface Navigator extends NavigatorID, NavigatorOnLine, NavigatorContentUtils, MSNavigatorExtensions, NavigatorGeolocation, MSNavigatorDoNotTrack, NavigatorStorageUtils, MSFileSaver { + msMaxTouchPoints: number; + msPointerEnabled: boolean; + msManipulationViewsEnabled: boolean; + pointerEnabled: boolean; + maxTouchPoints: number; + msLaunchUri(uri: string, successCallback?: MSLaunchUriCallback, noHandlerCallback?: MSLaunchUriCallback): void; +} +declare var Navigator: { + prototype: Navigator; + new(): Navigator; +} + +interface SVGPathSegCurvetoCubicSmoothAbs extends SVGPathSeg { + y: number; + x2: number; + x: number; + y2: number; +} +declare var SVGPathSegCurvetoCubicSmoothAbs: { + prototype: SVGPathSegCurvetoCubicSmoothAbs; + new(): SVGPathSegCurvetoCubicSmoothAbs; +} + +interface SVGZoomEvent extends UIEvent { + zoomRectScreen: SVGRect; + previousScale: number; + newScale: number; + previousTranslate: SVGPoint; + newTranslate: SVGPoint; +} +declare var SVGZoomEvent: { + prototype: SVGZoomEvent; + new(): SVGZoomEvent; +} + +interface NodeSelector { + querySelectorAll(selectors: string): NodeList; + querySelector(selectors: string): Element; +} + +interface HTMLTableDataCellElement extends HTMLTableCellElement { +} +declare var HTMLTableDataCellElement: { + prototype: HTMLTableDataCellElement; + new(): HTMLTableDataCellElement; +} + +interface HTMLBaseElement extends HTMLElement { + /** + * Sets or retrieves the window or frame at which to target content. + */ + target: string; + /** + * Gets or sets the baseline URL on which relative links are based. + */ + href: string; +} +declare var HTMLBaseElement: { + prototype: HTMLBaseElement; + new(): HTMLBaseElement; +} + +interface ClientRect { + left: number; + width: number; + right: number; + top: number; + bottom: number; + height: number; +} +declare var ClientRect: { + prototype: ClientRect; + new(): ClientRect; +} + +interface PositionErrorCallback { + (error: PositionError): void; +} + +interface DOMImplementation { + createDocumentType(qualifiedName: string, publicId: string, systemId: string): DocumentType; + createDocument(namespaceURI: string, qualifiedName: string, doctype: DocumentType): Document; + hasFeature(feature: string, version?: string): boolean; + createHTMLDocument(title: string): Document; +} +declare var DOMImplementation: { + prototype: DOMImplementation; + new(): DOMImplementation; +} + +interface SVGUnitTypes { + SVG_UNIT_TYPE_UNKNOWN: number; + SVG_UNIT_TYPE_OBJECTBOUNDINGBOX: number; + SVG_UNIT_TYPE_USERSPACEONUSE: number; +} +declare var SVGUnitTypes: SVGUnitTypes; + +interface Element extends Node, NodeSelector, ElementTraversal, GlobalEventHandlers { + scrollTop: number; + clientLeft: number; + scrollLeft: number; + tagName: string; + clientWidth: number; + scrollWidth: number; + clientHeight: number; + clientTop: number; + scrollHeight: number; + msRegionOverflow: string; + onmspointerdown: (ev: any) => any; + onmsgotpointercapture: (ev: any) => any; + onmsgesturedoubletap: (ev: any) => any; + onmspointerhover: (ev: any) => any; + onmsgesturehold: (ev: any) => any; + onmspointermove: (ev: any) => any; + onmsgesturechange: (ev: any) => any; + onmsgesturestart: (ev: any) => any; + onmspointercancel: (ev: any) => any; + onmsgestureend: (ev: any) => any; + onmsgesturetap: (ev: any) => any; + onmspointerout: (ev: any) => any; + onmsinertiastart: (ev: any) => any; + onmslostpointercapture: (ev: any) => any; + onmspointerover: (ev: any) => any; + msContentZoomFactor: number; + onmspointerup: (ev: any) => any; + onlostpointercapture: (ev: PointerEvent) => any; + onmspointerenter: (ev: any) => any; + ongotpointercapture: (ev: PointerEvent) => any; + onmspointerleave: (ev: any) => any; + getAttribute(name?: string): string; + getElementsByTagNameNS(namespaceURI: string, localName: string): NodeList; + hasAttributeNS(namespaceURI: string, localName: string): boolean; + getBoundingClientRect(): ClientRect; + getAttributeNS(namespaceURI: string, localName: string): string; + getAttributeNodeNS(namespaceURI: string, localName: string): Attr; + setAttributeNodeNS(newAttr: Attr): Attr; + msMatchesSelector(selectors: string): boolean; + hasAttribute(name: string): boolean; + removeAttribute(name?: string): void; + setAttributeNS(namespaceURI: string, qualifiedName: string, value: string): void; + getAttributeNode(name: string): Attr; + fireEvent(eventName: string, eventObj?: any): boolean; + getElementsByTagName(name: "a"): NodeListOf; + getElementsByTagName(name: "abbr"): NodeListOf; + getElementsByTagName(name: "acronym"): NodeListOf; + getElementsByTagName(name: "address"): NodeListOf; + getElementsByTagName(name: "applet"): NodeListOf; + getElementsByTagName(name: "area"): NodeListOf; + getElementsByTagName(name: "article"): NodeListOf; + getElementsByTagName(name: "aside"): NodeListOf; + getElementsByTagName(name: "audio"): NodeListOf; + getElementsByTagName(name: "b"): NodeListOf; + getElementsByTagName(name: "base"): NodeListOf; + getElementsByTagName(name: "basefont"): NodeListOf; + getElementsByTagName(name: "bdo"): NodeListOf; + getElementsByTagName(name: "bgsound"): NodeListOf; + getElementsByTagName(name: "big"): NodeListOf; + getElementsByTagName(name: "blockquote"): NodeListOf; + getElementsByTagName(name: "body"): NodeListOf; + getElementsByTagName(name: "br"): NodeListOf; + getElementsByTagName(name: "button"): NodeListOf; + getElementsByTagName(name: "canvas"): NodeListOf; + getElementsByTagName(name: "caption"): NodeListOf; + getElementsByTagName(name: "center"): NodeListOf; + getElementsByTagName(name: "cite"): NodeListOf; + getElementsByTagName(name: "code"): NodeListOf; + getElementsByTagName(name: "col"): NodeListOf; + getElementsByTagName(name: "colgroup"): NodeListOf; + getElementsByTagName(name: "datalist"): NodeListOf; + getElementsByTagName(name: "dd"): NodeListOf; + getElementsByTagName(name: "del"): NodeListOf; + getElementsByTagName(name: "dfn"): NodeListOf; + getElementsByTagName(name: "dir"): NodeListOf; + getElementsByTagName(name: "div"): NodeListOf; + getElementsByTagName(name: "dl"): NodeListOf; + getElementsByTagName(name: "dt"): NodeListOf; + getElementsByTagName(name: "em"): NodeListOf; + getElementsByTagName(name: "embed"): NodeListOf; + getElementsByTagName(name: "fieldset"): NodeListOf; + getElementsByTagName(name: "figcaption"): NodeListOf; + getElementsByTagName(name: "figure"): NodeListOf; + getElementsByTagName(name: "font"): NodeListOf; + getElementsByTagName(name: "footer"): NodeListOf; + getElementsByTagName(name: "form"): NodeListOf; + getElementsByTagName(name: "frame"): NodeListOf; + getElementsByTagName(name: "frameset"): NodeListOf; + getElementsByTagName(name: "h1"): NodeListOf; + getElementsByTagName(name: "h2"): NodeListOf; + getElementsByTagName(name: "h3"): NodeListOf; + getElementsByTagName(name: "h4"): NodeListOf; + getElementsByTagName(name: "h5"): NodeListOf; + getElementsByTagName(name: "h6"): NodeListOf; + getElementsByTagName(name: "head"): NodeListOf; + getElementsByTagName(name: "header"): NodeListOf; + getElementsByTagName(name: "hgroup"): NodeListOf; + getElementsByTagName(name: "hr"): NodeListOf; + getElementsByTagName(name: "html"): NodeListOf; + getElementsByTagName(name: "i"): NodeListOf; + getElementsByTagName(name: "iframe"): NodeListOf; + getElementsByTagName(name: "img"): NodeListOf; + getElementsByTagName(name: "input"): NodeListOf; + getElementsByTagName(name: "ins"): NodeListOf; + getElementsByTagName(name: "isindex"): NodeListOf; + getElementsByTagName(name: "kbd"): NodeListOf; + getElementsByTagName(name: "keygen"): NodeListOf; + getElementsByTagName(name: "label"): NodeListOf; + getElementsByTagName(name: "legend"): NodeListOf; + getElementsByTagName(name: "li"): NodeListOf; + getElementsByTagName(name: "link"): NodeListOf; + getElementsByTagName(name: "listing"): NodeListOf; + getElementsByTagName(name: "map"): NodeListOf; + getElementsByTagName(name: "mark"): NodeListOf; + getElementsByTagName(name: "marquee"): NodeListOf; + getElementsByTagName(name: "menu"): NodeListOf; + getElementsByTagName(name: "meta"): NodeListOf; + getElementsByTagName(name: "nav"): NodeListOf; + getElementsByTagName(name: "nextid"): NodeListOf; + getElementsByTagName(name: "nobr"): NodeListOf; + getElementsByTagName(name: "noframes"): NodeListOf; + getElementsByTagName(name: "noscript"): NodeListOf; + getElementsByTagName(name: "object"): NodeListOf; + getElementsByTagName(name: "ol"): NodeListOf; + getElementsByTagName(name: "optgroup"): NodeListOf; + getElementsByTagName(name: "option"): NodeListOf; + getElementsByTagName(name: "p"): NodeListOf; + getElementsByTagName(name: "param"): NodeListOf; + getElementsByTagName(name: "plaintext"): NodeListOf; + getElementsByTagName(name: "pre"): NodeListOf; + getElementsByTagName(name: "progress"): NodeListOf; + getElementsByTagName(name: "q"): NodeListOf; + getElementsByTagName(name: "rt"): NodeListOf; + getElementsByTagName(name: "ruby"): NodeListOf; + getElementsByTagName(name: "s"): NodeListOf; + getElementsByTagName(name: "samp"): NodeListOf; + getElementsByTagName(name: "script"): NodeListOf; + getElementsByTagName(name: "section"): NodeListOf; + getElementsByTagName(name: "select"): NodeListOf; + getElementsByTagName(name: "small"): NodeListOf; + getElementsByTagName(name: "SOURCE"): NodeListOf; + getElementsByTagName(name: "span"): NodeListOf; + getElementsByTagName(name: "strike"): NodeListOf; + getElementsByTagName(name: "strong"): NodeListOf; + getElementsByTagName(name: "style"): NodeListOf; + getElementsByTagName(name: "sub"): NodeListOf; + getElementsByTagName(name: "sup"): NodeListOf; + getElementsByTagName(name: "table"): NodeListOf; + getElementsByTagName(name: "tbody"): NodeListOf; + getElementsByTagName(name: "td"): NodeListOf; + getElementsByTagName(name: "textarea"): NodeListOf; + getElementsByTagName(name: "tfoot"): NodeListOf; + getElementsByTagName(name: "th"): NodeListOf; + getElementsByTagName(name: "thead"): NodeListOf; + getElementsByTagName(name: "title"): NodeListOf; + getElementsByTagName(name: "tr"): NodeListOf; + getElementsByTagName(name: "track"): NodeListOf; + getElementsByTagName(name: "tt"): NodeListOf; + getElementsByTagName(name: "u"): NodeListOf; + getElementsByTagName(name: "ul"): NodeListOf; + getElementsByTagName(name: "var"): NodeListOf; + getElementsByTagName(name: "video"): NodeListOf; + getElementsByTagName(name: "wbr"): NodeListOf; + getElementsByTagName(name: "x-ms-webview"): NodeListOf; + getElementsByTagName(name: "xmp"): NodeListOf; + getElementsByTagName(name: string): NodeList; + getClientRects(): ClientRectList; + setAttributeNode(newAttr: Attr): Attr; + removeAttributeNode(oldAttr: Attr): Attr; + setAttribute(name?: string, value?: string): void; + removeAttributeNS(namespaceURI: string, localName: string): void; + msGetRegionContent(): MSRangeCollection; + msReleasePointerCapture(pointerId: number): void; + msSetPointerCapture(pointerId: number): void; + msZoomTo(args: MsZoomToOptions): void; + setPointerCapture(pointerId: number): void; + msGetUntransformedBounds(): ClientRect; + releasePointerCapture(pointerId: number): void; + msRequestFullscreen(): void; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgotpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mslostpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var Element: { + prototype: Element; + new(): Element; +} + +interface HTMLNextIdElement extends HTMLElement { + n: string; +} +declare var HTMLNextIdElement: { + prototype: HTMLNextIdElement; + new(): HTMLNextIdElement; +} + +interface SVGPathSegMovetoRel extends SVGPathSeg { + y: number; + x: number; +} +declare var SVGPathSegMovetoRel: { + prototype: SVGPathSegMovetoRel; + new(): SVGPathSegMovetoRel; +} + +interface SVGLineElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired { + y1: SVGAnimatedLength; + x2: SVGAnimatedLength; + x1: SVGAnimatedLength; + y2: SVGAnimatedLength; +} +declare var SVGLineElement: { + prototype: SVGLineElement; + new(): SVGLineElement; +} + +interface HTMLParagraphElement extends HTMLElement, DOML2DeprecatedTextFlowControl { + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + align: string; +} +declare var HTMLParagraphElement: { + prototype: HTMLParagraphElement; + new(): HTMLParagraphElement; +} + +interface HTMLAreasCollection extends HTMLCollection { + /** + * Removes an element from the collection. + */ + remove(index?: number): void; + /** + * Adds an element to the areas, controlRange, or options collection. + */ + add(element: HTMLElement, before?: any): void; +} +declare var HTMLAreasCollection: { + prototype: HTMLAreasCollection; + new(): HTMLAreasCollection; +} + +interface SVGDescElement extends SVGElement, SVGStylable, SVGLangSpace { +} +declare var SVGDescElement: { + prototype: SVGDescElement; + new(): SVGDescElement; +} + +interface Node extends EventTarget { + nodeType: number; + previousSibling: Node; + localName: string; + namespaceURI: string; + textContent: string; + parentNode: Node; + nextSibling: Node; + nodeValue: string; + lastChild: Node; + childNodes: NodeList; + nodeName: string; + ownerDocument: Document; + attributes: NamedNodeMap; + firstChild: Node; + prefix: string; + removeChild(oldChild: Node): Node; + appendChild(newChild: Node): Node; + isSupported(feature: string, version: string): boolean; + isEqualNode(arg: Node): boolean; + lookupPrefix(namespaceURI: string): string; + isDefaultNamespace(namespaceURI: string): boolean; + compareDocumentPosition(other: Node): number; + normalize(): void; + isSameNode(other: Node): boolean; + hasAttributes(): boolean; + lookupNamespaceURI(prefix: string): string; + cloneNode(deep?: boolean): Node; + hasChildNodes(): boolean; + replaceChild(newChild: Node, oldChild: Node): Node; + insertBefore(newChild: Node, refChild?: Node): Node; + ENTITY_REFERENCE_NODE: number; + ATTRIBUTE_NODE: number; + DOCUMENT_FRAGMENT_NODE: number; + TEXT_NODE: number; + ELEMENT_NODE: number; + COMMENT_NODE: number; + DOCUMENT_POSITION_DISCONNECTED: number; + DOCUMENT_POSITION_CONTAINED_BY: number; + DOCUMENT_POSITION_CONTAINS: number; + DOCUMENT_TYPE_NODE: number; + DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number; + DOCUMENT_NODE: number; + ENTITY_NODE: number; + PROCESSING_INSTRUCTION_NODE: number; + CDATA_SECTION_NODE: number; + NOTATION_NODE: number; + DOCUMENT_POSITION_FOLLOWING: number; + DOCUMENT_POSITION_PRECEDING: number; +} +declare var Node: { + prototype: Node; + new(): Node; + ENTITY_REFERENCE_NODE: number; + ATTRIBUTE_NODE: number; + DOCUMENT_FRAGMENT_NODE: number; + TEXT_NODE: number; + ELEMENT_NODE: number; + COMMENT_NODE: number; + DOCUMENT_POSITION_DISCONNECTED: number; + DOCUMENT_POSITION_CONTAINED_BY: number; + DOCUMENT_POSITION_CONTAINS: number; + DOCUMENT_TYPE_NODE: number; + DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: number; + DOCUMENT_NODE: number; + ENTITY_NODE: number; + PROCESSING_INSTRUCTION_NODE: number; + CDATA_SECTION_NODE: number; + NOTATION_NODE: number; + DOCUMENT_POSITION_FOLLOWING: number; + DOCUMENT_POSITION_PRECEDING: number; +} + +interface SVGPathSegCurvetoQuadraticSmoothRel extends SVGPathSeg { + y: number; + x: number; +} +declare var SVGPathSegCurvetoQuadraticSmoothRel: { + prototype: SVGPathSegCurvetoQuadraticSmoothRel; + new(): SVGPathSegCurvetoQuadraticSmoothRel; +} + +interface DOML2DeprecatedListSpaceReduction { + compact: boolean; +} + +interface MSScriptHost { +} +declare var MSScriptHost: { + prototype: MSScriptHost; + new(): MSScriptHost; +} + +interface SVGClipPathElement extends SVGElement, SVGUnitTypes, SVGStylable, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired { + clipPathUnits: SVGAnimatedEnumeration; +} +declare var SVGClipPathElement: { + prototype: SVGClipPathElement; + new(): SVGClipPathElement; +} + +interface MouseEvent extends UIEvent { + toElement: Element; + layerY: number; + fromElement: Element; + which: number; + pageX: number; + offsetY: number; + x: number; + y: number; + metaKey: boolean; + altKey: boolean; + ctrlKey: boolean; + offsetX: number; + screenX: number; + clientY: number; + shiftKey: boolean; + layerX: number; + screenY: number; + relatedTarget: EventTarget; + button: number; + pageY: number; + buttons: number; + clientX: number; + initMouseEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget): void; + getModifierState(keyArg: string): boolean; +} +declare var MouseEvent: { + prototype: MouseEvent; + new(): MouseEvent; +} + +interface RangeException { + code: number; + message: string; + name: string; + toString(): string; + INVALID_NODE_TYPE_ERR: number; + BAD_BOUNDARYPOINTS_ERR: number; +} +declare var RangeException: { + prototype: RangeException; + new(): RangeException; + INVALID_NODE_TYPE_ERR: number; + BAD_BOUNDARYPOINTS_ERR: number; +} + +interface SVGTextPositioningElement extends SVGTextContentElement { + y: SVGAnimatedLengthList; + rotate: SVGAnimatedNumberList; + dy: SVGAnimatedLengthList; + x: SVGAnimatedLengthList; + dx: SVGAnimatedLengthList; +} +declare var SVGTextPositioningElement: { + prototype: SVGTextPositioningElement; + new(): SVGTextPositioningElement; +} + +interface HTMLAppletElement extends HTMLElement, DOML2DeprecatedMarginStyle, DOML2DeprecatedBorderStyle, DOML2DeprecatedAlignmentStyle, MSDataBindingExtensions, MSDataBindingRecordSetExtensions { + width: number; + /** + * Sets or retrieves the Internet media type for the code associated with the object. + */ + codeType: string; + object: string; + form: HTMLFormElement; + code: string; + /** + * Sets or retrieves a character string that can be used to implement your own archive functionality for the object. + */ + archive: string; + /** + * Sets or retrieves a text alternative to the graphic. + */ + alt: string; + /** + * Sets or retrieves a message to be displayed while an object is loading. + */ + standby: string; + /** + * Sets or retrieves the class identifier for the object. + */ + classid: string; + /** + * Sets or retrieves the shape of the object. + */ + name: string; + /** + * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. + */ + useMap: string; + /** + * Sets or retrieves the URL that references the data of the object. + */ + data: string; + /** + * Sets or retrieves the height of the object. + */ + height: string; + /** + * Gets or sets the optional alternative HTML script to execute if the object fails to load. + */ + altHtml: string; + /** + * Address of a pointer to the document this page or frame contains. If there is no document, then null will be returned. + */ + contentDocument: Document; + /** + * Sets or retrieves the URL of the component. + */ + codeBase: string; + /** + * Sets or retrieves a character string that can be used to implement your own declare functionality for the object. + */ + declare: boolean; + /** + * Returns the content type of the object. + */ + type: string; + /** + * Retrieves a string of the URL where the object tag can be found. This is often the href of the document that the object is in, or the value set by a base element. + */ + BaseHref: string; +} +declare var HTMLAppletElement: { + prototype: HTMLAppletElement; + new(): HTMLAppletElement; +} + +interface TextMetrics { + width: number; +} +declare var TextMetrics: { + prototype: TextMetrics; + new(): TextMetrics; +} + +interface DocumentEvent { + createEvent(eventInterface: "AnimationEvent"): AnimationEvent; + createEvent(eventInterface: "CloseEvent"): CloseEvent; + createEvent(eventInterface: "CompositionEvent"): CompositionEvent; + createEvent(eventInterface: "CustomEvent"): CustomEvent; + createEvent(eventInterface: "DeviceMotionEvent"): DeviceMotionEvent; + createEvent(eventInterface: "DeviceOrientationEvent"): DeviceOrientationEvent; + createEvent(eventInterface: "DragEvent"): DragEvent; + createEvent(eventInterface: "ErrorEvent"): ErrorEvent; + createEvent(eventInterface: "Event"): Event; + createEvent(eventInterface: "Events"): Event; + createEvent(eventInterface: "FocusEvent"): FocusEvent; + createEvent(eventInterface: "HTMLEvents"): Event; + createEvent(eventInterface: "IDBVersionChangeEvent"): IDBVersionChangeEvent; + createEvent(eventInterface: "KeyboardEvent"): KeyboardEvent; + createEvent(eventInterface: "LongRunningScriptDetectedEvent"): LongRunningScriptDetectedEvent; + createEvent(eventInterface: "MessageEvent"): MessageEvent; + createEvent(eventInterface: "MouseEvent"): MouseEvent; + createEvent(eventInterface: "MouseEvents"): MouseEvent; + createEvent(eventInterface: "MouseWheelEvent"): MouseWheelEvent; + createEvent(eventInterface: "MSGestureEvent"): MSGestureEvent; + createEvent(eventInterface: "MSPointerEvent"): MSPointerEvent; + createEvent(eventInterface: "MutationEvent"): MutationEvent; + createEvent(eventInterface: "MutationEvents"): MutationEvent; + createEvent(eventInterface: "NavigationCompletedEvent"): NavigationCompletedEvent; + createEvent(eventInterface: "NavigationEvent"): NavigationEvent; + createEvent(eventInterface: "PageTransitionEvent"): PageTransitionEvent; + createEvent(eventInterface: "PointerEvent"): MSPointerEvent; + createEvent(eventInterface: "PopStateEvent"): PopStateEvent; + createEvent(eventInterface: "ProgressEvent"): ProgressEvent; + createEvent(eventInterface: "StorageEvent"): StorageEvent; + createEvent(eventInterface: "SVGZoomEvents"): SVGZoomEvent; + createEvent(eventInterface: "TextEvent"): TextEvent; + createEvent(eventInterface: "TrackEvent"): TrackEvent; + createEvent(eventInterface: "TransitionEvent"): TransitionEvent; + createEvent(eventInterface: "UIEvent"): UIEvent; + createEvent(eventInterface: "UIEvents"): UIEvent; + createEvent(eventInterface: "UnviewableContentIdentifiedEvent"): UnviewableContentIdentifiedEvent; + createEvent(eventInterface: "WebGLContextEvent"): WebGLContextEvent; + createEvent(eventInterface: "WheelEvent"): WheelEvent; + createEvent(eventInterface: string): Event; +} + +interface HTMLOListElement extends HTMLElement, DOML2DeprecatedListSpaceReduction, DOML2DeprecatedListNumberingAndBulletStyle { + /** + * The starting number. + */ + start: number; +} +declare var HTMLOListElement: { + prototype: HTMLOListElement; + new(): HTMLOListElement; +} + +interface SVGPathSegLinetoVerticalRel extends SVGPathSeg { + y: number; +} +declare var SVGPathSegLinetoVerticalRel: { + prototype: SVGPathSegLinetoVerticalRel; + new(): SVGPathSegLinetoVerticalRel; +} + +interface SVGAnimatedString { + animVal: string; + baseVal: string; +} +declare var SVGAnimatedString: { + prototype: SVGAnimatedString; + new(): SVGAnimatedString; +} + +interface CDATASection extends Text { +} +declare var CDATASection: { + prototype: CDATASection; + new(): CDATASection; +} + +interface StyleMedia { + type: string; + matchMedium(mediaquery: string): boolean; +} +declare var StyleMedia: { + prototype: StyleMedia; + new(): StyleMedia; +} + +interface HTMLSelectElement extends HTMLElement, MSHTMLCollectionExtensions, MSDataBindingExtensions { + options: HTMLSelectElement; + /** + * Sets or retrieves the value which is returned to the server when the form control is submitted. + */ + value: string; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Sets or retrieves the number of rows in the list box. + */ + size: number; + /** + * Sets or retrieves the number of objects in a collection. + */ + length: number; + /** + * Sets or retrieves the index of the selected option in a select object. + */ + selectedIndex: number; + /** + * Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list. + */ + multiple: boolean; + /** + * Retrieves the type of select control based on the value of the MULTIPLE attribute. + */ + type: string; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + validationMessage: string; + /** + * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. + */ + autofocus: boolean; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + validity: ValidityState; + /** + * When present, marks an element that can't be submitted without a value. + */ + required: boolean; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + willValidate: boolean; + /** + * Removes an element from the collection. + * @param index Number that specifies the zero-based index of the element to remove from the collection. + */ + remove(index?: number): void; + /** + * Adds an element to the areas, controlRange, or options collection. + * @param element Variant of type Number that specifies the index position in the collection where the element is placed. If no value is given, the method places the element at the end of the collection. + * @param before Variant of type Object that specifies an element to insert before, or null to append the object to the collection. + */ + add(element: HTMLElement, before?: any): void; + /** + * Retrieves a select object or an object from an options collection. + * @param name Variant of type Number or String that specifies the object or collection to retrieve. If this parameter is an integer, it is the zero-based index of the object. If this parameter is a string, all objects with matching name or id properties are retrieved, and a collection is returned if more than one match is made. + * @param index Variant of type Number that specifies the zero-based index of the object to retrieve when a collection is returned. + */ + item(name?: any, index?: any): any; + /** + * Retrieves a select object or an object from an options collection. + * @param namedItem A String that specifies the name or id property of the object to retrieve. A collection is returned if more than one match is made. + */ + namedItem(name: string): any; + [name: string]: any; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; +} +declare var HTMLSelectElement: { + prototype: HTMLSelectElement; + new(): HTMLSelectElement; +} + +interface TextRange { + boundingLeft: number; + htmlText: string; + offsetLeft: number; + boundingWidth: number; + boundingHeight: number; + boundingTop: number; + text: string; + offsetTop: number; + moveToPoint(x: number, y: number): void; + queryCommandValue(cmdID: string): any; + getBookmark(): string; + move(unit: string, count?: number): number; + queryCommandIndeterm(cmdID: string): boolean; + scrollIntoView(fStart?: boolean): void; + findText(string: string, count?: number, flags?: number): boolean; + execCommand(cmdID: string, showUI?: boolean, value?: any): boolean; + getBoundingClientRect(): ClientRect; + moveToBookmark(bookmark: string): boolean; + isEqual(range: TextRange): boolean; + duplicate(): TextRange; + collapse(start?: boolean): void; + queryCommandText(cmdID: string): string; + select(): void; + pasteHTML(html: string): void; + inRange(range: TextRange): boolean; + moveEnd(unit: string, count?: number): number; + getClientRects(): ClientRectList; + moveStart(unit: string, count?: number): number; + parentElement(): Element; + queryCommandState(cmdID: string): boolean; + compareEndPoints(how: string, sourceRange: TextRange): number; + execCommandShowHelp(cmdID: string): boolean; + moveToElementText(element: Element): void; + expand(Unit: string): boolean; + queryCommandSupported(cmdID: string): boolean; + setEndPoint(how: string, SourceRange: TextRange): void; + queryCommandEnabled(cmdID: string): boolean; +} +declare var TextRange: { + prototype: TextRange; + new(): TextRange; +} + +interface SVGTests { + requiredFeatures: SVGStringList; + requiredExtensions: SVGStringList; + systemLanguage: SVGStringList; + hasExtension(extension: string): boolean; +} + +interface HTMLBlockElement extends HTMLElement, DOML2DeprecatedTextFlowControl { + /** + * Sets or retrieves the width of the object. + */ + width: number; + /** + * Sets or retrieves reference information about the object. + */ + cite: string; +} +declare var HTMLBlockElement: { + prototype: HTMLBlockElement; + new(): HTMLBlockElement; +} + +interface CSSStyleSheet extends StyleSheet { + owningElement: Element; + imports: StyleSheetList; + isAlternate: boolean; + rules: MSCSSRuleList; + isPrefAlternate: boolean; + readOnly: boolean; + cssText: string; + ownerRule: CSSRule; + href: string; + cssRules: CSSRuleList; + id: string; + pages: StyleSheetPageList; + addImport(bstrURL: string, lIndex?: number): number; + addPageRule(bstrSelector: string, bstrStyle: string, lIndex?: number): number; + insertRule(rule: string, index?: number): number; + removeRule(lIndex: number): void; + deleteRule(index?: number): void; + addRule(bstrSelector: string, bstrStyle?: string, lIndex?: number): number; + removeImport(lIndex: number): void; +} +declare var CSSStyleSheet: { + prototype: CSSStyleSheet; + new(): CSSStyleSheet; +} + +interface MSSelection { + type: string; + typeDetail: string; + createRange(): TextRange; + clear(): void; + createRangeCollection(): TextRangeCollection; + empty(): void; +} +declare var MSSelection: { + prototype: MSSelection; + new(): MSSelection; +} + +interface HTMLMetaElement extends HTMLElement { + /** + * Gets or sets information used to bind the value of a content attribute of a meta element to an HTTP response header. + */ + httpEquiv: string; + /** + * Sets or retrieves the value specified in the content attribute of the meta object. + */ + name: string; + /** + * Gets or sets meta-information to associate with httpEquiv or name. + */ + content: string; + /** + * Sets or retrieves the URL property that will be loaded after the specified time has elapsed. + */ + url: string; + /** + * Sets or retrieves a scheme to be used in interpreting the value of a property specified for the object. + */ + scheme: string; + /** + * Sets or retrieves the character set used to encode the object. + */ + charset: string; +} +declare var HTMLMetaElement: { + prototype: HTMLMetaElement; + new(): HTMLMetaElement; +} + +interface SVGPatternElement extends SVGElement, SVGUnitTypes, SVGStylable, SVGLangSpace, SVGTests, SVGFitToViewBox, SVGExternalResourcesRequired, SVGURIReference { + patternUnits: SVGAnimatedEnumeration; + y: SVGAnimatedLength; + width: SVGAnimatedLength; + x: SVGAnimatedLength; + patternContentUnits: SVGAnimatedEnumeration; + patternTransform: SVGAnimatedTransformList; + height: SVGAnimatedLength; +} +declare var SVGPatternElement: { + prototype: SVGPatternElement; + new(): SVGPatternElement; +} + +interface SVGAnimatedAngle { + animVal: SVGAngle; + baseVal: SVGAngle; +} +declare var SVGAnimatedAngle: { + prototype: SVGAnimatedAngle; + new(): SVGAnimatedAngle; +} + +interface Selection { + isCollapsed: boolean; + anchorNode: Node; + focusNode: Node; + anchorOffset: number; + focusOffset: number; + rangeCount: number; + addRange(range: Range): void; + collapseToEnd(): void; + toString(): string; + selectAllChildren(parentNode: Node): void; + getRangeAt(index: number): Range; + collapse(parentNode: Node, offset: number): void; + removeAllRanges(): void; + collapseToStart(): void; + deleteFromDocument(): void; + removeRange(range: Range): void; +} +declare var Selection: { + prototype: Selection; + new(): Selection; +} + +interface SVGScriptElement extends SVGElement, SVGExternalResourcesRequired, SVGURIReference { + type: string; +} +declare var SVGScriptElement: { + prototype: SVGScriptElement; + new(): SVGScriptElement; +} + +interface HTMLDDElement extends HTMLElement { + /** + * Sets or retrieves whether the browser automatically performs wordwrap. + */ + noWrap: boolean; +} +declare var HTMLDDElement: { + prototype: HTMLDDElement; + new(): HTMLDDElement; +} + +interface MSDataBindingRecordSetReadonlyExtensions { + recordset: any; + namedRecordset(dataMember: string, hierarchy?: any): any; +} + +interface CSSStyleRule extends CSSRule { + selectorText: string; + style: MSStyleCSSProperties; + readOnly: boolean; +} +declare var CSSStyleRule: { + prototype: CSSStyleRule; + new(): CSSStyleRule; +} + +interface NodeIterator { + whatToShow: number; + filter: NodeFilter; + root: Node; + expandEntityReferences: boolean; + nextNode(): Node; + detach(): void; + previousNode(): Node; +} +declare var NodeIterator: { + prototype: NodeIterator; + new(): NodeIterator; +} + +interface SVGViewElement extends SVGElement, SVGZoomAndPan, SVGFitToViewBox, SVGExternalResourcesRequired { + viewTarget: SVGStringList; +} +declare var SVGViewElement: { + prototype: SVGViewElement; + new(): SVGViewElement; +} + +interface HTMLLinkElement extends HTMLElement, LinkStyle { + /** + * Sets or retrieves the relationship between the object and the destination of the link. + */ + rel: string; + /** + * Sets or retrieves the window or frame at which to target content. + */ + target: string; + /** + * Sets or retrieves a destination URL or an anchor point. + */ + href: string; + /** + * Sets or retrieves the media type. + */ + media: string; + /** + * Sets or retrieves the relationship between the object and the destination of the link. + */ + rev: string; + /** + * Sets or retrieves the MIME type of the object. + */ + type: string; + /** + * Sets or retrieves the character set used to encode the object. + */ + charset: string; + /** + * Sets or retrieves the language code of the object. + */ + hreflang: string; +} +declare var HTMLLinkElement: { + prototype: HTMLLinkElement; + new(): HTMLLinkElement; +} + +interface SVGLocatable { + farthestViewportElement: SVGElement; + nearestViewportElement: SVGElement; + getBBox(): SVGRect; + getTransformToElement(element: SVGElement): SVGMatrix; + getCTM(): SVGMatrix; + getScreenCTM(): SVGMatrix; +} + +interface HTMLFontElement extends HTMLElement, DOML2DeprecatedColorProperty, DOML2DeprecatedSizeProperty { + /** + * Sets or retrieves the current typeface family. + */ + face: string; +} +declare var HTMLFontElement: { + prototype: HTMLFontElement; + new(): HTMLFontElement; +} + +interface SVGTitleElement extends SVGElement, SVGStylable, SVGLangSpace { +} +declare var SVGTitleElement: { + prototype: SVGTitleElement; + new(): SVGTitleElement; +} + +interface ControlRangeCollection { + length: number; + queryCommandValue(cmdID: string): any; + remove(index: number): void; + add(item: Element): void; + queryCommandIndeterm(cmdID: string): boolean; + scrollIntoView(varargStart?: any): void; + item(index: number): Element; + [index: number]: Element; + execCommand(cmdID: string, showUI?: boolean, value?: any): boolean; + addElement(item: Element): void; + queryCommandState(cmdID: string): boolean; + queryCommandSupported(cmdID: string): boolean; + queryCommandEnabled(cmdID: string): boolean; + queryCommandText(cmdID: string): string; + select(): void; +} +declare var ControlRangeCollection: { + prototype: ControlRangeCollection; + new(): ControlRangeCollection; +} + +interface MSNamespaceInfo extends MSEventAttachmentTarget { + urn: string; + onreadystatechange: (ev: Event) => any; + name: string; + readyState: string; + doImport(implementationUrl: string): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var MSNamespaceInfo: { + prototype: MSNamespaceInfo; + new(): MSNamespaceInfo; +} + +interface WindowSessionStorage { + sessionStorage: Storage; +} + +interface SVGAnimatedTransformList { + animVal: SVGTransformList; + baseVal: SVGTransformList; +} +declare var SVGAnimatedTransformList: { + prototype: SVGAnimatedTransformList; + new(): SVGAnimatedTransformList; +} + +interface HTMLTableCaptionElement extends HTMLElement { + /** + * Sets or retrieves the alignment of the caption or legend. + */ + align: string; + /** + * Sets or retrieves whether the caption appears at the top or bottom of the table. + */ + vAlign: string; +} +declare var HTMLTableCaptionElement: { + prototype: HTMLTableCaptionElement; + new(): HTMLTableCaptionElement; +} + +interface HTMLOptionElement extends HTMLElement, MSDataBindingExtensions { + /** + * Sets or retrieves the ordinal position of an option in a list box. + */ + index: number; + /** + * Sets or retrieves the status of an option. + */ + defaultSelected: boolean; + /** + * Sets or retrieves the value which is returned to the server when the form control is submitted. + */ + value: string; + /** + * Sets or retrieves the text string specified by the option tag. + */ + text: string; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; + /** + * Sets or retrieves a value that you can use to implement your own label functionality for the object. + */ + label: string; + /** + * Sets or retrieves whether the option in the list box is the default item. + */ + selected: boolean; +} +declare var HTMLOptionElement: { + prototype: HTMLOptionElement; + new(): HTMLOptionElement; + create(): HTMLOptionElement; +} + +interface HTMLMapElement extends HTMLElement { + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Retrieves a collection of the area objects defined for the given map object. + */ + areas: HTMLAreasCollection; +} +declare var HTMLMapElement: { + prototype: HTMLMapElement; + new(): HTMLMapElement; +} + +interface HTMLMenuElement extends HTMLElement, DOML2DeprecatedListSpaceReduction { + type: string; +} +declare var HTMLMenuElement: { + prototype: HTMLMenuElement; + new(): HTMLMenuElement; +} + +interface MouseWheelEvent extends MouseEvent { + wheelDelta: number; + initMouseWheelEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, buttonArg: number, relatedTargetArg: EventTarget, modifiersListArg: string, wheelDeltaArg: number): void; +} +declare var MouseWheelEvent: { + prototype: MouseWheelEvent; + new(): MouseWheelEvent; +} + +interface SVGFitToViewBox { + viewBox: SVGAnimatedRect; + preserveAspectRatio: SVGAnimatedPreserveAspectRatio; +} + +interface SVGPointList { + numberOfItems: number; + replaceItem(newItem: SVGPoint, index: number): SVGPoint; + getItem(index: number): SVGPoint; + clear(): void; + appendItem(newItem: SVGPoint): SVGPoint; + initialize(newItem: SVGPoint): SVGPoint; + removeItem(index: number): SVGPoint; + insertItemBefore(newItem: SVGPoint, index: number): SVGPoint; +} +declare var SVGPointList: { + prototype: SVGPointList; + new(): SVGPointList; +} + +interface SVGAnimatedLengthList { + animVal: SVGLengthList; + baseVal: SVGLengthList; +} +declare var SVGAnimatedLengthList: { + prototype: SVGAnimatedLengthList; + new(): SVGAnimatedLengthList; +} + +interface SVGAnimatedPreserveAspectRatio { + animVal: SVGPreserveAspectRatio; + baseVal: SVGPreserveAspectRatio; +} +declare var SVGAnimatedPreserveAspectRatio: { + prototype: SVGAnimatedPreserveAspectRatio; + new(): SVGAnimatedPreserveAspectRatio; +} + +interface MSSiteModeEvent extends Event { + buttonID: number; + actionURL: string; +} +declare var MSSiteModeEvent: { + prototype: MSSiteModeEvent; + new(): MSSiteModeEvent; +} + +interface DOML2DeprecatedTextFlowControl { + clear: string; +} + +interface StyleSheetPageList { + length: number; + item(index: number): CSSPageRule; + [index: number]: CSSPageRule; +} +declare var StyleSheetPageList: { + prototype: StyleSheetPageList; + new(): StyleSheetPageList; +} + +interface MSCSSProperties extends CSSStyleDeclaration { + scrollbarShadowColor: string; + scrollbarHighlightColor: string; + layoutGridChar: string; + layoutGridType: string; + textAutospace: string; + textKashidaSpace: string; + writingMode: string; + scrollbarFaceColor: string; + backgroundPositionY: string; + lineBreak: string; + imeMode: string; + msBlockProgression: string; + layoutGridLine: string; + scrollbarBaseColor: string; + layoutGrid: string; + layoutFlow: string; + textKashida: string; + filter: string; + zoom: string; + scrollbarArrowColor: string; + behavior: string; + backgroundPositionX: string; + accelerator: string; + layoutGridMode: string; + textJustifyTrim: string; + scrollbar3dLightColor: string; + msInterpolationMode: string; + scrollbarTrackColor: string; + scrollbarDarkShadowColor: string; + styleFloat: string; + getAttribute(attributeName: string, flags?: number): any; + setAttribute(attributeName: string, AttributeValue: any, flags?: number): void; + removeAttribute(attributeName: string, flags?: number): boolean; +} +declare var MSCSSProperties: { + prototype: MSCSSProperties; + new(): MSCSSProperties; +} + +interface HTMLCollection extends MSHTMLCollectionExtensions { + /** + * Sets or retrieves the number of objects in a collection. + */ + length: number; + /** + * Retrieves an object from various collections. + */ + item(nameOrIndex?: any, optionalIndex?: any): Element; + /** + * Retrieves a select object or an object from an options collection. + */ + namedItem(name: string): Element; + // [name: string]: Element; +} +declare var HTMLCollection: { + prototype: HTMLCollection; + new(): HTMLCollection; +} + +interface SVGExternalResourcesRequired { + externalResourcesRequired: SVGAnimatedBoolean; +} + +interface HTMLImageElement extends HTMLElement, MSImageResourceExtensions, MSDataBindingExtensions, MSResourceMetadata { + /** + * Sets or retrieves the width of the object. + */ + width: number; + /** + * Sets or retrieves the vertical margin for the object. + */ + vspace: number; + /** + * The original height of the image resource before sizing. + */ + naturalHeight: number; + /** + * Sets or retrieves a text alternative to the graphic. + */ + alt: string; + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + align: string; + /** + * The address or URL of the a media resource that is to be considered. + */ + src: string; + /** + * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. + */ + useMap: string; + /** + * The original width of the image resource before sizing. + */ + naturalWidth: number; + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Sets or retrieves the height of the object. + */ + height: number; + /** + * Specifies the properties of a border drawn around an object. + */ + border: string; + /** + * Sets or retrieves the width of the border to draw around the object. + */ + hspace: number; + /** + * Sets or retrieves a Uniform Resource Identifier (URI) to a long description of the object. + */ + longDesc: string; + /** + * Contains the hypertext reference (HREF) of the URL. + */ + href: string; + /** + * Sets or retrieves whether the image is a server-side image map. + */ + isMap: boolean; + /** + * Retrieves whether the object is fully loaded. + */ + complete: boolean; + /** + * Gets or sets the primary DLNA PlayTo device. + */ + msPlayToPrimary: boolean; + /** + * Gets or sets whether the DLNA PlayTo device is available. + */ + msPlayToDisabled: boolean; + /** + * Gets the source associated with the media element for use by the PlayToManager. + */ + msPlayToSource: any; + crossOrigin: string; + msPlayToPreferredSourceUri: string; +} +declare var HTMLImageElement: { + prototype: HTMLImageElement; + new(): HTMLImageElement; + create(): HTMLImageElement; +} + +interface HTMLAreaElement extends HTMLElement { + /** + * Sets or retrieves the protocol portion of a URL. + */ + protocol: string; + /** + * Sets or retrieves the substring of the href property that follows the question mark. + */ + search: string; + /** + * Sets or retrieves a text alternative to the graphic. + */ + alt: string; + /** + * Sets or retrieves the coordinates of the object. + */ + coords: string; + /** + * Sets or retrieves the host name part of the location or URL. + */ + hostname: string; + /** + * Sets or retrieves the port number associated with a URL. + */ + port: string; + /** + * Sets or retrieves the file name or path specified by the object. + */ + pathname: string; + /** + * Sets or retrieves the hostname and port number of the location or URL. + */ + host: string; + /** + * Sets or retrieves the subsection of the href property that follows the number sign (#). + */ + hash: string; + /** + * Sets or retrieves the window or frame at which to target content. + */ + target: string; + /** + * Sets or retrieves a destination URL or an anchor point. + */ + href: string; + /** + * Sets or gets whether clicks in this region cause action. + */ + noHref: boolean; + /** + * Sets or retrieves the shape of the object. + */ + shape: string; + /** + * Returns a string representation of an object. + */ + toString(): string; +} +declare var HTMLAreaElement: { + prototype: HTMLAreaElement; + new(): HTMLAreaElement; +} + +interface EventTarget { + removeEventListener(type: string, listener: EventListener, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; + dispatchEvent(evt: Event): boolean; +} + +interface SVGAngle { + valueAsString: string; + valueInSpecifiedUnits: number; + value: number; + unitType: number; + newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void; + convertToSpecifiedUnits(unitType: number): void; + SVG_ANGLETYPE_RAD: number; + SVG_ANGLETYPE_UNKNOWN: number; + SVG_ANGLETYPE_UNSPECIFIED: number; + SVG_ANGLETYPE_DEG: number; + SVG_ANGLETYPE_GRAD: number; +} +declare var SVGAngle: { + prototype: SVGAngle; + new(): SVGAngle; + SVG_ANGLETYPE_RAD: number; + SVG_ANGLETYPE_UNKNOWN: number; + SVG_ANGLETYPE_UNSPECIFIED: number; + SVG_ANGLETYPE_DEG: number; + SVG_ANGLETYPE_GRAD: number; +} + +interface HTMLButtonElement extends HTMLElement, MSDataBindingExtensions { + /** + * Sets or retrieves the default or selected value of the control. + */ + value: string; + status: any; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Gets the classification and default behavior of the button. + */ + type: string; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + validationMessage: string; + /** + * Overrides the target attribute on a form element. + */ + formTarget: string; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + willValidate: boolean; + /** + * Overrides the action attribute (where the data on a form is sent) on the parent form element. + */ + formAction: string; + /** + * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. + */ + autofocus: boolean; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + validity: ValidityState; + /** + * Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a "save draft"-type submit option. + */ + formNoValidate: string; + /** + * Used to override the encoding (formEnctype attribute) specified on the form element. + */ + formEnctype: string; + /** + * Overrides the submit method attribute previously specified on a form element. + */ + formMethod: string; + /** + * Creates a TextRange object for the element. + */ + createTextRange(): TextRange; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; +} +declare var HTMLButtonElement: { + prototype: HTMLButtonElement; + new(): HTMLButtonElement; +} + +interface HTMLSourceElement extends HTMLElement { + /** + * The address or URL of the a media resource that is to be considered. + */ + src: string; + /** + * Gets or sets the intended media type of the media source. + */ + media: string; + /** + * Gets or sets the MIME type of a media resource. + */ + type: string; + msKeySystem: string; +} +declare var HTMLSourceElement: { + prototype: HTMLSourceElement; + new(): HTMLSourceElement; +} + +interface CanvasGradient { + addColorStop(offset: number, color: string): void; +} +declare var CanvasGradient: { + prototype: CanvasGradient; + new(): CanvasGradient; +} + +interface KeyboardEvent extends UIEvent { + location: number; + keyCode: number; + shiftKey: boolean; + which: number; + locale: string; + key: string; + altKey: boolean; + metaKey: boolean; + char: string; + ctrlKey: boolean; + repeat: boolean; + charCode: number; + getModifierState(keyArg: string): boolean; + initKeyboardEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, keyArg: string, locationArg: number, modifiersListArg: string, repeat: boolean, locale: string): void; + DOM_KEY_LOCATION_RIGHT: number; + DOM_KEY_LOCATION_STANDARD: number; + DOM_KEY_LOCATION_LEFT: number; + DOM_KEY_LOCATION_NUMPAD: number; + DOM_KEY_LOCATION_JOYSTICK: number; + DOM_KEY_LOCATION_MOBILE: number; +} +declare var KeyboardEvent: { + prototype: KeyboardEvent; + new(): KeyboardEvent; + DOM_KEY_LOCATION_RIGHT: number; + DOM_KEY_LOCATION_STANDARD: number; + DOM_KEY_LOCATION_LEFT: number; + DOM_KEY_LOCATION_NUMPAD: number; + DOM_KEY_LOCATION_JOYSTICK: number; + DOM_KEY_LOCATION_MOBILE: number; +} + +interface MessageEvent extends Event { + source: Window; + origin: string; + data: any; + ports: any; + initMessageEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, dataArg: any, originArg: string, lastEventIdArg: string, sourceArg: Window): void; +} +declare var MessageEvent: { + prototype: MessageEvent; + new(): MessageEvent; +} + +interface SVGElement extends Element { + onmouseover: (ev: MouseEvent) => any; + viewportElement: SVGElement; + onmousemove: (ev: MouseEvent) => any; + onmouseout: (ev: MouseEvent) => any; + ondblclick: (ev: MouseEvent) => any; + onfocusout: (ev: FocusEvent) => any; + onfocusin: (ev: FocusEvent) => any; + xmlbase: string; + onmousedown: (ev: MouseEvent) => any; + onload: (ev: Event) => any; + onmouseup: (ev: MouseEvent) => any; + onclick: (ev: MouseEvent) => any; + ownerSVGElement: SVGSVGElement; + id: string; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgotpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mslostpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var SVGElement: { + prototype: SVGElement; + new(): SVGElement; +} + +interface HTMLScriptElement extends HTMLElement { + /** + * Sets or retrieves the status of the script. + */ + defer: boolean; + /** + * Retrieves or sets the text of the object as a string. + */ + text: string; + /** + * Retrieves the URL to an external file that contains the source code or data. + */ + src: string; + /** + * Sets or retrieves the object that is bound to the event script. + */ + htmlFor: string; + /** + * Sets or retrieves the character set used to encode the object. + */ + charset: string; + /** + * Sets or retrieves the MIME type for the associated scripting engine. + */ + type: string; + /** + * Sets or retrieves the event for which the script is written. + */ + event: string; + async: boolean; +} +declare var HTMLScriptElement: { + prototype: HTMLScriptElement; + new(): HTMLScriptElement; +} + +interface HTMLTableRowElement extends HTMLElement, HTMLTableAlignment, DOML2DeprecatedBackgroundColorStyle { + /** + * Retrieves the position of the object in the rows collection for the table. + */ + rowIndex: number; + /** + * Retrieves a collection of all cells in the table row. + */ + cells: HTMLCollection; + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + align: string; + /** + * Sets or retrieves the color for one of the two colors used to draw the 3-D border of the object. + */ + borderColorLight: any; + /** + * Retrieves the position of the object in the collection. + */ + sectionRowIndex: number; + /** + * Sets or retrieves the border color of the object. + */ + borderColor: any; + /** + * Sets or retrieves the height of the object. + */ + height: any; + /** + * Sets or retrieves the color for one of the two colors used to draw the 3-D border of the object. + */ + borderColorDark: any; + /** + * Removes the specified cell from the table row, as well as from the cells collection. + * @param index Number that specifies the zero-based position of the cell to remove from the table row. If no value is provided, the last cell in the cells collection is deleted. + */ + deleteCell(index?: number): void; + /** + * Creates a new cell in the table row, and adds the cell to the cells collection. + * @param index Number that specifies where to insert the cell in the tr. The default value is -1, which appends the new cell to the end of the cells collection. + */ + insertCell(index?: number): HTMLElement; +} +declare var HTMLTableRowElement: { + prototype: HTMLTableRowElement; + new(): HTMLTableRowElement; +} + +interface CanvasRenderingContext2D { + miterLimit: number; + font: string; + globalCompositeOperation: string; + msFillRule: string; + lineCap: string; + msImageSmoothingEnabled: boolean; + lineDashOffset: number; + shadowColor: string; + lineJoin: string; + shadowOffsetX: number; + lineWidth: number; + canvas: HTMLCanvasElement; + strokeStyle: any; + globalAlpha: number; + shadowOffsetY: number; + fillStyle: any; + shadowBlur: number; + textAlign: string; + textBaseline: string; + restore(): void; + setTransform(m11: number, m12: number, m21: number, m22: number, dx: number, dy: number): void; + save(): void; + arc(x: number, y: number, radius: number, startAngle: number, endAngle: number, anticlockwise?: boolean): void; + measureText(text: string): TextMetrics; + isPointInPath(x: number, y: number, fillRule?: string): boolean; + quadraticCurveTo(cpx: number, cpy: number, x: number, y: number): void; + putImageData(imagedata: ImageData, dx: number, dy: number, dirtyX?: number, dirtyY?: number, dirtyWidth?: number, dirtyHeight?: number): void; + rotate(angle: number): void; + fillText(text: string, x: number, y: number, maxWidth?: number): void; + translate(x: number, y: number): void; + scale(x: number, y: number): void; + createRadialGradient(x0: number, y0: number, r0: number, x1: number, y1: number, r1: number): CanvasGradient; + lineTo(x: number, y: number): void; + getLineDash(): number[]; + fill(fillRule?: string): void; + createImageData(imageDataOrSw: any, sh?: number): ImageData; + createPattern(image: HTMLElement, repetition: string): CanvasPattern; + closePath(): void; + rect(x: number, y: number, w: number, h: number): void; + clip(fillRule?: string): void; + clearRect(x: number, y: number, w: number, h: number): void; + moveTo(x: number, y: number): void; + getImageData(sx: number, sy: number, sw: number, sh: number): ImageData; + fillRect(x: number, y: number, w: number, h: number): void; + bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cp2y: number, x: number, y: number): void; + drawImage(image: HTMLElement, offsetX: number, offsetY: number, width?: number, height?: number, canvasOffsetX?: number, canvasOffsetY?: number, canvasImageWidth?: number, canvasImageHeight?: number): void; + transform(m11: number, m12: number, m21: number, m22: number, dx: number, dy: number): void; + stroke(): void; + strokeRect(x: number, y: number, w: number, h: number): void; + setLineDash(segments: number[]): void; + strokeText(text: string, x: number, y: number, maxWidth?: number): void; + beginPath(): void; + arcTo(x1: number, y1: number, x2: number, y2: number, radius: number): void; + createLinearGradient(x0: number, y0: number, x1: number, y1: number): CanvasGradient; +} +declare var CanvasRenderingContext2D: { + prototype: CanvasRenderingContext2D; + new(): CanvasRenderingContext2D; +} + +interface MSCSSRuleList { + length: number; + item(index?: number): CSSStyleRule; + [index: number]: CSSStyleRule; +} +declare var MSCSSRuleList: { + prototype: MSCSSRuleList; + new(): MSCSSRuleList; +} + +interface SVGPathSegLinetoHorizontalAbs extends SVGPathSeg { + x: number; +} +declare var SVGPathSegLinetoHorizontalAbs: { + prototype: SVGPathSegLinetoHorizontalAbs; + new(): SVGPathSegLinetoHorizontalAbs; +} + +interface SVGPathSegArcAbs extends SVGPathSeg { + y: number; + sweepFlag: boolean; + r2: number; + x: number; + angle: number; + r1: number; + largeArcFlag: boolean; +} +declare var SVGPathSegArcAbs: { + prototype: SVGPathSegArcAbs; + new(): SVGPathSegArcAbs; +} + +interface SVGTransformList { + numberOfItems: number; + getItem(index: number): SVGTransform; + consolidate(): SVGTransform; + clear(): void; + appendItem(newItem: SVGTransform): SVGTransform; + initialize(newItem: SVGTransform): SVGTransform; + removeItem(index: number): SVGTransform; + insertItemBefore(newItem: SVGTransform, index: number): SVGTransform; + replaceItem(newItem: SVGTransform, index: number): SVGTransform; + createSVGTransformFromMatrix(matrix: SVGMatrix): SVGTransform; +} +declare var SVGTransformList: { + prototype: SVGTransformList; + new(): SVGTransformList; +} + +interface HTMLHtmlElement extends HTMLElement { + /** + * Sets or retrieves the DTD version that governs the current document. + */ + version: string; +} +declare var HTMLHtmlElement: { + prototype: HTMLHtmlElement; + new(): HTMLHtmlElement; +} + +interface SVGPathSegClosePath extends SVGPathSeg { +} +declare var SVGPathSegClosePath: { + prototype: SVGPathSegClosePath; + new(): SVGPathSegClosePath; +} + +interface HTMLFrameElement extends HTMLElement, GetSVGDocument, MSDataBindingExtensions { + /** + * Sets or retrieves the width of the object. + */ + width: any; + /** + * Sets or retrieves whether the frame can be scrolled. + */ + scrolling: string; + /** + * Sets or retrieves the top and bottom margin heights before displaying the text in a frame. + */ + marginHeight: string; + /** + * Sets or retrieves the left and right margin widths before displaying the text in a frame. + */ + marginWidth: string; + /** + * Sets or retrieves the border color of the object. + */ + borderColor: any; + /** + * Sets or retrieves the amount of additional space between the frames. + */ + frameSpacing: any; + /** + * Sets or retrieves whether to display a border for the frame. + */ + frameBorder: string; + /** + * Sets or retrieves whether the user can resize the frame. + */ + noResize: boolean; + /** + * Retrieves the object of the specified. + */ + contentWindow: Window; + /** + * Sets or retrieves a URL to be loaded by the object. + */ + src: string; + /** + * Sets or retrieves the frame name. + */ + name: string; + /** + * Sets or retrieves the height of the object. + */ + height: any; + /** + * Retrieves the document object of the page or frame. + */ + contentDocument: Document; + /** + * Specifies the properties of a border drawn around an object. + */ + border: string; + /** + * Sets or retrieves a URI to a long description of the object. + */ + longDesc: string; + /** + * Raised when the object has been completely received from the server. + */ + onload: (ev: Event) => any; + /** + * Sets the value indicating whether the source file of a frame or iframe has specific security restrictions applied. + */ + security: any; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgotpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mslostpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "move", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "datasetchanged", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsdelete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "losecapture", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "controlselect", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "layoutcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "filterchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "datasetcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "errorupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cellchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowexit", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsinserted", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "propertychange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "moveend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeeditfocus", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "afterupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizeend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dataavailable", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "movestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "rowenter", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mscontentzoom", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "msmanipulationstatechanged", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var HTMLFrameElement: { + prototype: HTMLFrameElement; + new(): HTMLFrameElement; +} + +interface SVGAnimatedLength { + animVal: SVGLength; + baseVal: SVGLength; +} +declare var SVGAnimatedLength: { + prototype: SVGAnimatedLength; + new(): SVGAnimatedLength; +} + +interface SVGAnimatedPoints { + points: SVGPointList; + animatedPoints: SVGPointList; +} + +interface SVGDefsElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired { +} +declare var SVGDefsElement: { + prototype: SVGDefsElement; + new(): SVGDefsElement; +} + +interface HTMLQuoteElement extends HTMLElement { + /** + * Sets or retrieves the date and time of a modification to the object. + */ + dateTime: string; + /** + * Sets or retrieves reference information about the object. + */ + cite: string; +} +declare var HTMLQuoteElement: { + prototype: HTMLQuoteElement; + new(): HTMLQuoteElement; +} + +interface CSSMediaRule extends CSSRule { + media: MediaList; + cssRules: CSSRuleList; + insertRule(rule: string, index?: number): number; + deleteRule(index?: number): void; +} +declare var CSSMediaRule: { + prototype: CSSMediaRule; + new(): CSSMediaRule; +} + +interface WindowModal { + dialogArguments: any; + returnValue: any; +} + +interface XMLHttpRequest extends EventTarget { + responseBody: any; + status: number; + readyState: number; + responseText: string; + responseXML: any; + ontimeout: (ev: Event) => any; + statusText: string; + onreadystatechange: (ev: Event) => any; + timeout: number; + onload: (ev: Event) => any; + response: any; + withCredentials: boolean; + onprogress: (ev: ProgressEvent) => any; + onabort: (ev: UIEvent) => any; + responseType: string; + onloadend: (ev: ProgressEvent) => any; + upload: XMLHttpRequestEventTarget; + onerror: (ev: ErrorEvent) => any; + onloadstart: (ev: Event) => any; + msCaching: string; + open(method: string, url: string, async?: boolean, user?: string, password?: string): void; + send(data?: any): void; + abort(): void; + getAllResponseHeaders(): string; + setRequestHeader(header: string, value: string): void; + getResponseHeader(header: string): string; + msCachingEnabled(): boolean; + overrideMimeType(mime: string): void; + LOADING: number; + DONE: number; + UNSENT: number; + OPENED: number; + HEADERS_RECEIVED: number; + addEventListener(type: "timeout", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadend", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var XMLHttpRequest: { + prototype: XMLHttpRequest; + new(): XMLHttpRequest; + LOADING: number; + DONE: number; + UNSENT: number; + OPENED: number; + HEADERS_RECEIVED: number; + create(): XMLHttpRequest; +} + +interface HTMLTableHeaderCellElement extends HTMLTableCellElement { + /** + * Sets or retrieves the group of cells in a table to which the object's information applies. + */ + scope: string; +} +declare var HTMLTableHeaderCellElement: { + prototype: HTMLTableHeaderCellElement; + new(): HTMLTableHeaderCellElement; +} + +interface HTMLDListElement extends HTMLElement, DOML2DeprecatedListSpaceReduction { +} +declare var HTMLDListElement: { + prototype: HTMLDListElement; + new(): HTMLDListElement; +} + +interface MSDataBindingExtensions { + dataSrc: string; + dataFormatAs: string; + dataFld: string; +} + +interface SVGPathSegLinetoHorizontalRel extends SVGPathSeg { + x: number; +} +declare var SVGPathSegLinetoHorizontalRel: { + prototype: SVGPathSegLinetoHorizontalRel; + new(): SVGPathSegLinetoHorizontalRel; +} + +interface SVGEllipseElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired { + ry: SVGAnimatedLength; + cx: SVGAnimatedLength; + rx: SVGAnimatedLength; + cy: SVGAnimatedLength; +} +declare var SVGEllipseElement: { + prototype: SVGEllipseElement; + new(): SVGEllipseElement; +} + +interface SVGAElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired, SVGURIReference { + target: SVGAnimatedString; +} +declare var SVGAElement: { + prototype: SVGAElement; + new(): SVGAElement; +} + +interface SVGStylable { + className: SVGAnimatedString; + style: CSSStyleDeclaration; +} + +interface SVGTransformable extends SVGLocatable { + transform: SVGAnimatedTransformList; +} + +interface HTMLFrameSetElement extends HTMLElement { + ononline: (ev: Event) => any; + /** + * Sets or retrieves the border color of the object. + */ + borderColor: any; + /** + * Sets or retrieves the frame heights of the object. + */ + rows: string; + /** + * Sets or retrieves the frame widths of the object. + */ + cols: string; + /** + * Fires when the object loses the input focus. + */ + onblur: (ev: FocusEvent) => any; + /** + * Sets or retrieves the amount of additional space between the frames. + */ + frameSpacing: any; + /** + * Fires when the object receives focus. + */ + onfocus: (ev: FocusEvent) => any; + onmessage: (ev: MessageEvent) => any; + onerror: (ev: ErrorEvent) => any; + /** + * Sets or retrieves whether to display a border for the frame. + */ + frameBorder: string; + onresize: (ev: UIEvent) => any; + name: string; + onafterprint: (ev: Event) => any; + onbeforeprint: (ev: Event) => any; + onoffline: (ev: Event) => any; + border: string; + onunload: (ev: Event) => any; + onhashchange: (ev: Event) => any; + onload: (ev: Event) => any; + onbeforeunload: (ev: BeforeUnloadEvent) => any; + onstorage: (ev: StorageEvent) => any; + onpageshow: (ev: PageTransitionEvent) => any; + onpagehide: (ev: PageTransitionEvent) => any; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgotpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mslostpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "move", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "datasetchanged", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsdelete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "losecapture", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "controlselect", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "layoutcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "filterchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "datasetcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "errorupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cellchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowexit", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsinserted", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "propertychange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "moveend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeeditfocus", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "afterupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizeend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dataavailable", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "movestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "rowenter", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mscontentzoom", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "msmanipulationstatechanged", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "online", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "afterprint", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeprint", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "offline", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "unload", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "hashchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeunload", listener: (ev: BeforeUnloadEvent) => any, useCapture?: boolean): void; + addEventListener(type: "storage", listener: (ev: StorageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pageshow", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pagehide", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var HTMLFrameSetElement: { + prototype: HTMLFrameSetElement; + new(): HTMLFrameSetElement; +} + +interface Screen extends EventTarget { + width: number; + deviceXDPI: number; + fontSmoothingEnabled: boolean; + bufferDepth: number; + logicalXDPI: number; + systemXDPI: number; + availHeight: number; + height: number; + logicalYDPI: number; + systemYDPI: number; + updateInterval: number; + colorDepth: number; + availWidth: number; + deviceYDPI: number; + pixelDepth: number; + msOrientation: string; + onmsorientationchange: (ev: any) => any; + msLockOrientation(orientation: string): boolean; + msLockOrientation(orientations: string[]): boolean; + msUnlockOrientation(): void; + addEventListener(type: "msorientationchange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var Screen: { + prototype: Screen; + new(): Screen; +} + +interface Coordinates { + altitudeAccuracy: number; + longitude: number; + latitude: number; + speed: number; + heading: number; + altitude: number; + accuracy: number; +} +declare var Coordinates: { + prototype: Coordinates; + new(): Coordinates; +} + +interface NavigatorGeolocation { + geolocation: Geolocation; +} + +interface NavigatorContentUtils { +} + +interface EventListener { + (evt: Event): void; +} + +interface SVGLangSpace { + xmllang: string; + xmlspace: string; +} + +interface DataTransfer { + effectAllowed: string; + dropEffect: string; + types: DOMStringList; + files: FileList; + clearData(format?: string): boolean; + setData(format: string, data: string): boolean; + getData(format: string): string; +} +declare var DataTransfer: { + prototype: DataTransfer; + new(): DataTransfer; +} + +interface FocusEvent extends UIEvent { + relatedTarget: EventTarget; + initFocusEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, relatedTargetArg: EventTarget): void; +} +declare var FocusEvent: { + prototype: FocusEvent; + new(): FocusEvent; +} + +interface Range { + startOffset: number; + collapsed: boolean; + endOffset: number; + startContainer: Node; + endContainer: Node; + commonAncestorContainer: Node; + setStart(refNode: Node, offset: number): void; + setEndBefore(refNode: Node): void; + setStartBefore(refNode: Node): void; + selectNode(refNode: Node): void; + detach(): void; + getBoundingClientRect(): ClientRect; + toString(): string; + compareBoundaryPoints(how: number, sourceRange: Range): number; + insertNode(newNode: Node): void; + collapse(toStart: boolean): void; + selectNodeContents(refNode: Node): void; + cloneContents(): DocumentFragment; + setEnd(refNode: Node, offset: number): void; + cloneRange(): Range; + getClientRects(): ClientRectList; + surroundContents(newParent: Node): void; + deleteContents(): void; + setStartAfter(refNode: Node): void; + extractContents(): DocumentFragment; + setEndAfter(refNode: Node): void; + createContextualFragment(fragment: string): DocumentFragment; + END_TO_END: number; + START_TO_START: number; + START_TO_END: number; + END_TO_START: number; +} +declare var Range: { + prototype: Range; + new(): Range; + END_TO_END: number; + START_TO_START: number; + START_TO_END: number; + END_TO_START: number; +} + +interface SVGPoint { + y: number; + x: number; + matrixTransform(matrix: SVGMatrix): SVGPoint; +} +declare var SVGPoint: { + prototype: SVGPoint; + new(): SVGPoint; +} + +interface MSPluginsCollection { + length: number; + refresh(reload?: boolean): void; +} +declare var MSPluginsCollection: { + prototype: MSPluginsCollection; + new(): MSPluginsCollection; +} + +interface SVGAnimatedNumberList { + animVal: SVGNumberList; + baseVal: SVGNumberList; +} +declare var SVGAnimatedNumberList: { + prototype: SVGAnimatedNumberList; + new(): SVGAnimatedNumberList; +} + +interface SVGSVGElement extends SVGElement, SVGStylable, SVGZoomAndPan, DocumentEvent, SVGLangSpace, SVGLocatable, SVGTests, SVGFitToViewBox, SVGExternalResourcesRequired { + width: SVGAnimatedLength; + x: SVGAnimatedLength; + contentStyleType: string; + onzoom: (ev: any) => any; + y: SVGAnimatedLength; + viewport: SVGRect; + onerror: (ev: ErrorEvent) => any; + pixelUnitToMillimeterY: number; + onresize: (ev: UIEvent) => any; + screenPixelToMillimeterY: number; + height: SVGAnimatedLength; + onabort: (ev: UIEvent) => any; + contentScriptType: string; + pixelUnitToMillimeterX: number; + currentTranslate: SVGPoint; + onunload: (ev: Event) => any; + currentScale: number; + onscroll: (ev: UIEvent) => any; + screenPixelToMillimeterX: number; + setCurrentTime(seconds: number): void; + createSVGLength(): SVGLength; + getIntersectionList(rect: SVGRect, referenceElement: SVGElement): NodeList; + unpauseAnimations(): void; + createSVGRect(): SVGRect; + checkIntersection(element: SVGElement, rect: SVGRect): boolean; + unsuspendRedrawAll(): void; + pauseAnimations(): void; + suspendRedraw(maxWaitMilliseconds: number): number; + deselectAll(): void; + createSVGAngle(): SVGAngle; + getEnclosureList(rect: SVGRect, referenceElement: SVGElement): NodeList; + createSVGTransform(): SVGTransform; + unsuspendRedraw(suspendHandleID: number): void; + forceRedraw(): void; + getCurrentTime(): number; + checkEnclosure(element: SVGElement, rect: SVGRect): boolean; + createSVGMatrix(): SVGMatrix; + createSVGPoint(): SVGPoint; + createSVGNumber(): SVGNumber; + createSVGTransformFromMatrix(matrix: SVGMatrix): SVGTransform; + getComputedStyle(elt: Element, pseudoElt?: string): CSSStyleDeclaration; + getElementById(elementId: string): Element; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgotpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mslostpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "zoom", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "unload", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var SVGSVGElement: { + prototype: SVGSVGElement; + new(): SVGSVGElement; +} + +interface HTMLLabelElement extends HTMLElement, MSDataBindingExtensions { + /** + * Sets or retrieves the object to which the given label object is assigned. + */ + htmlFor: string; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; +} +declare var HTMLLabelElement: { + prototype: HTMLLabelElement; + new(): HTMLLabelElement; +} + +interface MSResourceMetadata { + protocol: string; + fileSize: string; + fileUpdatedDate: string; + nameProp: string; + fileCreatedDate: string; + fileModifiedDate: string; + mimeType: string; +} + +interface HTMLLegendElement extends HTMLElement, MSDataBindingExtensions { + /** + * Retrieves a reference to the form that the object is embedded in. + */ + align: string; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; +} +declare var HTMLLegendElement: { + prototype: HTMLLegendElement; + new(): HTMLLegendElement; +} + +interface HTMLDirectoryElement extends HTMLElement, DOML2DeprecatedListSpaceReduction, DOML2DeprecatedListNumberingAndBulletStyle { +} +declare var HTMLDirectoryElement: { + prototype: HTMLDirectoryElement; + new(): HTMLDirectoryElement; +} + +interface SVGAnimatedInteger { + animVal: number; + baseVal: number; +} +declare var SVGAnimatedInteger: { + prototype: SVGAnimatedInteger; + new(): SVGAnimatedInteger; +} + +interface SVGTextElement extends SVGTextPositioningElement, SVGTransformable { +} +declare var SVGTextElement: { + prototype: SVGTextElement; + new(): SVGTextElement; +} + +interface SVGTSpanElement extends SVGTextPositioningElement { +} +declare var SVGTSpanElement: { + prototype: SVGTSpanElement; + new(): SVGTSpanElement; +} + +interface HTMLLIElement extends HTMLElement, DOML2DeprecatedListNumberingAndBulletStyle { + /** + * Sets or retrieves the value of a list item. + */ + value: number; +} +declare var HTMLLIElement: { + prototype: HTMLLIElement; + new(): HTMLLIElement; +} + +interface SVGPathSegLinetoVerticalAbs extends SVGPathSeg { + y: number; +} +declare var SVGPathSegLinetoVerticalAbs: { + prototype: SVGPathSegLinetoVerticalAbs; + new(): SVGPathSegLinetoVerticalAbs; +} + +interface MSStorageExtensions { + remainingSpace: number; +} + +interface SVGStyleElement extends SVGElement, SVGLangSpace { + media: string; + type: string; + title: string; +} +declare var SVGStyleElement: { + prototype: SVGStyleElement; + new(): SVGStyleElement; +} + +interface MSCurrentStyleCSSProperties extends MSCSSProperties { + blockDirection: string; + clipBottom: string; + clipLeft: string; + clipRight: string; + clipTop: string; + hasLayout: string; +} +declare var MSCurrentStyleCSSProperties: { + prototype: MSCurrentStyleCSSProperties; + new(): MSCurrentStyleCSSProperties; +} + +interface MSHTMLCollectionExtensions { + urns(urn: any): any; + tags(tagName: any): any; +} + +interface Storage extends MSStorageExtensions { + length: number; + getItem(key: string): any; + [key: string]: any; + setItem(key: string, data: string): void; + clear(): void; + removeItem(key: string): void; + key(index: number): string; + [index: number]: string; +} +declare var Storage: { + prototype: Storage; + new(): Storage; +} + +interface HTMLIFrameElement extends HTMLElement, GetSVGDocument, MSDataBindingExtensions { + /** + * Sets or retrieves the width of the object. + */ + width: string; + /** + * Sets or retrieves whether the frame can be scrolled. + */ + scrolling: string; + /** + * Sets or retrieves the top and bottom margin heights before displaying the text in a frame. + */ + marginHeight: string; + /** + * Sets or retrieves the left and right margin widths before displaying the text in a frame. + */ + marginWidth: string; + /** + * Sets or retrieves the amount of additional space between the frames. + */ + frameSpacing: any; + /** + * Sets or retrieves whether to display a border for the frame. + */ + frameBorder: string; + /** + * Sets or retrieves whether the user can resize the frame. + */ + noResize: boolean; + /** + * Sets or retrieves the vertical margin for the object. + */ + vspace: number; + /** + * Retrieves the object of the specified. + */ + contentWindow: Window; + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + align: string; + /** + * Sets or retrieves a URL to be loaded by the object. + */ + src: string; + /** + * Sets or retrieves the frame name. + */ + name: string; + /** + * Sets or retrieves the height of the object. + */ + height: string; + /** + * Specifies the properties of a border drawn around an object. + */ + border: string; + /** + * Retrieves the document object of the page or frame. + */ + contentDocument: Document; + /** + * Sets or retrieves the horizontal margin for the object. + */ + hspace: number; + /** + * Sets or retrieves a URI to a long description of the object. + */ + longDesc: string; + /** + * Sets the value indicating whether the source file of a frame or iframe has specific security restrictions applied. + */ + security: any; + /** + * Raised when the object has been completely received from the server. + */ + onload: (ev: Event) => any; + sandbox: DOMSettableTokenList; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgotpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mslostpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "move", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "datasetchanged", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsdelete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "losecapture", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "controlselect", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "layoutcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "filterchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "datasetcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "errorupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cellchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowexit", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsinserted", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "propertychange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "moveend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeeditfocus", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "afterupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizeend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dataavailable", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "movestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "rowenter", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mscontentzoom", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "msmanipulationstatechanged", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var HTMLIFrameElement: { + prototype: HTMLIFrameElement; + new(): HTMLIFrameElement; +} + +interface TextRangeCollection { + length: number; + item(index: number): TextRange; + [index: number]: TextRange; +} +declare var TextRangeCollection: { + prototype: TextRangeCollection; + new(): TextRangeCollection; +} + +interface HTMLBodyElement extends HTMLElement, DOML2DeprecatedBackgroundStyle, DOML2DeprecatedBackgroundColorStyle { + scroll: string; + ononline: (ev: Event) => any; + onblur: (ev: FocusEvent) => any; + noWrap: boolean; + onfocus: (ev: FocusEvent) => any; + onmessage: (ev: MessageEvent) => any; + text: any; + onerror: (ev: ErrorEvent) => any; + bgProperties: string; + onresize: (ev: UIEvent) => any; + link: any; + aLink: any; + bottomMargin: any; + topMargin: any; + onafterprint: (ev: Event) => any; + vLink: any; + onbeforeprint: (ev: Event) => any; + onoffline: (ev: Event) => any; + onunload: (ev: Event) => any; + onhashchange: (ev: Event) => any; + onload: (ev: Event) => any; + rightMargin: any; + onbeforeunload: (ev: BeforeUnloadEvent) => any; + leftMargin: any; + onstorage: (ev: StorageEvent) => any; + onpopstate: (ev: PopStateEvent) => any; + onpageshow: (ev: PageTransitionEvent) => any; + onpagehide: (ev: PageTransitionEvent) => any; + createTextRange(): TextRange; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgotpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mslostpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "move", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "datasetchanged", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsdelete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "losecapture", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "controlselect", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "layoutcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "filterchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "datasetcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "errorupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cellchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowexit", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsinserted", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "propertychange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "moveend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeeditfocus", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "afterupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizeend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dataavailable", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "movestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "rowenter", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mscontentzoom", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "msmanipulationstatechanged", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "online", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "afterprint", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeprint", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "offline", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "unload", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "hashchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeunload", listener: (ev: BeforeUnloadEvent) => any, useCapture?: boolean): void; + addEventListener(type: "storage", listener: (ev: StorageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "popstate", listener: (ev: PopStateEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pageshow", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pagehide", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var HTMLBodyElement: { + prototype: HTMLBodyElement; + new(): HTMLBodyElement; +} + +interface DocumentType extends Node { + name: string; + notations: NamedNodeMap; + systemId: string; + internalSubset: string; + entities: NamedNodeMap; + publicId: string; +} +declare var DocumentType: { + prototype: DocumentType; + new(): DocumentType; +} + +interface SVGRadialGradientElement extends SVGGradientElement { + cx: SVGAnimatedLength; + r: SVGAnimatedLength; + cy: SVGAnimatedLength; + fx: SVGAnimatedLength; + fy: SVGAnimatedLength; +} +declare var SVGRadialGradientElement: { + prototype: SVGRadialGradientElement; + new(): SVGRadialGradientElement; +} + +interface MutationEvent extends Event { + newValue: string; + attrChange: number; + attrName: string; + prevValue: string; + relatedNode: Node; + initMutationEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, relatedNodeArg: Node, prevValueArg: string, newValueArg: string, attrNameArg: string, attrChangeArg: number): void; + MODIFICATION: number; + REMOVAL: number; + ADDITION: number; +} +declare var MutationEvent: { + prototype: MutationEvent; + new(): MutationEvent; + MODIFICATION: number; + REMOVAL: number; + ADDITION: number; +} + +interface DragEvent extends MouseEvent { + dataTransfer: DataTransfer; + initDragEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget, dataTransferArg: DataTransfer): void; + msConvertURL(file: File, targetType: string, targetURL?: string): void; +} +declare var DragEvent: { + prototype: DragEvent; + new(): DragEvent; +} + +interface HTMLTableSectionElement extends HTMLElement, HTMLTableAlignment, DOML2DeprecatedBackgroundColorStyle { + /** + * Sets or retrieves a value that indicates the table alignment. + */ + align: string; + /** + * Sets or retrieves the number of horizontal rows contained in the object. + */ + rows: HTMLCollection; + /** + * Removes the specified row (tr) from the element and from the rows collection. + * @param index Number that specifies the zero-based position in the rows collection of the row to remove. + */ + deleteRow(index?: number): void; + /** + * Moves a table row to a new position. + * @param indexFrom Number that specifies the index in the rows collection of the table row that is moved. + * @param indexTo Number that specifies where the row is moved within the rows collection. + */ + moveRow(indexFrom?: number, indexTo?: number): any; + /** + * Creates a new row (tr) in the table, and adds the row to the rows collection. + * @param index Number that specifies where to insert the row in the rows collection. The default value is -1, which appends the new row to the end of the rows collection. + */ + insertRow(index?: number): HTMLElement; +} +declare var HTMLTableSectionElement: { + prototype: HTMLTableSectionElement; + new(): HTMLTableSectionElement; +} + +interface DOML2DeprecatedListNumberingAndBulletStyle { + type: string; +} + +interface HTMLInputElement extends HTMLElement, MSDataBindingExtensions { + /** + * Sets or retrieves the width of the object. + */ + width: string; + status: boolean; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; + /** + * Gets or sets the starting position or offset of a text selection. + */ + selectionStart: number; + indeterminate: boolean; + readOnly: boolean; + size: number; + loop: number; + /** + * Gets or sets the end position or offset of a text selection. + */ + selectionEnd: number; + /** + * Sets or retrieves the URL of the virtual reality modeling language (VRML) world to be displayed in the window. + */ + vrml: string; + /** + * Sets or retrieves a lower resolution image to display. + */ + lowsrc: string; + /** + * Sets or retrieves the vertical margin for the object. + */ + vspace: number; + /** + * Sets or retrieves a comma-separated list of content types. + */ + accept: string; + /** + * Sets or retrieves a text alternative to the graphic. + */ + alt: string; + /** + * Sets or retrieves the state of the check box or radio button. + */ + defaultChecked: boolean; + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + align: string; + /** + * Returns the value of the data at the cursor's current position. + */ + value: string; + /** + * The address or URL of the a media resource that is to be considered. + */ + src: string; + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. + */ + useMap: string; + /** + * Sets or retrieves the height of the object. + */ + height: string; + /** + * Sets or retrieves the width of the border to draw around the object. + */ + border: string; + dynsrc: string; + /** + * Sets or retrieves the state of the check box or radio button. + */ + checked: boolean; + /** + * Sets or retrieves the width of the border to draw around the object. + */ + hspace: number; + /** + * Sets or retrieves the maximum number of characters that the user can enter in a text control. + */ + maxLength: number; + /** + * Returns the content type of the object. + */ + type: string; + /** + * Sets or retrieves the initial contents of the object. + */ + defaultValue: string; + /** + * Retrieves whether the object is fully loaded. + */ + complete: boolean; + start: string; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + validationMessage: string; + /** + * Returns a FileList object on a file type input object. + */ + files: FileList; + /** + * Defines the maximum acceptable value for an input element with type="number".When used with the min and step attributes, lets you control the range and increment (such as only even numbers) that the user can enter into an input field. + */ + max: string; + /** + * Overrides the target attribute on a form element. + */ + formTarget: string; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + willValidate: boolean; + /** + * Defines an increment or jump between values that you want to allow the user to enter. When used with the max and min attributes, lets you control the range and increment (for example, allow only even numbers) that the user can enter into an input field. + */ + step: string; + /** + * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. + */ + autofocus: boolean; + /** + * When present, marks an element that can't be submitted without a value. + */ + required: boolean; + /** + * Used to override the encoding (formEnctype attribute) specified on the form element. + */ + formEnctype: string; + /** + * Returns the input field value as a number. + */ + valueAsNumber: number; + /** + * Gets or sets a text string that is displayed in an input field as a hint or prompt to users as the format or type of information they need to enter.The text appears in an input field until the user puts focus on the field. + */ + placeholder: string; + /** + * Overrides the submit method attribute previously specified on a form element. + */ + formMethod: string; + /** + * Specifies the ID of a pre-defined datalist of options for an input element. + */ + list: HTMLElement; + /** + * Specifies whether autocomplete is applied to an editable text field. + */ + autocomplete: string; + /** + * Defines the minimum acceptable value for an input element with type="number". When used with the max and step attributes, lets you control the range and increment (such as even numbers only) that the user can enter into an input field. + */ + min: string; + /** + * Overrides the action attribute (where the data on a form is sent) on the parent form element. + */ + formAction: string; + /** + * Gets or sets a string containing a regular expression that the user's input must match. + */ + pattern: string; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + validity: ValidityState; + /** + * Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a "save draft"-type submit option. + */ + formNoValidate: string; + /** + * Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list. + */ + multiple: boolean; + /** + * Creates a TextRange object for the element. + */ + createTextRange(): TextRange; + /** + * Sets the start and end positions of a selection in a text field. + * @param start The offset into the text field for the start of the selection. + * @param end The offset into the text field for the end of the selection. + */ + setSelectionRange(start: number, end: number): void; + /** + * Makes the selection equal to the current object. + */ + select(): void; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + /** + * Decrements a range input control's value by the value given by the Step attribute. If the optional parameter is used, it will decrement the input control's step value multiplied by the parameter's value. + * @param n Value to decrement the value by. + */ + stepDown(n?: number): void; + /** + * Increments a range input control's value by the value given by the Step attribute. If the optional parameter is used, will increment the input control's value by that value. + * @param n Value to increment the value by. + */ + stepUp(n?: number): void; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; +} +declare var HTMLInputElement: { + prototype: HTMLInputElement; + new(): HTMLInputElement; +} + +interface HTMLAnchorElement extends HTMLElement, MSDataBindingExtensions { + /** + * Sets or retrieves the relationship between the object and the destination of the link. + */ + rel: string; + /** + * Contains the protocol of the URL. + */ + protocol: string; + /** + * Sets or retrieves the substring of the href property that follows the question mark. + */ + search: string; + /** + * Sets or retrieves the coordinates of the object. + */ + coords: string; + /** + * Contains the hostname of a URL. + */ + hostname: string; + /** + * Contains the pathname of the URL. + */ + pathname: string; + Methods: string; + /** + * Sets or retrieves the window or frame at which to target content. + */ + target: string; + protocolLong: string; + /** + * Sets or retrieves a destination URL or an anchor point. + */ + href: string; + /** + * Sets or retrieves the shape of the object. + */ + name: string; + /** + * Sets or retrieves the character set used to encode the object. + */ + charset: string; + /** + * Sets or retrieves the language code of the object. + */ + hreflang: string; + /** + * Sets or retrieves the port number associated with a URL. + */ + port: string; + /** + * Contains the hostname and port values of the URL. + */ + host: string; + /** + * Contains the anchor portion of the URL including the hash sign (#). + */ + hash: string; + nameProp: string; + urn: string; + /** + * Sets or retrieves the relationship between the object and the destination of the link. + */ + rev: string; + /** + * Sets or retrieves the shape of the object. + */ + shape: string; + type: string; + mimeType: string; + /** + * Retrieves or sets the text of the object as a string. + */ + text: string; + /** + * Returns a string representation of an object. + */ + toString(): string; +} +declare var HTMLAnchorElement: { + prototype: HTMLAnchorElement; + new(): HTMLAnchorElement; +} + +interface HTMLParamElement extends HTMLElement { + /** + * Sets or retrieves the value of an input parameter for an element. + */ + value: string; + /** + * Sets or retrieves the name of an input parameter for an element. + */ + name: string; + /** + * Sets or retrieves the content type of the resource designated by the value attribute. + */ + type: string; + /** + * Sets or retrieves the data type of the value attribute. + */ + valueType: string; +} +declare var HTMLParamElement: { + prototype: HTMLParamElement; + new(): HTMLParamElement; +} + +interface SVGImageElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired, SVGURIReference { + y: SVGAnimatedLength; + width: SVGAnimatedLength; + preserveAspectRatio: SVGAnimatedPreserveAspectRatio; + x: SVGAnimatedLength; + height: SVGAnimatedLength; +} +declare var SVGImageElement: { + prototype: SVGImageElement; + new(): SVGImageElement; +} + +interface SVGAnimatedNumber { + animVal: number; + baseVal: number; +} +declare var SVGAnimatedNumber: { + prototype: SVGAnimatedNumber; + new(): SVGAnimatedNumber; +} + +interface PerformanceTiming { + redirectStart: number; + domainLookupEnd: number; + responseStart: number; + domComplete: number; + domainLookupStart: number; + loadEventStart: number; + msFirstPaint: number; + unloadEventEnd: number; + fetchStart: number; + requestStart: number; + domInteractive: number; + navigationStart: number; + connectEnd: number; + loadEventEnd: number; + connectStart: number; + responseEnd: number; + domLoading: number; + redirectEnd: number; + unloadEventStart: number; + domContentLoadedEventStart: number; + domContentLoadedEventEnd: number; + toJSON(): any; +} +declare var PerformanceTiming: { + prototype: PerformanceTiming; + new(): PerformanceTiming; +} + +interface HTMLPreElement extends HTMLElement, DOML2DeprecatedTextFlowControl { + /** + * Sets or gets a value that you can use to implement your own width functionality for the object. + */ + width: number; + /** + * Indicates a citation by rendering text in italic type. + */ + cite: string; +} +declare var HTMLPreElement: { + prototype: HTMLPreElement; + new(): HTMLPreElement; +} + +interface EventException { + code: number; + message: string; + name: string; + toString(): string; + DISPATCH_REQUEST_ERR: number; + UNSPECIFIED_EVENT_TYPE_ERR: number; +} +declare var EventException: { + prototype: EventException; + new(): EventException; + DISPATCH_REQUEST_ERR: number; + UNSPECIFIED_EVENT_TYPE_ERR: number; +} + +interface MSNavigatorDoNotTrack { + msDoNotTrack: string; + removeSiteSpecificTrackingException(args: ExceptionInformation): void; + removeWebWideTrackingException(args: ExceptionInformation): void; + storeWebWideTrackingException(args: StoreExceptionsInformation): void; + storeSiteSpecificTrackingException(args: StoreSiteSpecificExceptionsInformation): void; + confirmSiteSpecificTrackingException(args: ConfirmSiteSpecificExceptionsInformation): boolean; + confirmWebWideTrackingException(args: ExceptionInformation): boolean; +} + +interface NavigatorOnLine { + onLine: boolean; +} + +interface WindowLocalStorage { + localStorage: Storage; +} + +interface SVGMetadataElement extends SVGElement { +} +declare var SVGMetadataElement: { + prototype: SVGMetadataElement; + new(): SVGMetadataElement; +} + +interface SVGPathSegArcRel extends SVGPathSeg { + y: number; + sweepFlag: boolean; + r2: number; + x: number; + angle: number; + r1: number; + largeArcFlag: boolean; +} +declare var SVGPathSegArcRel: { + prototype: SVGPathSegArcRel; + new(): SVGPathSegArcRel; +} + +interface SVGPathSegMovetoAbs extends SVGPathSeg { + y: number; + x: number; +} +declare var SVGPathSegMovetoAbs: { + prototype: SVGPathSegMovetoAbs; + new(): SVGPathSegMovetoAbs; +} + +interface SVGStringList { + numberOfItems: number; + replaceItem(newItem: string, index: number): string; + getItem(index: number): string; + clear(): void; + appendItem(newItem: string): string; + initialize(newItem: string): string; + removeItem(index: number): string; + insertItemBefore(newItem: string, index: number): string; +} +declare var SVGStringList: { + prototype: SVGStringList; + new(): SVGStringList; +} + +interface XDomainRequest { + timeout: number; + onerror: (ev: ErrorEvent) => any; + onload: (ev: Event) => any; + onprogress: (ev: ProgressEvent) => any; + ontimeout: (ev: Event) => any; + responseText: string; + contentType: string; + open(method: string, url: string): void; + abort(): void; + send(data?: any): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeout", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var XDomainRequest: { + prototype: XDomainRequest; + new(): XDomainRequest; + create(): XDomainRequest; +} + +interface DOML2DeprecatedBackgroundColorStyle { + bgColor: any; +} + +interface ElementTraversal { + childElementCount: number; + previousElementSibling: Element; + lastElementChild: Element; + nextElementSibling: Element; + firstElementChild: Element; +} + +interface SVGLength { + valueAsString: string; + valueInSpecifiedUnits: number; + value: number; + unitType: number; + newValueSpecifiedUnits(unitType: number, valueInSpecifiedUnits: number): void; + convertToSpecifiedUnits(unitType: number): void; + SVG_LENGTHTYPE_NUMBER: number; + SVG_LENGTHTYPE_CM: number; + SVG_LENGTHTYPE_PC: number; + SVG_LENGTHTYPE_PERCENTAGE: number; + SVG_LENGTHTYPE_MM: number; + SVG_LENGTHTYPE_PT: number; + SVG_LENGTHTYPE_IN: number; + SVG_LENGTHTYPE_EMS: number; + SVG_LENGTHTYPE_PX: number; + SVG_LENGTHTYPE_UNKNOWN: number; + SVG_LENGTHTYPE_EXS: number; +} +declare var SVGLength: { + prototype: SVGLength; + new(): SVGLength; + SVG_LENGTHTYPE_NUMBER: number; + SVG_LENGTHTYPE_CM: number; + SVG_LENGTHTYPE_PC: number; + SVG_LENGTHTYPE_PERCENTAGE: number; + SVG_LENGTHTYPE_MM: number; + SVG_LENGTHTYPE_PT: number; + SVG_LENGTHTYPE_IN: number; + SVG_LENGTHTYPE_EMS: number; + SVG_LENGTHTYPE_PX: number; + SVG_LENGTHTYPE_UNKNOWN: number; + SVG_LENGTHTYPE_EXS: number; +} + +interface SVGPolygonElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGAnimatedPoints, SVGTests, SVGExternalResourcesRequired { +} +declare var SVGPolygonElement: { + prototype: SVGPolygonElement; + new(): SVGPolygonElement; +} + +interface HTMLPhraseElement extends HTMLElement { + /** + * Sets or retrieves the date and time of a modification to the object. + */ + dateTime: string; + /** + * Sets or retrieves reference information about the object. + */ + cite: string; +} +declare var HTMLPhraseElement: { + prototype: HTMLPhraseElement; + new(): HTMLPhraseElement; +} + +interface NavigatorStorageUtils { +} + +interface SVGPathSegCurvetoCubicRel extends SVGPathSeg { + y: number; + y1: number; + x2: number; + x: number; + x1: number; + y2: number; +} +declare var SVGPathSegCurvetoCubicRel: { + prototype: SVGPathSegCurvetoCubicRel; + new(): SVGPathSegCurvetoCubicRel; +} + +interface SVGTextContentElement extends SVGElement, SVGStylable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired { + textLength: SVGAnimatedLength; + lengthAdjust: SVGAnimatedEnumeration; + getCharNumAtPosition(point: SVGPoint): number; + getStartPositionOfChar(charnum: number): SVGPoint; + getExtentOfChar(charnum: number): SVGRect; + getComputedTextLength(): number; + getSubStringLength(charnum: number, nchars: number): number; + selectSubString(charnum: number, nchars: number): void; + getNumberOfChars(): number; + getRotationOfChar(charnum: number): number; + getEndPositionOfChar(charnum: number): SVGPoint; + LENGTHADJUST_SPACING: number; + LENGTHADJUST_SPACINGANDGLYPHS: number; + LENGTHADJUST_UNKNOWN: number; +} +declare var SVGTextContentElement: { + prototype: SVGTextContentElement; + new(): SVGTextContentElement; + LENGTHADJUST_SPACING: number; + LENGTHADJUST_SPACINGANDGLYPHS: number; + LENGTHADJUST_UNKNOWN: number; +} + +interface DOML2DeprecatedColorProperty { + color: string; +} + +interface Location { + hash: string; + protocol: string; + search: string; + href: string; + hostname: string; + port: string; + pathname: string; + host: string; + reload(flag?: boolean): void; + replace(url: string): void; + assign(url: string): void; + toString(): string; +} +declare var Location: { + prototype: Location; + new(): Location; +} + +interface HTMLTitleElement extends HTMLElement { + /** + * Retrieves or sets the text of the object as a string. + */ + text: string; +} +declare var HTMLTitleElement: { + prototype: HTMLTitleElement; + new(): HTMLTitleElement; +} + +interface HTMLStyleElement extends HTMLElement, LinkStyle { + /** + * Sets or retrieves the media type. + */ + media: string; + /** + * Retrieves the CSS language in which the style sheet is written. + */ + type: string; +} +declare var HTMLStyleElement: { + prototype: HTMLStyleElement; + new(): HTMLStyleElement; +} + +interface PerformanceEntry { + name: string; + startTime: number; + duration: number; + entryType: string; +} +declare var PerformanceEntry: { + prototype: PerformanceEntry; + new(): PerformanceEntry; +} + +interface SVGTransform { + type: number; + angle: number; + matrix: SVGMatrix; + setTranslate(tx: number, ty: number): void; + setScale(sx: number, sy: number): void; + setMatrix(matrix: SVGMatrix): void; + setSkewY(angle: number): void; + setRotate(angle: number, cx: number, cy: number): void; + setSkewX(angle: number): void; + SVG_TRANSFORM_SKEWX: number; + SVG_TRANSFORM_UNKNOWN: number; + SVG_TRANSFORM_SCALE: number; + SVG_TRANSFORM_TRANSLATE: number; + SVG_TRANSFORM_MATRIX: number; + SVG_TRANSFORM_ROTATE: number; + SVG_TRANSFORM_SKEWY: number; +} +declare var SVGTransform: { + prototype: SVGTransform; + new(): SVGTransform; + SVG_TRANSFORM_SKEWX: number; + SVG_TRANSFORM_UNKNOWN: number; + SVG_TRANSFORM_SCALE: number; + SVG_TRANSFORM_TRANSLATE: number; + SVG_TRANSFORM_MATRIX: number; + SVG_TRANSFORM_ROTATE: number; + SVG_TRANSFORM_SKEWY: number; +} + +interface UIEvent extends Event { + detail: number; + view: Window; + initUIEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number): void; +} +declare var UIEvent: { + prototype: UIEvent; + new(): UIEvent; +} + +interface SVGURIReference { + href: SVGAnimatedString; +} + +interface SVGPathSeg { + pathSegType: number; + pathSegTypeAsLetter: string; + PATHSEG_MOVETO_REL: number; + PATHSEG_LINETO_VERTICAL_REL: number; + PATHSEG_CURVETO_CUBIC_SMOOTH_ABS: number; + PATHSEG_CURVETO_QUADRATIC_REL: number; + PATHSEG_CURVETO_CUBIC_ABS: number; + PATHSEG_LINETO_HORIZONTAL_ABS: number; + PATHSEG_CURVETO_QUADRATIC_ABS: number; + PATHSEG_LINETO_ABS: number; + PATHSEG_CLOSEPATH: number; + PATHSEG_LINETO_HORIZONTAL_REL: number; + PATHSEG_CURVETO_CUBIC_SMOOTH_REL: number; + PATHSEG_LINETO_REL: number; + PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS: number; + PATHSEG_ARC_REL: number; + PATHSEG_CURVETO_CUBIC_REL: number; + PATHSEG_UNKNOWN: number; + PATHSEG_LINETO_VERTICAL_ABS: number; + PATHSEG_ARC_ABS: number; + PATHSEG_MOVETO_ABS: number; + PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL: number; +} +declare var SVGPathSeg: { + prototype: SVGPathSeg; + new(): SVGPathSeg; + PATHSEG_MOVETO_REL: number; + PATHSEG_LINETO_VERTICAL_REL: number; + PATHSEG_CURVETO_CUBIC_SMOOTH_ABS: number; + PATHSEG_CURVETO_QUADRATIC_REL: number; + PATHSEG_CURVETO_CUBIC_ABS: number; + PATHSEG_LINETO_HORIZONTAL_ABS: number; + PATHSEG_CURVETO_QUADRATIC_ABS: number; + PATHSEG_LINETO_ABS: number; + PATHSEG_CLOSEPATH: number; + PATHSEG_LINETO_HORIZONTAL_REL: number; + PATHSEG_CURVETO_CUBIC_SMOOTH_REL: number; + PATHSEG_LINETO_REL: number; + PATHSEG_CURVETO_QUADRATIC_SMOOTH_ABS: number; + PATHSEG_ARC_REL: number; + PATHSEG_CURVETO_CUBIC_REL: number; + PATHSEG_UNKNOWN: number; + PATHSEG_LINETO_VERTICAL_ABS: number; + PATHSEG_ARC_ABS: number; + PATHSEG_MOVETO_ABS: number; + PATHSEG_CURVETO_QUADRATIC_SMOOTH_REL: number; +} + +interface WheelEvent extends MouseEvent { + deltaZ: number; + deltaX: number; + deltaMode: number; + deltaY: number; + initWheelEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, buttonArg: number, relatedTargetArg: EventTarget, modifiersListArg: string, deltaXArg: number, deltaYArg: number, deltaZArg: number, deltaMode: number): void; + getCurrentPoint(element: Element): void; + DOM_DELTA_PIXEL: number; + DOM_DELTA_LINE: number; + DOM_DELTA_PAGE: number; +} +declare var WheelEvent: { + prototype: WheelEvent; + new(): WheelEvent; + DOM_DELTA_PIXEL: number; + DOM_DELTA_LINE: number; + DOM_DELTA_PAGE: number; +} + +interface MSEventAttachmentTarget { + attachEvent(event: string, listener: EventListener): boolean; + detachEvent(event: string, listener: EventListener): void; +} + +interface SVGNumber { + value: number; +} +declare var SVGNumber: { + prototype: SVGNumber; + new(): SVGNumber; +} + +interface SVGPathElement extends SVGElement, SVGStylable, SVGAnimatedPathData, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired { + getPathSegAtLength(distance: number): number; + getPointAtLength(distance: number): SVGPoint; + createSVGPathSegCurvetoQuadraticAbs(x: number, y: number, x1: number, y1: number): SVGPathSegCurvetoQuadraticAbs; + createSVGPathSegLinetoRel(x: number, y: number): SVGPathSegLinetoRel; + createSVGPathSegCurvetoQuadraticRel(x: number, y: number, x1: number, y1: number): SVGPathSegCurvetoQuadraticRel; + createSVGPathSegCurvetoCubicAbs(x: number, y: number, x1: number, y1: number, x2: number, y2: number): SVGPathSegCurvetoCubicAbs; + createSVGPathSegLinetoAbs(x: number, y: number): SVGPathSegLinetoAbs; + createSVGPathSegClosePath(): SVGPathSegClosePath; + createSVGPathSegCurvetoCubicRel(x: number, y: number, x1: number, y1: number, x2: number, y2: number): SVGPathSegCurvetoCubicRel; + createSVGPathSegCurvetoQuadraticSmoothRel(x: number, y: number): SVGPathSegCurvetoQuadraticSmoothRel; + createSVGPathSegMovetoRel(x: number, y: number): SVGPathSegMovetoRel; + createSVGPathSegCurvetoCubicSmoothAbs(x: number, y: number, x2: number, y2: number): SVGPathSegCurvetoCubicSmoothAbs; + createSVGPathSegMovetoAbs(x: number, y: number): SVGPathSegMovetoAbs; + createSVGPathSegLinetoVerticalRel(y: number): SVGPathSegLinetoVerticalRel; + createSVGPathSegArcRel(x: number, y: number, r1: number, r2: number, angle: number, largeArcFlag: boolean, sweepFlag: boolean): SVGPathSegArcRel; + createSVGPathSegCurvetoQuadraticSmoothAbs(x: number, y: number): SVGPathSegCurvetoQuadraticSmoothAbs; + createSVGPathSegLinetoHorizontalRel(x: number): SVGPathSegLinetoHorizontalRel; + getTotalLength(): number; + createSVGPathSegCurvetoCubicSmoothRel(x: number, y: number, x2: number, y2: number): SVGPathSegCurvetoCubicSmoothRel; + createSVGPathSegLinetoHorizontalAbs(x: number): SVGPathSegLinetoHorizontalAbs; + createSVGPathSegLinetoVerticalAbs(y: number): SVGPathSegLinetoVerticalAbs; + createSVGPathSegArcAbs(x: number, y: number, r1: number, r2: number, angle: number, largeArcFlag: boolean, sweepFlag: boolean): SVGPathSegArcAbs; +} +declare var SVGPathElement: { + prototype: SVGPathElement; + new(): SVGPathElement; +} + +interface MSCompatibleInfo { + version: string; + userAgent: string; +} +declare var MSCompatibleInfo: { + prototype: MSCompatibleInfo; + new(): MSCompatibleInfo; +} + +interface Text extends CharacterData, MSNodeExtensions { + wholeText: string; + splitText(offset: number): Text; + replaceWholeText(content: string): Text; +} +declare var Text: { + prototype: Text; + new(): Text; +} + +interface SVGAnimatedRect { + animVal: SVGRect; + baseVal: SVGRect; +} +declare var SVGAnimatedRect: { + prototype: SVGAnimatedRect; + new(): SVGAnimatedRect; +} + +interface CSSNamespaceRule extends CSSRule { + namespaceURI: string; + prefix: string; +} +declare var CSSNamespaceRule: { + prototype: CSSNamespaceRule; + new(): CSSNamespaceRule; +} + +interface SVGPathSegList { + numberOfItems: number; + replaceItem(newItem: SVGPathSeg, index: number): SVGPathSeg; + getItem(index: number): SVGPathSeg; + clear(): void; + appendItem(newItem: SVGPathSeg): SVGPathSeg; + initialize(newItem: SVGPathSeg): SVGPathSeg; + removeItem(index: number): SVGPathSeg; + insertItemBefore(newItem: SVGPathSeg, index: number): SVGPathSeg; +} +declare var SVGPathSegList: { + prototype: SVGPathSegList; + new(): SVGPathSegList; +} + +interface HTMLUnknownElement extends HTMLElement, MSDataBindingRecordSetReadonlyExtensions { +} +declare var HTMLUnknownElement: { + prototype: HTMLUnknownElement; + new(): HTMLUnknownElement; +} + +interface HTMLAudioElement extends HTMLMediaElement { +} +declare var HTMLAudioElement: { + prototype: HTMLAudioElement; + new(): HTMLAudioElement; +} + +interface MSImageResourceExtensions { + dynsrc: string; + vrml: string; + lowsrc: string; + start: string; + loop: number; +} + +interface PositionError { + code: number; + message: string; + toString(): string; + POSITION_UNAVAILABLE: number; + PERMISSION_DENIED: number; + TIMEOUT: number; +} +declare var PositionError: { + prototype: PositionError; + new(): PositionError; + POSITION_UNAVAILABLE: number; + PERMISSION_DENIED: number; + TIMEOUT: number; +} + +interface HTMLTableCellElement extends HTMLElement, HTMLTableAlignment, DOML2DeprecatedBackgroundStyle, DOML2DeprecatedBackgroundColorStyle { + /** + * Sets or retrieves the width of the object. + */ + width: number; + /** + * Sets or retrieves a list of header cells that provide information for the object. + */ + headers: string; + /** + * Retrieves the position of the object in the cells collection of a row. + */ + cellIndex: number; + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + align: string; + /** + * Sets or retrieves the color for one of the two colors used to draw the 3-D border of the object. + */ + borderColorLight: any; + /** + * Sets or retrieves the number columns in the table that the object should span. + */ + colSpan: number; + /** + * Sets or retrieves the border color of the object. + */ + borderColor: any; + /** + * Sets or retrieves a comma-delimited list of conceptual categories associated with the object. + */ + axis: string; + /** + * Sets or retrieves the height of the object. + */ + height: any; + /** + * Sets or retrieves whether the browser automatically performs wordwrap. + */ + noWrap: boolean; + /** + * Sets or retrieves abbreviated text for the object. + */ + abbr: string; + /** + * Sets or retrieves how many rows in a table the cell should span. + */ + rowSpan: number; + /** + * Sets or retrieves the group of cells in a table to which the object's information applies. + */ + scope: string; + /** + * Sets or retrieves the color for one of the two colors used to draw the 3-D border of the object. + */ + borderColorDark: any; +} +declare var HTMLTableCellElement: { + prototype: HTMLTableCellElement; + new(): HTMLTableCellElement; +} + +interface SVGElementInstance extends EventTarget { + previousSibling: SVGElementInstance; + parentNode: SVGElementInstance; + lastChild: SVGElementInstance; + nextSibling: SVGElementInstance; + childNodes: SVGElementInstanceList; + correspondingUseElement: SVGUseElement; + correspondingElement: SVGElement; + firstChild: SVGElementInstance; +} +declare var SVGElementInstance: { + prototype: SVGElementInstance; + new(): SVGElementInstance; +} + +interface MSNamespaceInfoCollection { + length: number; + add(namespace?: string, urn?: string, implementationUrl?: any): any; + item(index: any): any; + // [index: any]: any; +} +declare var MSNamespaceInfoCollection: { + prototype: MSNamespaceInfoCollection; + new(): MSNamespaceInfoCollection; +} + +interface SVGCircleElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired { + cx: SVGAnimatedLength; + r: SVGAnimatedLength; + cy: SVGAnimatedLength; +} +declare var SVGCircleElement: { + prototype: SVGCircleElement; + new(): SVGCircleElement; +} + +interface StyleSheetList { + length: number; + item(index?: number): StyleSheet; + [index: number]: StyleSheet; +} +declare var StyleSheetList: { + prototype: StyleSheetList; + new(): StyleSheetList; +} + +interface CSSImportRule extends CSSRule { + styleSheet: CSSStyleSheet; + href: string; + media: MediaList; +} +declare var CSSImportRule: { + prototype: CSSImportRule; + new(): CSSImportRule; +} + +interface CustomEvent extends Event { + detail: any; + initCustomEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, detailArg: any): void; +} +declare var CustomEvent: { + prototype: CustomEvent; + new(): CustomEvent; +} + +interface HTMLBaseFontElement extends HTMLElement, DOML2DeprecatedColorProperty { + /** + * Sets or retrieves the current typeface family. + */ + face: string; + /** + * Sets or retrieves the font size of the object. + */ + size: number; +} +declare var HTMLBaseFontElement: { + prototype: HTMLBaseFontElement; + new(): HTMLBaseFontElement; +} + +interface HTMLTextAreaElement extends HTMLElement, MSDataBindingExtensions { + /** + * Retrieves or sets the text in the entry field of the textArea element. + */ + value: string; + /** + * Sets or retrieves the value indicating whether the control is selected. + */ + status: any; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Gets or sets the starting position or offset of a text selection. + */ + selectionStart: number; + /** + * Sets or retrieves the number of horizontal rows contained in the object. + */ + rows: number; + /** + * Sets or retrieves the width of the object. + */ + cols: number; + /** + * Sets or retrieves the value indicated whether the content of the object is read-only. + */ + readOnly: boolean; + /** + * Sets or retrieves how to handle wordwrapping in the object. + */ + wrap: string; + /** + * Gets or sets the end position or offset of a text selection. + */ + selectionEnd: number; + /** + * Retrieves the type of control. + */ + type: string; + /** + * Sets or retrieves the initial contents of the object. + */ + defaultValue: string; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + validationMessage: string; + /** + * Provides a way to direct a user to a specific field when a document loads. This can provide both direction and convenience for a user, reducing the need to click or tab to a field when a page opens. This attribute is true when present on an element, and false when missing. + */ + autofocus: boolean; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + validity: ValidityState; + /** + * When present, marks an element that can't be submitted without a value. + */ + required: boolean; + /** + * Sets or retrieves the maximum number of characters that the user can enter in a text control. + */ + maxLength: number; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + willValidate: boolean; + /** + * Gets or sets a text string that is displayed in an input field as a hint or prompt to users as the format or type of information they need to enter.The text appears in an input field until the user puts focus on the field. + */ + placeholder: string; + /** + * Creates a TextRange object for the element. + */ + createTextRange(): TextRange; + /** + * Sets the start and end positions of a selection in a text field. + * @param start The offset into the text field for the start of the selection. + * @param end The offset into the text field for the end of the selection. + */ + setSelectionRange(start: number, end: number): void; + /** + * Highlights the input area of a form element. + */ + select(): void; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; +} +declare var HTMLTextAreaElement: { + prototype: HTMLTextAreaElement; + new(): HTMLTextAreaElement; +} + +interface Geolocation { + clearWatch(watchId: number): void; + getCurrentPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): void; + watchPosition(successCallback: PositionCallback, errorCallback?: PositionErrorCallback, options?: PositionOptions): number; +} +declare var Geolocation: { + prototype: Geolocation; + new(): Geolocation; +} + +interface DOML2DeprecatedMarginStyle { + vspace: number; + hspace: number; +} + +interface MSWindowModeless { + dialogTop: any; + dialogLeft: any; + dialogWidth: any; + dialogHeight: any; + menuArguments: any; +} + +interface DOML2DeprecatedAlignmentStyle { + align: string; +} + +interface HTMLMarqueeElement extends HTMLElement, MSDataBindingExtensions, DOML2DeprecatedBackgroundColorStyle { + width: string; + onbounce: (ev: Event) => any; + vspace: number; + trueSpeed: boolean; + scrollAmount: number; + scrollDelay: number; + behavior: string; + height: string; + loop: number; + direction: string; + hspace: number; + onstart: (ev: Event) => any; + onfinish: (ev: Event) => any; + stop(): void; + start(): void; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgotpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mslostpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "move", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "datasetchanged", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsdelete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "losecapture", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "controlselect", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "layoutcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "filterchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "datasetcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "errorupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cellchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowexit", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsinserted", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "propertychange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "moveend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeeditfocus", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "afterupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizeend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dataavailable", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "movestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "rowenter", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mscontentzoom", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "msmanipulationstatechanged", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "bounce", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "start", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "finish", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var HTMLMarqueeElement: { + prototype: HTMLMarqueeElement; + new(): HTMLMarqueeElement; +} + +interface SVGRect { + y: number; + width: number; + x: number; + height: number; +} +declare var SVGRect: { + prototype: SVGRect; + new(): SVGRect; +} + +interface MSNodeExtensions { + swapNode(otherNode: Node): Node; + removeNode(deep?: boolean): Node; + replaceNode(replacement: Node): Node; +} + +interface History { + length: number; + state: any; + back(distance?: any): void; + forward(distance?: any): void; + go(delta?: any): void; + replaceState(statedata: any, title: string, url?: string): void; + pushState(statedata: any, title: string, url?: string): void; +} +declare var History: { + prototype: History; + new(): History; +} + +interface SVGPathSegCurvetoCubicAbs extends SVGPathSeg { + y: number; + y1: number; + x2: number; + x: number; + x1: number; + y2: number; +} +declare var SVGPathSegCurvetoCubicAbs: { + prototype: SVGPathSegCurvetoCubicAbs; + new(): SVGPathSegCurvetoCubicAbs; +} + +interface SVGPathSegCurvetoQuadraticAbs extends SVGPathSeg { + y: number; + y1: number; + x: number; + x1: number; +} +declare var SVGPathSegCurvetoQuadraticAbs: { + prototype: SVGPathSegCurvetoQuadraticAbs; + new(): SVGPathSegCurvetoQuadraticAbs; +} + +interface TimeRanges { + length: number; + start(index: number): number; + end(index: number): number; +} +declare var TimeRanges: { + prototype: TimeRanges; + new(): TimeRanges; +} + +interface CSSRule { + cssText: string; + parentStyleSheet: CSSStyleSheet; + parentRule: CSSRule; + type: number; + IMPORT_RULE: number; + MEDIA_RULE: number; + STYLE_RULE: number; + NAMESPACE_RULE: number; + PAGE_RULE: number; + UNKNOWN_RULE: number; + FONT_FACE_RULE: number; + CHARSET_RULE: number; + KEYFRAMES_RULE: number; + KEYFRAME_RULE: number; + VIEWPORT_RULE: number; +} +declare var CSSRule: { + prototype: CSSRule; + new(): CSSRule; + IMPORT_RULE: number; + MEDIA_RULE: number; + STYLE_RULE: number; + NAMESPACE_RULE: number; + PAGE_RULE: number; + UNKNOWN_RULE: number; + FONT_FACE_RULE: number; + CHARSET_RULE: number; + KEYFRAMES_RULE: number; + KEYFRAME_RULE: number; + VIEWPORT_RULE: number; +} + +interface SVGPathSegLinetoAbs extends SVGPathSeg { + y: number; + x: number; +} +declare var SVGPathSegLinetoAbs: { + prototype: SVGPathSegLinetoAbs; + new(): SVGPathSegLinetoAbs; +} + +interface HTMLModElement extends HTMLElement { + /** + * Sets or retrieves the date and time of a modification to the object. + */ + dateTime: string; + /** + * Sets or retrieves reference information about the object. + */ + cite: string; +} +declare var HTMLModElement: { + prototype: HTMLModElement; + new(): HTMLModElement; +} + +interface SVGMatrix { + e: number; + c: number; + a: number; + b: number; + d: number; + f: number; + multiply(secondMatrix: SVGMatrix): SVGMatrix; + flipY(): SVGMatrix; + skewY(angle: number): SVGMatrix; + inverse(): SVGMatrix; + scaleNonUniform(scaleFactorX: number, scaleFactorY: number): SVGMatrix; + rotate(angle: number): SVGMatrix; + flipX(): SVGMatrix; + translate(x: number, y: number): SVGMatrix; + scale(scaleFactor: number): SVGMatrix; + rotateFromVector(x: number, y: number): SVGMatrix; + skewX(angle: number): SVGMatrix; +} +declare var SVGMatrix: { + prototype: SVGMatrix; + new(): SVGMatrix; +} + +interface MSPopupWindow { + document: Document; + isOpen: boolean; + show(x: number, y: number, w: number, h: number, element?: any): void; + hide(): void; +} +declare var MSPopupWindow: { + prototype: MSPopupWindow; + new(): MSPopupWindow; +} + +interface BeforeUnloadEvent extends Event { + returnValue: string; +} +declare var BeforeUnloadEvent: { + prototype: BeforeUnloadEvent; + new(): BeforeUnloadEvent; +} + +interface SVGUseElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired, SVGURIReference { + y: SVGAnimatedLength; + width: SVGAnimatedLength; + animatedInstanceRoot: SVGElementInstance; + instanceRoot: SVGElementInstance; + x: SVGAnimatedLength; + height: SVGAnimatedLength; +} +declare var SVGUseElement: { + prototype: SVGUseElement; + new(): SVGUseElement; +} + +interface Event { + timeStamp: number; + defaultPrevented: boolean; + isTrusted: boolean; + currentTarget: EventTarget; + cancelBubble: boolean; + target: EventTarget; + eventPhase: number; + cancelable: boolean; + type: string; + srcElement: Element; + bubbles: boolean; + initEvent(eventTypeArg: string, canBubbleArg: boolean, cancelableArg: boolean): void; + stopPropagation(): void; + stopImmediatePropagation(): void; + preventDefault(): void; + CAPTURING_PHASE: number; + AT_TARGET: number; + BUBBLING_PHASE: number; +} +declare var Event: { + prototype: Event; + new(): Event; + CAPTURING_PHASE: number; + AT_TARGET: number; + BUBBLING_PHASE: number; +} + +interface ImageData { + width: number; + data: number[]; + height: number; +} +declare var ImageData: { + prototype: ImageData; + new(): ImageData; +} + +interface HTMLTableColElement extends HTMLElement, HTMLTableAlignment { + /** + * Sets or retrieves the width of the object. + */ + width: any; + /** + * Sets or retrieves the alignment of the object relative to the display or table. + */ + align: string; + /** + * Sets or retrieves the number of columns in the group. + */ + span: number; +} +declare var HTMLTableColElement: { + prototype: HTMLTableColElement; + new(): HTMLTableColElement; +} + +interface SVGException { + code: number; + message: string; + name: string; + toString(): string; + SVG_MATRIX_NOT_INVERTABLE: number; + SVG_WRONG_TYPE_ERR: number; + SVG_INVALID_VALUE_ERR: number; +} +declare var SVGException: { + prototype: SVGException; + new(): SVGException; + SVG_MATRIX_NOT_INVERTABLE: number; + SVG_WRONG_TYPE_ERR: number; + SVG_INVALID_VALUE_ERR: number; +} + +interface SVGLinearGradientElement extends SVGGradientElement { + y1: SVGAnimatedLength; + x2: SVGAnimatedLength; + x1: SVGAnimatedLength; + y2: SVGAnimatedLength; +} +declare var SVGLinearGradientElement: { + prototype: SVGLinearGradientElement; + new(): SVGLinearGradientElement; +} + +interface HTMLTableAlignment { + /** + * Sets or retrieves a value that you can use to implement your own ch functionality for the object. + */ + ch: string; + /** + * Sets or retrieves how text and other content are vertically aligned within the object that contains them. + */ + vAlign: string; + /** + * Sets or retrieves a value that you can use to implement your own chOff functionality for the object. + */ + chOff: string; +} + +interface SVGAnimatedEnumeration { + animVal: number; + baseVal: number; +} +declare var SVGAnimatedEnumeration: { + prototype: SVGAnimatedEnumeration; + new(): SVGAnimatedEnumeration; +} + +interface DOML2DeprecatedSizeProperty { + size: number; +} + +interface HTMLUListElement extends HTMLElement, DOML2DeprecatedListSpaceReduction, DOML2DeprecatedListNumberingAndBulletStyle { +} +declare var HTMLUListElement: { + prototype: HTMLUListElement; + new(): HTMLUListElement; +} + +interface SVGRectElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired { + y: SVGAnimatedLength; + width: SVGAnimatedLength; + ry: SVGAnimatedLength; + rx: SVGAnimatedLength; + x: SVGAnimatedLength; + height: SVGAnimatedLength; +} +declare var SVGRectElement: { + prototype: SVGRectElement; + new(): SVGRectElement; +} + +interface ErrorEventHandler { + (event: Event, source: string, fileno: number, columnNumber: number): void; +} + +interface HTMLDivElement extends HTMLElement, MSDataBindingExtensions { + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + align: string; + /** + * Sets or retrieves whether the browser automatically performs wordwrap. + */ + noWrap: boolean; +} +declare var HTMLDivElement: { + prototype: HTMLDivElement; + new(): HTMLDivElement; +} + +interface DOML2DeprecatedBorderStyle { + border: string; +} + +interface NamedNodeMap { + length: number; + removeNamedItemNS(namespaceURI: string, localName: string): Attr; + item(index: number): Attr; + [index: number]: Attr; + removeNamedItem(name: string): Attr; + getNamedItem(name: string): Attr; + // [name: string]: Attr; + setNamedItem(arg: Attr): Attr; + getNamedItemNS(namespaceURI: string, localName: string): Attr; + setNamedItemNS(arg: Attr): Attr; +} +declare var NamedNodeMap: { + prototype: NamedNodeMap; + new(): NamedNodeMap; +} + +interface MediaList { + length: number; + mediaText: string; + deleteMedium(oldMedium: string): void; + appendMedium(newMedium: string): void; + item(index: number): string; + [index: number]: string; + toString(): string; +} +declare var MediaList: { + prototype: MediaList; + new(): MediaList; +} + +interface SVGPathSegCurvetoQuadraticSmoothAbs extends SVGPathSeg { + y: number; + x: number; +} +declare var SVGPathSegCurvetoQuadraticSmoothAbs: { + prototype: SVGPathSegCurvetoQuadraticSmoothAbs; + new(): SVGPathSegCurvetoQuadraticSmoothAbs; +} + +interface SVGPathSegCurvetoCubicSmoothRel extends SVGPathSeg { + y: number; + x2: number; + x: number; + y2: number; +} +declare var SVGPathSegCurvetoCubicSmoothRel: { + prototype: SVGPathSegCurvetoCubicSmoothRel; + new(): SVGPathSegCurvetoCubicSmoothRel; +} + +interface SVGLengthList { + numberOfItems: number; + replaceItem(newItem: SVGLength, index: number): SVGLength; + getItem(index: number): SVGLength; + clear(): void; + appendItem(newItem: SVGLength): SVGLength; + initialize(newItem: SVGLength): SVGLength; + removeItem(index: number): SVGLength; + insertItemBefore(newItem: SVGLength, index: number): SVGLength; +} +declare var SVGLengthList: { + prototype: SVGLengthList; + new(): SVGLengthList; +} + +interface ProcessingInstruction extends Node { + target: string; + data: string; +} +declare var ProcessingInstruction: { + prototype: ProcessingInstruction; + new(): ProcessingInstruction; +} + +interface MSWindowExtensions { + status: string; + onmouseleave: (ev: MouseEvent) => any; + screenLeft: number; + offscreenBuffering: any; + maxConnectionsPerServer: number; + onmouseenter: (ev: MouseEvent) => any; + clipboardData: DataTransfer; + defaultStatus: string; + clientInformation: Navigator; + closed: boolean; + onhelp: (ev: Event) => any; + external: External; + event: MSEventObj; + onfocusout: (ev: FocusEvent) => any; + screenTop: number; + onfocusin: (ev: FocusEvent) => any; + showModelessDialog(url?: string, argument?: any, options?: any): Window; + navigate(url: string): void; + resizeBy(x?: number, y?: number): void; + item(index: any): any; + resizeTo(x?: number, y?: number): void; + createPopup(arguments?: any): MSPopupWindow; + toStaticHTML(html: string): string; + execScript(code: string, language?: string): any; + msWriteProfilerMark(profilerMarkName: string): void; + moveTo(x?: number, y?: number): void; + moveBy(x?: number, y?: number): void; + showHelp(url: string, helpArg?: any, features?: string): void; + captureEvents(): void; + releaseEvents(): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} + +interface MSBehaviorUrnsCollection { + length: number; + item(index: number): string; +} +declare var MSBehaviorUrnsCollection: { + prototype: MSBehaviorUrnsCollection; + new(): MSBehaviorUrnsCollection; +} + +interface CSSFontFaceRule extends CSSRule { + style: CSSStyleDeclaration; +} +declare var CSSFontFaceRule: { + prototype: CSSFontFaceRule; + new(): CSSFontFaceRule; +} + +interface DOML2DeprecatedBackgroundStyle { + background: string; +} + +interface TextEvent extends UIEvent { + inputMethod: number; + data: string; + locale: string; + initTextEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, dataArg: string, inputMethod: number, locale: string): void; + DOM_INPUT_METHOD_KEYBOARD: number; + DOM_INPUT_METHOD_DROP: number; + DOM_INPUT_METHOD_IME: number; + DOM_INPUT_METHOD_SCRIPT: number; + DOM_INPUT_METHOD_VOICE: number; + DOM_INPUT_METHOD_UNKNOWN: number; + DOM_INPUT_METHOD_PASTE: number; + DOM_INPUT_METHOD_HANDWRITING: number; + DOM_INPUT_METHOD_OPTION: number; + DOM_INPUT_METHOD_MULTIMODAL: number; +} +declare var TextEvent: { + prototype: TextEvent; + new(): TextEvent; + DOM_INPUT_METHOD_KEYBOARD: number; + DOM_INPUT_METHOD_DROP: number; + DOM_INPUT_METHOD_IME: number; + DOM_INPUT_METHOD_SCRIPT: number; + DOM_INPUT_METHOD_VOICE: number; + DOM_INPUT_METHOD_UNKNOWN: number; + DOM_INPUT_METHOD_PASTE: number; + DOM_INPUT_METHOD_HANDWRITING: number; + DOM_INPUT_METHOD_OPTION: number; + DOM_INPUT_METHOD_MULTIMODAL: number; +} + +interface DocumentFragment extends Node, NodeSelector, MSEventAttachmentTarget, MSNodeExtensions { +} +declare var DocumentFragment: { + prototype: DocumentFragment; + new(): DocumentFragment; +} + +interface SVGPolylineElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGAnimatedPoints, SVGTests, SVGExternalResourcesRequired { +} +declare var SVGPolylineElement: { + prototype: SVGPolylineElement; + new(): SVGPolylineElement; +} + +interface SVGAnimatedPathData { + pathSegList: SVGPathSegList; +} + +interface Position { + timestamp: Date; + coords: Coordinates; +} +declare var Position: { + prototype: Position; + new(): Position; +} + +interface BookmarkCollection { + length: number; + item(index: number): any; + [index: number]: any; +} +declare var BookmarkCollection: { + prototype: BookmarkCollection; + new(): BookmarkCollection; +} + +interface PerformanceMark extends PerformanceEntry { +} +declare var PerformanceMark: { + prototype: PerformanceMark; + new(): PerformanceMark; +} + +interface CSSPageRule extends CSSRule { + pseudoClass: string; + selectorText: string; + selector: string; + style: CSSStyleDeclaration; +} +declare var CSSPageRule: { + prototype: CSSPageRule; + new(): CSSPageRule; +} + +interface HTMLBRElement extends HTMLElement { + /** + * Sets or retrieves the side on which floating objects are not to be positioned when any IHTMLBlockElement is inserted into the document. + */ + clear: string; +} +declare var HTMLBRElement: { + prototype: HTMLBRElement; + new(): HTMLBRElement; +} + +interface MSNavigatorExtensions { + userLanguage: string; + plugins: MSPluginsCollection; + cookieEnabled: boolean; + appCodeName: string; + cpuClass: string; + appMinorVersion: string; + connectionSpeed: number; + browserLanguage: string; + mimeTypes: MSMimeTypesCollection; + systemLanguage: string; + language: string; + javaEnabled(): boolean; + taintEnabled(): boolean; +} + +interface HTMLSpanElement extends HTMLElement, MSDataBindingExtensions { +} +declare var HTMLSpanElement: { + prototype: HTMLSpanElement; + new(): HTMLSpanElement; +} + +interface HTMLHeadElement extends HTMLElement { + profile: string; +} +declare var HTMLHeadElement: { + prototype: HTMLHeadElement; + new(): HTMLHeadElement; +} + +interface HTMLHeadingElement extends HTMLElement, DOML2DeprecatedTextFlowControl { + /** + * Sets or retrieves a value that indicates the table alignment. + */ + align: string; +} +declare var HTMLHeadingElement: { + prototype: HTMLHeadingElement; + new(): HTMLHeadingElement; +} + +interface HTMLFormElement extends HTMLElement, MSHTMLCollectionExtensions { + /** + * Sets or retrieves the number of objects in a collection. + */ + length: number; + /** + * Sets or retrieves the window or frame at which to target content. + */ + target: string; + /** + * Sets or retrieves a list of character encodings for input data that must be accepted by the server processing the form. + */ + acceptCharset: string; + /** + * Sets or retrieves the encoding type for the form. + */ + enctype: string; + /** + * Retrieves a collection, in source order, of all controls in a given form. + */ + elements: HTMLCollection; + /** + * Sets or retrieves the URL to which the form content is sent for processing. + */ + action: string; + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Sets or retrieves how to send the form data to the server. + */ + method: string; + /** + * Sets or retrieves the MIME encoding for the form. + */ + encoding: string; + /** + * Specifies whether autocomplete is applied to an editable text field. + */ + autocomplete: string; + /** + * Designates a form that is not validated when submitted. + */ + noValidate: boolean; + /** + * Fires when the user resets a form. + */ + reset(): void; + /** + * Retrieves a form object or an object from an elements collection. + * @param name Variant of type Number or String that specifies the object or collection to retrieve. If this parameter is a Number, it is the zero-based index of the object. If this parameter is a string, all objects with matching name or id properties are retrieved, and a collection is returned if more than one match is made. + * @param index Variant of type Number that specifies the zero-based index of the object to retrieve when a collection is returned. + */ + item(name?: any, index?: any): any; + /** + * Fires when a FORM is about to be submitted. + */ + submit(): void; + /** + * Retrieves a form object or an object from an elements collection. + */ + namedItem(name: string): any; + [name: string]: any; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; +} +declare var HTMLFormElement: { + prototype: HTMLFormElement; + new(): HTMLFormElement; +} + +interface SVGZoomAndPan { + zoomAndPan: number; + SVG_ZOOMANDPAN_MAGNIFY: number; + SVG_ZOOMANDPAN_UNKNOWN: number; + SVG_ZOOMANDPAN_DISABLE: number; +} +declare var SVGZoomAndPan: SVGZoomAndPan; + +interface HTMLMediaElement extends HTMLElement { + /** + * Gets the earliest possible position, in seconds, that the playback can begin. + */ + initialTime: number; + /** + * Gets TimeRanges for the current media resource that has been played. + */ + played: TimeRanges; + /** + * Gets the address or URL of the current media resource that is selected by IHTMLMediaElement. + */ + currentSrc: string; + readyState: any; + /** + * The autobuffer element is not supported by Internet Explorer 9. Use the preload element instead. + */ + autobuffer: boolean; + /** + * Gets or sets a flag to specify whether playback should restart after it completes. + */ + loop: boolean; + /** + * Gets information about whether the playback has ended or not. + */ + ended: boolean; + /** + * Gets a collection of buffered time ranges. + */ + buffered: TimeRanges; + /** + * Returns an object representing the current error state of the audio or video element. + */ + error: MediaError; + /** + * Returns a TimeRanges object that represents the ranges of the current media resource that can be seeked. + */ + seekable: TimeRanges; + /** + * Gets or sets a value that indicates whether to start playing the media automatically. + */ + autoplay: boolean; + /** + * Gets or sets a flag that indicates whether the client provides a set of controls for the media (in case the developer does not include controls for the player). + */ + controls: boolean; + /** + * Gets or sets the volume level for audio portions of the media element. + */ + volume: number; + /** + * The address or URL of the a media resource that is to be considered. + */ + src: string; + /** + * Gets or sets the current rate of speed for the media resource to play. This speed is expressed as a multiple of the normal speed of the media resource. + */ + playbackRate: number; + /** + * Returns the duration in seconds of the current media resource. A NaN value is returned if duration is not available, or Infinity if the media resource is streaming. + */ + duration: number; + /** + * Gets or sets a flag that indicates whether the audio (either audio or the audio track on video media) is muted. + */ + muted: boolean; + /** + * Gets or sets the default playback rate when the user is not using fast forward or reverse for a video or audio resource. + */ + defaultPlaybackRate: number; + /** + * Gets a flag that specifies whether playback is paused. + */ + paused: boolean; + /** + * Gets a flag that indicates whether the the client is currently moving to a new playback position in the media resource. + */ + seeking: boolean; + /** + * Gets or sets the current playback position, in seconds. + */ + currentTime: number; + /** + * Gets or sets the current playback position, in seconds. + */ + preload: string; + /** + * Gets the current network activity for the element. + */ + networkState: number; + /** + * Specifies the purpose of the audio or video media, such as background audio or alerts. + */ + msAudioCategory: string; + /** + * Specifies whether or not to enable low-latency playback on the media element. + */ + msRealTime: boolean; + /** + * Gets or sets the primary DLNA PlayTo device. + */ + msPlayToPrimary: boolean; + textTracks: TextTrackList; + /** + * Gets or sets whether the DLNA PlayTo device is available. + */ + msPlayToDisabled: boolean; + /** + * Returns an AudioTrackList object with the audio tracks for a given video element. + */ + audioTracks: AudioTrackList; + /** + * Gets the source associated with the media element for use by the PlayToManager. + */ + msPlayToSource: any; + /** + * Specifies the output device id that the audio will be sent to. + */ + msAudioDeviceType: string; + /** + * Gets or sets the path to the preferred media source. This enables the Play To target device to stream the media content, which can be DRM protected, from a different location, such as a cloud media server. + */ + msPlayToPreferredSourceUri: string; + onmsneedkey: (ev: MSMediaKeyNeededEvent) => any; + /** + * Gets the MSMediaKeys object, which is used for decrypting media data, that is associated with this media element. + */ + msKeys: MSMediaKeys; + msGraphicsTrustStatus: MSGraphicsTrust; + /** + * Pauses the current playback and sets paused to TRUE. This can be used to test whether the media is playing or paused. You can also use the pause or play events to tell whether the media is playing or not. + */ + pause(): void; + /** + * Loads and starts playback of a media resource. + */ + play(): void; + /** + * Fires immediately after the client loads the object. + */ + load(): void; + /** + * Returns a string that specifies whether the client can play a given media resource type. + */ + canPlayType(type: string): string; + /** + * Clears all effects from the media pipeline. + */ + msClearEffects(): void; + /** + * Specifies the media protection manager for a given media pipeline. + */ + msSetMediaProtectionManager(mediaProtectionManager?: any): void; + /** + * Inserts the specified audio effect into media pipeline. + */ + msInsertAudioEffect(activatableClassId: string, effectRequired: boolean, config?: any): void; + msSetMediaKeys(mediaKeys: MSMediaKeys): void; + addTextTrack(kind: string, label?: string, language?: string): TextTrack; + HAVE_METADATA: number; + HAVE_CURRENT_DATA: number; + HAVE_NOTHING: number; + NETWORK_NO_SOURCE: number; + HAVE_ENOUGH_DATA: number; + NETWORK_EMPTY: number; + NETWORK_LOADING: number; + NETWORK_IDLE: number; + HAVE_FUTURE_DATA: number; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgotpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mslostpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "move", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "datasetchanged", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsdelete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "losecapture", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "controlselect", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "layoutcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "filterchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "datasetcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "errorupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cellchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowexit", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsinserted", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "propertychange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "moveend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeeditfocus", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "afterupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizeend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dataavailable", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "movestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "rowenter", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mscontentzoom", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "msmanipulationstatechanged", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msneedkey", listener: (ev: MSMediaKeyNeededEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var HTMLMediaElement: { + prototype: HTMLMediaElement; + new(): HTMLMediaElement; + HAVE_METADATA: number; + HAVE_CURRENT_DATA: number; + HAVE_NOTHING: number; + NETWORK_NO_SOURCE: number; + HAVE_ENOUGH_DATA: number; + NETWORK_EMPTY: number; + NETWORK_LOADING: number; + NETWORK_IDLE: number; + HAVE_FUTURE_DATA: number; +} + +interface ElementCSSInlineStyle { + runtimeStyle: MSStyleCSSProperties; + currentStyle: MSCurrentStyleCSSProperties; + doScroll(component?: any): void; + componentFromPoint(x: number, y: number): string; +} + +interface DOMParser { + parseFromString(source: string, mimeType: string): Document; +} +declare var DOMParser: { + prototype: DOMParser; + new(): DOMParser; +} + +interface MSMimeTypesCollection { + length: number; +} +declare var MSMimeTypesCollection: { + prototype: MSMimeTypesCollection; + new(): MSMimeTypesCollection; +} + +interface StyleSheet { + disabled: boolean; + ownerNode: Node; + parentStyleSheet: StyleSheet; + href: string; + media: MediaList; + type: string; + title: string; +} +declare var StyleSheet: { + prototype: StyleSheet; + new(): StyleSheet; +} + +interface SVGTextPathElement extends SVGTextContentElement, SVGURIReference { + startOffset: SVGAnimatedLength; + method: SVGAnimatedEnumeration; + spacing: SVGAnimatedEnumeration; + TEXTPATH_SPACINGTYPE_EXACT: number; + TEXTPATH_METHODTYPE_STRETCH: number; + TEXTPATH_SPACINGTYPE_AUTO: number; + TEXTPATH_SPACINGTYPE_UNKNOWN: number; + TEXTPATH_METHODTYPE_UNKNOWN: number; + TEXTPATH_METHODTYPE_ALIGN: number; +} +declare var SVGTextPathElement: { + prototype: SVGTextPathElement; + new(): SVGTextPathElement; + TEXTPATH_SPACINGTYPE_EXACT: number; + TEXTPATH_METHODTYPE_STRETCH: number; + TEXTPATH_SPACINGTYPE_AUTO: number; + TEXTPATH_SPACINGTYPE_UNKNOWN: number; + TEXTPATH_METHODTYPE_UNKNOWN: number; + TEXTPATH_METHODTYPE_ALIGN: number; +} + +interface HTMLDTElement extends HTMLElement { + /** + * Sets or retrieves whether the browser automatically performs wordwrap. + */ + noWrap: boolean; +} +declare var HTMLDTElement: { + prototype: HTMLDTElement; + new(): HTMLDTElement; +} + +interface NodeList { + length: number; + item(index: number): Node; + [index: number]: Node; +} +declare var NodeList: { + prototype: NodeList; + new(): NodeList; +} + +interface XMLSerializer { + serializeToString(target: Node): string; +} +declare var XMLSerializer: { + prototype: XMLSerializer; + new(): XMLSerializer; +} + +interface PerformanceMeasure extends PerformanceEntry { +} +declare var PerformanceMeasure: { + prototype: PerformanceMeasure; + new(): PerformanceMeasure; +} + +interface SVGGradientElement extends SVGElement, SVGUnitTypes, SVGStylable, SVGExternalResourcesRequired, SVGURIReference { + spreadMethod: SVGAnimatedEnumeration; + gradientTransform: SVGAnimatedTransformList; + gradientUnits: SVGAnimatedEnumeration; + SVG_SPREADMETHOD_REFLECT: number; + SVG_SPREADMETHOD_PAD: number; + SVG_SPREADMETHOD_UNKNOWN: number; + SVG_SPREADMETHOD_REPEAT: number; +} +declare var SVGGradientElement: { + prototype: SVGGradientElement; + new(): SVGGradientElement; + SVG_SPREADMETHOD_REFLECT: number; + SVG_SPREADMETHOD_PAD: number; + SVG_SPREADMETHOD_UNKNOWN: number; + SVG_SPREADMETHOD_REPEAT: number; +} + +interface NodeFilter { + acceptNode(n: Node): number; + SHOW_ENTITY_REFERENCE: number; + SHOW_NOTATION: number; + SHOW_ENTITY: number; + SHOW_DOCUMENT: number; + SHOW_PROCESSING_INSTRUCTION: number; + FILTER_REJECT: number; + SHOW_CDATA_SECTION: number; + FILTER_ACCEPT: number; + SHOW_ALL: number; + SHOW_DOCUMENT_TYPE: number; + SHOW_TEXT: number; + SHOW_ELEMENT: number; + SHOW_COMMENT: number; + FILTER_SKIP: number; + SHOW_ATTRIBUTE: number; + SHOW_DOCUMENT_FRAGMENT: number; +} +declare var NodeFilter: NodeFilter; + +interface SVGNumberList { + numberOfItems: number; + replaceItem(newItem: SVGNumber, index: number): SVGNumber; + getItem(index: number): SVGNumber; + clear(): void; + appendItem(newItem: SVGNumber): SVGNumber; + initialize(newItem: SVGNumber): SVGNumber; + removeItem(index: number): SVGNumber; + insertItemBefore(newItem: SVGNumber, index: number): SVGNumber; +} +declare var SVGNumberList: { + prototype: SVGNumberList; + new(): SVGNumberList; +} + +interface MediaError { + code: number; + msExtendedCode: number; + MEDIA_ERR_ABORTED: number; + MEDIA_ERR_NETWORK: number; + MEDIA_ERR_SRC_NOT_SUPPORTED: number; + MEDIA_ERR_DECODE: number; + MS_MEDIA_ERR_ENCRYPTED: number; +} +declare var MediaError: { + prototype: MediaError; + new(): MediaError; + MEDIA_ERR_ABORTED: number; + MEDIA_ERR_NETWORK: number; + MEDIA_ERR_SRC_NOT_SUPPORTED: number; + MEDIA_ERR_DECODE: number; + MS_MEDIA_ERR_ENCRYPTED: number; +} + +interface HTMLFieldSetElement extends HTMLElement { + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + align: string; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + validationMessage: string; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + validity: ValidityState; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + willValidate: boolean; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; +} +declare var HTMLFieldSetElement: { + prototype: HTMLFieldSetElement; + new(): HTMLFieldSetElement; +} + +interface HTMLBGSoundElement extends HTMLElement { + /** + * Sets or gets the value indicating how the volume of the background sound is divided between the left speaker and the right speaker. + */ + balance: any; + /** + * Sets or gets the volume setting for the sound. + */ + volume: any; + /** + * Sets or gets the URL of a sound to play. + */ + src: string; + /** + * Sets or retrieves the number of times a sound or video clip will loop when activated. + */ + loop: number; +} +declare var HTMLBGSoundElement: { + prototype: HTMLBGSoundElement; + new(): HTMLBGSoundElement; +} + +interface Comment extends CharacterData { + text: string; +} +declare var Comment: { + prototype: Comment; + new(): Comment; +} + +interface PerformanceResourceTiming extends PerformanceEntry { + redirectStart: number; + redirectEnd: number; + domainLookupEnd: number; + responseStart: number; + domainLookupStart: number; + fetchStart: number; + requestStart: number; + connectEnd: number; + connectStart: number; + initiatorType: string; + responseEnd: number; +} +declare var PerformanceResourceTiming: { + prototype: PerformanceResourceTiming; + new(): PerformanceResourceTiming; +} + +interface CanvasPattern { +} +declare var CanvasPattern: { + prototype: CanvasPattern; + new(): CanvasPattern; +} + +interface HTMLHRElement extends HTMLElement, DOML2DeprecatedColorProperty, DOML2DeprecatedSizeProperty { + /** + * Sets or retrieves the width of the object. + */ + width: number; + /** + * Sets or retrieves how the object is aligned with adjacent text. + */ + align: string; + /** + * Sets or retrieves whether the horizontal rule is drawn with 3-D shading. + */ + noShade: boolean; +} +declare var HTMLHRElement: { + prototype: HTMLHRElement; + new(): HTMLHRElement; +} + +interface HTMLObjectElement extends HTMLElement, GetSVGDocument, DOML2DeprecatedMarginStyle, DOML2DeprecatedBorderStyle, DOML2DeprecatedAlignmentStyle, MSDataBindingExtensions, MSDataBindingRecordSetExtensions { + /** + * Sets or retrieves the width of the object. + */ + width: string; + /** + * Sets or retrieves the Internet media type for the code associated with the object. + */ + codeType: string; + /** + * Retrieves the contained object. + */ + object: any; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; + /** + * Sets or retrieves the URL of the file containing the compiled Java class. + */ + code: string; + /** + * Sets or retrieves a character string that can be used to implement your own archive functionality for the object. + */ + archive: string; + /** + * Sets or retrieves a message to be displayed while an object is loading. + */ + standby: string; + /** + * Sets or retrieves a text alternative to the graphic. + */ + alt: string; + /** + * Sets or retrieves the class identifier for the object. + */ + classid: string; + /** + * Sets or retrieves the name of the object. + */ + name: string; + /** + * Sets or retrieves the URL, often with a bookmark extension (#name), to use as a client-side image map. + */ + useMap: string; + /** + * Sets or retrieves the URL that references the data of the object. + */ + data: string; + /** + * Sets or retrieves the height of the object. + */ + height: string; + /** + * Retrieves the document object of the page or frame. + */ + contentDocument: Document; + /** + * Gets or sets the optional alternative HTML script to execute if the object fails to load. + */ + altHtml: string; + /** + * Sets or retrieves the URL of the component. + */ + codeBase: string; + declare: boolean; + /** + * Sets or retrieves the MIME type of the object. + */ + type: string; + /** + * Retrieves a string of the URL where the object tag can be found. This is often the href of the document that the object is in, or the value set by a base element. + */ + BaseHref: string; + /** + * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. + */ + validationMessage: string; + /** + * Returns a ValidityState object that represents the validity states of an element. + */ + validity: ValidityState; + /** + * Returns whether an element will successfully validate based on forms validation rules and constraints. + */ + willValidate: boolean; + /** + * Gets or sets the path to the preferred media source. This enables the Play To target device to stream the media content, which can be DRM protected, from a different location, such as a cloud media server. + */ + msPlayToPreferredSourceUri: string; + /** + * Gets or sets the primary DLNA PlayTo device. + */ + msPlayToPrimary: boolean; + /** + * Gets or sets whether the DLNA PlayTo device is available. + */ + msPlayToDisabled: boolean; + readyState: number; + /** + * Gets the source associated with the media element for use by the PlayToManager. + */ + msPlayToSource: any; + /** + * Returns whether a form will validate when it is submitted, without having to submit it. + */ + checkValidity(): boolean; + /** + * Sets a custom error message that is displayed when a form is submitted. + * @param error Sets a custom error message that is displayed when a form is submitted. + */ + setCustomValidity(error: string): void; +} +declare var HTMLObjectElement: { + prototype: HTMLObjectElement; + new(): HTMLObjectElement; +} + +interface HTMLEmbedElement extends HTMLElement, GetSVGDocument { + /** + * Sets or retrieves the width of the object. + */ + width: string; + /** + * Retrieves the palette used for the embedded document. + */ + palette: string; + /** + * Sets or retrieves a URL to be loaded by the object. + */ + src: string; + /** + * Sets or retrieves the name of the object. + */ + name: string; + hidden: string; + /** + * Retrieves the URL of the plug-in used to view an embedded document. + */ + pluginspage: string; + /** + * Sets or retrieves the height of the object. + */ + height: string; + /** + * Sets or retrieves the height and width units of the embed object. + */ + units: string; + /** + * Gets or sets the path to the preferred media source. This enables the Play To target device to stream the media content, which can be DRM protected, from a different location, such as a cloud media server. + */ + msPlayToPreferredSourceUri: string; + /** + * Gets or sets the primary DLNA PlayTo device. + */ + msPlayToPrimary: boolean; + /** + * Gets or sets whether the DLNA PlayTo device is available. + */ + msPlayToDisabled: boolean; + readyState: string; + /** + * Gets the source associated with the media element for use by the PlayToManager. + */ + msPlayToSource: any; +} +declare var HTMLEmbedElement: { + prototype: HTMLEmbedElement; + new(): HTMLEmbedElement; +} + +interface StorageEvent extends Event { + oldValue: any; + newValue: any; + url: string; + storageArea: Storage; + key: string; + initStorageEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, keyArg: string, oldValueArg: any, newValueArg: any, urlArg: string, storageAreaArg: Storage): void; +} +declare var StorageEvent: { + prototype: StorageEvent; + new(): StorageEvent; +} + +interface CharacterData extends Node { + length: number; + data: string; + deleteData(offset: number, count: number): void; + replaceData(offset: number, count: number, arg: string): void; + appendData(arg: string): void; + insertData(offset: number, arg: string): void; + substringData(offset: number, count: number): string; +} +declare var CharacterData: { + prototype: CharacterData; + new(): CharacterData; +} + +interface HTMLOptGroupElement extends HTMLElement, MSDataBindingExtensions { + /** + * Sets or retrieves the ordinal position of an option in a list box. + */ + index: number; + /** + * Sets or retrieves the status of an option. + */ + defaultSelected: boolean; + /** + * Sets or retrieves the text string specified by the option tag. + */ + text: string; + /** + * Sets or retrieves the value which is returned to the server when the form control is submitted. + */ + value: string; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; + /** + * Sets or retrieves a value that you can use to implement your own label functionality for the object. + */ + label: string; + /** + * Sets or retrieves whether the option in the list box is the default item. + */ + selected: boolean; +} +declare var HTMLOptGroupElement: { + prototype: HTMLOptGroupElement; + new(): HTMLOptGroupElement; +} + +interface HTMLIsIndexElement extends HTMLElement { + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; + /** + * Sets or retrieves the URL to which the form content is sent for processing. + */ + action: string; + prompt: string; +} +declare var HTMLIsIndexElement: { + prototype: HTMLIsIndexElement; + new(): HTMLIsIndexElement; +} + +interface SVGPathSegLinetoRel extends SVGPathSeg { + y: number; + x: number; +} +declare var SVGPathSegLinetoRel: { + prototype: SVGPathSegLinetoRel; + new(): SVGPathSegLinetoRel; +} + +interface DOMException { + code: number; + message: string; + name: string; + toString(): string; + HIERARCHY_REQUEST_ERR: number; + NO_MODIFICATION_ALLOWED_ERR: number; + INVALID_MODIFICATION_ERR: number; + NAMESPACE_ERR: number; + INVALID_CHARACTER_ERR: number; + TYPE_MISMATCH_ERR: number; + ABORT_ERR: number; + INVALID_STATE_ERR: number; + SECURITY_ERR: number; + NETWORK_ERR: number; + WRONG_DOCUMENT_ERR: number; + QUOTA_EXCEEDED_ERR: number; + INDEX_SIZE_ERR: number; + DOMSTRING_SIZE_ERR: number; + SYNTAX_ERR: number; + SERIALIZE_ERR: number; + VALIDATION_ERR: number; + NOT_FOUND_ERR: number; + URL_MISMATCH_ERR: number; + PARSE_ERR: number; + NO_DATA_ALLOWED_ERR: number; + NOT_SUPPORTED_ERR: number; + INVALID_ACCESS_ERR: number; + INUSE_ATTRIBUTE_ERR: number; + INVALID_NODE_TYPE_ERR: number; + DATA_CLONE_ERR: number; + TIMEOUT_ERR: number; +} +declare var DOMException: { + prototype: DOMException; + new(): DOMException; + HIERARCHY_REQUEST_ERR: number; + NO_MODIFICATION_ALLOWED_ERR: number; + INVALID_MODIFICATION_ERR: number; + NAMESPACE_ERR: number; + INVALID_CHARACTER_ERR: number; + TYPE_MISMATCH_ERR: number; + ABORT_ERR: number; + INVALID_STATE_ERR: number; + SECURITY_ERR: number; + NETWORK_ERR: number; + WRONG_DOCUMENT_ERR: number; + QUOTA_EXCEEDED_ERR: number; + INDEX_SIZE_ERR: number; + DOMSTRING_SIZE_ERR: number; + SYNTAX_ERR: number; + SERIALIZE_ERR: number; + VALIDATION_ERR: number; + NOT_FOUND_ERR: number; + URL_MISMATCH_ERR: number; + PARSE_ERR: number; + NO_DATA_ALLOWED_ERR: number; + NOT_SUPPORTED_ERR: number; + INVALID_ACCESS_ERR: number; + INUSE_ATTRIBUTE_ERR: number; + INVALID_NODE_TYPE_ERR: number; + DATA_CLONE_ERR: number; + TIMEOUT_ERR: number; +} + +interface SVGAnimatedBoolean { + animVal: boolean; + baseVal: boolean; +} +declare var SVGAnimatedBoolean: { + prototype: SVGAnimatedBoolean; + new(): SVGAnimatedBoolean; +} + +interface MSCompatibleInfoCollection { + length: number; + item(index: number): MSCompatibleInfo; +} +declare var MSCompatibleInfoCollection: { + prototype: MSCompatibleInfoCollection; + new(): MSCompatibleInfoCollection; +} + +interface SVGSwitchElement extends SVGElement, SVGStylable, SVGTransformable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired { +} +declare var SVGSwitchElement: { + prototype: SVGSwitchElement; + new(): SVGSwitchElement; +} + +interface SVGPreserveAspectRatio { + align: number; + meetOrSlice: number; + SVG_PRESERVEASPECTRATIO_NONE: number; + SVG_PRESERVEASPECTRATIO_XMINYMID: number; + SVG_PRESERVEASPECTRATIO_XMAXYMIN: number; + SVG_PRESERVEASPECTRATIO_XMINYMAX: number; + SVG_PRESERVEASPECTRATIO_XMAXYMAX: number; + SVG_MEETORSLICE_UNKNOWN: number; + SVG_PRESERVEASPECTRATIO_XMAXYMID: number; + SVG_PRESERVEASPECTRATIO_XMIDYMAX: number; + SVG_PRESERVEASPECTRATIO_XMINYMIN: number; + SVG_MEETORSLICE_MEET: number; + SVG_PRESERVEASPECTRATIO_XMIDYMID: number; + SVG_PRESERVEASPECTRATIO_XMIDYMIN: number; + SVG_MEETORSLICE_SLICE: number; + SVG_PRESERVEASPECTRATIO_UNKNOWN: number; +} +declare var SVGPreserveAspectRatio: { + prototype: SVGPreserveAspectRatio; + new(): SVGPreserveAspectRatio; + SVG_PRESERVEASPECTRATIO_NONE: number; + SVG_PRESERVEASPECTRATIO_XMINYMID: number; + SVG_PRESERVEASPECTRATIO_XMAXYMIN: number; + SVG_PRESERVEASPECTRATIO_XMINYMAX: number; + SVG_PRESERVEASPECTRATIO_XMAXYMAX: number; + SVG_MEETORSLICE_UNKNOWN: number; + SVG_PRESERVEASPECTRATIO_XMAXYMID: number; + SVG_PRESERVEASPECTRATIO_XMIDYMAX: number; + SVG_PRESERVEASPECTRATIO_XMINYMIN: number; + SVG_MEETORSLICE_MEET: number; + SVG_PRESERVEASPECTRATIO_XMIDYMID: number; + SVG_PRESERVEASPECTRATIO_XMIDYMIN: number; + SVG_MEETORSLICE_SLICE: number; + SVG_PRESERVEASPECTRATIO_UNKNOWN: number; +} + +interface Attr extends Node { + expando: boolean; + specified: boolean; + ownerElement: Element; + value: string; + name: string; +} +declare var Attr: { + prototype: Attr; + new(): Attr; +} + +interface PerformanceNavigation { + redirectCount: number; + type: number; + toJSON(): any; + TYPE_RELOAD: number; + TYPE_RESERVED: number; + TYPE_BACK_FORWARD: number; + TYPE_NAVIGATE: number; +} +declare var PerformanceNavigation: { + prototype: PerformanceNavigation; + new(): PerformanceNavigation; + TYPE_RELOAD: number; + TYPE_RESERVED: number; + TYPE_BACK_FORWARD: number; + TYPE_NAVIGATE: number; +} + +interface SVGStopElement extends SVGElement, SVGStylable { + offset: SVGAnimatedNumber; +} +declare var SVGStopElement: { + prototype: SVGStopElement; + new(): SVGStopElement; +} + +interface PositionCallback { + (position: Position): void; +} + +interface SVGSymbolElement extends SVGElement, SVGStylable, SVGLangSpace, SVGFitToViewBox, SVGExternalResourcesRequired { +} +declare var SVGSymbolElement: { + prototype: SVGSymbolElement; + new(): SVGSymbolElement; +} + +interface SVGElementInstanceList { + length: number; + item(index: number): SVGElementInstance; +} +declare var SVGElementInstanceList: { + prototype: SVGElementInstanceList; + new(): SVGElementInstanceList; +} + +interface CSSRuleList { + length: number; + item(index: number): CSSRule; + [index: number]: CSSRule; +} +declare var CSSRuleList: { + prototype: CSSRuleList; + new(): CSSRuleList; +} + +interface MSDataBindingRecordSetExtensions { + recordset: any; + namedRecordset(dataMember: string, hierarchy?: any): any; +} + +interface LinkStyle { + styleSheet: StyleSheet; + sheet: StyleSheet; +} + +interface HTMLVideoElement extends HTMLMediaElement { + /** + * Gets or sets the width of the video element. + */ + width: number; + /** + * Gets the intrinsic width of a video in CSS pixels, or zero if the dimensions are not known. + */ + videoWidth: number; + /** + * Gets the intrinsic height of a video in CSS pixels, or zero if the dimensions are not known. + */ + videoHeight: number; + /** + * Gets or sets the height of the video element. + */ + height: number; + /** + * Gets or sets a URL of an image to display, for example, like a movie poster. This can be a still frame from the video, or another image if no video data is available. + */ + poster: string; + msIsStereo3D: boolean; + msStereo3DPackingMode: string; + onMSVideoOptimalLayoutChanged: (ev: any) => any; + onMSVideoFrameStepCompleted: (ev: any) => any; + msStereo3DRenderMode: string; + msIsLayoutOptimalForPlayback: boolean; + msHorizontalMirror: boolean; + onMSVideoFormatChanged: (ev: any) => any; + msZoom: boolean; + msInsertVideoEffect(activatableClassId: string, effectRequired: boolean, config?: any): void; + msSetVideoRectangle(left: number, top: number, right: number, bottom: number): void; + msFrameStep(forward: boolean): void; + getVideoPlaybackQuality(): VideoPlaybackQuality; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgotpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mslostpointercapture", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "lostpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "gotpointercapture", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "move", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "deactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "datasetchanged", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsdelete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "losecapture", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "controlselect", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "layoutcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "beforeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforeupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "filterchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "datasetcomplete", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "errorupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; + addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cellchange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowexit", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "rowsinserted", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "propertychange", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforepaste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforecopy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "paste", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "moveend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "beforeeditfocus", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "contextmenu", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "afterupdate", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resizeend", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "dataavailable", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "beforedeactivate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "activate", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "movestart", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "selectstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; + addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "cut", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "copy", listener: (ev: DragEvent) => any, useCapture?: boolean): void; + addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "rowenter", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "mscontentzoom", listener: (ev: MSEventObj) => any, useCapture?: boolean): void; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "msmanipulationstatechanged", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "msneedkey", listener: (ev: MSMediaKeyNeededEvent) => any, useCapture?: boolean): void; + addEventListener(type: "MSVideoOptimalLayoutChanged", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "MSVideoFrameStepCompleted", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "MSVideoFormatChanged", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var HTMLVideoElement: { + prototype: HTMLVideoElement; + new(): HTMLVideoElement; +} + +interface ClientRectList { + length: number; + item(index: number): ClientRect; + [index: number]: ClientRect; +} +declare var ClientRectList: { + prototype: ClientRectList; + new(): ClientRectList; +} + +interface SVGMaskElement extends SVGElement, SVGUnitTypes, SVGStylable, SVGLangSpace, SVGTests, SVGExternalResourcesRequired { + y: SVGAnimatedLength; + width: SVGAnimatedLength; + maskUnits: SVGAnimatedEnumeration; + maskContentUnits: SVGAnimatedEnumeration; + x: SVGAnimatedLength; + height: SVGAnimatedLength; +} +declare var SVGMaskElement: { + prototype: SVGMaskElement; + new(): SVGMaskElement; +} + +interface External { +} +declare var External: { + prototype: External; + new(): External; +} + +interface MSGestureEvent extends UIEvent { + offsetY: number; + translationY: number; + velocityExpansion: number; + velocityY: number; + velocityAngular: number; + translationX: number; + velocityX: number; + hwTimestamp: number; + offsetX: number; + screenX: number; + rotation: number; + expansion: number; + clientY: number; + screenY: number; + scale: number; + gestureObject: any; + clientX: number; + initGestureEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, offsetXArg: number, offsetYArg: number, translationXArg: number, translationYArg: number, scaleArg: number, expansionArg: number, rotationArg: number, velocityXArg: number, velocityYArg: number, velocityExpansionArg: number, velocityAngularArg: number, hwTimestampArg: number): void; + MSGESTURE_FLAG_BEGIN: number; + MSGESTURE_FLAG_END: number; + MSGESTURE_FLAG_CANCEL: number; + MSGESTURE_FLAG_INERTIA: number; + MSGESTURE_FLAG_NONE: number; +} +declare var MSGestureEvent: { + prototype: MSGestureEvent; + new(): MSGestureEvent; + MSGESTURE_FLAG_BEGIN: number; + MSGESTURE_FLAG_END: number; + MSGESTURE_FLAG_CANCEL: number; + MSGESTURE_FLAG_INERTIA: number; + MSGESTURE_FLAG_NONE: number; +} + +interface ErrorEvent extends Event { + colno: number; + filename: string; + error: any; + lineno: number; + message: string; + initErrorEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, messageArg: string, filenameArg: string, linenoArg: number): void; +} +declare var ErrorEvent: { + prototype: ErrorEvent; + new(): ErrorEvent; +} + +interface SVGFilterElement extends SVGElement, SVGUnitTypes, SVGStylable, SVGLangSpace, SVGURIReference, SVGExternalResourcesRequired { + y: SVGAnimatedLength; + width: SVGAnimatedLength; + filterResX: SVGAnimatedInteger; + filterUnits: SVGAnimatedEnumeration; + primitiveUnits: SVGAnimatedEnumeration; + x: SVGAnimatedLength; + height: SVGAnimatedLength; + filterResY: SVGAnimatedInteger; + setFilterRes(filterResX: number, filterResY: number): void; +} +declare var SVGFilterElement: { + prototype: SVGFilterElement; + new(): SVGFilterElement; +} + +interface TrackEvent extends Event { + track: any; +} +declare var TrackEvent: { + prototype: TrackEvent; + new(): TrackEvent; +} + +interface SVGFEMergeNodeElement extends SVGElement { + in1: SVGAnimatedString; +} +declare var SVGFEMergeNodeElement: { + prototype: SVGFEMergeNodeElement; + new(): SVGFEMergeNodeElement; +} + +interface SVGFEFloodElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { +} +declare var SVGFEFloodElement: { + prototype: SVGFEFloodElement; + new(): SVGFEFloodElement; +} + +interface MSGesture { + target: Element; + addPointer(pointerId: number): void; + stop(): void; +} +declare var MSGesture: { + prototype: MSGesture; + new(): MSGesture; +} + +interface TextTrackCue extends EventTarget { + onenter: (ev: Event) => any; + track: TextTrack; + endTime: number; + text: string; + pauseOnExit: boolean; + id: string; + startTime: number; + onexit: (ev: Event) => any; + getCueAsHTML(): DocumentFragment; + addEventListener(type: "enter", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "exit", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var TextTrackCue: { + prototype: TextTrackCue; + new(startTime: number, endTime: number, text: string): TextTrackCue; +} + +interface MSStreamReader extends MSBaseReader { + error: DOMError; + readAsArrayBuffer(stream: MSStream, size?: number): void; + readAsBlob(stream: MSStream, size?: number): void; + readAsDataURL(stream: MSStream, size?: number): void; + readAsText(stream: MSStream, encoding?: string, size?: number): void; +} +declare var MSStreamReader: { + prototype: MSStreamReader; + new(): MSStreamReader; +} + +interface DOMTokenList { + length: number; + contains(token: string): boolean; + remove(token: string): void; + toggle(token: string): boolean; + add(token: string): void; + item(index: number): string; + [index: number]: string; + toString(): string; +} +declare var DOMTokenList: { + prototype: DOMTokenList; + new(): DOMTokenList; +} + +interface SVGFEFuncAElement extends SVGComponentTransferFunctionElement { +} +declare var SVGFEFuncAElement: { + prototype: SVGFEFuncAElement; + new(): SVGFEFuncAElement; +} + +interface SVGFETileElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + in1: SVGAnimatedString; +} +declare var SVGFETileElement: { + prototype: SVGFETileElement; + new(): SVGFETileElement; +} + +interface SVGFEBlendElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + in2: SVGAnimatedString; + mode: SVGAnimatedEnumeration; + in1: SVGAnimatedString; + SVG_FEBLEND_MODE_DARKEN: number; + SVG_FEBLEND_MODE_UNKNOWN: number; + SVG_FEBLEND_MODE_MULTIPLY: number; + SVG_FEBLEND_MODE_NORMAL: number; + SVG_FEBLEND_MODE_SCREEN: number; + SVG_FEBLEND_MODE_LIGHTEN: number; +} +declare var SVGFEBlendElement: { + prototype: SVGFEBlendElement; + new(): SVGFEBlendElement; + SVG_FEBLEND_MODE_DARKEN: number; + SVG_FEBLEND_MODE_UNKNOWN: number; + SVG_FEBLEND_MODE_MULTIPLY: number; + SVG_FEBLEND_MODE_NORMAL: number; + SVG_FEBLEND_MODE_SCREEN: number; + SVG_FEBLEND_MODE_LIGHTEN: number; +} + +interface MessageChannel { + port2: MessagePort; + port1: MessagePort; +} +declare var MessageChannel: { + prototype: MessageChannel; + new(): MessageChannel; +} + +interface SVGFEMergeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { +} +declare var SVGFEMergeElement: { + prototype: SVGFEMergeElement; + new(): SVGFEMergeElement; +} + +interface TransitionEvent extends Event { + propertyName: string; + elapsedTime: number; + initTransitionEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, propertyNameArg: string, elapsedTimeArg: number): void; +} +declare var TransitionEvent: { + prototype: TransitionEvent; + new(): TransitionEvent; +} + +interface MediaQueryList { + matches: boolean; + media: string; + addListener(listener: MediaQueryListListener): void; + removeListener(listener: MediaQueryListListener): void; +} +declare var MediaQueryList: { + prototype: MediaQueryList; + new(): MediaQueryList; +} + +interface DOMError { + name: string; + toString(): string; +} +declare var DOMError: { + prototype: DOMError; + new(): DOMError; +} + +interface CloseEvent extends Event { + wasClean: boolean; + reason: string; + code: number; + initCloseEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, wasCleanArg: boolean, codeArg: number, reasonArg: string): void; +} +declare var CloseEvent: { + prototype: CloseEvent; + new(): CloseEvent; +} + +interface WebSocket extends EventTarget { + protocol: string; + readyState: number; + bufferedAmount: number; + onopen: (ev: Event) => any; + extensions: string; + onmessage: (ev: MessageEvent) => any; + onclose: (ev: CloseEvent) => any; + onerror: (ev: ErrorEvent) => any; + binaryType: string; + url: string; + close(code?: number, reason?: string): void; + send(data: any): void; + OPEN: number; + CLOSING: number; + CONNECTING: number; + CLOSED: number; + addEventListener(type: "open", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "close", listener: (ev: CloseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var WebSocket: { + prototype: WebSocket; + new(url: string, protocols?: string): WebSocket; + new(url: string, protocols?: string[]): WebSocket; + OPEN: number; + CLOSING: number; + CONNECTING: number; + CLOSED: number; +} + +interface SVGFEPointLightElement extends SVGElement { + y: SVGAnimatedNumber; + x: SVGAnimatedNumber; + z: SVGAnimatedNumber; +} +declare var SVGFEPointLightElement: { + prototype: SVGFEPointLightElement; + new(): SVGFEPointLightElement; +} + +interface ProgressEvent extends Event { + loaded: number; + lengthComputable: boolean; + total: number; + initProgressEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, lengthComputableArg: boolean, loadedArg: number, totalArg: number): void; +} +declare var ProgressEvent: { + prototype: ProgressEvent; + new(): ProgressEvent; +} + +interface IDBObjectStore { + indexNames: DOMStringList; + name: string; + transaction: IDBTransaction; + keyPath: string; + count(key?: any): IDBRequest; + add(value: any, key?: any): IDBRequest; + clear(): IDBRequest; + createIndex(name: string, keyPath: string, optionalParameters?: any): IDBIndex; + put(value: any, key?: any): IDBRequest; + openCursor(range?: any, direction?: string): IDBRequest; + deleteIndex(indexName: string): void; + index(name: string): IDBIndex; + get(key: any): IDBRequest; + delete(key: any): IDBRequest; +} +declare var IDBObjectStore: { + prototype: IDBObjectStore; + new(): IDBObjectStore; +} + +interface SVGFEGaussianBlurElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + stdDeviationX: SVGAnimatedNumber; + in1: SVGAnimatedString; + stdDeviationY: SVGAnimatedNumber; + setStdDeviation(stdDeviationX: number, stdDeviationY: number): void; +} +declare var SVGFEGaussianBlurElement: { + prototype: SVGFEGaussianBlurElement; + new(): SVGFEGaussianBlurElement; +} + +interface SVGFilterPrimitiveStandardAttributes extends SVGStylable { + y: SVGAnimatedLength; + width: SVGAnimatedLength; + x: SVGAnimatedLength; + height: SVGAnimatedLength; + result: SVGAnimatedString; +} + +interface IDBVersionChangeEvent extends Event { + newVersion: number; + oldVersion: number; +} +declare var IDBVersionChangeEvent: { + prototype: IDBVersionChangeEvent; + new(): IDBVersionChangeEvent; +} + +interface IDBIndex { + unique: boolean; + name: string; + keyPath: string; + objectStore: IDBObjectStore; + count(key?: any): IDBRequest; + getKey(key: any): IDBRequest; + openKeyCursor(range?: IDBKeyRange, direction?: string): IDBRequest; + get(key: any): IDBRequest; + openCursor(range?: IDBKeyRange, direction?: string): IDBRequest; +} +declare var IDBIndex: { + prototype: IDBIndex; + new(): IDBIndex; +} + +interface FileList { + length: number; + item(index: number): File; + [index: number]: File; +} +declare var FileList: { + prototype: FileList; + new(): FileList; +} + +interface IDBCursor { + source: any; + direction: string; + key: any; + primaryKey: any; + advance(count: number): void; + delete(): IDBRequest; + continue(key?: any): void; + update(value: any): IDBRequest; + PREV: string; + PREV_NO_DUPLICATE: string; + NEXT: string; + NEXT_NO_DUPLICATE: string; +} +declare var IDBCursor: { + prototype: IDBCursor; + new(): IDBCursor; + PREV: string; + PREV_NO_DUPLICATE: string; + NEXT: string; + NEXT_NO_DUPLICATE: string; +} + +interface SVGFESpecularLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + kernelUnitLengthY: SVGAnimatedNumber; + surfaceScale: SVGAnimatedNumber; + specularExponent: SVGAnimatedNumber; + in1: SVGAnimatedString; + kernelUnitLengthX: SVGAnimatedNumber; + specularConstant: SVGAnimatedNumber; +} +declare var SVGFESpecularLightingElement: { + prototype: SVGFESpecularLightingElement; + new(): SVGFESpecularLightingElement; +} + +interface File extends Blob { + lastModifiedDate: any; + name: string; +} +declare var File: { + prototype: File; + new(): File; +} + +interface URL { + revokeObjectURL(url: string): void; + createObjectURL(object: any, options?: ObjectURLOptions): string; +} +declare var URL: URL; + +interface IDBCursorWithValue extends IDBCursor { + value: any; +} +declare var IDBCursorWithValue: { + prototype: IDBCursorWithValue; + new(): IDBCursorWithValue; +} + +interface XMLHttpRequestEventTarget extends EventTarget { + onprogress: (ev: ProgressEvent) => any; + onerror: (ev: ErrorEvent) => any; + onload: (ev: Event) => any; + ontimeout: (ev: Event) => any; + onabort: (ev: UIEvent) => any; + onloadstart: (ev: Event) => any; + onloadend: (ev: ProgressEvent) => any; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "timeout", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadend", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var XMLHttpRequestEventTarget: { + prototype: XMLHttpRequestEventTarget; + new(): XMLHttpRequestEventTarget; +} + +interface IDBEnvironment { + msIndexedDB: IDBFactory; + indexedDB: IDBFactory; +} + +interface AudioTrackList extends EventTarget { + length: number; + onchange: (ev: Event) => any; + onaddtrack: (ev: TrackEvent) => any; + onremovetrack: (ev: any /*PluginArray*/) => any; + getTrackById(id: string): AudioTrack; + item(index: number): AudioTrack; + [index: number]: AudioTrack; + addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "addtrack", listener: (ev: TrackEvent) => any, useCapture?: boolean): void; + addEventListener(type: "removetrack", listener: (ev: any /*PluginArray*/) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var AudioTrackList: { + prototype: AudioTrackList; + new(): AudioTrackList; +} + +interface MSBaseReader extends EventTarget { + onprogress: (ev: ProgressEvent) => any; + readyState: number; + onabort: (ev: UIEvent) => any; + onloadend: (ev: ProgressEvent) => any; + onerror: (ev: ErrorEvent) => any; + onload: (ev: Event) => any; + onloadstart: (ev: Event) => any; + result: any; + abort(): void; + LOADING: number; + EMPTY: number; + DONE: number; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadend", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} + +interface SVGFEMorphologyElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + operator: SVGAnimatedEnumeration; + radiusX: SVGAnimatedNumber; + radiusY: SVGAnimatedNumber; + in1: SVGAnimatedString; + SVG_MORPHOLOGY_OPERATOR_UNKNOWN: number; + SVG_MORPHOLOGY_OPERATOR_ERODE: number; + SVG_MORPHOLOGY_OPERATOR_DILATE: number; +} +declare var SVGFEMorphologyElement: { + prototype: SVGFEMorphologyElement; + new(): SVGFEMorphologyElement; + SVG_MORPHOLOGY_OPERATOR_UNKNOWN: number; + SVG_MORPHOLOGY_OPERATOR_ERODE: number; + SVG_MORPHOLOGY_OPERATOR_DILATE: number; +} + +interface SVGFEFuncRElement extends SVGComponentTransferFunctionElement { +} +declare var SVGFEFuncRElement: { + prototype: SVGFEFuncRElement; + new(): SVGFEFuncRElement; +} + +interface WindowTimersExtension { + msSetImmediate(expression: any, ...args: any[]): number; + clearImmediate(handle: number): void; + msClearImmediate(handle: number): void; + setImmediate(expression: any, ...args: any[]): number; +} + +interface SVGFEDisplacementMapElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + in2: SVGAnimatedString; + xChannelSelector: SVGAnimatedEnumeration; + yChannelSelector: SVGAnimatedEnumeration; + scale: SVGAnimatedNumber; + in1: SVGAnimatedString; + SVG_CHANNEL_B: number; + SVG_CHANNEL_R: number; + SVG_CHANNEL_G: number; + SVG_CHANNEL_UNKNOWN: number; + SVG_CHANNEL_A: number; +} +declare var SVGFEDisplacementMapElement: { + prototype: SVGFEDisplacementMapElement; + new(): SVGFEDisplacementMapElement; + SVG_CHANNEL_B: number; + SVG_CHANNEL_R: number; + SVG_CHANNEL_G: number; + SVG_CHANNEL_UNKNOWN: number; + SVG_CHANNEL_A: number; +} + +interface AnimationEvent extends Event { + animationName: string; + elapsedTime: number; + initAnimationEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, animationNameArg: string, elapsedTimeArg: number): void; +} +declare var AnimationEvent: { + prototype: AnimationEvent; + new(): AnimationEvent; +} + +interface SVGComponentTransferFunctionElement extends SVGElement { + tableValues: SVGAnimatedNumberList; + slope: SVGAnimatedNumber; + type: SVGAnimatedEnumeration; + exponent: SVGAnimatedNumber; + amplitude: SVGAnimatedNumber; + intercept: SVGAnimatedNumber; + offset: SVGAnimatedNumber; + SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: number; + SVG_FECOMPONENTTRANSFER_TYPE_TABLE: number; + SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: number; + SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: number; + SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: number; + SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: number; +} +declare var SVGComponentTransferFunctionElement: { + prototype: SVGComponentTransferFunctionElement; + new(): SVGComponentTransferFunctionElement; + SVG_FECOMPONENTTRANSFER_TYPE_UNKNOWN: number; + SVG_FECOMPONENTTRANSFER_TYPE_TABLE: number; + SVG_FECOMPONENTTRANSFER_TYPE_IDENTITY: number; + SVG_FECOMPONENTTRANSFER_TYPE_GAMMA: number; + SVG_FECOMPONENTTRANSFER_TYPE_DISCRETE: number; + SVG_FECOMPONENTTRANSFER_TYPE_LINEAR: number; +} + +interface MSRangeCollection { + length: number; + item(index: number): Range; + [index: number]: Range; +} +declare var MSRangeCollection: { + prototype: MSRangeCollection; + new(): MSRangeCollection; +} + +interface SVGFEDistantLightElement extends SVGElement { + azimuth: SVGAnimatedNumber; + elevation: SVGAnimatedNumber; +} +declare var SVGFEDistantLightElement: { + prototype: SVGFEDistantLightElement; + new(): SVGFEDistantLightElement; +} + +interface SVGFEFuncBElement extends SVGComponentTransferFunctionElement { +} +declare var SVGFEFuncBElement: { + prototype: SVGFEFuncBElement; + new(): SVGFEFuncBElement; +} + +interface IDBKeyRange { + upper: any; + upperOpen: boolean; + lower: any; + lowerOpen: boolean; +} +declare var IDBKeyRange: { + prototype: IDBKeyRange; + new(): IDBKeyRange; + bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange; + only(value: any): IDBKeyRange; + lowerBound(bound: any, open?: boolean): IDBKeyRange; + upperBound(bound: any, open?: boolean): IDBKeyRange; +} + +interface WindowConsole { + console: Console; +} + +interface IDBTransaction extends EventTarget { + oncomplete: (ev: Event) => any; + db: IDBDatabase; + mode: string; + error: DOMError; + onerror: (ev: ErrorEvent) => any; + onabort: (ev: UIEvent) => any; + abort(): void; + objectStore(name: string): IDBObjectStore; + READ_ONLY: string; + VERSION_CHANGE: string; + READ_WRITE: string; + addEventListener(type: "complete", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var IDBTransaction: { + prototype: IDBTransaction; + new(): IDBTransaction; + READ_ONLY: string; + VERSION_CHANGE: string; + READ_WRITE: string; +} + +interface AudioTrack { + kind: string; + language: string; + id: string; + label: string; + enabled: boolean; + sourceBuffer: SourceBuffer; +} +declare var AudioTrack: { + prototype: AudioTrack; + new(): AudioTrack; +} + +interface SVGFEConvolveMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + orderY: SVGAnimatedInteger; + kernelUnitLengthY: SVGAnimatedNumber; + orderX: SVGAnimatedInteger; + preserveAlpha: SVGAnimatedBoolean; + kernelMatrix: SVGAnimatedNumberList; + edgeMode: SVGAnimatedEnumeration; + kernelUnitLengthX: SVGAnimatedNumber; + bias: SVGAnimatedNumber; + targetX: SVGAnimatedInteger; + targetY: SVGAnimatedInteger; + divisor: SVGAnimatedNumber; + in1: SVGAnimatedString; + SVG_EDGEMODE_WRAP: number; + SVG_EDGEMODE_DUPLICATE: number; + SVG_EDGEMODE_UNKNOWN: number; + SVG_EDGEMODE_NONE: number; +} +declare var SVGFEConvolveMatrixElement: { + prototype: SVGFEConvolveMatrixElement; + new(): SVGFEConvolveMatrixElement; + SVG_EDGEMODE_WRAP: number; + SVG_EDGEMODE_DUPLICATE: number; + SVG_EDGEMODE_UNKNOWN: number; + SVG_EDGEMODE_NONE: number; +} + +interface TextTrackCueList { + length: number; + item(index: number): TextTrackCue; + [index: number]: TextTrackCue; + getCueById(id: string): TextTrackCue; +} +declare var TextTrackCueList: { + prototype: TextTrackCueList; + new(): TextTrackCueList; +} + +interface CSSKeyframesRule extends CSSRule { + name: string; + cssRules: CSSRuleList; + findRule(rule: string): CSSKeyframeRule; + deleteRule(rule: string): void; + appendRule(rule: string): void; +} +declare var CSSKeyframesRule: { + prototype: CSSKeyframesRule; + new(): CSSKeyframesRule; +} + +interface SVGFETurbulenceElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + baseFrequencyX: SVGAnimatedNumber; + numOctaves: SVGAnimatedInteger; + type: SVGAnimatedEnumeration; + baseFrequencyY: SVGAnimatedNumber; + stitchTiles: SVGAnimatedEnumeration; + seed: SVGAnimatedNumber; + SVG_STITCHTYPE_UNKNOWN: number; + SVG_STITCHTYPE_NOSTITCH: number; + SVG_TURBULENCE_TYPE_UNKNOWN: number; + SVG_TURBULENCE_TYPE_TURBULENCE: number; + SVG_TURBULENCE_TYPE_FRACTALNOISE: number; + SVG_STITCHTYPE_STITCH: number; +} +declare var SVGFETurbulenceElement: { + prototype: SVGFETurbulenceElement; + new(): SVGFETurbulenceElement; + SVG_STITCHTYPE_UNKNOWN: number; + SVG_STITCHTYPE_NOSTITCH: number; + SVG_TURBULENCE_TYPE_UNKNOWN: number; + SVG_TURBULENCE_TYPE_TURBULENCE: number; + SVG_TURBULENCE_TYPE_FRACTALNOISE: number; + SVG_STITCHTYPE_STITCH: number; +} + +interface TextTrackList extends EventTarget { + length: number; + onaddtrack: (ev: TrackEvent) => any; + item(index: number): TextTrack; + [index: number]: TextTrack; + addEventListener(type: "addtrack", listener: (ev: TrackEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var TextTrackList: { + prototype: TextTrackList; + new(): TextTrackList; +} + +interface SVGFEFuncGElement extends SVGComponentTransferFunctionElement { +} +declare var SVGFEFuncGElement: { + prototype: SVGFEFuncGElement; + new(): SVGFEFuncGElement; +} + +interface SVGFEColorMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + in1: SVGAnimatedString; + type: SVGAnimatedEnumeration; + values: SVGAnimatedNumberList; + SVG_FECOLORMATRIX_TYPE_SATURATE: number; + SVG_FECOLORMATRIX_TYPE_UNKNOWN: number; + SVG_FECOLORMATRIX_TYPE_MATRIX: number; + SVG_FECOLORMATRIX_TYPE_HUEROTATE: number; + SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: number; +} +declare var SVGFEColorMatrixElement: { + prototype: SVGFEColorMatrixElement; + new(): SVGFEColorMatrixElement; + SVG_FECOLORMATRIX_TYPE_SATURATE: number; + SVG_FECOLORMATRIX_TYPE_UNKNOWN: number; + SVG_FECOLORMATRIX_TYPE_MATRIX: number; + SVG_FECOLORMATRIX_TYPE_HUEROTATE: number; + SVG_FECOLORMATRIX_TYPE_LUMINANCETOALPHA: number; +} + +interface SVGFESpotLightElement extends SVGElement { + pointsAtY: SVGAnimatedNumber; + y: SVGAnimatedNumber; + limitingConeAngle: SVGAnimatedNumber; + specularExponent: SVGAnimatedNumber; + x: SVGAnimatedNumber; + pointsAtZ: SVGAnimatedNumber; + z: SVGAnimatedNumber; + pointsAtX: SVGAnimatedNumber; +} +declare var SVGFESpotLightElement: { + prototype: SVGFESpotLightElement; + new(): SVGFESpotLightElement; +} + +interface WindowBase64 { + btoa(rawString: string): string; + atob(encodedString: string): string; +} + +interface IDBDatabase extends EventTarget { + version: string; + name: string; + objectStoreNames: DOMStringList; + onerror: (ev: ErrorEvent) => any; + onabort: (ev: UIEvent) => any; + createObjectStore(name: string, optionalParameters?: any): IDBObjectStore; + close(): void; + transaction(storeNames: any, mode?: string): IDBTransaction; + deleteObjectStore(name: string): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var IDBDatabase: { + prototype: IDBDatabase; + new(): IDBDatabase; +} + +interface DOMStringList { + length: number; + contains(str: string): boolean; + item(index: number): string; + [index: number]: string; +} +declare var DOMStringList: { + prototype: DOMStringList; + new(): DOMStringList; +} + +interface IDBOpenDBRequest extends IDBRequest { + onupgradeneeded: (ev: IDBVersionChangeEvent) => any; + onblocked: (ev: Event) => any; + addEventListener(type: "success", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "upgradeneeded", listener: (ev: IDBVersionChangeEvent) => any, useCapture?: boolean): void; + addEventListener(type: "blocked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var IDBOpenDBRequest: { + prototype: IDBOpenDBRequest; + new(): IDBOpenDBRequest; +} + +interface HTMLProgressElement extends HTMLElement { + /** + * Sets or gets the current value of a progress element. The value must be a non-negative number between 0 and the max value. + */ + value: number; + /** + * Defines the maximum, or "done" value for a progress element. + */ + max: number; + /** + * Returns the quotient of value/max when the value attribute is set (determinate progress bar), or -1 when the value attribute is missing (indeterminate progress bar). + */ + position: number; + /** + * Retrieves a reference to the form that the object is embedded in. + */ + form: HTMLFormElement; +} +declare var HTMLProgressElement: { + prototype: HTMLProgressElement; + new(): HTMLProgressElement; +} + +interface MSLaunchUriCallback { + (): void; +} + +interface SVGFEOffsetElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + dy: SVGAnimatedNumber; + in1: SVGAnimatedString; + dx: SVGAnimatedNumber; +} +declare var SVGFEOffsetElement: { + prototype: SVGFEOffsetElement; + new(): SVGFEOffsetElement; +} + +interface MSUnsafeFunctionCallback { + (): any; +} + +interface TextTrack extends EventTarget { + language: string; + mode: any; + readyState: number; + activeCues: TextTrackCueList; + cues: TextTrackCueList; + oncuechange: (ev: Event) => any; + kind: string; + onload: (ev: Event) => any; + onerror: (ev: ErrorEvent) => any; + label: string; + addCue(cue: TextTrackCue): void; + removeCue(cue: TextTrackCue): void; + ERROR: number; + SHOWING: number; + LOADING: number; + LOADED: number; + NONE: number; + HIDDEN: number; + DISABLED: number; + addEventListener(type: "cuechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var TextTrack: { + prototype: TextTrack; + new(): TextTrack; + ERROR: number; + SHOWING: number; + LOADING: number; + LOADED: number; + NONE: number; + HIDDEN: number; + DISABLED: number; +} + +interface MediaQueryListListener { + (mql: MediaQueryList): void; +} + +interface IDBRequest extends EventTarget { + source: any; + onsuccess: (ev: Event) => any; + error: DOMError; + transaction: IDBTransaction; + onerror: (ev: ErrorEvent) => any; + readyState: string; + result: any; + addEventListener(type: "success", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var IDBRequest: { + prototype: IDBRequest; + new(): IDBRequest; +} + +interface MessagePort extends EventTarget { + onmessage: (ev: MessageEvent) => any; + close(): void; + postMessage(message?: any, ports?: any): void; + start(): void; + addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var MessagePort: { + prototype: MessagePort; + new(): MessagePort; +} + +interface FileReader extends MSBaseReader { + error: DOMError; + readAsArrayBuffer(blob: Blob): void; + readAsDataURL(blob: Blob): void; + readAsText(blob: Blob, encoding?: string): void; +} +declare var FileReader: { + prototype: FileReader; + new(): FileReader; +} + +interface Blob { + type: string; + size: number; + msDetachStream(): any; + slice(start?: number, end?: number, contentType?: string): Blob; + msClose(): void; +} +declare var Blob: { + prototype: Blob; + new(): Blob; +} + +interface ApplicationCache extends EventTarget { + status: number; + ondownloading: (ev: Event) => any; + onprogress: (ev: ProgressEvent) => any; + onupdateready: (ev: Event) => any; + oncached: (ev: Event) => any; + onobsolete: (ev: Event) => any; + onerror: (ev: ErrorEvent) => any; + onchecking: (ev: Event) => any; + onnoupdate: (ev: Event) => any; + swapCache(): void; + abort(): void; + update(): void; + CHECKING: number; + UNCACHED: number; + UPDATEREADY: number; + DOWNLOADING: number; + IDLE: number; + OBSOLETE: number; + addEventListener(type: "downloading", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "updateready", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "cached", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "obsolete", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "checking", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "noupdate", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var ApplicationCache: { + prototype: ApplicationCache; + new(): ApplicationCache; + CHECKING: number; + UNCACHED: number; + UPDATEREADY: number; + DOWNLOADING: number; + IDLE: number; + OBSOLETE: number; +} + +interface FrameRequestCallback { + (time: number): void; +} + +interface PopStateEvent extends Event { + state: any; + initPopStateEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, stateArg: any): void; +} +declare var PopStateEvent: { + prototype: PopStateEvent; + new(): PopStateEvent; +} + +interface CSSKeyframeRule extends CSSRule { + keyText: string; + style: CSSStyleDeclaration; +} +declare var CSSKeyframeRule: { + prototype: CSSKeyframeRule; + new(): CSSKeyframeRule; +} + +interface MSFileSaver { + msSaveBlob(blob: any, defaultName?: string): boolean; + msSaveOrOpenBlob(blob: any, defaultName?: string): boolean; +} + +interface MSStream { + type: string; + msDetachStream(): any; + msClose(): void; +} +declare var MSStream: { + prototype: MSStream; + new(): MSStream; +} + +interface MSBlobBuilder { + append(data: any, endings?: string): void; + getBlob(contentType?: string): Blob; +} +declare var MSBlobBuilder: { + prototype: MSBlobBuilder; + new(): MSBlobBuilder; +} + +interface DOMSettableTokenList extends DOMTokenList { + value: string; +} +declare var DOMSettableTokenList: { + prototype: DOMSettableTokenList; + new(): DOMSettableTokenList; +} + +interface IDBFactory { + open(name: string, version?: number): IDBOpenDBRequest; + cmp(first: any, second: any): number; + deleteDatabase(name: string): IDBOpenDBRequest; +} +declare var IDBFactory: { + prototype: IDBFactory; + new(): IDBFactory; +} + +interface MSPointerEvent extends MouseEvent { + width: number; + rotation: number; + pressure: number; + pointerType: any; + isPrimary: boolean; + tiltY: number; + height: number; + intermediatePoints: any; + currentPoint: any; + tiltX: number; + hwTimestamp: number; + pointerId: number; + initPointerEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget, offsetXArg: number, offsetYArg: number, widthArg: number, heightArg: number, pressure: number, rotation: number, tiltX: number, tiltY: number, pointerIdArg: number, pointerType: any, hwTimestampArg: number, isPrimary: boolean): void; + getCurrentPoint(element: Element): void; + getIntermediatePoints(element: Element): void; + MSPOINTER_TYPE_PEN: number; + MSPOINTER_TYPE_MOUSE: number; + MSPOINTER_TYPE_TOUCH: number; +} +declare var MSPointerEvent: { + prototype: MSPointerEvent; + new(): MSPointerEvent; + MSPOINTER_TYPE_PEN: number; + MSPOINTER_TYPE_MOUSE: number; + MSPOINTER_TYPE_TOUCH: number; +} + +interface MSManipulationEvent extends UIEvent { + lastState: number; + currentState: number; + initMSManipulationEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, lastState: number, currentState: number): void; + MS_MANIPULATION_STATE_STOPPED: number; + MS_MANIPULATION_STATE_ACTIVE: number; + MS_MANIPULATION_STATE_INERTIA: number; + MS_MANIPULATION_STATE_SELECTING: number; + MS_MANIPULATION_STATE_COMMITTED: number; + MS_MANIPULATION_STATE_PRESELECT: number; + MS_MANIPULATION_STATE_DRAGGING: number; + MS_MANIPULATION_STATE_CANCELLED: number; +} +declare var MSManipulationEvent: { + prototype: MSManipulationEvent; + new(): MSManipulationEvent; + MS_MANIPULATION_STATE_STOPPED: number; + MS_MANIPULATION_STATE_ACTIVE: number; + MS_MANIPULATION_STATE_INERTIA: number; + MS_MANIPULATION_STATE_SELECTING: number; + MS_MANIPULATION_STATE_COMMITTED: number; + MS_MANIPULATION_STATE_PRESELECT: number; + MS_MANIPULATION_STATE_DRAGGING: number; + MS_MANIPULATION_STATE_CANCELLED: number; +} + +interface FormData { + append(name: any, value: any, blobName?: string): void; +} +declare var FormData: { + prototype: FormData; + new(): FormData; +} + +interface HTMLDataListElement extends HTMLElement { + options: HTMLCollection; +} +declare var HTMLDataListElement: { + prototype: HTMLDataListElement; + new(): HTMLDataListElement; +} + +interface SVGFEImageElement extends SVGElement, SVGLangSpace, SVGFilterPrimitiveStandardAttributes, SVGURIReference, SVGExternalResourcesRequired { + preserveAspectRatio: SVGAnimatedPreserveAspectRatio; +} +declare var SVGFEImageElement: { + prototype: SVGFEImageElement; + new(): SVGFEImageElement; +} + +interface AbstractWorker extends EventTarget { + onerror: (ev: ErrorEvent) => any; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} + +interface SVGFECompositeElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + operator: SVGAnimatedEnumeration; + in2: SVGAnimatedString; + k2: SVGAnimatedNumber; + k1: SVGAnimatedNumber; + k3: SVGAnimatedNumber; + in1: SVGAnimatedString; + k4: SVGAnimatedNumber; + SVG_FECOMPOSITE_OPERATOR_OUT: number; + SVG_FECOMPOSITE_OPERATOR_OVER: number; + SVG_FECOMPOSITE_OPERATOR_XOR: number; + SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: number; + SVG_FECOMPOSITE_OPERATOR_UNKNOWN: number; + SVG_FECOMPOSITE_OPERATOR_IN: number; + SVG_FECOMPOSITE_OPERATOR_ATOP: number; +} +declare var SVGFECompositeElement: { + prototype: SVGFECompositeElement; + new(): SVGFECompositeElement; + SVG_FECOMPOSITE_OPERATOR_OUT: number; + SVG_FECOMPOSITE_OPERATOR_OVER: number; + SVG_FECOMPOSITE_OPERATOR_XOR: number; + SVG_FECOMPOSITE_OPERATOR_ARITHMETIC: number; + SVG_FECOMPOSITE_OPERATOR_UNKNOWN: number; + SVG_FECOMPOSITE_OPERATOR_IN: number; + SVG_FECOMPOSITE_OPERATOR_ATOP: number; +} + +interface ValidityState { + customError: boolean; + valueMissing: boolean; + stepMismatch: boolean; + rangeUnderflow: boolean; + rangeOverflow: boolean; + typeMismatch: boolean; + patternMismatch: boolean; + tooLong: boolean; + valid: boolean; +} +declare var ValidityState: { + prototype: ValidityState; + new(): ValidityState; +} + +interface HTMLTrackElement extends HTMLElement { + kind: string; + src: string; + srclang: string; + track: TextTrack; + label: string; + default: boolean; + readyState: number; + ERROR: number; + LOADING: number; + LOADED: number; + NONE: number; +} +declare var HTMLTrackElement: { + prototype: HTMLTrackElement; + new(): HTMLTrackElement; + ERROR: number; + LOADING: number; + LOADED: number; + NONE: number; +} + +interface MSApp { + createFileFromStorageFile(storageFile: any): File; + createBlobFromRandomAccessStream(type: string, seeker: any): Blob; + createStreamFromInputStream(type: string, inputStream: any): MSStream; + terminateApp(exceptionObject: any): void; + createDataPackage(object: any): any; + execUnsafeLocalFunction(unsafeFunction: MSUnsafeFunctionCallback): any; + getHtmlPrintDocumentSource(htmlDoc: any): any; + addPublicLocalApplicationUri(uri: string): void; + createDataPackageFromSelection(): any; + getViewOpener(): MSAppView; + suppressSubdownloadCredentialPrompts(suppress: boolean): void; + execAsyncAtPriority(asynchronousCallback: MSExecAtPriorityFunctionCallback, priority: string, ...args: any[]): void; + isTaskScheduledAtPriorityOrHigher(priority: string): boolean; + execAtPriority(synchronousCallback: MSExecAtPriorityFunctionCallback, priority: string, ...args: any[]): any; + createNewView(uri: string): MSAppView; + getCurrentPriority(): string; + NORMAL: string; + HIGH: string; + IDLE: string; + CURRENT: string; +} +declare var MSApp: MSApp; + +interface SVGFEComponentTransferElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + in1: SVGAnimatedString; +} +declare var SVGFEComponentTransferElement: { + prototype: SVGFEComponentTransferElement; + new(): SVGFEComponentTransferElement; +} + +interface SVGFEDiffuseLightingElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { + kernelUnitLengthY: SVGAnimatedNumber; + surfaceScale: SVGAnimatedNumber; + in1: SVGAnimatedString; + kernelUnitLengthX: SVGAnimatedNumber; + diffuseConstant: SVGAnimatedNumber; +} +declare var SVGFEDiffuseLightingElement: { + prototype: SVGFEDiffuseLightingElement; + new(): SVGFEDiffuseLightingElement; +} + +interface MSCSSMatrix { + m24: number; + m34: number; + a: number; + d: number; + m32: number; + m41: number; + m11: number; + f: number; + e: number; + m23: number; + m14: number; + m33: number; + m22: number; + m21: number; + c: number; + m12: number; + b: number; + m42: number; + m31: number; + m43: number; + m13: number; + m44: number; + multiply(secondMatrix: MSCSSMatrix): MSCSSMatrix; + skewY(angle: number): MSCSSMatrix; + setMatrixValue(value: string): void; + inverse(): MSCSSMatrix; + rotateAxisAngle(x: number, y: number, z: number, angle: number): MSCSSMatrix; + toString(): string; + rotate(angleX: number, angleY?: number, angleZ?: number): MSCSSMatrix; + translate(x: number, y: number, z?: number): MSCSSMatrix; + scale(scaleX: number, scaleY?: number, scaleZ?: number): MSCSSMatrix; + skewX(angle: number): MSCSSMatrix; +} +declare var MSCSSMatrix: { + prototype: MSCSSMatrix; + new(text?: string): MSCSSMatrix; +} + +interface Worker extends AbstractWorker { + onmessage: (ev: MessageEvent) => any; + postMessage(message: any, ports?: any): void; + terminate(): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var Worker: { + prototype: Worker; + new(stringUrl: string): Worker; +} + +interface MSExecAtPriorityFunctionCallback { + (...args: any[]): any; +} + +interface MSGraphicsTrust { + status: string; + constrictionActive: boolean; +} +declare var MSGraphicsTrust: { + prototype: MSGraphicsTrust; + new(): MSGraphicsTrust; +} + +interface SubtleCrypto { + unwrapKey(wrappedKey: ArrayBufferView, keyAlgorithm: any, keyEncryptionKey: Key, extractable?: boolean, keyUsages?: string[]): KeyOperation; + encrypt(algorithm: any, key: Key, buffer?: ArrayBufferView): CryptoOperation; + importKey(format: string, keyData: ArrayBufferView, algorithm: any, extractable?: boolean, keyUsages?: string[]): KeyOperation; + wrapKey(key: Key, keyEncryptionKey: Key, keyWrappingAlgorithm: any): KeyOperation; + verify(algorithm: any, key: Key, signature: ArrayBufferView, buffer?: ArrayBufferView): CryptoOperation; + deriveKey(algorithm: any, baseKey: Key, derivedKeyType: any, extractable?: boolean, keyUsages?: string[]): KeyOperation; + digest(algorithm: any, buffer?: ArrayBufferView): CryptoOperation; + exportKey(format: string, key: Key): KeyOperation; + generateKey(algorithm: any, extractable?: boolean, keyUsages?: string[]): KeyOperation; + sign(algorithm: any, key: Key, buffer?: ArrayBufferView): CryptoOperation; + decrypt(algorithm: any, key: Key, buffer?: ArrayBufferView): CryptoOperation; +} +declare var SubtleCrypto: { + prototype: SubtleCrypto; + new(): SubtleCrypto; +} + +interface Crypto extends RandomSource { + subtle: SubtleCrypto; +} +declare var Crypto: { + prototype: Crypto; + new(): Crypto; +} + +interface VideoPlaybackQuality { + totalFrameDelay: number; + creationTime: number; + totalVideoFrames: number; + droppedVideoFrames: number; +} +declare var VideoPlaybackQuality: { + prototype: VideoPlaybackQuality; + new(): VideoPlaybackQuality; +} + +interface GlobalEventHandlers { + onpointerenter: (ev: PointerEvent) => any; + onpointerout: (ev: PointerEvent) => any; + onpointerdown: (ev: PointerEvent) => any; + onpointerup: (ev: PointerEvent) => any; + onpointercancel: (ev: PointerEvent) => any; + onpointerover: (ev: PointerEvent) => any; + onpointermove: (ev: PointerEvent) => any; + onpointerleave: (ev: PointerEvent) => any; + addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} + +interface Key { + algorithm: Algorithm; + type: string; + extractable: boolean; + keyUsage: string[]; +} +declare var Key: { + prototype: Key; + new(): Key; +} + +interface DeviceAcceleration { + y: number; + x: number; + z: number; +} +declare var DeviceAcceleration: { + prototype: DeviceAcceleration; + new(): DeviceAcceleration; +} + +interface HTMLAllCollection extends HTMLCollection { + namedItem(name: string): Element; + // [name: string]: Element; +} +declare var HTMLAllCollection: { + prototype: HTMLAllCollection; + new(): HTMLAllCollection; +} + +interface AesGcmEncryptResult { + ciphertext: ArrayBuffer; + tag: ArrayBuffer; +} +declare var AesGcmEncryptResult: { + prototype: AesGcmEncryptResult; + new(): AesGcmEncryptResult; +} + +interface NavigationCompletedEvent extends NavigationEvent { + webErrorStatus: number; + isSuccess: boolean; +} +declare var NavigationCompletedEvent: { + prototype: NavigationCompletedEvent; + new(): NavigationCompletedEvent; +} + +interface MutationRecord { + oldValue: string; + previousSibling: Node; + addedNodes: NodeList; + attributeName: string; + removedNodes: NodeList; + target: Node; + nextSibling: Node; + attributeNamespace: string; + type: string; +} +declare var MutationRecord: { + prototype: MutationRecord; + new(): MutationRecord; +} + +interface MimeTypeArray { + length: number; + item(index: number): Plugin; + [index: number]: Plugin; + namedItem(type: string): Plugin; + // [type: string]: Plugin; +} +declare var MimeTypeArray: { + prototype: MimeTypeArray; + new(): MimeTypeArray; +} + +interface KeyOperation extends EventTarget { + oncomplete: (ev: Event) => any; + onerror: (ev: ErrorEvent) => any; + result: any; + addEventListener(type: "complete", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var KeyOperation: { + prototype: KeyOperation; + new(): KeyOperation; +} + +interface DOMStringMap { +} +declare var DOMStringMap: { + prototype: DOMStringMap; + new(): DOMStringMap; +} + +interface DeviceOrientationEvent extends Event { + gamma: number; + alpha: number; + absolute: boolean; + beta: number; + initDeviceOrientationEvent(type: string, bubbles: boolean, cancelable: boolean, alpha: number, beta: number, gamma: number, absolute: boolean): void; +} +declare var DeviceOrientationEvent: { + prototype: DeviceOrientationEvent; + new(): DeviceOrientationEvent; +} + +interface MSMediaKeys { + keySystem: string; + createSession(type: string, initData: Uint8Array, cdmData?: Uint8Array): MSMediaKeySession; +} +declare var MSMediaKeys: { + prototype: MSMediaKeys; + new(keySystem: string): MSMediaKeys; + isTypeSupported(keySystem: string, type?: string): boolean; +} + +interface MSMediaKeyMessageEvent extends Event { + destinationURL: string; + message: Uint8Array; +} +declare var MSMediaKeyMessageEvent: { + prototype: MSMediaKeyMessageEvent; + new(): MSMediaKeyMessageEvent; +} + +interface MSHTMLWebViewElement extends HTMLElement { + documentTitle: string; + width: number; + src: string; + canGoForward: boolean; + height: number; + canGoBack: boolean; + navigateWithHttpRequestMessage(requestMessage: any): void; + goBack(): void; + navigate(uri: string): void; + stop(): void; + navigateToString(contents: string): void; + captureSelectedContentToDataPackageAsync(): MSWebViewAsyncOperation; + capturePreviewToBlobAsync(): MSWebViewAsyncOperation; + refresh(): void; + goForward(): void; + navigateToLocalStreamUri(source: string, streamResolver: any): void; + invokeScriptAsync(scriptName: string, ...args: any[]): MSWebViewAsyncOperation; + buildLocalStreamUri(contentIdentifier: string, relativePath: string): string; +} +declare var MSHTMLWebViewElement: { + prototype: MSHTMLWebViewElement; + new(): MSHTMLWebViewElement; +} + +interface NavigationEvent extends Event { + uri: string; +} +declare var NavigationEvent: { + prototype: NavigationEvent; + new(): NavigationEvent; +} + +interface RandomSource { + getRandomValues(array: ArrayBufferView): ArrayBufferView; +} + +interface SourceBuffer extends EventTarget { + updating: boolean; + appendWindowStart: number; + appendWindowEnd: number; + buffered: TimeRanges; + timestampOffset: number; + audioTracks: AudioTrackList; + appendBuffer(data: ArrayBuffer): void; + remove(start: number, end: number): void; + abort(): void; + appendStream(stream: MSStream, maxSize?: number): void; +} +declare var SourceBuffer: { + prototype: SourceBuffer; + new(): SourceBuffer; +} + +interface MSInputMethodContext extends EventTarget { + oncandidatewindowshow: (ev: any) => any; + target: HTMLElement; + compositionStartOffset: number; + oncandidatewindowhide: (ev: any) => any; + oncandidatewindowupdate: (ev: any) => any; + compositionEndOffset: number; + getCompositionAlternatives(): string[]; + getCandidateWindowClientRect(): ClientRect; + hasComposition(): boolean; + isCandidateWindowVisible(): boolean; + addEventListener(type: "candidatewindowshow", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "candidatewindowhide", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "candidatewindowupdate", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var MSInputMethodContext: { + prototype: MSInputMethodContext; + new(): MSInputMethodContext; +} + +interface DeviceRotationRate { + gamma: number; + alpha: number; + beta: number; +} +declare var DeviceRotationRate: { + prototype: DeviceRotationRate; + new(): DeviceRotationRate; +} + +interface PluginArray { + length: number; + refresh(reload?: boolean): void; + item(index: number): Plugin; + [index: number]: Plugin; + namedItem(name: string): Plugin; + // [name: string]: Plugin; +} +declare var PluginArray: { + prototype: PluginArray; + new(): PluginArray; +} + +interface MSMediaKeyError { + systemCode: number; + code: number; + MS_MEDIA_KEYERR_SERVICE: number; + MS_MEDIA_KEYERR_HARDWARECHANGE: number; + MS_MEDIA_KEYERR_OUTPUT: number; + MS_MEDIA_KEYERR_DOMAIN: number; + MS_MEDIA_KEYERR_UNKNOWN: number; + MS_MEDIA_KEYERR_CLIENT: number; +} +declare var MSMediaKeyError: { + prototype: MSMediaKeyError; + new(): MSMediaKeyError; + MS_MEDIA_KEYERR_SERVICE: number; + MS_MEDIA_KEYERR_HARDWARECHANGE: number; + MS_MEDIA_KEYERR_OUTPUT: number; + MS_MEDIA_KEYERR_DOMAIN: number; + MS_MEDIA_KEYERR_UNKNOWN: number; + MS_MEDIA_KEYERR_CLIENT: number; +} + +interface Plugin { + length: number; + filename: string; + version: string; + name: string; + description: string; + item(index: number): MimeType; + [index: number]: MimeType; + namedItem(type: string): MimeType; + // [type: string]: MimeType; +} +declare var Plugin: { + prototype: Plugin; + new(): Plugin; +} + +interface MediaSource extends EventTarget { + sourceBuffers: SourceBufferList; + duration: number; + readyState: string; + activeSourceBuffers: SourceBufferList; + addSourceBuffer(type: string): SourceBuffer; + endOfStream(error?: string): void; + removeSourceBuffer(sourceBuffer: SourceBuffer): void; +} +declare var MediaSource: { + prototype: MediaSource; + new(): MediaSource; + isTypeSupported(type: string): boolean; +} + +interface SourceBufferList extends EventTarget { + length: number; + item(index: number): SourceBuffer; + [index: number]: SourceBuffer; +} +declare var SourceBufferList: { + prototype: SourceBufferList; + new(): SourceBufferList; +} + +interface XMLDocument extends Document { +} +declare var XMLDocument: { + prototype: XMLDocument; + new(): XMLDocument; +} + +interface DeviceMotionEvent extends Event { + rotationRate: DeviceRotationRate; + acceleration: DeviceAcceleration; + interval: number; + accelerationIncludingGravity: DeviceAcceleration; + initDeviceMotionEvent(type: string, bubbles: boolean, cancelable: boolean, acceleration: DeviceAccelerationDict, accelerationIncludingGravity: DeviceAccelerationDict, rotationRate: DeviceRotationRateDict, interval: number): void; +} +declare var DeviceMotionEvent: { + prototype: DeviceMotionEvent; + new(): DeviceMotionEvent; +} + +interface MimeType { + enabledPlugin: Plugin; + suffixes: string; + type: string; + description: string; +} +declare var MimeType: { + prototype: MimeType; + new(): MimeType; +} + +interface PointerEvent extends MouseEvent { + width: number; + rotation: number; + pressure: number; + pointerType: any; + isPrimary: boolean; + tiltY: number; + height: number; + intermediatePoints: any; + currentPoint: any; + tiltX: number; + hwTimestamp: number; + pointerId: number; + initPointerEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, viewArg: Window, detailArg: number, screenXArg: number, screenYArg: number, clientXArg: number, clientYArg: number, ctrlKeyArg: boolean, altKeyArg: boolean, shiftKeyArg: boolean, metaKeyArg: boolean, buttonArg: number, relatedTargetArg: EventTarget, offsetXArg: number, offsetYArg: number, widthArg: number, heightArg: number, pressure: number, rotation: number, tiltX: number, tiltY: number, pointerIdArg: number, pointerType: any, hwTimestampArg: number, isPrimary: boolean): void; + getCurrentPoint(element: Element): void; + getIntermediatePoints(element: Element): void; +} +declare var PointerEvent: { + prototype: PointerEvent; + new(): PointerEvent; +} + +interface MSDocumentExtensions { + captureEvents(): void; + releaseEvents(): void; +} + +interface MutationObserver { + observe(target: Node, options: MutationObserverInit): void; + takeRecords(): MutationRecord[]; + disconnect(): void; +} +declare var MutationObserver: { + prototype: MutationObserver; + new (callback: (arr: MutationRecord[], observer: MutationObserver)=>any): MutationObserver; +} + +interface MSWebViewAsyncOperation extends EventTarget { + target: MSHTMLWebViewElement; + oncomplete: (ev: Event) => any; + error: DOMError; + onerror: (ev: ErrorEvent) => any; + readyState: number; + type: number; + result: any; + start(): void; + ERROR: number; + TYPE_CREATE_DATA_PACKAGE_FROM_SELECTION: number; + TYPE_INVOKE_SCRIPT: number; + COMPLETED: number; + TYPE_CAPTURE_PREVIEW_TO_RANDOM_ACCESS_STREAM: number; + STARTED: number; + addEventListener(type: "complete", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var MSWebViewAsyncOperation: { + prototype: MSWebViewAsyncOperation; + new(): MSWebViewAsyncOperation; + ERROR: number; + TYPE_CREATE_DATA_PACKAGE_FROM_SELECTION: number; + TYPE_INVOKE_SCRIPT: number; + COMPLETED: number; + TYPE_CAPTURE_PREVIEW_TO_RANDOM_ACCESS_STREAM: number; + STARTED: number; +} + +interface ScriptNotifyEvent extends Event { + value: string; + callingUri: string; +} +declare var ScriptNotifyEvent: { + prototype: ScriptNotifyEvent; + new(): ScriptNotifyEvent; +} + +interface PerformanceNavigationTiming extends PerformanceEntry { + redirectStart: number; + domainLookupEnd: number; + responseStart: number; + domComplete: number; + domainLookupStart: number; + loadEventStart: number; + unloadEventEnd: number; + fetchStart: number; + requestStart: number; + domInteractive: number; + navigationStart: number; + connectEnd: number; + loadEventEnd: number; + connectStart: number; + responseEnd: number; + domLoading: number; + redirectEnd: number; + redirectCount: number; + unloadEventStart: number; + domContentLoadedEventStart: number; + domContentLoadedEventEnd: number; + type: string; +} +declare var PerformanceNavigationTiming: { + prototype: PerformanceNavigationTiming; + new(): PerformanceNavigationTiming; +} + +interface MSMediaKeyNeededEvent extends Event { + initData: Uint8Array; +} +declare var MSMediaKeyNeededEvent: { + prototype: MSMediaKeyNeededEvent; + new(): MSMediaKeyNeededEvent; +} + +interface LongRunningScriptDetectedEvent extends Event { + stopPageScriptExecution: boolean; + executionTime: number; +} +declare var LongRunningScriptDetectedEvent: { + prototype: LongRunningScriptDetectedEvent; + new(): LongRunningScriptDetectedEvent; +} + +interface MSAppView { + viewId: number; + close(): void; + postMessage(message: any, targetOrigin: string, ports?: any): void; +} +declare var MSAppView: { + prototype: MSAppView; + new(): MSAppView; +} + +interface PerfWidgetExternal { + maxCpuSpeed: number; + independentRenderingEnabled: boolean; + irDisablingContentString: string; + irStatusAvailable: boolean; + performanceCounter: number; + averagePaintTime: number; + activeNetworkRequestCount: number; + paintRequestsPerSecond: number; + extraInformationEnabled: boolean; + performanceCounterFrequency: number; + averageFrameTime: number; + repositionWindow(x: number, y: number): void; + getRecentMemoryUsage(last: number): any; + getMemoryUsage(): number; + resizeWindow(width: number, height: number): void; + getProcessCpuUsage(): number; + removeEventListener(eventType: string, callback: (ev: any) => any): void; + getRecentCpuUsage(last: number): any; + addEventListener(eventType: string, callback: (ev: any) => any): void; + getRecentFrames(last: number): any; + getRecentPaintRequests(last: number): any; +} +declare var PerfWidgetExternal: { + prototype: PerfWidgetExternal; + new(): PerfWidgetExternal; +} + +interface PageTransitionEvent extends Event { + persisted: boolean; +} +declare var PageTransitionEvent: { + prototype: PageTransitionEvent; + new(): PageTransitionEvent; +} + +interface MutationCallback { + (mutations: MutationRecord[], observer: MutationObserver): void; +} + +interface HTMLDocument extends Document { +} +declare var HTMLDocument: { + prototype: HTMLDocument; + new(): HTMLDocument; +} + +interface KeyPair { + privateKey: Key; + publicKey: Key; +} +declare var KeyPair: { + prototype: KeyPair; + new(): KeyPair; +} + +interface MSMediaKeySession extends EventTarget { + sessionId: string; + error: MSMediaKeyError; + keySystem: string; + close(): void; + update(key: Uint8Array): void; +} +declare var MSMediaKeySession: { + prototype: MSMediaKeySession; + new(): MSMediaKeySession; +} + +interface UnviewableContentIdentifiedEvent extends NavigationEvent { + referrer: string; +} +declare var UnviewableContentIdentifiedEvent: { + prototype: UnviewableContentIdentifiedEvent; + new(): UnviewableContentIdentifiedEvent; +} + +interface CryptoOperation extends EventTarget { + algorithm: Algorithm; + oncomplete: (ev: Event) => any; + onerror: (ev: ErrorEvent) => any; + onprogress: (ev: ProgressEvent) => any; + onabort: (ev: UIEvent) => any; + key: Key; + result: any; + abort(): void; + finish(): void; + process(buffer: ArrayBufferView): void; + addEventListener(type: "complete", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var CryptoOperation: { + prototype: CryptoOperation; + new(): CryptoOperation; +} + +interface WebGLTexture extends WebGLObject { +} +declare var WebGLTexture: { + prototype: WebGLTexture; + new(): WebGLTexture; +} + +interface OES_texture_float { +} +declare var OES_texture_float: { + prototype: OES_texture_float; + new(): OES_texture_float; +} + +interface WebGLContextEvent extends Event { + statusMessage: string; +} +declare var WebGLContextEvent: { + prototype: WebGLContextEvent; + new(): WebGLContextEvent; +} + +interface WebGLRenderbuffer extends WebGLObject { +} +declare var WebGLRenderbuffer: { + prototype: WebGLRenderbuffer; + new(): WebGLRenderbuffer; +} + +interface WebGLUniformLocation { +} +declare var WebGLUniformLocation: { + prototype: WebGLUniformLocation; + new(): WebGLUniformLocation; +} + +interface WebGLActiveInfo { + name: string; + type: number; + size: number; +} +declare var WebGLActiveInfo: { + prototype: WebGLActiveInfo; + new(): WebGLActiveInfo; +} + +interface WEBGL_compressed_texture_s3tc { + COMPRESSED_RGBA_S3TC_DXT1_EXT: number; + COMPRESSED_RGBA_S3TC_DXT5_EXT: number; + COMPRESSED_RGBA_S3TC_DXT3_EXT: number; + COMPRESSED_RGB_S3TC_DXT1_EXT: number; +} +declare var WEBGL_compressed_texture_s3tc: { + prototype: WEBGL_compressed_texture_s3tc; + new(): WEBGL_compressed_texture_s3tc; + COMPRESSED_RGBA_S3TC_DXT1_EXT: number; + COMPRESSED_RGBA_S3TC_DXT5_EXT: number; + COMPRESSED_RGBA_S3TC_DXT3_EXT: number; + COMPRESSED_RGB_S3TC_DXT1_EXT: number; +} + +interface WebGLRenderingContext { + drawingBufferWidth: number; + drawingBufferHeight: number; + canvas: HTMLCanvasElement; + getUniformLocation(program: WebGLProgram, name: string): WebGLUniformLocation; + bindTexture(target: number, texture: WebGLTexture): void; + bufferData(target: number, data: ArrayBufferView, usage: number): void; + bufferData(target: number, data: ArrayBuffer, usage: number): void; + bufferData(target: number, size: number, usage: number): void; + depthMask(flag: boolean): void; + getUniform(program: WebGLProgram, location: WebGLUniformLocation): any; + vertexAttrib3fv(indx: number, values: number[]): void; + vertexAttrib3fv(indx: number, values: Float32Array): void; + linkProgram(program: WebGLProgram): void; + getSupportedExtensions(): string[]; + bufferSubData(target: number, offset: number, data: ArrayBuffer): void; + bufferSubData(target: number, offset: number, data: ArrayBufferView): void; + vertexAttribPointer(indx: number, size: number, type: number, normalized: boolean, stride: number, offset: number): void; + polygonOffset(factor: number, units: number): void; + blendColor(red: number, green: number, blue: number, alpha: number): void; + createTexture(): WebGLTexture; + hint(target: number, mode: number): void; + getVertexAttrib(index: number, pname: number): any; + enableVertexAttribArray(index: number): void; + depthRange(zNear: number, zFar: number): void; + cullFace(mode: number): void; + createFramebuffer(): WebGLFramebuffer; + uniformMatrix4fv(location: WebGLUniformLocation, transpose: boolean, value: number[]): void; + uniformMatrix4fv(location: WebGLUniformLocation, transpose: boolean, value: Float32Array): void; + framebufferTexture2D(target: number, attachment: number, textarget: number, texture: WebGLTexture, level: number): void; + deleteFramebuffer(framebuffer: WebGLFramebuffer): void; + colorMask(red: boolean, green: boolean, blue: boolean, alpha: boolean): void; + compressedTexImage2D(target: number, level: number, internalformat: number, width: number, height: number, border: number, data: ArrayBufferView): void; + uniformMatrix2fv(location: WebGLUniformLocation, transpose: boolean, value: number[]): void; + uniformMatrix2fv(location: WebGLUniformLocation, transpose: boolean, value: Float32Array): void; + getExtension(name: string): any; + createProgram(): WebGLProgram; + deleteShader(shader: WebGLShader): void; + getAttachedShaders(program: WebGLProgram): WebGLShader[]; + enable(cap: number): void; + blendEquation(mode: number): void; + texImage2D(target: number, level: number, internalformat: number, width: number, height: number, border: number, format: number, type: number, pixels: ArrayBufferView): void; + texImage2D(target: number, level: number, internalformat: number, format: number, type: number, image: HTMLImageElement): void; + texImage2D(target: number, level: number, internalformat: number, format: number, type: number, canvas: HTMLCanvasElement): void; + texImage2D(target: number, level: number, internalformat: number, format: number, type: number, video: HTMLVideoElement): void; + texImage2D(target: number, level: number, internalformat: number, format: number, type: number, pixels: ImageData): void; + createBuffer(): WebGLBuffer; + deleteTexture(texture: WebGLTexture): void; + useProgram(program: WebGLProgram): void; + vertexAttrib2fv(indx: number, values: number[]): void; + vertexAttrib2fv(indx: number, values: Float32Array): void; + checkFramebufferStatus(target: number): number; + frontFace(mode: number): void; + getBufferParameter(target: number, pname: number): any; + texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, width: number, height: number, format: number, type: number, pixels: ArrayBufferView): void; + texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, format: number, type: number, image: HTMLImageElement): void; + texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, format: number, type: number, canvas: HTMLCanvasElement): void; + texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, format: number, type: number, video: HTMLVideoElement): void; + texSubImage2D(target: number, level: number, xoffset: number, yoffset: number, format: number, type: number, pixels: ImageData): void; + copyTexImage2D(target: number, level: number, internalformat: number, x: number, y: number, width: number, height: number, border: number): void; + getVertexAttribOffset(index: number, pname: number): number; + disableVertexAttribArray(index: number): void; + blendFunc(sfactor: number, dfactor: number): void; + drawElements(mode: number, count: number, type: number, offset: number): void; + isFramebuffer(framebuffer: WebGLFramebuffer): boolean; + uniform3iv(location: WebGLUniformLocation, v: number[]): void; + uniform3iv(location: WebGLUniformLocation, v: Int32Array): void; + lineWidth(width: number): void; + getShaderInfoLog(shader: WebGLShader): string; + getTexParameter(target: number, pname: number): any; + getParameter(pname: number): any; + getShaderPrecisionFormat(shadertype: number, precisiontype: number): WebGLShaderPrecisionFormat; + getContextAttributes(): WebGLContextAttributes; + vertexAttrib1f(indx: number, x: number): void; + bindFramebuffer(target: number, framebuffer: WebGLFramebuffer): void; + compressedTexSubImage2D(target: number, level: number, xoffset: number, yoffset: number, width: number, height: number, format: number, data: ArrayBufferView): void; + isContextLost(): boolean; + uniform1iv(location: WebGLUniformLocation, v: number[]): void; + uniform1iv(location: WebGLUniformLocation, v: Int32Array): void; + getRenderbufferParameter(target: number, pname: number): any; + uniform2fv(location: WebGLUniformLocation, v: number[]): void; + uniform2fv(location: WebGLUniformLocation, v: Float32Array): void; + isTexture(texture: WebGLTexture): boolean; + getError(): number; + shaderSource(shader: WebGLShader, source: string): void; + deleteRenderbuffer(renderbuffer: WebGLRenderbuffer): void; + stencilMask(mask: number): void; + bindBuffer(target: number, buffer: WebGLBuffer): void; + getAttribLocation(program: WebGLProgram, name: string): number; + uniform3i(location: WebGLUniformLocation, x: number, y: number, z: number): void; + blendEquationSeparate(modeRGB: number, modeAlpha: number): void; + clear(mask: number): void; + blendFuncSeparate(srcRGB: number, dstRGB: number, srcAlpha: number, dstAlpha: number): void; + stencilFuncSeparate(face: number, func: number, ref: number, mask: number): void; + readPixels(x: number, y: number, width: number, height: number, format: number, type: number, pixels: ArrayBufferView): void; + scissor(x: number, y: number, width: number, height: number): void; + uniform2i(location: WebGLUniformLocation, x: number, y: number): void; + getActiveAttrib(program: WebGLProgram, index: number): WebGLActiveInfo; + getShaderSource(shader: WebGLShader): string; + generateMipmap(target: number): void; + bindAttribLocation(program: WebGLProgram, index: number, name: string): void; + uniform1fv(location: WebGLUniformLocation, v: number[]): void; + uniform1fv(location: WebGLUniformLocation, v: Float32Array): void; + uniform2iv(location: WebGLUniformLocation, v: number[]): void; + uniform2iv(location: WebGLUniformLocation, v: Int32Array): void; + stencilOp(fail: number, zfail: number, zpass: number): void; + uniform4fv(location: WebGLUniformLocation, v: number[]): void; + uniform4fv(location: WebGLUniformLocation, v: Float32Array): void; + vertexAttrib1fv(indx: number, values: number[]): void; + vertexAttrib1fv(indx: number, values: Float32Array): void; + flush(): void; + uniform4f(location: WebGLUniformLocation, x: number, y: number, z: number, w: number): void; + deleteProgram(program: WebGLProgram): void; + isRenderbuffer(renderbuffer: WebGLRenderbuffer): boolean; + uniform1i(location: WebGLUniformLocation, x: number): void; + getProgramParameter(program: WebGLProgram, pname: number): any; + getActiveUniform(program: WebGLProgram, index: number): WebGLActiveInfo; + stencilFunc(func: number, ref: number, mask: number): void; + pixelStorei(pname: number, param: number): void; + disable(cap: number): void; + vertexAttrib4fv(indx: number, values: number[]): void; + vertexAttrib4fv(indx: number, values: Float32Array): void; + createRenderbuffer(): WebGLRenderbuffer; + isBuffer(buffer: WebGLBuffer): boolean; + stencilOpSeparate(face: number, fail: number, zfail: number, zpass: number): void; + getFramebufferAttachmentParameter(target: number, attachment: number, pname: number): any; + uniform4i(location: WebGLUniformLocation, x: number, y: number, z: number, w: number): void; + sampleCoverage(value: number, invert: boolean): void; + depthFunc(func: number): void; + texParameterf(target: number, pname: number, param: number): void; + vertexAttrib3f(indx: number, x: number, y: number, z: number): void; + drawArrays(mode: number, first: number, count: number): void; + texParameteri(target: number, pname: number, param: number): void; + vertexAttrib4f(indx: number, x: number, y: number, z: number, w: number): void; + getShaderParameter(shader: WebGLShader, pname: number): any; + clearDepth(depth: number): void; + activeTexture(texture: number): void; + viewport(x: number, y: number, width: number, height: number): void; + detachShader(program: WebGLProgram, shader: WebGLShader): void; + uniform1f(location: WebGLUniformLocation, x: number): void; + uniformMatrix3fv(location: WebGLUniformLocation, transpose: boolean, value: number[]): void; + uniformMatrix3fv(location: WebGLUniformLocation, transpose: boolean, value: Float32Array): void; + deleteBuffer(buffer: WebGLBuffer): void; + copyTexSubImage2D(target: number, level: number, xoffset: number, yoffset: number, x: number, y: number, width: number, height: number): void; + uniform3fv(location: WebGLUniformLocation, v: number[]): void; + uniform3fv(location: WebGLUniformLocation, v: Float32Array): void; + stencilMaskSeparate(face: number, mask: number): void; + attachShader(program: WebGLProgram, shader: WebGLShader): void; + compileShader(shader: WebGLShader): void; + clearColor(red: number, green: number, blue: number, alpha: number): void; + isShader(shader: WebGLShader): boolean; + clearStencil(s: number): void; + framebufferRenderbuffer(target: number, attachment: number, renderbuffertarget: number, renderbuffer: WebGLRenderbuffer): void; + finish(): void; + uniform2f(location: WebGLUniformLocation, x: number, y: number): void; + renderbufferStorage(target: number, internalformat: number, width: number, height: number): void; + uniform3f(location: WebGLUniformLocation, x: number, y: number, z: number): void; + getProgramInfoLog(program: WebGLProgram): string; + validateProgram(program: WebGLProgram): void; + isEnabled(cap: number): boolean; + vertexAttrib2f(indx: number, x: number, y: number): void; + isProgram(program: WebGLProgram): boolean; + createShader(type: number): WebGLShader; + bindRenderbuffer(target: number, renderbuffer: WebGLRenderbuffer): void; + uniform4iv(location: WebGLUniformLocation, v: number[]): void; + uniform4iv(location: WebGLUniformLocation, v: Int32Array): void; + DEPTH_FUNC: number; + DEPTH_COMPONENT16: number; + REPLACE: number; + REPEAT: number; + VERTEX_ATTRIB_ARRAY_ENABLED: number; + FRAMEBUFFER_INCOMPLETE_DIMENSIONS: number; + STENCIL_BUFFER_BIT: number; + RENDERER: number; + STENCIL_BACK_REF: number; + TEXTURE26: number; + RGB565: number; + DITHER: number; + CONSTANT_COLOR: number; + GENERATE_MIPMAP_HINT: number; + POINTS: number; + DECR: number; + INT_VEC3: number; + TEXTURE28: number; + ONE_MINUS_CONSTANT_ALPHA: number; + BACK: number; + RENDERBUFFER_STENCIL_SIZE: number; + UNPACK_FLIP_Y_WEBGL: number; + BLEND: number; + TEXTURE9: number; + ARRAY_BUFFER_BINDING: number; + MAX_VIEWPORT_DIMS: number; + INVALID_FRAMEBUFFER_OPERATION: number; + TEXTURE: number; + TEXTURE0: number; + TEXTURE31: number; + TEXTURE24: number; + HIGH_INT: number; + RENDERBUFFER_BINDING: number; + BLEND_COLOR: number; + FASTEST: number; + STENCIL_WRITEMASK: number; + ALIASED_POINT_SIZE_RANGE: number; + TEXTURE12: number; + DST_ALPHA: number; + BLEND_EQUATION_RGB: number; + FRAMEBUFFER_COMPLETE: number; + NEAREST_MIPMAP_NEAREST: number; + VERTEX_ATTRIB_ARRAY_SIZE: number; + TEXTURE3: number; + DEPTH_WRITEMASK: number; + CONTEXT_LOST_WEBGL: number; + INVALID_VALUE: number; + TEXTURE_MAG_FILTER: number; + ONE_MINUS_CONSTANT_COLOR: number; + ONE_MINUS_SRC_ALPHA: number; + TEXTURE_CUBE_MAP_POSITIVE_Z: number; + NOTEQUAL: number; + ALPHA: number; + DEPTH_STENCIL: number; + MAX_VERTEX_UNIFORM_VECTORS: number; + DEPTH_COMPONENT: number; + RENDERBUFFER_RED_SIZE: number; + TEXTURE20: number; + RED_BITS: number; + RENDERBUFFER_BLUE_SIZE: number; + SCISSOR_BOX: number; + VENDOR: number; + FRONT_AND_BACK: number; + CONSTANT_ALPHA: number; + VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: number; + NEAREST: number; + CULL_FACE: number; + ALIASED_LINE_WIDTH_RANGE: number; + TEXTURE19: number; + FRONT: number; + DEPTH_CLEAR_VALUE: number; + GREEN_BITS: number; + TEXTURE29: number; + TEXTURE23: number; + MAX_RENDERBUFFER_SIZE: number; + STENCIL_ATTACHMENT: number; + TEXTURE27: number; + BOOL_VEC2: number; + OUT_OF_MEMORY: number; + MIRRORED_REPEAT: number; + POLYGON_OFFSET_UNITS: number; + TEXTURE_MIN_FILTER: number; + STENCIL_BACK_PASS_DEPTH_PASS: number; + LINE_LOOP: number; + FLOAT_MAT3: number; + TEXTURE14: number; + LINEAR: number; + RGB5_A1: number; + ONE_MINUS_SRC_COLOR: number; + SAMPLE_COVERAGE_INVERT: number; + DONT_CARE: number; + FRAMEBUFFER_BINDING: number; + RENDERBUFFER_ALPHA_SIZE: number; + STENCIL_REF: number; + ZERO: number; + DECR_WRAP: number; + SAMPLE_COVERAGE: number; + STENCIL_BACK_FUNC: number; + TEXTURE30: number; + VIEWPORT: number; + STENCIL_BITS: number; + FLOAT: number; + COLOR_WRITEMASK: number; + SAMPLE_COVERAGE_VALUE: number; + TEXTURE_CUBE_MAP_NEGATIVE_Y: number; + STENCIL_BACK_FAIL: number; + FLOAT_MAT4: number; + UNSIGNED_SHORT_4_4_4_4: number; + TEXTURE6: number; + RENDERBUFFER_WIDTH: number; + RGBA4: number; + ALWAYS: number; + BLEND_EQUATION_ALPHA: number; + COLOR_BUFFER_BIT: number; + TEXTURE_CUBE_MAP: number; + DEPTH_BUFFER_BIT: number; + STENCIL_CLEAR_VALUE: number; + BLEND_EQUATION: number; + RENDERBUFFER_GREEN_SIZE: number; + NEAREST_MIPMAP_LINEAR: number; + VERTEX_ATTRIB_ARRAY_TYPE: number; + INCR_WRAP: number; + ONE_MINUS_DST_COLOR: number; + HIGH_FLOAT: number; + BYTE: number; + FRONT_FACE: number; + SAMPLE_ALPHA_TO_COVERAGE: number; + CCW: number; + TEXTURE13: number; + MAX_VERTEX_ATTRIBS: number; + MAX_VERTEX_TEXTURE_IMAGE_UNITS: number; + TEXTURE_WRAP_T: number; + UNPACK_PREMULTIPLY_ALPHA_WEBGL: number; + FLOAT_VEC2: number; + LUMINANCE: number; + GREATER: number; + INT_VEC2: number; + VALIDATE_STATUS: number; + FRAMEBUFFER: number; + FRAMEBUFFER_UNSUPPORTED: number; + TEXTURE5: number; + FUNC_SUBTRACT: number; + BLEND_DST_ALPHA: number; + SAMPLER_CUBE: number; + ONE_MINUS_DST_ALPHA: number; + LESS: number; + TEXTURE_CUBE_MAP_POSITIVE_X: number; + BLUE_BITS: number; + DEPTH_TEST: number; + VERTEX_ATTRIB_ARRAY_STRIDE: number; + DELETE_STATUS: number; + TEXTURE18: number; + POLYGON_OFFSET_FACTOR: number; + UNSIGNED_INT: number; + TEXTURE_2D: number; + DST_COLOR: number; + FLOAT_MAT2: number; + COMPRESSED_TEXTURE_FORMATS: number; + MAX_FRAGMENT_UNIFORM_VECTORS: number; + DEPTH_STENCIL_ATTACHMENT: number; + LUMINANCE_ALPHA: number; + CW: number; + VERTEX_ATTRIB_ARRAY_NORMALIZED: number; + TEXTURE_CUBE_MAP_NEGATIVE_Z: number; + LINEAR_MIPMAP_LINEAR: number; + BUFFER_SIZE: number; + SAMPLE_BUFFERS: number; + TEXTURE15: number; + ACTIVE_TEXTURE: number; + VERTEX_SHADER: number; + TEXTURE22: number; + VERTEX_ATTRIB_ARRAY_POINTER: number; + INCR: number; + COMPILE_STATUS: number; + MAX_COMBINED_TEXTURE_IMAGE_UNITS: number; + TEXTURE7: number; + UNSIGNED_SHORT_5_5_5_1: number; + DEPTH_BITS: number; + RGBA: number; + TRIANGLE_STRIP: number; + COLOR_CLEAR_VALUE: number; + BROWSER_DEFAULT_WEBGL: number; + INVALID_ENUM: number; + SCISSOR_TEST: number; + LINE_STRIP: number; + FRAMEBUFFER_INCOMPLETE_ATTACHMENT: number; + STENCIL_FUNC: number; + FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: number; + RENDERBUFFER_HEIGHT: number; + TEXTURE8: number; + TRIANGLES: number; + FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: number; + STENCIL_BACK_VALUE_MASK: number; + TEXTURE25: number; + RENDERBUFFER: number; + LEQUAL: number; + TEXTURE1: number; + STENCIL_INDEX8: number; + FUNC_ADD: number; + STENCIL_FAIL: number; + BLEND_SRC_ALPHA: number; + BOOL: number; + ALPHA_BITS: number; + LOW_INT: number; + TEXTURE10: number; + SRC_COLOR: number; + MAX_VARYING_VECTORS: number; + BLEND_DST_RGB: number; + TEXTURE_BINDING_CUBE_MAP: number; + STENCIL_INDEX: number; + TEXTURE_BINDING_2D: number; + MEDIUM_INT: number; + SHADER_TYPE: number; + POLYGON_OFFSET_FILL: number; + DYNAMIC_DRAW: number; + TEXTURE4: number; + STENCIL_BACK_PASS_DEPTH_FAIL: number; + STREAM_DRAW: number; + MAX_CUBE_MAP_TEXTURE_SIZE: number; + TEXTURE17: number; + TRIANGLE_FAN: number; + UNPACK_ALIGNMENT: number; + CURRENT_PROGRAM: number; + LINES: number; + INVALID_OPERATION: number; + FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: number; + LINEAR_MIPMAP_NEAREST: number; + CLAMP_TO_EDGE: number; + RENDERBUFFER_DEPTH_SIZE: number; + TEXTURE_WRAP_S: number; + ELEMENT_ARRAY_BUFFER: number; + UNSIGNED_SHORT_5_6_5: number; + ACTIVE_UNIFORMS: number; + FLOAT_VEC3: number; + NO_ERROR: number; + ATTACHED_SHADERS: number; + DEPTH_ATTACHMENT: number; + TEXTURE11: number; + STENCIL_TEST: number; + ONE: number; + FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: number; + STATIC_DRAW: number; + GEQUAL: number; + BOOL_VEC4: number; + COLOR_ATTACHMENT0: number; + PACK_ALIGNMENT: number; + MAX_TEXTURE_SIZE: number; + STENCIL_PASS_DEPTH_FAIL: number; + CULL_FACE_MODE: number; + TEXTURE16: number; + STENCIL_BACK_WRITEMASK: number; + SRC_ALPHA: number; + UNSIGNED_SHORT: number; + TEXTURE21: number; + FUNC_REVERSE_SUBTRACT: number; + SHADING_LANGUAGE_VERSION: number; + EQUAL: number; + FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: number; + BOOL_VEC3: number; + SAMPLER_2D: number; + TEXTURE_CUBE_MAP_NEGATIVE_X: number; + MAX_TEXTURE_IMAGE_UNITS: number; + TEXTURE_CUBE_MAP_POSITIVE_Y: number; + RENDERBUFFER_INTERNAL_FORMAT: number; + STENCIL_VALUE_MASK: number; + ELEMENT_ARRAY_BUFFER_BINDING: number; + ARRAY_BUFFER: number; + DEPTH_RANGE: number; + NICEST: number; + ACTIVE_ATTRIBUTES: number; + NEVER: number; + FLOAT_VEC4: number; + CURRENT_VERTEX_ATTRIB: number; + STENCIL_PASS_DEPTH_PASS: number; + INVERT: number; + LINK_STATUS: number; + RGB: number; + INT_VEC4: number; + TEXTURE2: number; + UNPACK_COLORSPACE_CONVERSION_WEBGL: number; + MEDIUM_FLOAT: number; + SRC_ALPHA_SATURATE: number; + BUFFER_USAGE: number; + SHORT: number; + NONE: number; + UNSIGNED_BYTE: number; + INT: number; + SUBPIXEL_BITS: number; + KEEP: number; + SAMPLES: number; + FRAGMENT_SHADER: number; + LINE_WIDTH: number; + BLEND_SRC_RGB: number; + LOW_FLOAT: number; + VERSION: number; +} +declare var WebGLRenderingContext: { + prototype: WebGLRenderingContext; + new(): WebGLRenderingContext; + DEPTH_FUNC: number; + DEPTH_COMPONENT16: number; + REPLACE: number; + REPEAT: number; + VERTEX_ATTRIB_ARRAY_ENABLED: number; + FRAMEBUFFER_INCOMPLETE_DIMENSIONS: number; + STENCIL_BUFFER_BIT: number; + RENDERER: number; + STENCIL_BACK_REF: number; + TEXTURE26: number; + RGB565: number; + DITHER: number; + CONSTANT_COLOR: number; + GENERATE_MIPMAP_HINT: number; + POINTS: number; + DECR: number; + INT_VEC3: number; + TEXTURE28: number; + ONE_MINUS_CONSTANT_ALPHA: number; + BACK: number; + RENDERBUFFER_STENCIL_SIZE: number; + UNPACK_FLIP_Y_WEBGL: number; + BLEND: number; + TEXTURE9: number; + ARRAY_BUFFER_BINDING: number; + MAX_VIEWPORT_DIMS: number; + INVALID_FRAMEBUFFER_OPERATION: number; + TEXTURE: number; + TEXTURE0: number; + TEXTURE31: number; + TEXTURE24: number; + HIGH_INT: number; + RENDERBUFFER_BINDING: number; + BLEND_COLOR: number; + FASTEST: number; + STENCIL_WRITEMASK: number; + ALIASED_POINT_SIZE_RANGE: number; + TEXTURE12: number; + DST_ALPHA: number; + BLEND_EQUATION_RGB: number; + FRAMEBUFFER_COMPLETE: number; + NEAREST_MIPMAP_NEAREST: number; + VERTEX_ATTRIB_ARRAY_SIZE: number; + TEXTURE3: number; + DEPTH_WRITEMASK: number; + CONTEXT_LOST_WEBGL: number; + INVALID_VALUE: number; + TEXTURE_MAG_FILTER: number; + ONE_MINUS_CONSTANT_COLOR: number; + ONE_MINUS_SRC_ALPHA: number; + TEXTURE_CUBE_MAP_POSITIVE_Z: number; + NOTEQUAL: number; + ALPHA: number; + DEPTH_STENCIL: number; + MAX_VERTEX_UNIFORM_VECTORS: number; + DEPTH_COMPONENT: number; + RENDERBUFFER_RED_SIZE: number; + TEXTURE20: number; + RED_BITS: number; + RENDERBUFFER_BLUE_SIZE: number; + SCISSOR_BOX: number; + VENDOR: number; + FRONT_AND_BACK: number; + CONSTANT_ALPHA: number; + VERTEX_ATTRIB_ARRAY_BUFFER_BINDING: number; + NEAREST: number; + CULL_FACE: number; + ALIASED_LINE_WIDTH_RANGE: number; + TEXTURE19: number; + FRONT: number; + DEPTH_CLEAR_VALUE: number; + GREEN_BITS: number; + TEXTURE29: number; + TEXTURE23: number; + MAX_RENDERBUFFER_SIZE: number; + STENCIL_ATTACHMENT: number; + TEXTURE27: number; + BOOL_VEC2: number; + OUT_OF_MEMORY: number; + MIRRORED_REPEAT: number; + POLYGON_OFFSET_UNITS: number; + TEXTURE_MIN_FILTER: number; + STENCIL_BACK_PASS_DEPTH_PASS: number; + LINE_LOOP: number; + FLOAT_MAT3: number; + TEXTURE14: number; + LINEAR: number; + RGB5_A1: number; + ONE_MINUS_SRC_COLOR: number; + SAMPLE_COVERAGE_INVERT: number; + DONT_CARE: number; + FRAMEBUFFER_BINDING: number; + RENDERBUFFER_ALPHA_SIZE: number; + STENCIL_REF: number; + ZERO: number; + DECR_WRAP: number; + SAMPLE_COVERAGE: number; + STENCIL_BACK_FUNC: number; + TEXTURE30: number; + VIEWPORT: number; + STENCIL_BITS: number; + FLOAT: number; + COLOR_WRITEMASK: number; + SAMPLE_COVERAGE_VALUE: number; + TEXTURE_CUBE_MAP_NEGATIVE_Y: number; + STENCIL_BACK_FAIL: number; + FLOAT_MAT4: number; + UNSIGNED_SHORT_4_4_4_4: number; + TEXTURE6: number; + RENDERBUFFER_WIDTH: number; + RGBA4: number; + ALWAYS: number; + BLEND_EQUATION_ALPHA: number; + COLOR_BUFFER_BIT: number; + TEXTURE_CUBE_MAP: number; + DEPTH_BUFFER_BIT: number; + STENCIL_CLEAR_VALUE: number; + BLEND_EQUATION: number; + RENDERBUFFER_GREEN_SIZE: number; + NEAREST_MIPMAP_LINEAR: number; + VERTEX_ATTRIB_ARRAY_TYPE: number; + INCR_WRAP: number; + ONE_MINUS_DST_COLOR: number; + HIGH_FLOAT: number; + BYTE: number; + FRONT_FACE: number; + SAMPLE_ALPHA_TO_COVERAGE: number; + CCW: number; + TEXTURE13: number; + MAX_VERTEX_ATTRIBS: number; + MAX_VERTEX_TEXTURE_IMAGE_UNITS: number; + TEXTURE_WRAP_T: number; + UNPACK_PREMULTIPLY_ALPHA_WEBGL: number; + FLOAT_VEC2: number; + LUMINANCE: number; + GREATER: number; + INT_VEC2: number; + VALIDATE_STATUS: number; + FRAMEBUFFER: number; + FRAMEBUFFER_UNSUPPORTED: number; + TEXTURE5: number; + FUNC_SUBTRACT: number; + BLEND_DST_ALPHA: number; + SAMPLER_CUBE: number; + ONE_MINUS_DST_ALPHA: number; + LESS: number; + TEXTURE_CUBE_MAP_POSITIVE_X: number; + BLUE_BITS: number; + DEPTH_TEST: number; + VERTEX_ATTRIB_ARRAY_STRIDE: number; + DELETE_STATUS: number; + TEXTURE18: number; + POLYGON_OFFSET_FACTOR: number; + UNSIGNED_INT: number; + TEXTURE_2D: number; + DST_COLOR: number; + FLOAT_MAT2: number; + COMPRESSED_TEXTURE_FORMATS: number; + MAX_FRAGMENT_UNIFORM_VECTORS: number; + DEPTH_STENCIL_ATTACHMENT: number; + LUMINANCE_ALPHA: number; + CW: number; + VERTEX_ATTRIB_ARRAY_NORMALIZED: number; + TEXTURE_CUBE_MAP_NEGATIVE_Z: number; + LINEAR_MIPMAP_LINEAR: number; + BUFFER_SIZE: number; + SAMPLE_BUFFERS: number; + TEXTURE15: number; + ACTIVE_TEXTURE: number; + VERTEX_SHADER: number; + TEXTURE22: number; + VERTEX_ATTRIB_ARRAY_POINTER: number; + INCR: number; + COMPILE_STATUS: number; + MAX_COMBINED_TEXTURE_IMAGE_UNITS: number; + TEXTURE7: number; + UNSIGNED_SHORT_5_5_5_1: number; + DEPTH_BITS: number; + RGBA: number; + TRIANGLE_STRIP: number; + COLOR_CLEAR_VALUE: number; + BROWSER_DEFAULT_WEBGL: number; + INVALID_ENUM: number; + SCISSOR_TEST: number; + LINE_STRIP: number; + FRAMEBUFFER_INCOMPLETE_ATTACHMENT: number; + STENCIL_FUNC: number; + FRAMEBUFFER_ATTACHMENT_OBJECT_NAME: number; + RENDERBUFFER_HEIGHT: number; + TEXTURE8: number; + TRIANGLES: number; + FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE: number; + STENCIL_BACK_VALUE_MASK: number; + TEXTURE25: number; + RENDERBUFFER: number; + LEQUAL: number; + TEXTURE1: number; + STENCIL_INDEX8: number; + FUNC_ADD: number; + STENCIL_FAIL: number; + BLEND_SRC_ALPHA: number; + BOOL: number; + ALPHA_BITS: number; + LOW_INT: number; + TEXTURE10: number; + SRC_COLOR: number; + MAX_VARYING_VECTORS: number; + BLEND_DST_RGB: number; + TEXTURE_BINDING_CUBE_MAP: number; + STENCIL_INDEX: number; + TEXTURE_BINDING_2D: number; + MEDIUM_INT: number; + SHADER_TYPE: number; + POLYGON_OFFSET_FILL: number; + DYNAMIC_DRAW: number; + TEXTURE4: number; + STENCIL_BACK_PASS_DEPTH_FAIL: number; + STREAM_DRAW: number; + MAX_CUBE_MAP_TEXTURE_SIZE: number; + TEXTURE17: number; + TRIANGLE_FAN: number; + UNPACK_ALIGNMENT: number; + CURRENT_PROGRAM: number; + LINES: number; + INVALID_OPERATION: number; + FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT: number; + LINEAR_MIPMAP_NEAREST: number; + CLAMP_TO_EDGE: number; + RENDERBUFFER_DEPTH_SIZE: number; + TEXTURE_WRAP_S: number; + ELEMENT_ARRAY_BUFFER: number; + UNSIGNED_SHORT_5_6_5: number; + ACTIVE_UNIFORMS: number; + FLOAT_VEC3: number; + NO_ERROR: number; + ATTACHED_SHADERS: number; + DEPTH_ATTACHMENT: number; + TEXTURE11: number; + STENCIL_TEST: number; + ONE: number; + FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE: number; + STATIC_DRAW: number; + GEQUAL: number; + BOOL_VEC4: number; + COLOR_ATTACHMENT0: number; + PACK_ALIGNMENT: number; + MAX_TEXTURE_SIZE: number; + STENCIL_PASS_DEPTH_FAIL: number; + CULL_FACE_MODE: number; + TEXTURE16: number; + STENCIL_BACK_WRITEMASK: number; + SRC_ALPHA: number; + UNSIGNED_SHORT: number; + TEXTURE21: number; + FUNC_REVERSE_SUBTRACT: number; + SHADING_LANGUAGE_VERSION: number; + EQUAL: number; + FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL: number; + BOOL_VEC3: number; + SAMPLER_2D: number; + TEXTURE_CUBE_MAP_NEGATIVE_X: number; + MAX_TEXTURE_IMAGE_UNITS: number; + TEXTURE_CUBE_MAP_POSITIVE_Y: number; + RENDERBUFFER_INTERNAL_FORMAT: number; + STENCIL_VALUE_MASK: number; + ELEMENT_ARRAY_BUFFER_BINDING: number; + ARRAY_BUFFER: number; + DEPTH_RANGE: number; + NICEST: number; + ACTIVE_ATTRIBUTES: number; + NEVER: number; + FLOAT_VEC4: number; + CURRENT_VERTEX_ATTRIB: number; + STENCIL_PASS_DEPTH_PASS: number; + INVERT: number; + LINK_STATUS: number; + RGB: number; + INT_VEC4: number; + TEXTURE2: number; + UNPACK_COLORSPACE_CONVERSION_WEBGL: number; + MEDIUM_FLOAT: number; + SRC_ALPHA_SATURATE: number; + BUFFER_USAGE: number; + SHORT: number; + NONE: number; + UNSIGNED_BYTE: number; + INT: number; + SUBPIXEL_BITS: number; + KEEP: number; + SAMPLES: number; + FRAGMENT_SHADER: number; + LINE_WIDTH: number; + BLEND_SRC_RGB: number; + LOW_FLOAT: number; + VERSION: number; +} + +interface WebGLProgram extends WebGLObject { +} +declare var WebGLProgram: { + prototype: WebGLProgram; + new(): WebGLProgram; +} + +interface OES_standard_derivatives { + FRAGMENT_SHADER_DERIVATIVE_HINT_OES: number; +} +declare var OES_standard_derivatives: { + prototype: OES_standard_derivatives; + new(): OES_standard_derivatives; + FRAGMENT_SHADER_DERIVATIVE_HINT_OES: number; +} + +interface WebGLFramebuffer extends WebGLObject { +} +declare var WebGLFramebuffer: { + prototype: WebGLFramebuffer; + new(): WebGLFramebuffer; +} + +interface WebGLShader extends WebGLObject { +} +declare var WebGLShader: { + prototype: WebGLShader; + new(): WebGLShader; +} + +interface OES_texture_float_linear { +} +declare var OES_texture_float_linear: { + prototype: OES_texture_float_linear; + new(): OES_texture_float_linear; +} + +interface WebGLObject { +} +declare var WebGLObject: { + prototype: WebGLObject; + new(): WebGLObject; +} + +interface WebGLBuffer extends WebGLObject { +} +declare var WebGLBuffer: { + prototype: WebGLBuffer; + new(): WebGLBuffer; +} + +interface WebGLShaderPrecisionFormat { + rangeMin: number; + rangeMax: number; + precision: number; +} +declare var WebGLShaderPrecisionFormat: { + prototype: WebGLShaderPrecisionFormat; + new(): WebGLShaderPrecisionFormat; +} + +interface EXT_texture_filter_anisotropic { + TEXTURE_MAX_ANISOTROPY_EXT: number; + MAX_TEXTURE_MAX_ANISOTROPY_EXT: number; +} +declare var EXT_texture_filter_anisotropic: { + prototype: EXT_texture_filter_anisotropic; + new(): EXT_texture_filter_anisotropic; + TEXTURE_MAX_ANISOTROPY_EXT: number; + MAX_TEXTURE_MAX_ANISOTROPY_EXT: number; +} + +declare var Option: { new(text?: string, value?: string, defaultSelected?: boolean, selected?:boolean): HTMLOptionElement; }; +declare var Image: { new(width?: number, height?: number): HTMLImageElement; }; +declare var Audio: { new(src?: string): HTMLAudioElement; }; + +declare var ondragend: (ev: DragEvent) => any; +declare var onkeydown: (ev: KeyboardEvent) => any; +declare var ondragover: (ev: DragEvent) => any; +declare var onkeyup: (ev: KeyboardEvent) => any; +declare var onreset: (ev: Event) => any; +declare var onmouseup: (ev: MouseEvent) => any; +declare var ondragstart: (ev: DragEvent) => any; +declare var ondrag: (ev: DragEvent) => any; +declare var screenX: number; +declare var onmouseover: (ev: MouseEvent) => any; +declare var ondragleave: (ev: DragEvent) => any; +declare var history: History; +declare var pageXOffset: number; +declare var name: string; +declare var onafterprint: (ev: Event) => any; +declare var onpause: (ev: Event) => any; +declare var onbeforeprint: (ev: Event) => any; +declare var top: Window; +declare var onmousedown: (ev: MouseEvent) => any; +declare var onseeked: (ev: Event) => any; +declare var opener: Window; +declare var onclick: (ev: MouseEvent) => any; +declare var innerHeight: number; +declare var onwaiting: (ev: Event) => any; +declare var ononline: (ev: Event) => any; +declare var ondurationchange: (ev: Event) => any; +declare var frames: Window; +declare var onblur: (ev: FocusEvent) => any; +declare var onemptied: (ev: Event) => any; +declare var onseeking: (ev: Event) => any; +declare var oncanplay: (ev: Event) => any; +declare var outerWidth: number; +declare var onstalled: (ev: Event) => any; +declare var onmousemove: (ev: MouseEvent) => any; +declare var innerWidth: number; +declare var onoffline: (ev: Event) => any; +declare var length: number; +declare var screen: Screen; +declare var onbeforeunload: (ev: BeforeUnloadEvent) => any; +declare var onratechange: (ev: Event) => any; +declare var onstorage: (ev: StorageEvent) => any; +declare var onloadstart: (ev: Event) => any; +declare var ondragenter: (ev: DragEvent) => any; +declare var onsubmit: (ev: Event) => any; +declare var self: Window; +declare var document: Document; +declare var onprogress: (ev: ProgressEvent) => any; +declare var ondblclick: (ev: MouseEvent) => any; +declare var pageYOffset: number; +declare var oncontextmenu: (ev: MouseEvent) => any; +declare var onchange: (ev: Event) => any; +declare var onloadedmetadata: (ev: Event) => any; +declare var onplay: (ev: Event) => any; +declare var onerror: ErrorEventHandler; +declare var onplaying: (ev: Event) => any; +declare var parent: Window; +declare var location: Location; +declare var oncanplaythrough: (ev: Event) => any; +declare var onabort: (ev: UIEvent) => any; +declare var onreadystatechange: (ev: Event) => any; +declare var outerHeight: number; +declare var onkeypress: (ev: KeyboardEvent) => any; +declare var frameElement: Element; +declare var onloadeddata: (ev: Event) => any; +declare var onsuspend: (ev: Event) => any; +declare var window: Window; +declare var onfocus: (ev: FocusEvent) => any; +declare var onmessage: (ev: MessageEvent) => any; +declare var ontimeupdate: (ev: Event) => any; +declare var onresize: (ev: UIEvent) => any; +declare var onselect: (ev: UIEvent) => any; +declare var navigator: Navigator; +declare var styleMedia: StyleMedia; +declare var ondrop: (ev: DragEvent) => any; +declare var onmouseout: (ev: MouseEvent) => any; +declare var onended: (ev: Event) => any; +declare var onhashchange: (ev: Event) => any; +declare var onunload: (ev: Event) => any; +declare var onscroll: (ev: UIEvent) => any; +declare var screenY: number; +declare var onmousewheel: (ev: MouseWheelEvent) => any; +declare var onload: (ev: Event) => any; +declare var onvolumechange: (ev: Event) => any; +declare var oninput: (ev: Event) => any; +declare var performance: Performance; +declare var onmspointerdown: (ev: any) => any; +declare var animationStartTime: number; +declare var onmsgesturedoubletap: (ev: any) => any; +declare var onmspointerhover: (ev: any) => any; +declare var onmsgesturehold: (ev: any) => any; +declare var onmspointermove: (ev: any) => any; +declare var onmsgesturechange: (ev: any) => any; +declare var onmsgesturestart: (ev: any) => any; +declare var onmspointercancel: (ev: any) => any; +declare var onmsgestureend: (ev: any) => any; +declare var onmsgesturetap: (ev: any) => any; +declare var onmspointerout: (ev: any) => any; +declare var msAnimationStartTime: number; +declare var applicationCache: ApplicationCache; +declare var onmsinertiastart: (ev: any) => any; +declare var onmspointerover: (ev: any) => any; +declare var onpopstate: (ev: PopStateEvent) => any; +declare var onmspointerup: (ev: any) => any; +declare var onpageshow: (ev: PageTransitionEvent) => any; +declare var ondevicemotion: (ev: DeviceMotionEvent) => any; +declare var devicePixelRatio: number; +declare var msCrypto: Crypto; +declare var ondeviceorientation: (ev: DeviceOrientationEvent) => any; +declare var doNotTrack: string; +declare var onmspointerenter: (ev: any) => any; +declare var onpagehide: (ev: PageTransitionEvent) => any; +declare var onmspointerleave: (ev: any) => any; +declare function alert(message?: any): void; +declare function scroll(x?: number, y?: number): void; +declare function focus(): void; +declare function scrollTo(x?: number, y?: number): void; +declare function print(): void; +declare function prompt(message?: string, _default?: string): string; +declare function toString(): string; +declare function open(url?: string, target?: string, features?: string, replace?: boolean): Window; +declare function scrollBy(x?: number, y?: number): void; +declare function confirm(message?: string): boolean; +declare function close(): void; +declare function postMessage(message: any, targetOrigin: string, ports?: any): void; +declare function showModalDialog(url?: string, argument?: any, options?: any): any; +declare function blur(): void; +declare function getSelection(): Selection; +declare function getComputedStyle(elt: Element, pseudoElt?: string): CSSStyleDeclaration; +declare function msCancelRequestAnimationFrame(handle: number): void; +declare function matchMedia(mediaQuery: string): MediaQueryList; +declare function cancelAnimationFrame(handle: number): void; +declare function msIsStaticHTML(html: string): boolean; +declare function msMatchMedia(mediaQuery: string): MediaQueryList; +declare function requestAnimationFrame(callback: FrameRequestCallback): number; +declare function msRequestAnimationFrame(callback: FrameRequestCallback): number; +declare function removeEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +declare function dispatchEvent(evt: Event): boolean; +declare function attachEvent(event: string, listener: EventListener): boolean; +declare function detachEvent(event: string, listener: EventListener): void; +declare var localStorage: Storage; +declare var status: string; +declare var onmouseleave: (ev: MouseEvent) => any; +declare var screenLeft: number; +declare var offscreenBuffering: any; +declare var maxConnectionsPerServer: number; +declare var onmouseenter: (ev: MouseEvent) => any; +declare var clipboardData: DataTransfer; +declare var defaultStatus: string; +declare var clientInformation: Navigator; +declare var closed: boolean; +declare var onhelp: (ev: Event) => any; +declare var external: External; +declare var event: MSEventObj; +declare var onfocusout: (ev: FocusEvent) => any; +declare var screenTop: number; +declare var onfocusin: (ev: FocusEvent) => any; +declare function showModelessDialog(url?: string, argument?: any, options?: any): Window; +declare function navigate(url: string): void; +declare function resizeBy(x?: number, y?: number): void; +declare function item(index: any): any; +declare function resizeTo(x?: number, y?: number): void; +declare function createPopup(arguments?: any): MSPopupWindow; +declare function toStaticHTML(html: string): string; +declare function execScript(code: string, language?: string): any; +declare function msWriteProfilerMark(profilerMarkName: string): void; +declare function moveTo(x?: number, y?: number): void; +declare function moveBy(x?: number, y?: number): void; +declare function showHelp(url: string, helpArg?: any, features?: string): void; +declare function captureEvents(): void; +declare function releaseEvents(): void; +declare var sessionStorage: Storage; +declare function clearTimeout(handle: number): void; +declare function setTimeout(handler: any, timeout?: any, ...args: any[]): number; +declare function clearInterval(handle: number): void; +declare function setInterval(handler: any, timeout?: any, ...args: any[]): number; +declare function msSetImmediate(expression: any, ...args: any[]): number; +declare function clearImmediate(handle: number): void; +declare function msClearImmediate(handle: number): void; +declare function setImmediate(expression: any, ...args: any[]): number; +declare function btoa(rawString: string): string; +declare function atob(encodedString: string): string; +declare var msIndexedDB: IDBFactory; +declare var indexedDB: IDBFactory; +declare var console: Console; +declare var onpointerenter: (ev: PointerEvent) => any; +declare var onpointerout: (ev: PointerEvent) => any; +declare var onpointerdown: (ev: PointerEvent) => any; +declare var onpointerup: (ev: PointerEvent) => any; +declare var onpointercancel: (ev: PointerEvent) => any; +declare var onpointerover: (ev: PointerEvent) => any; +declare var onpointermove: (ev: PointerEvent) => any; +declare var onpointerleave: (ev: PointerEvent) => any; +declare function addEventListener(type: "mouseleave", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mouseenter", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "help", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "focusout", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "focusin", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointerenter", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointerout", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointerdown", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointerup", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointercancel", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointerover", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointermove", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pointerleave", listener: (ev: PointerEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "dragend", listener: (ev: DragEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "keydown", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "dragover", listener: (ev: DragEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "keyup", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "reset", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mouseup", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "dragstart", listener: (ev: DragEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "drag", listener: (ev: DragEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mouseover", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "dragleave", listener: (ev: DragEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "afterprint", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pause", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "beforeprint", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mousedown", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "seeked", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "click", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "waiting", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "online", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "durationchange", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "blur", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "emptied", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "seeking", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "canplay", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "stalled", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mousemove", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "offline", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "beforeunload", listener: (ev: BeforeUnloadEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "ratechange", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "storage", listener: (ev: StorageEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "dragenter", listener: (ev: DragEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "submit", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "dblclick", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "contextmenu", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "change", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "loadedmetadata", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "play", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "playing", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "canplaythrough", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "abort", listener: (ev: UIEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "keypress", listener: (ev: KeyboardEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "loadeddata", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "suspend", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "focus", listener: (ev: FocusEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "timeupdate", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "resize", listener: (ev: UIEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "select", listener: (ev: UIEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "drop", listener: (ev: DragEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mouseout", listener: (ev: MouseEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "ended", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "hashchange", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "unload", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "scroll", listener: (ev: UIEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mousewheel", listener: (ev: MouseWheelEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "volumechange", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "input", listener: (ev: Event) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mspointerdown", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "msgesturedoubletap", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mspointerhover", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "msgesturehold", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mspointermove", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "msgesturechange", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "msgesturestart", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mspointercancel", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "msgestureend", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "msgesturetap", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mspointerout", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "msinertiastart", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mspointerover", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "popstate", listener: (ev: PopStateEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mspointerup", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pageshow", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "devicemotion", listener: (ev: DeviceMotionEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "deviceorientation", listener: (ev: DeviceOrientationEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mspointerenter", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: "pagehide", listener: (ev: PageTransitionEvent) => any, useCapture?: boolean): void; +declare function addEventListener(type: "mspointerleave", listener: (ev: any) => any, useCapture?: boolean): void; +declare function addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; diff --git a/bin/lib.scripthost.d.ts b/bin/lib.scripthost.d.ts new file mode 100644 index 0000000000000..1498aeea63aa8 --- /dev/null +++ b/bin/lib.scripthost.d.ts @@ -0,0 +1,38 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + +/// + + +///////////////////////////// +/// Windows Script Host APIS +///////////////////////////// + +declare var ActiveXObject: { new (s: string): any; }; + +interface ITextWriter { + Write(s: string): void; + WriteLine(s: string): void; + Close(): void; +} + +declare var WScript: { + Echo(s: any): void; + StdErr: ITextWriter; + StdOut: ITextWriter; + Arguments: { length: number; Item(n: number): string; }; + ScriptFullName: string; + Quit(exitCode?: number): number; +} diff --git a/bin/lib.webworker.d.ts b/bin/lib.webworker.d.ts new file mode 100644 index 0000000000000..a524443368bb0 --- /dev/null +++ b/bin/lib.webworker.d.ts @@ -0,0 +1,1637 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + +/// + +///////////////////////////// +/// IE10 ECMAScript Extensions +///////////////////////////// + +/** + * Represents a raw buffer of binary data, which is used to store data for the + * different typed arrays. ArrayBuffers cannot be read from or written to directly, + * but can be passed to a typed array or DataView Object to interpret the raw + * buffer as needed. + */ +interface ArrayBuffer { + /** + * Read-only. The length of the ArrayBuffer (in bytes). + */ + byteLength: number; +} + +declare var ArrayBuffer: { + prototype: ArrayBuffer; + new (byteLength: number): ArrayBuffer; +} + +interface ArrayBufferView { + buffer: ArrayBuffer; + byteOffset: number; + byteLength: number; +} + +/** + * A typed array of 8-bit integer values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Int8Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Int8Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Int8Array view of the ArrayBuffer store for this array, referencing the elements at begin, inclusive, up to end, exclusive. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Int8Array; +} +declare var Int8Array: { + prototype: Int8Array; + new (length: number): Int8Array; + new (array: Int8Array): Int8Array; + new (array: number[]): Int8Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int8Array; + BYTES_PER_ELEMENT: number; +} + +/** + * A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Uint8Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Uint8Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Uint8Array view of the ArrayBuffer Object store for this array, specifying the first and last members of the subarray. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Uint8Array; +} +declare var Uint8Array: { + prototype: Uint8Array; + new (length: number): Uint8Array; + new (array: Uint8Array): Uint8Array; + new (array: number[]): Uint8Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint8Array; + BYTES_PER_ELEMENT: number; +} + +/** + * A typed array of 16-bit integer values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Int16Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Int16Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Int16Array view of the ArrayBuffer Object store for this array, specifying the first and last members of the subarray. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Int16Array; +} +declare var Int16Array: { + prototype: Int16Array; + new (length: number): Int16Array; + new (array: Int16Array): Int16Array; + new (array: number[]): Int16Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int16Array; + BYTES_PER_ELEMENT: number; +} + +/** + * A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Uint16Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Uint16Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Uint16Array view of the ArrayBuffer Object store for this array, specifying the first and last members of the subarray. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Uint16Array; +} +declare var Uint16Array: { + prototype: Uint16Array; + new (length: number): Uint16Array; + new (array: Uint16Array): Uint16Array; + new (array: number[]): Uint16Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint16Array; + BYTES_PER_ELEMENT: number; +} + +/** + * A typed array of 32-bit integer values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Int32Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Int32Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Int32Array view of the ArrayBuffer Object store for this array, specifying the first and last members of the subarray. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Int32Array; +} +declare var Int32Array: { + prototype: Int32Array; + new (length: number): Int32Array; + new (array: Int32Array): Int32Array; + new (array: number[]): Int32Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Int32Array; + BYTES_PER_ELEMENT: number; +} + +/** + * A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Uint32Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Uint32Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Int8Array view of the ArrayBuffer Object store for this array, specifying the first and last members of the subarray. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Uint32Array; +} +declare var Uint32Array: { + prototype: Uint32Array; + new (length: number): Uint32Array; + new (array: Uint32Array): Uint32Array; + new (array: number[]): Uint32Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Uint32Array; + BYTES_PER_ELEMENT: number; +} + +/** + * A typed array of 32-bit float values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Float32Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Float32Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Float32Array view of the ArrayBuffer Object store for this array, specifying the first and last members of the subarray. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Float32Array; +} +declare var Float32Array: { + prototype: Float32Array; + new (length: number): Float32Array; + new (array: Float32Array): Float32Array; + new (array: number[]): Float32Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Float32Array; + BYTES_PER_ELEMENT: number; +} + +/** + * A typed array of 64-bit float values. The contents are initialized to 0. If the requested number of bytes could not be allocated an exception is raised. + */ +interface Float64Array extends ArrayBufferView { + /** + * The size in bytes of each element in the array. + */ + BYTES_PER_ELEMENT: number; + + /** + * The length of the array. + */ + length: number; + [index: number]: number; + + /** + * Gets the element at the specified index. + * @param index The index at which to get the element of the array. + */ + get(index: number): number; + + /** + * Sets a value or an array of values. + * @param index The index of the location to set. + * @param value The value to set. + */ + set(index: number, value: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: Float64Array, offset?: number): void; + + /** + * Sets a value or an array of values. + * @param A typed or untyped array of values to set. + * @param offset The index in the current array at which the values are to be written. + */ + set(array: number[], offset?: number): void; + + /** + * Gets a new Float64Array view of the ArrayBuffer Object store for this array, specifying the first and last members of the subarray. + * @param begin The index of the beginning of the array. + * @param end The index of the end of the array. + */ + subarray(begin: number, end?: number): Float64Array; +} +declare var Float64Array: { + prototype: Float64Array; + new (length: number): Float64Array; + new (array: Float64Array): Float64Array; + new (array: number[]): Float64Array; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): Float64Array; + BYTES_PER_ELEMENT: number; +} + +/** + * You can use a DataView object to read and write the different kinds of binary data to any location in the ArrayBuffer. + */ +interface DataView extends ArrayBufferView { + /** + * Gets the Int8 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getInt8(byteOffset: number): number; + + /** + * Gets the Uint8 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getUint8(byteOffset: number): number; + + /** + * Gets the Int16 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getInt16(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Uint16 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getUint16(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Int32 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getInt32(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Uint32 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getUint32(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Float32 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getFloat32(byteOffset: number, littleEndian?: boolean): number; + + /** + * Gets the Float64 value at the specified byte offset from the start of the view. There is no alignment constraint; multi-byte values may be fetched from any offset. + * @param byteOffset The place in the buffer at which the value should be retrieved. + */ + getFloat64(byteOffset: number, littleEndian?: boolean): number; + + /** + * Stores an Int8 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + */ + setInt8(byteOffset: number, value: number): void; + + /** + * Stores an Uint8 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + */ + setUint8(byteOffset: number, value: number): void; + + /** + * Stores an Int16 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, otherwise a little-endian value should be written. + */ + setInt16(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Uint16 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, otherwise a little-endian value should be written. + */ + setUint16(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Int32 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, otherwise a little-endian value should be written. + */ + setInt32(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Uint32 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, otherwise a little-endian value should be written. + */ + setUint32(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Float32 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, otherwise a little-endian value should be written. + */ + setFloat32(byteOffset: number, value: number, littleEndian?: boolean): void; + + /** + * Stores an Float64 value at the specified byte offset from the start of the view. + * @param byteOffset The place in the buffer at which the value should be set. + * @param value The value to set. + * @param littleEndian If false or undefined, a big-endian value should be written, otherwise a little-endian value should be written. + */ + setFloat64(byteOffset: number, value: number, littleEndian?: boolean): void; +} +declare var DataView: { + prototype: DataView; + new (buffer: ArrayBuffer, byteOffset?: number, length?: number): DataView; +} + +///////////////////////////// +/// IE11 ECMAScript Extensions +///////////////////////////// + +interface Map { + clear(): void; + delete(key: K): boolean; + forEach(callbackfn: (value: V, index: K, map: Map) => void, thisArg?: any): void; + get(key: K): V; + has(key: K): boolean; + set(key: K, value: V): Map; + size: number; +} +declare var Map: { + new (): Map; +} + +interface WeakMap { + clear(): void; + delete(key: K): boolean; + get(key: K): V; + has(key: K): boolean; + set(key: K, value: V): WeakMap; +} +declare var WeakMap: { + new (): WeakMap; +} + +interface Set { + add(value: T): Set; + clear(): void; + delete(value: T): boolean; + forEach(callbackfn: (value: T, index: T, set: Set) => void, thisArg?: any): void; + has(value: T): boolean; + size: number; +} +declare var Set: { + new (): Set; +} + +declare module Intl { + + interface CollatorOptions { + usage?: string; + localeMatcher?: string; + numeric?: boolean; + caseFirst?: string; + sensitivity?: string; + ignorePunctuation?: boolean; + } + + interface ResolvedCollatorOptions { + locale: string; + usage: string; + sensitivity: string; + ignorePunctuation: boolean; + collation: string; + caseFirst: string; + numeric: boolean; + } + + interface Collator { + compare(x: string, y: string): number; + resolvedOptions(): ResolvedCollatorOptions; + } + var Collator: { + new (locales?: string[], options?: CollatorOptions): Collator; + new (locale?: string, options?: CollatorOptions): Collator; + (locales?: string[], options?: CollatorOptions): Collator; + (locale?: string, options?: CollatorOptions): Collator; + supportedLocalesOf(locales: string[], options?: CollatorOptions): string[]; + supportedLocalesOf(locale: string, options?: CollatorOptions): string[]; + } + + interface NumberFormatOptions { + localeMatcher?: string; + style?: string; + currency?: string; + currencyDisplay?: string; + useGrouping?: boolean; + } + + interface ResolvedNumberFormatOptions { + locale: string; + numberingSystem: string; + style: string; + currency?: string; + currencyDisplay?: string; + minimumintegerDigits: number; + minimumFractionDigits: number; + maximumFractionDigits: number; + minimumSignificantDigits?: number; + maximumSignificantDigits?: number; + useGrouping: boolean; + } + + interface NumberFormat { + format(value: number): string; + resolvedOptions(): ResolvedNumberFormatOptions; + } + var NumberFormat: { + new (locales?: string[], options?: NumberFormatOptions): Collator; + new (locale?: string, options?: NumberFormatOptions): Collator; + (locales?: string[], options?: NumberFormatOptions): Collator; + (locale?: string, options?: NumberFormatOptions): Collator; + supportedLocalesOf(locales: string[], options?: NumberFormatOptions): string[]; + supportedLocalesOf(locale: string, options?: NumberFormatOptions): string[]; + } + + interface DateTimeFormatOptions { + localeMatcher?: string; + weekday?: string; + era?: string; + year?: string; + month?: string; + day?: string; + hour?: string; + minute?: string; + second?: string; + timeZoneName?: string; + formatMatcher?: string; + hour12: boolean; + } + + interface ResolvedDateTimeFormatOptions { + locale: string; + calendar: string; + numberingSystem: string; + timeZone: string; + hour12?: boolean; + weekday?: string; + era?: string; + year?: string; + month?: string; + day?: string; + hour?: string; + minute?: string; + second?: string; + timeZoneName?: string; + } + + interface DateTimeFormat { + format(date: number): string; + resolvedOptions(): ResolvedDateTimeFormatOptions; + } + var DateTimeFormat: { + new (locales?: string[], options?: DateTimeFormatOptions): Collator; + new (locale?: string, options?: DateTimeFormatOptions): Collator; + (locales?: string[], options?: DateTimeFormatOptions): Collator; + (locale?: string, options?: DateTimeFormatOptions): Collator; + supportedLocalesOf(locales: string[], options?: DateTimeFormatOptions): string[]; + supportedLocalesOf(locale: string, options?: DateTimeFormatOptions): string[]; + } +} + +interface String { + /** + * Determines whether two strings are equivalent in the current locale. + * @param that String to compare to target string + * @param locales An array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details. + * @param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details. + */ + localeCompare(that: string, locales: string[], options?: Intl.CollatorOptions): number; + + /** + * Determines whether two strings are equivalent in the current locale. + * @param that String to compare to target string + * @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used. This parameter must conform to BCP 47 standards; see the Intl.Collator object for details. + * @param options An object that contains one or more properties that specify comparison options. see the Intl.Collator object for details. + */ + localeCompare(that: string, locale: string, options?: Intl.CollatorOptions): number; +} + +interface Number { + /** + * Converts a number to a string by using the current or specified locale. + * @param locales An array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleString(locales?: string[], options?: Intl.NumberFormatOptions): string; + + /** + * Converts a number to a string by using the current or specified locale. + * @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleString(locale?: string, options?: Intl.NumberFormatOptions): string; +} + +interface Date { + /** + * Converts a date to a string by using the current or specified locale. + * @param locales An array of locale strings that contain one or more language or locale tags. If you include more than one locale string, list them in descending order of priority so that the first entry is the preferred locale. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleString(locales?: string[], options?: Intl.DateTimeFormatOptions): string; + + /** + * Converts a date to a string by using the current or specified locale. + * @param locale Locale tag. If you omit this parameter, the default locale of the JavaScript runtime is used. + * @param options An object that contains one or more properties that specify comparison options. + */ + toLocaleString(locale?: string, options?: Intl.DateTimeFormatOptions): string; +} + +///////////////////////////// +/// IE Worker APIs +///////////////////////////// + + +interface Console { + info(message?: any, ...optionalParams: any[]): void; + warn(message?: any, ...optionalParams: any[]): void; + error(message?: any, ...optionalParams: any[]): void; + log(message?: any, ...optionalParams: any[]): void; + profile(reportName?: string): void; + assert(test?: boolean, message?: string, ...optionalParams: any[]): void; + msIsIndependentlyComposed(element: any): boolean; + clear(): void; + dir(value?: any, ...optionalParams: any[]): void; + profileEnd(): void; + count(countTitle?: string): void; + groupEnd(): void; + time(timerName?: string): void; + timeEnd(timerName?: string): void; + trace(): void; + group(groupTitle?: string): void; + dirxml(value: any): void; + debug(message?: string, ...optionalParams: any[]): void; + groupCollapsed(groupTitle?: string): void; + select(element: any): void; +} +declare var Console: { + prototype: Console; + new(): Console; +} + +interface NavigatorID { + appVersion: string; + appName: string; + userAgent: string; + platform: string; + product: string; + vendor: string; +} + +interface EventTarget { + removeEventListener(type: string, listener: EventListener, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; + dispatchEvent(evt: Event): boolean; +} + +interface MessageEvent extends Event { + source: any; + origin: string; + data: any; + ports: any; + initMessageEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, dataArg: any, originArg: string, lastEventIdArg: string, sourceArg: any): void; +} +declare var MessageEvent: { + prototype: MessageEvent; + new(): MessageEvent; +} + +interface XMLHttpRequest extends EventTarget { + responseBody: any; + status: number; + readyState: number; + responseText: string; + responseXML: any; + ontimeout: (ev: Event) => any; + statusText: string; + onreadystatechange: (ev: Event) => any; + timeout: number; + onload: (ev: Event) => any; + response: any; + withCredentials: boolean; + onprogress: (ev: ProgressEvent) => any; + onabort: (ev: any) => any; + responseType: string; + onloadend: (ev: ProgressEvent) => any; + upload: XMLHttpRequestEventTarget; + onerror: (ev: ErrorEvent) => any; + onloadstart: (ev: Event) => any; + msCaching: string; + open(method: string, url: string, async?: boolean, user?: string, password?: string): void; + send(data?: any): void; + abort(): void; + getAllResponseHeaders(): string; + setRequestHeader(header: string, value: string): void; + getResponseHeader(header: string): string; + msCachingEnabled(): boolean; + overrideMimeType(mime: string): void; + LOADING: number; + DONE: number; + UNSENT: number; + OPENED: number; + HEADERS_RECEIVED: number; + addEventListener(type: "timeout", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "readystatechange", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "loadend", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var XMLHttpRequest: { + prototype: XMLHttpRequest; + new(): XMLHttpRequest; + LOADING: number; + DONE: number; + UNSENT: number; + OPENED: number; + HEADERS_RECEIVED: number; + create(): XMLHttpRequest; +} + +interface EventListener { + (evt: Event): void; +} + +interface EventException { + code: number; + message: string; + name: string; + toString(): string; + DISPATCH_REQUEST_ERR: number; + UNSPECIFIED_EVENT_TYPE_ERR: number; +} +declare var EventException: { + prototype: EventException; + new(): EventException; + DISPATCH_REQUEST_ERR: number; + UNSPECIFIED_EVENT_TYPE_ERR: number; +} + +interface NavigatorOnLine { + onLine: boolean; +} + +interface Event { + timeStamp: number; + defaultPrevented: boolean; + isTrusted: boolean; + currentTarget: EventTarget; + cancelBubble: boolean; + target: EventTarget; + eventPhase: number; + cancelable: boolean; + type: string; + srcElement: any; + bubbles: boolean; + initEvent(eventTypeArg: string, canBubbleArg: boolean, cancelableArg: boolean): void; + stopPropagation(): void; + stopImmediatePropagation(): void; + preventDefault(): void; + CAPTURING_PHASE: number; + AT_TARGET: number; + BUBBLING_PHASE: number; +} +declare var Event: { + prototype: Event; + new(): Event; + CAPTURING_PHASE: number; + AT_TARGET: number; + BUBBLING_PHASE: number; +} + +interface ImageData { + width: number; + data: number[]; + height: number; +} +declare var ImageData: { + prototype: ImageData; + new(): ImageData; +} + +interface DOMException { + code: number; + message: string; + name: string; + toString(): string; + HIERARCHY_REQUEST_ERR: number; + NO_MODIFICATION_ALLOWED_ERR: number; + INVALID_MODIFICATION_ERR: number; + NAMESPACE_ERR: number; + INVALID_CHARACTER_ERR: number; + TYPE_MISMATCH_ERR: number; + ABORT_ERR: number; + INVALID_STATE_ERR: number; + SECURITY_ERR: number; + NETWORK_ERR: number; + WRONG_DOCUMENT_ERR: number; + QUOTA_EXCEEDED_ERR: number; + INDEX_SIZE_ERR: number; + DOMSTRING_SIZE_ERR: number; + SYNTAX_ERR: number; + SERIALIZE_ERR: number; + VALIDATION_ERR: number; + NOT_FOUND_ERR: number; + URL_MISMATCH_ERR: number; + PARSE_ERR: number; + NO_DATA_ALLOWED_ERR: number; + NOT_SUPPORTED_ERR: number; + INVALID_ACCESS_ERR: number; + INUSE_ATTRIBUTE_ERR: number; + INVALID_NODE_TYPE_ERR: number; + DATA_CLONE_ERR: number; + TIMEOUT_ERR: number; +} +declare var DOMException: { + prototype: DOMException; + new(): DOMException; + HIERARCHY_REQUEST_ERR: number; + NO_MODIFICATION_ALLOWED_ERR: number; + INVALID_MODIFICATION_ERR: number; + NAMESPACE_ERR: number; + INVALID_CHARACTER_ERR: number; + TYPE_MISMATCH_ERR: number; + ABORT_ERR: number; + INVALID_STATE_ERR: number; + SECURITY_ERR: number; + NETWORK_ERR: number; + WRONG_DOCUMENT_ERR: number; + QUOTA_EXCEEDED_ERR: number; + INDEX_SIZE_ERR: number; + DOMSTRING_SIZE_ERR: number; + SYNTAX_ERR: number; + SERIALIZE_ERR: number; + VALIDATION_ERR: number; + NOT_FOUND_ERR: number; + URL_MISMATCH_ERR: number; + PARSE_ERR: number; + NO_DATA_ALLOWED_ERR: number; + NOT_SUPPORTED_ERR: number; + INVALID_ACCESS_ERR: number; + INUSE_ATTRIBUTE_ERR: number; + INVALID_NODE_TYPE_ERR: number; + DATA_CLONE_ERR: number; + TIMEOUT_ERR: number; +} + +interface ErrorEvent extends Event { + colno: number; + filename: string; + error: any; + lineno: number; + message: string; + initErrorEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, messageArg: string, filenameArg: string, linenoArg: number): void; +} +declare var ErrorEvent: { + prototype: ErrorEvent; + new(): ErrorEvent; +} + +interface MSStreamReader extends MSBaseReader { + error: DOMError; + readAsArrayBuffer(stream: MSStream, size?: number): void; + readAsBlob(stream: MSStream, size?: number): void; + readAsDataURL(stream: MSStream, size?: number): void; + readAsText(stream: MSStream, encoding?: string, size?: number): void; +} +declare var MSStreamReader: { + prototype: MSStreamReader; + new(): MSStreamReader; +} + +interface MessageChannel { + port2: MessagePort; + port1: MessagePort; +} +declare var MessageChannel: { + prototype: MessageChannel; + new(): MessageChannel; +} + +interface DOMError { + name: string; + toString(): string; +} +declare var DOMError: { + prototype: DOMError; + new(): DOMError; +} + +interface CloseEvent extends Event { + wasClean: boolean; + reason: string; + code: number; + initCloseEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, wasCleanArg: boolean, codeArg: number, reasonArg: string): void; +} +declare var CloseEvent: { + prototype: CloseEvent; + new(): CloseEvent; +} + +interface WebSocket extends EventTarget { + protocol: string; + readyState: number; + bufferedAmount: number; + onopen: (ev: Event) => any; + extensions: string; + onmessage: (ev: MessageEvent) => any; + onclose: (ev: CloseEvent) => any; + onerror: (ev: ErrorEvent) => any; + binaryType: string; + url: string; + close(code?: number, reason?: string): void; + send(data: any): void; + OPEN: number; + CLOSING: number; + CONNECTING: number; + CLOSED: number; + addEventListener(type: "open", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; + addEventListener(type: "close", listener: (ev: CloseEvent) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var WebSocket: { + prototype: WebSocket; + new(url: string, protocols?: string): WebSocket; + new(url: string, protocols?: string[]): WebSocket; + OPEN: number; + CLOSING: number; + CONNECTING: number; + CLOSED: number; +} + +interface ProgressEvent extends Event { + loaded: number; + lengthComputable: boolean; + total: number; + initProgressEvent(typeArg: string, canBubbleArg: boolean, cancelableArg: boolean, lengthComputableArg: boolean, loadedArg: number, totalArg: number): void; +} +declare var ProgressEvent: { + prototype: ProgressEvent; + new(): ProgressEvent; +} + +interface IDBObjectStore { + indexNames: DOMStringList; + name: string; + transaction: IDBTransaction; + keyPath: string; + count(key?: any): IDBRequest; + add(value: any, key?: any): IDBRequest; + clear(): IDBRequest; + createIndex(name: string, keyPath: string, optionalParameters?: any): IDBIndex; + put(value: any, key?: any): IDBRequest; + openCursor(range?: any, direction?: string): IDBRequest; + deleteIndex(indexName: string): void; + index(name: string): IDBIndex; + get(key: any): IDBRequest; + delete(key: any): IDBRequest; +} +declare var IDBObjectStore: { + prototype: IDBObjectStore; + new(): IDBObjectStore; +} + +interface IDBVersionChangeEvent extends Event { + newVersion: number; + oldVersion: number; +} +declare var IDBVersionChangeEvent: { + prototype: IDBVersionChangeEvent; + new(): IDBVersionChangeEvent; +} + +interface IDBIndex { + unique: boolean; + name: string; + keyPath: string; + objectStore: IDBObjectStore; + count(key?: any): IDBRequest; + getKey(key: any): IDBRequest; + openKeyCursor(range?: IDBKeyRange, direction?: string): IDBRequest; + get(key: any): IDBRequest; + openCursor(range?: IDBKeyRange, direction?: string): IDBRequest; +} +declare var IDBIndex: { + prototype: IDBIndex; + new(): IDBIndex; +} + +interface FileList { + length: number; + item(index: number): File; + [index: number]: File; +} +declare var FileList: { + prototype: FileList; + new(): FileList; +} + +interface IDBCursor { + source: any; + direction: string; + key: any; + primaryKey: any; + advance(count: number): void; + delete(): IDBRequest; + continue(key?: any): void; + update(value: any): IDBRequest; + PREV: string; + PREV_NO_DUPLICATE: string; + NEXT: string; + NEXT_NO_DUPLICATE: string; +} +declare var IDBCursor: { + prototype: IDBCursor; + new(): IDBCursor; + PREV: string; + PREV_NO_DUPLICATE: string; + NEXT: string; + NEXT_NO_DUPLICATE: string; +} + +interface File extends Blob { + lastModifiedDate: any; + name: string; +} +declare var File: { + prototype: File; + new(): File; +} + +interface IDBCursorWithValue extends IDBCursor { + value: any; +} +declare var IDBCursorWithValue: { + prototype: IDBCursorWithValue; + new(): IDBCursorWithValue; +} + +interface XMLHttpRequestEventTarget extends EventTarget { + onprogress: (ev: ProgressEvent) => any; + onerror: (ev: ErrorEvent) => any; + onload: (ev: Event) => any; + ontimeout: (ev: Event) => any; + onabort: (ev: any) => any; + onloadstart: (ev: Event) => any; + onloadend: (ev: ProgressEvent) => any; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "timeout", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadend", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var XMLHttpRequestEventTarget: { + prototype: XMLHttpRequestEventTarget; + new(): XMLHttpRequestEventTarget; +} + +interface MSBaseReader extends EventTarget { + onprogress: (ev: ProgressEvent) => any; + readyState: number; + onabort: (ev: any) => any; + onloadend: (ev: ProgressEvent) => any; + onerror: (ev: ErrorEvent) => any; + onload: (ev: Event) => any; + onloadstart: (ev: Event) => any; + result: any; + abort(): void; + LOADING: number; + EMPTY: number; + DONE: number; + addEventListener(type: "progress", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: "loadend", listener: (ev: ProgressEvent) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "load", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "loadstart", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} + +interface IDBKeyRange { + upper: any; + upperOpen: boolean; + lower: any; + lowerOpen: boolean; +} +declare var IDBKeyRange: { + prototype: IDBKeyRange; + new(): IDBKeyRange; + bound(lower: any, upper: any, lowerOpen?: boolean, upperOpen?: boolean): IDBKeyRange; + only(value: any): IDBKeyRange; + lowerBound(bound: any, open?: boolean): IDBKeyRange; + upperBound(bound: any, open?: boolean): IDBKeyRange; +} + +interface WindowConsole { + console: Console; +} + +interface IDBTransaction extends EventTarget { + oncomplete: (ev: Event) => any; + db: IDBDatabase; + mode: string; + error: DOMError; + onerror: (ev: ErrorEvent) => any; + onabort: (ev: any) => any; + abort(): void; + objectStore(name: string): IDBObjectStore; + READ_ONLY: string; + VERSION_CHANGE: string; + READ_WRITE: string; + addEventListener(type: "complete", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var IDBTransaction: { + prototype: IDBTransaction; + new(): IDBTransaction; + READ_ONLY: string; + VERSION_CHANGE: string; + READ_WRITE: string; +} + +interface WindowBase64 { + btoa(rawString: string): string; + atob(encodedString: string): string; +} + +interface IDBDatabase extends EventTarget { + version: string; + name: string; + objectStoreNames: DOMStringList; + onerror: (ev: ErrorEvent) => any; + onabort: (ev: any) => any; + createObjectStore(name: string, optionalParameters?: any): IDBObjectStore; + close(): void; + transaction(storeNames: any, mode?: string): IDBTransaction; + deleteObjectStore(name: string): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "abort", listener: (ev: any) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var IDBDatabase: { + prototype: IDBDatabase; + new(): IDBDatabase; +} + +interface DOMStringList { + length: number; + contains(str: string): boolean; + item(index: number): string; + [index: number]: string; +} +declare var DOMStringList: { + prototype: DOMStringList; + new(): DOMStringList; +} + +interface IDBOpenDBRequest extends IDBRequest { + onupgradeneeded: (ev: IDBVersionChangeEvent) => any; + onblocked: (ev: Event) => any; + addEventListener(type: "success", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "upgradeneeded", listener: (ev: IDBVersionChangeEvent) => any, useCapture?: boolean): void; + addEventListener(type: "blocked", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var IDBOpenDBRequest: { + prototype: IDBOpenDBRequest; + new(): IDBOpenDBRequest; +} + +interface MSUnsafeFunctionCallback { + (): any; +} + +interface IDBRequest extends EventTarget { + source: any; + onsuccess: (ev: Event) => any; + error: DOMError; + transaction: IDBTransaction; + onerror: (ev: ErrorEvent) => any; + readyState: string; + result: any; + addEventListener(type: "success", listener: (ev: Event) => any, useCapture?: boolean): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var IDBRequest: { + prototype: IDBRequest; + new(): IDBRequest; +} + +interface MessagePort extends EventTarget { + onmessage: (ev: MessageEvent) => any; + close(): void; + postMessage(message?: any, ports?: any): void; + start(): void; + addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var MessagePort: { + prototype: MessagePort; + new(): MessagePort; +} + +interface FileReader extends MSBaseReader { + error: DOMError; + readAsArrayBuffer(blob: Blob): void; + readAsDataURL(blob: Blob): void; + readAsText(blob: Blob, encoding?: string): void; +} +declare var FileReader: { + prototype: FileReader; + new(): FileReader; +} + +interface Blob { + type: string; + size: number; + msDetachStream(): any; + slice(start?: number, end?: number, contentType?: string): Blob; + msClose(): void; +} +declare var Blob: { + prototype: Blob; + new(): Blob; +} + +interface MSStream { + type: string; + msDetachStream(): any; + msClose(): void; +} +declare var MSStream: { + prototype: MSStream; + new(): MSStream; +} + +interface MSBlobBuilder { + append(data: any, endings?: string): void; + getBlob(contentType?: string): Blob; +} +declare var MSBlobBuilder: { + prototype: MSBlobBuilder; + new(): MSBlobBuilder; +} + +interface IDBFactory { + open(name: string, version?: number): IDBOpenDBRequest; + cmp(first: any, second: any): number; + deleteDatabase(name: string): IDBOpenDBRequest; +} +declare var IDBFactory: { + prototype: IDBFactory; + new(): IDBFactory; +} + +interface AbstractWorker extends EventTarget { + onerror: (ev: ErrorEvent) => any; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} + +interface MSApp { + createFileFromStorageFile(storageFile: any): File; + createBlobFromRandomAccessStream(type: string, seeker: any): Blob; + createStreamFromInputStream(type: string, inputStream: any): MSStream; + terminateApp(exceptionObject: any): void; + createDataPackage(object: any): any; + execUnsafeLocalFunction(unsafeFunction: MSUnsafeFunctionCallback): any; + getHtmlPrintDocumentSource(htmlDoc: any): any; + addPublicLocalApplicationUri(uri: string): void; + createDataPackageFromSelection(): any; + getViewOpener(): MSAppView; + suppressSubdownloadCredentialPrompts(suppress: boolean): void; + execAsyncAtPriority(asynchronousCallback: MSExecAtPriorityFunctionCallback, priority: string, ...args: any[]): void; + isTaskScheduledAtPriorityOrHigher(priority: string): boolean; + execAtPriority(synchronousCallback: MSExecAtPriorityFunctionCallback, priority: string, ...args: any[]): any; + createNewView(uri: string): MSAppView; + getCurrentPriority(): string; + NORMAL: string; + HIGH: string; + IDLE: string; + CURRENT: string; +} +declare var MSApp: MSApp; + +interface Worker extends AbstractWorker { + onmessage: (ev: MessageEvent) => any; + postMessage(message: any, ports?: any): void; + terminate(): void; + addEventListener(type: "error", listener: (ev: ErrorEvent) => any, useCapture?: boolean): void; + addEventListener(type: "message", listener: (ev: MessageEvent) => any, useCapture?: boolean): void; + addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +} +declare var Worker: { + prototype: Worker; + new(stringUrl: string): Worker; +} + +interface MSExecAtPriorityFunctionCallback { + (...args: any[]): any; +} + +interface MSAppView { + viewId: number; + close(): void; + postMessage(message: any, targetOrigin: string, ports?: any): void; +} +declare var MSAppView: { + prototype: MSAppView; + new(): MSAppView; +} + +interface WorkerLocation { + hash: string; + protocol: string; + search: string; + href: string; + hostname: string; + port: string; + pathname: string; + host: string; + toString(): string; +} +declare var WorkerLocation: { + prototype: WorkerLocation; + new(): WorkerLocation; +} + +interface FileReaderSync { + readAsArrayBuffer(blob: Blob): any; + readAsDataURL(blob: Blob): string; + readAsText(blob: Blob, encoding?: string): string; +} +declare var FileReaderSync: { + prototype: FileReaderSync; + new(): FileReaderSync; +} + +interface WorkerGlobalScope extends EventTarget, DedicatedWorkerGlobalScope, WindowConsole, WorkerUtils { + location: WorkerLocation; + self: WorkerGlobalScope; + onerror: (ev: ErrorEvent) => any; + msWriteProfilerMark(profilerMarkName: string): void; + close(): void; + toString(): string; +} +declare var WorkerGlobalScope: { + prototype: WorkerGlobalScope; + new(): WorkerGlobalScope; +} + +interface DedicatedWorkerGlobalScope { + onmessage: (ev: MessageEvent) => any; + postMessage(data: any): void; +} + +interface WorkerNavigator extends NavigatorID, NavigatorOnLine { +} +declare var WorkerNavigator: { + prototype: WorkerNavigator; + new(): WorkerNavigator; +} + +interface WorkerUtils extends WindowBase64 { + navigator: WorkerNavigator; + msIndexedDB: IDBFactory; + indexedDB: IDBFactory; + clearImmediate(handle: number): void; + importScripts(...urls: string[]): void; + clearTimeout(handle: number): void; + setImmediate(handler: any, ...args: any[]): number; + setTimeout(handler: any, timeout?: any, ...args: any[]): number; + clearInterval(handle: number): void; + setInterval(handler: any, timeout?: any, ...args: any[]): number; +} + + +declare var location: WorkerLocation; +declare var self: WorkerGlobalScope; +declare var onerror: (ev: ErrorEvent) => any; +declare function msWriteProfilerMark(profilerMarkName: string): void; +declare function close(): void; +declare function toString(): string; +declare function removeEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +declare function addEventListener(type: string, listener: EventListener, useCapture?: boolean): void; +declare function dispatchEvent(evt: Event): boolean; +declare var onmessage: (ev: MessageEvent) => any; +declare function postMessage(data: any): void; +declare var console: Console; +declare var navigator: WorkerNavigator; +declare var msIndexedDB: IDBFactory; +declare var indexedDB: IDBFactory; +declare function clearImmediate(handle: number): void; +declare function importScripts(...urls: string[]): void; +declare function clearTimeout(handle: number): void; +declare function setImmediate(handler: any, ...args: any[]): number; +declare function setTimeout(handler: any, timeout?: any, ...args: any[]): number; +declare function clearInterval(handle: number): void; +declare function setInterval(handler: any, timeout?: any, ...args: any[]): number; +declare function btoa(rawString: string): string; +declare function atob(encodedString: string): string; diff --git a/bin/services.js b/bin/services.js new file mode 100644 index 0000000000000..b6dd64e590def --- /dev/null +++ b/bin/services.js @@ -0,0 +1,11536 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + +var ts; +(function (ts) { + ts.Diagnostics = { + Unknown_compiler_option_0: { code: 6001, category: 1 /* Error */, key: "Unknown compiler option '{0}'." }, + File_0_not_found: { code: 6002, category: 1 /* Error */, key: "File '{0}' not found." }, + File_0_must_have_extension_ts_or_d_ts: { code: 6003, category: 1 /* Error */, key: "File '{0}' must have extension '.ts' or '.d.ts'." }, + Unrecognized_escape_sequence: { code: 1000, category: 1 /* Error */, key: "Unrecognized escape sequence." }, + Unexpected_character_0: { code: 1001, category: 1 /* Error */, key: "Unexpected character {0}." }, + Missing_close_quote_character: { code: 1002, category: 1 /* Error */, key: "Missing close quote character." }, + Identifier_expected: { code: -9999999, category: 1 /* Error */, key: "Identifier expected." }, + _0_keyword_expected: { code: 1004, category: 1 /* Error */, key: "'{0}' keyword expected." }, + _0_expected: { code: -9999999, category: 1 /* Error */, key: "'{0}' expected." }, + Identifier_expected_0_is_a_keyword: { code: 1006, category: 1 /* Error */, key: "Identifier expected; '{0}' is a keyword." }, + Automatic_semicolon_insertion_not_allowed: { code: 1007, category: 1 /* Error */, key: "Automatic semicolon insertion not allowed." }, + Unexpected_token_0_expected: { code: 1008, category: 1 /* Error */, key: "Unexpected token; '{0}' expected." }, + Trailing_comma_not_allowed: { code: 1009, category: 1 /* Error */, key: "Trailing comma not allowed." }, + Asterisk_Slash_expected: { code: 1010, category: 1 /* Error */, key: "'*/' expected." }, + public_or_private_modifier_must_precede_static: { code: 1011, category: 1 /* Error */, key: "'public' or 'private' modifier must precede 'static'." }, + Unexpected_token: { code: 1012, category: 1 /* Error */, key: "Unexpected token." }, + Catch_clause_parameter_cannot_have_a_type_annotation: { code: 1013, category: 1 /* Error */, key: "Catch clause parameter cannot have a type annotation." }, + A_rest_parameter_must_be_last_in_a_parameter_list: { code: 1014, category: 1 /* Error */, key: "A rest parameter must be last in a parameter list." }, + Parameter_cannot_have_question_mark_and_initializer: { code: 1015, category: 1 /* Error */, key: "Parameter cannot have question mark and initializer." }, + A_required_parameter_cannot_follow_an_optional_parameter: { code: 1016, category: 1 /* Error */, key: "A required parameter cannot follow an optional parameter." }, + An_index_signature_cannot_have_a_rest_parameter: { code: 1017, category: 1 /* Error */, key: "An index signature cannot have a rest parameter." }, + An_index_signature_parameter_cannot_have_an_accessibility_modifier: { code: 1018, category: 1 /* Error */, key: "An index signature parameter cannot have an accessibility modifier." }, + An_index_signature_parameter_cannot_have_a_question_mark: { code: 1019, category: 1 /* Error */, key: "An index signature parameter cannot have a question mark." }, + An_index_signature_parameter_cannot_have_an_initializer: { code: 1020, category: 1 /* Error */, key: "An index signature parameter cannot have an initializer." }, + An_index_signature_must_have_a_type_annotation: { code: 1021, category: 1 /* Error */, key: "An index signature must have a type annotation." }, + An_index_signature_parameter_must_have_a_type_annotation: { code: 1022, category: 1 /* Error */, key: "An index signature parameter must have a type annotation." }, + An_index_signature_parameter_type_must_be_string_or_number: { code: 1023, category: 1 /* Error */, key: "An index signature parameter type must be 'string' or 'number'." }, + extends_clause_already_seen: { code: 1024, category: 1 /* Error */, key: "'extends' clause already seen." }, + extends_clause_must_precede_implements_clause: { code: 1025, category: 1 /* Error */, key: "'extends' clause must precede 'implements' clause." }, + Classes_can_only_extend_a_single_class: { code: 1026, category: 1 /* Error */, key: "Classes can only extend a single class." }, + implements_clause_already_seen: { code: 1027, category: 1 /* Error */, key: "'implements' clause already seen." }, + Accessibility_modifier_already_seen: { code: 1028, category: 1 /* Error */, key: "Accessibility modifier already seen." }, + _0_modifier_must_precede_1_modifier: { code: 1029, category: 1 /* Error */, key: "'{0}' modifier must precede '{1}' modifier." }, + _0_modifier_already_seen: { code: 1030, category: 1 /* Error */, key: "'{0}' modifier already seen." }, + _0_modifier_cannot_appear_on_a_class_element: { code: 1031, category: 1 /* Error */, key: "'{0}' modifier cannot appear on a class element." }, + Interface_declaration_cannot_have_implements_clause: { code: 1032, category: 1 /* Error */, key: "Interface declaration cannot have 'implements' clause." }, + super_invocation_cannot_have_type_arguments: { code: 1034, category: 1 /* Error */, key: "'super' invocation cannot have type arguments." }, + Only_ambient_modules_can_use_quoted_names: { code: 1035, category: 1 /* Error */, key: "Only ambient modules can use quoted names." }, + Statements_are_not_allowed_in_ambient_contexts: { code: 1036, category: 1 /* Error */, key: "Statements are not allowed in ambient contexts." }, + A_function_implementation_cannot_be_declared_in_an_ambient_context: { code: 1037, category: 1 /* Error */, key: "A function implementation cannot be declared in an ambient context." }, + A_declare_modifier_cannot_be_used_in_an_already_ambient_context: { code: 1038, category: 1 /* Error */, key: "A 'declare' modifier cannot be used in an already ambient context." }, + Initializers_are_not_allowed_in_ambient_contexts: { code: 1039, category: 1 /* Error */, key: "Initializers are not allowed in ambient contexts." }, + _0_modifier_cannot_appear_on_a_module_element: { code: 1044, category: 1 /* Error */, key: "'{0}' modifier cannot appear on a module element." }, + A_declare_modifier_cannot_be_used_with_an_interface_declaration: { code: 1045, category: 1 /* Error */, key: "A 'declare' modifier cannot be used with an interface declaration." }, + A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file: { code: 1046, category: 1 /* Error */, key: "A 'declare' modifier is required for a top level declaration in a .d.ts file." }, + A_rest_parameter_cannot_be_optional: { code: 1047, category: 1 /* Error */, key: "A rest parameter cannot be optional." }, + A_rest_parameter_cannot_have_an_initializer: { code: 1048, category: 1 /* Error */, key: "A rest parameter cannot have an initializer." }, + A_set_accessor_must_have_exactly_one_parameter: { code: 1049, category: 1 /* Error */, key: "A 'set' accessor must have exactly one parameter." }, + A_set_accessor_cannot_have_an_optional_parameter: { code: 1051, category: 1 /* Error */, key: "A 'set' accessor cannot have an optional parameter." }, + A_set_accessor_parameter_cannot_have_an_initializer: { code: 1052, category: 1 /* Error */, key: "A 'set' accessor parameter cannot have an initializer." }, + A_set_accessor_cannot_have_rest_parameter: { code: 1053, category: 1 /* Error */, key: "A 'set' accessor cannot have rest parameter." }, + A_get_accessor_cannot_have_parameters: { code: 1054, category: 1 /* Error */, key: "A 'get' accessor cannot have parameters." }, + Modifiers_cannot_appear_here: { code: 1055, category: 1 /* Error */, key: "Modifiers cannot appear here." }, + Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher: { code: 1056, category: 1 /* Error */, key: "Accessors are only available when targeting ECMAScript 5 and higher." }, + Enum_member_must_have_initializer: { code: -9999999, category: 1 /* Error */, key: "Enum member must have initializer." }, + An_export_assignment_cannot_be_used_in_an_internal_module: { code: 1063, category: 1 /* Error */, key: "An export assignment cannot be used in an internal module." }, + Ambient_enum_elements_can_only_have_integer_literal_initializers: { code: 1066, category: 1 /* Error */, key: "Ambient enum elements can only have integer literal initializers." }, + module_class_interface_enum_import_or_statement: { code: 1067, category: 3 /* NoPrefix */, key: "module, class, interface, enum, import or statement" }, + constructor_function_accessor_or_variable: { code: 1068, category: 3 /* NoPrefix */, key: "constructor, function, accessor or variable" }, + statement: { code: 1069, category: 3 /* NoPrefix */, key: "statement" }, + case_or_default_clause: { code: 1070, category: 3 /* NoPrefix */, key: "case or default clause" }, + identifier: { code: 1071, category: 3 /* NoPrefix */, key: "identifier" }, + call_construct_index_property_or_function_signature: { code: 1072, category: 3 /* NoPrefix */, key: "call, construct, index, property or function signature" }, + expression: { code: 1073, category: 3 /* NoPrefix */, key: "expression" }, + type_name: { code: 1074, category: 3 /* NoPrefix */, key: "type name" }, + property_or_accessor: { code: 1075, category: 3 /* NoPrefix */, key: "property or accessor" }, + parameter: { code: 1076, category: 3 /* NoPrefix */, key: "parameter" }, + type: { code: 1077, category: 3 /* NoPrefix */, key: "type" }, + type_parameter: { code: 1078, category: 3 /* NoPrefix */, key: "type parameter" }, + A_declare_modifier_cannot_be_used_with_an_import_declaration: { code: 1079, category: 1 /* Error */, key: "A 'declare' modifier cannot be used with an import declaration." }, + Invalid_reference_directive_syntax: { code: 1084, category: 1 /* Error */, key: "Invalid 'reference' directive syntax." }, + Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher: { code: 1085, category: 1 /* Error */, key: "Octal literals are not available when targeting ECMAScript 5 and higher." }, + An_accessor_cannot_be_declared_in_an_ambient_context: { code: 1086, category: 1 /* Error */, key: "An accessor cannot be declared in an ambient context." }, + _0_modifier_cannot_appear_on_a_constructor_declaration: { code: 1089, category: 1 /* Error */, key: "'{0}' modifier cannot appear on a constructor declaration." }, + _0_modifier_cannot_appear_on_a_parameter: { code: 1090, category: 1 /* Error */, key: "'{0}' modifier cannot appear on a parameter." }, + Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement: { code: 1091, category: 1 /* Error */, key: "Only a single variable declaration is allowed in a 'for...in' statement." }, + Type_parameters_cannot_appear_on_a_constructor_declaration: { code: 1092, category: 1 /* Error */, key: "Type parameters cannot appear on a constructor declaration." }, + Type_annotation_cannot_appear_on_a_constructor_declaration: { code: 1093, category: 1 /* Error */, key: "Type annotation cannot appear on a constructor declaration." }, + An_accessor_cannot_have_type_parameters: { code: 1094, category: 1 /* Error */, key: "An accessor cannot have type parameters." }, + A_set_accessor_cannot_have_a_return_type_annotation: { code: 1095, category: 1 /* Error */, key: "A 'set' accessor cannot have a return type annotation." }, + An_index_signature_must_have_exactly_one_parameter: { code: 1096, category: 1 /* Error */, key: "An index signature must have exactly one parameter." }, + _0_list_cannot_be_empty: { code: 1097, category: 1 /* Error */, key: "'{0}' list cannot be empty." }, + Type_parameter_list_cannot_be_empty: { code: 1098, category: 1 /* Error */, key: "Type parameter list cannot be empty." }, + Type_argument_list_cannot_be_empty: { code: 1099, category: 1 /* Error */, key: "Type argument list cannot be empty." }, + Invalid_use_of_0_in_strict_mode: { code: 1100, category: 1 /* Error */, key: "Invalid use of '{0}' in strict mode." }, + with_statements_are_not_allowed_in_strict_mode: { code: 1101, category: 1 /* Error */, key: "'with' statements are not allowed in strict mode." }, + delete_cannot_be_called_on_an_identifier_in_strict_mode: { code: 1102, category: 1 /* Error */, key: "'delete' cannot be called on an identifier in strict mode." }, + Invalid_left_hand_side_in_for_in_statement: { code: 1103, category: 1 /* Error */, key: "Invalid left-hand side in 'for...in' statement." }, + continue_statement_can_only_be_used_within_an_enclosing_iteration_statement: { code: 1104, category: 1 /* Error */, key: "'continue' statement can only be used within an enclosing iteration statement." }, + break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement: { code: 1105, category: 1 /* Error */, key: "'break' statement can only be used within an enclosing iteration or switch statement." }, + Jump_target_not_found: { code: 1106, category: 1 /* Error */, key: "Jump target not found." }, + Jump_target_cannot_cross_function_boundary: { code: 1107, category: 1 /* Error */, key: "Jump target cannot cross function boundary." }, + return_statement_must_be_contained_within_a_function_body: { code: 1108, category: 1 /* Error */, key: "'return' statement must be contained within a function body." }, + Expression_expected: { code: -9999999, category: 1 /* Error */, key: "Expression expected." }, + Type_expected: { code: -9999999, category: 1 /* Error */, key: "Type expected." }, + A_constructor_implementation_cannot_be_declared_in_an_ambient_context: { code: 1111, category: 1 /* Error */, key: "A constructor implementation cannot be declared in an ambient context." }, + Duplicate_identifier_0: { code: 2000, category: 1 /* Error */, key: "Duplicate identifier '{0}'." }, + new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead: { code: 2068, category: 1 /* Error */, key: "'new T[]' cannot be used to create an array. Use 'new Array()' instead." }, + Multiple_constructor_implementations_are_not_allowed: { code: 2070, category: 1 /* Error */, key: "Multiple constructor implementations are not allowed." }, + A_class_may_only_implement_another_class_or_interface: { code: 2074, category: 1 /* Error */, key: "A class may only implement another class or interface." }, + get_and_set_accessor_must_have_the_same_type: { code: 2096, category: 1 /* Error */, key: "'get' and 'set' accessor must have the same type." }, + Static_members_cannot_reference_class_type_parameters: { code: 2099, category: 1 /* Error */, key: "Static members cannot reference class type parameters." }, + super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class: { code: 2102, category: 1 /* Error */, key: "'super' property access is permitted only in a constructor, member function, or member accessor of a derived class" }, + The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type: { code: 2112, category: 1 /* Error */, key: "The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type." }, + The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type: { code: 2113, category: 1 /* Error */, key: "The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type." }, + An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type: { code: 2114, category: 1 /* Error */, key: "An arithmetic operand must be of type 'any', 'number' or an enum type." }, + Variable_declarations_of_a_for_statement_cannot_use_a_type_annotation: { code: 2115, category: 1 /* Error */, key: "Variable declarations of a 'for' statement cannot use a type annotation." }, + Variable_declarations_of_a_for_statement_must_be_of_types_string_or_any: { code: 2116, category: 1 /* Error */, key: "Variable declarations of a 'for' statement must be of types 'string' or 'any'." }, + The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter: { code: 2117, category: 1 /* Error */, key: "The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter." }, + The_left_hand_side_of_an_in_expression_must_be_of_types_any_string_or_number: { code: 2118, category: 1 /* Error */, key: "The left-hand side of an 'in' expression must be of types 'any', 'string' or 'number'." }, + The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter: { code: 2119, category: 1 /* Error */, key: "The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter" }, + Getters_must_return_a_value: { code: 2126, category: 1 /* Error */, key: "Getters must return a value." }, + Getter_and_setter_accessors_do_not_agree_in_visibility: { code: 2127, category: 1 /* Error */, key: "Getter and setter accessors do not agree in visibility." }, + Untyped_function_calls_may_not_accept_type_arguments: { code: 2158, category: 1 /* Error */, key: "Untyped function calls may not accept type arguments." }, + The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter: { code: 2120, category: 1 /* Error */, key: "The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter." }, + The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type: { code: 2121, category: 1 /* Error */, key: "The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type." }, + Setters_cannot_return_a_value: { code: 2122, category: 1 /* Error */, key: "Setters cannot return a value." }, + Invalid_left_hand_side_of_assignment_expression: { code: 2130, category: 1 /* Error */, key: "Invalid left-hand side of assignment expression." }, + Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2: { code: 2134, category: 1 /* Error */, key: "Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'." }, + The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_property_or_indexer: { code: 2139, category: 1 /* Error */, key: "The operand of an increment or decrement operator must be a variable, property or indexer." }, + Overload_signatures_must_all_be_public_or_private: { code: 2150, category: 1 /* Error */, key: "Overload signatures must all be public or private." }, + Overload_signatures_must_all_be_exported_or_not_exported: { code: 2151, category: 1 /* Error */, key: "Overload signatures must all be exported or not exported." }, + Overload_signatures_must_all_be_ambient_or_non_ambient: { code: 2152, category: 1 /* Error */, key: "Overload signatures must all be ambient or non-ambient." }, + Overload_signatures_must_all_be_optional_or_required: { code: 2153, category: 1 /* Error */, key: "Overload signatures must all be optional or required." }, + this_cannot_be_referenced_in_constructor_arguments: { code: 2155, category: 1 /* Error */, key: "'this' cannot be referenced in constructor arguments." }, + A_signature_with_an_implementation_cannot_use_a_string_literal_type: { code: 2163, category: 1 /* Error */, key: "A signature with an implementation cannot use a string literal type." }, + Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it: { code: 2190, category: 1 /* Error */, key: "Initializer of parameter '{0}' cannot reference identifier '{1}' declared after it." }, + super_cannot_be_referenced_in_constructor_arguments: { code: 2193, category: 1 /* Error */, key: "'super' cannot be referenced in constructor arguments." }, + Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class: { code: 2194, category: 1 /* Error */, key: "Return type of constructor signature must be assignable to the instance type of the class" }, + Ambient_external_module_declaration_cannot_specify_relative_module_name: { code: 2196, category: 1 /* Error */, key: "Ambient external module declaration cannot specify relative module name." }, + Import_declaration_in_an_ambient_external_module_declaration_cannot_reference_external_module_through_relative_external_module_name: { code: 2197, category: 1 /* Error */, key: "Import declaration in an ambient external module declaration cannot reference external module through relative external module name." }, + Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference: { code: 2205, category: 1 /* Error */, key: "Duplicate identifier '_super'. Compiler uses '_super' to capture base class reference." }, + Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference: { code: 2207, category: 1 /* Error */, key: "Expression resolves to '_super' that compiler uses to capture base class reference." }, + Duplicate_identifier_i_Compiler_uses_i_to_initialize_rest_parameter: { code: 2224, category: 1 /* Error */, key: "Duplicate identifier '_i'. Compiler uses '_i' to initialize rest parameter." }, + Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters: { code: 2225, category: 1 /* Error */, key: "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters." }, + Constraint_of_a_type_parameter_cannot_reference_any_type_parameter_from_the_same_type_parameter_list: { code: 2229, category: 1 /* Error */, key: "Constraint of a type parameter cannot reference any type parameter from the same type parameter list." }, + Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor: { code: 2230, category: 1 /* Error */, key: "Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor." }, + Parameter_0_cannot_be_referenced_in_its_initializer: { code: 2231, category: 1 /* Error */, key: "Parameter '{0}' cannot be referenced in its initializer." }, + Duplicate_string_index_signature: { code: 2232, category: 1 /* Error */, key: "Duplicate string index signature." }, + Duplicate_number_index_signature: { code: 2233, category: 1 /* Error */, key: "Duplicate number index signature." }, + All_declarations_of_an_interface_must_have_identical_type_parameters: { code: 2234, category: 1 /* Error */, key: "All declarations of an interface must have identical type parameters." }, + Expression_resolves_to_variable_declaration_i_that_compiler_uses_to_initialize_rest_parameter: { code: 2235, category: 1 /* Error */, key: "Expression resolves to variable declaration '_i' that compiler uses to initialize rest parameter." }, + Constructor_implementation_expected: { code: 2240, category: 1 /* Error */, key: "Constructor implementation expected." }, + An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements: { code: 2245, category: 1 /* Error */, key: "An export assignment cannot be used in a module with other exported elements." }, + A_parameter_property_is_only_allowed_in_a_constructor_implementation: { code: 2246, category: 1 /* Error */, key: "A parameter property is only allowed in a constructor implementation." }, + Circular_definition_of_import_alias_0: { code: 3000, category: 1 /* Error */, key: "Circular definition of import alias '{0}'." }, + Cannot_find_name_0: { code: 3001, category: 1 /* Error */, key: "Cannot find name '{0}'." }, + Module_0_has_no_exported_member_1: { code: 3002, category: 1 /* Error */, key: "Module '{0}' has no exported member '{1}'." }, + Cannot_find_external_module_0: { code: 3003, category: 1 /* Error */, key: "Cannot find external module '{0}'." }, + A_module_cannot_have_more_than_one_export_assignment: { code: 3004, category: 1 /* Error */, key: "A module cannot have more than one export assignment." }, + Type_0_recursively_references_itself_as_a_base_type: { code: 3005, category: 1 /* Error */, key: "Type '{0}' recursively references itself as a base type." }, + A_class_may_only_extend_another_class: { code: 3006, category: 1 /* Error */, key: "A class may only extend another class." }, + An_interface_may_only_extend_a_class_or_another_interface: { code: 3007, category: 1 /* Error */, key: "An interface may only extend a class or another interface." }, + Generic_type_0_requires_1_type_argument_s: { code: 3008, category: 1 /* Error */, key: "Generic type '{0}' requires {1} type argument(s)." }, + Type_0_is_not_generic: { code: 3009, category: 1 /* Error */, key: "Type '{0}' is not generic." }, + Cannot_find_global_type_0: { code: 3010, category: 1 /* Error */, key: "Cannot find global type '{0}'." }, + Global_type_0_must_be_a_class_or_interface_type: { code: 3011, category: 1 /* Error */, key: "Global type '{0}' must be a class or interface type." }, + Global_type_0_must_have_1_type_parameter_s: { code: 3012, category: 1 /* Error */, key: "Global type '{0}' must have {1} type parameter(s)." }, + this_cannot_be_referenced_in_a_module_body: { code: 3013, category: 1 /* Error */, key: "'this' cannot be referenced in a module body." }, + this_cannot_be_referenced_in_a_static_property_initializer: { code: 3014, category: 1 /* Error */, key: "'this' cannot be referenced in a static property initializer." }, + this_cannot_be_referenced_in_current_location: { code: -9999999, category: 1 /* Error */, key: "'this' cannot be referenced in current location." }, + super_can_only_be_referenced_in_a_derived_class: { code: 3015, category: 1 /* Error */, key: "'super' can only be referenced in a derived class." }, + Property_0_does_not_exist_on_type_1: { code: 3017, category: 1 /* Error */, key: "Property '{0}' does not exist on type '{1}'." }, + An_index_expression_argument_must_be_of_type_string_number_or_any: { code: 3018, category: 1 /* Error */, key: "An index expression argument must be of type 'string', 'number', or 'any'." }, + Type_0_does_not_satisfy_the_constraint_1_Colon: { code: 3019, category: 1 /* Error */, key: "Type '{0}' does not satisfy the constraint '{1}':" }, + Type_0_does_not_satisfy_the_constraint_1: { code: 3019, category: 1 /* Error */, key: "Type '{0}' does not satisfy the constraint '{1}'." }, + Supplied_parameters_do_not_match_any_signature_of_call_target: { code: 3020, category: 1 /* Error */, key: "Supplied parameters do not match any signature of call target." }, + Cannot_invoke_an_expression_whose_type_lacks_a_call_signature: { code: 3021, category: 1 /* Error */, key: "Cannot invoke an expression whose type lacks a call signature." }, + Only_a_void_function_can_be_called_with_the_new_keyword: { code: 3022, category: 1 /* Error */, key: "Only a void function can be called with the 'new' keyword." }, + Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature: { code: 3023, category: 1 /* Error */, key: "Cannot use 'new' with an expression whose type lacks a call or construct signature." }, + Neither_type_0_nor_type_1_is_assignable_to_the_other_Colon: { code: 3024, category: 1 /* Error */, key: "Neither type '{0}' nor type '{1}' is assignable to the other:" }, + Neither_type_0_nor_type_1_is_assignable_to_the_other: { code: 3024, category: 1 /* Error */, key: "Neither type '{0}' nor type '{1}' is assignable to the other." }, + No_best_common_type_exists_among_return_expressions: { code: 3027, category: 1 /* Error */, key: "No best common type exists among return expressions." }, + Operator_0_cannot_be_applied_to_types_1_and_2: { code: 3028, category: 1 /* Error */, key: "Operator '{0}' cannot be applied to types '{1}' and '{2}'." }, + No_best_common_type_exists_between_0_and_1: { code: 3029, category: 1 /* Error */, key: "No best common type exists between '{0}' and '{1}'." }, + No_best_common_type_exists_between_0_1_and_2: { code: 3030, category: 1 /* Error */, key: "No best common type exists between '{0}', '{1}', and '{2}'." }, + A_rest_parameter_must_be_of_an_array_type: { code: 3031, category: 1 /* Error */, key: "A rest parameter must be of an array type." }, + A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation: { code: 3032, category: 1 /* Error */, key: "A parameter initializer is only allowed in a function or constructor implementation." }, + Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature: { code: 3033, category: 1 /* Error */, key: "Specialized overload signature is not assignable to any non-specialized signature." }, + Duplicate_function_implementation: { code: 3034, category: 1 /* Error */, key: "Duplicate function implementation." }, + Overload_signature_is_not_compatible_with_function_implementation: { code: 3035, category: 1 /* Error */, key: "Overload signature is not compatible with function implementation." }, + Index_signature_is_missing_in_type_0: { code: 4003, category: 1 /* Error */, key: "Index signature is missing in type '{0}'." }, + Index_signatures_are_incompatible_Colon: { code: 4004, category: 1 /* Error */, key: "Index signatures are incompatible:" }, + Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function: { code: 4016, category: 3 /* NoPrefix */, key: "Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function." }, + Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function: { code: 4017, category: 3 /* NoPrefix */, key: "Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function." }, + Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor: { code: 4018, category: 3 /* NoPrefix */, key: "Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor." }, + Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property: { code: 4019, category: 3 /* NoPrefix */, key: "Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member property." }, + Cannot_find_the_common_subdirectory_path_for_the_input_files: { code: 5009, category: 1 /* Error */, key: "Cannot find the common subdirectory path for the input files." }, + Could_not_write_file_0: { code: 5033, category: 1 /* Error */, key: "Could not write file '{0}'." }, + Could_not_create_directory_0: { code: 5035, category: 1 /* Error */, key: "Could not create directory '{0}'." }, + Option_mapRoot_cannot_be_specified_without_specifying_sourcemap_option: { code: 5038, category: 1 /* Error */, key: "Option mapRoot cannot be specified without specifying sourcemap option." }, + Option_sourceRoot_cannot_be_specified_without_specifying_sourcemap_option: { code: 5039, category: 1 /* Error */, key: "Option sourceRoot cannot be specified without specifying sourcemap option." }, + Variable_0_implicitly_has_an_1_type: { code: 7005, category: 1 /* Error */, key: "Variable '{0}' implicitly has an '{1}' type." }, + Parameter_0_implicitly_has_an_1_type: { code: 7006, category: 1 /* Error */, key: "Parameter '{0}' implicitly has an '{1}' type." }, + Member_0_implicitly_has_an_1_type: { code: 7008, category: 1 /* Error */, key: "Member '{0}' implicitly has an '{1}' type." }, + new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type: { code: 7009, category: 1 /* Error */, key: "'new' expression, whose target lacks a construct signature, implicitly has an 'any' type." }, + _0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type: { code: 7010, category: 1 /* Error */, key: "'{0}', which lacks return-type annotation, implicitly has an '{1}' return type." }, + Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type: { code: 7011, category: 1 /* Error */, key: "Function expression, which lacks return-type annotation, implicitly has an '{0}' return type." }, + Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: { code: 7013, category: 1 /* Error */, key: "Construct signature, which lacks return-type annotation, implicitly has an 'any' return type." }, + Lambda_function_which_lacks_return_type_annotation_implicitly_has_an_0_return_type: { code: 7014, category: 1 /* Error */, key: "Lambda function, which lacks return-type annotation, implicitly has an '{0}' return type." }, + Array_literal_implicitly_has_an_0_type: { code: 7015, category: 1 /* Error */, key: "Array literal implicitly has an '{0}' type." }, + Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_type_annotation: { code: 7016, category: 1 /* Error */, key: "Property '{0}' implicitly has type 'any', because its 'set' accessor lacks a type annotation." }, + Index_signature_of_object_type_implicitly_has_an_any_type: { code: 7017, category: 1 /* Error */, key: "Index signature of object type implicitly has an 'any' type." }, + Object_literal_s_property_0_implicitly_has_an_1_type: { code: 7018, category: 1 /* Error */, key: "Object literal's property '{0}' implicitly has an '{1}' type." }, + Rest_parameter_0_implicitly_has_an_any_type: { code: 7019, category: 1 /* Error */, key: "Rest parameter '{0}' implicitly has an 'any[]' type." }, + Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: { code: 7020, category: 1 /* Error */, key: "Call signature, which lacks return-type annotation, implicitly has an 'any' return type." }, + variable_declaration_list_cannot_be_empty: { code: -9999999, category: 1 /* Error */, key: "variable declaration list cannot be empty." }, + Digit_expected: { code: -9999999, category: 1 /* Error */, key: "Digit expected." }, + Hexadecimal_digit_expected: { code: -9999999, category: 1 /* Error */, key: "Hexadecimal digit expected." }, + Unexpected_end_of_text: { code: -9999999, category: 1 /* Error */, key: "Unexpected end of text." }, + Unterminated_string_constant: { code: -9999999, category: 1 /* Error */, key: "Unterminated string constant." }, + Invalid_character: { code: -9999999, category: 1 /* Error */, key: "Invalid character." }, + Declaration_or_statement_expected: { code: -9999999, category: 1 /* Error */, key: "Declaration or statement expected." }, + Statement_expected: { code: -9999999, category: 1 /* Error */, key: "Statement expected." }, + case_or_default_expected: { code: -9999999, category: 1 /* Error */, key: "'case' or 'default' expected." }, + Property_or_signature_expected: { code: -9999999, category: 1 /* Error */, key: "Property or signature expected." }, + Property_or_method_expected: { code: -9999999, category: 1 /* Error */, key: "Property or method expected." }, + Enum_member_expected: { code: -9999999, category: 1 /* Error */, key: "Enum member expected." }, + Type_reference_expected: { code: -9999999, category: 1 /* Error */, key: "Type reference expected." }, + Variable_declaration_expected: { code: -9999999, category: 1 /* Error */, key: "Variable declaration expected." }, + Argument_expression_expected: { code: -9999999, category: 1 /* Error */, key: "Argument expression expected." }, + Property_assignment_expected: { code: -9999999, category: 1 /* Error */, key: "Property assignment expected." }, + Expression_or_comma_expected: { code: -9999999, category: 1 /* Error */, key: "Expression or comma expected." }, + Parameter_declaration_expected: { code: -9999999, category: 1 /* Error */, key: "Parameter declaration expected." }, + Type_parameter_declaration_expected: { code: -9999999, category: 1 /* Error */, key: "Type parameter declaration expected." }, + Type_argument_expected: { code: -9999999, category: 1 /* Error */, key: "Type argument expected." }, + String_literal_expected: { code: -9999999, category: 1 /* Error */, key: "String literal expected." }, + not_preceded_by_parameter_list: { code: -9999999, category: 1 /* Error */, key: "'=>' not preceded by parameter list." }, + Invalid_assignment_target: { code: -9999999, category: 1 /* Error */, key: "Invalid assignment target." }, + super_must_be_followed_by_argument_list_or_member_access: { code: -9999999, category: 1 /* Error */, key: "'super' must be followed by argument list or member access." }, + Line_break_not_permitted_here: { code: -9999999, category: 1 /* Error */, key: "Line break not permitted here." }, + catch_or_finally_expected: { code: -9999999, category: 1 /* Error */, key: "'catch' or 'finally' expected." }, + Block_or_expected: { code: -9999999, category: 1 /* Error */, key: "Block or ';' expected." }, + Modifiers_not_permitted_on_index_signature_members: { code: -9999999, category: 1 /* Error */, key: "Modifiers not permitted on index signature members." }, + Class_member_declaration_expected: { code: -9999999, category: 1 /* Error */, key: "Class member declaration expected." }, + Declaration_expected: { code: -9999999, category: 1 /* Error */, key: "Declaration expected." }, + Invalid_reference_comment: { code: -9999999, category: 1 /* Error */, key: "Invalid reference comment." }, + File_0_is_not_an_external_module: { code: -9999999, category: 1 /* Error */, key: "File '{0}' is not an external module." }, + Excessive_stack_depth_comparing_types_0_and_1: { code: -9999999, category: 1 /* Error */, key: "Excessive stack depth comparing types '{0}' and '{1}'." }, + Type_0_is_not_assignable_to_type_1_Colon: { code: -9999999, category: 1 /* Error */, key: "Type '{0}' is not assignable to type '{1}':" }, + Type_0_is_not_assignable_to_type_1: { code: -9999999, category: 1 /* Error */, key: "Type '{0}' is not assignable to type '{1}'." }, + Property_0_is_missing_in_type_1: { code: -9999999, category: 1 /* Error */, key: "Property '{0}' is missing in type '{1}'." }, + Private_property_0_cannot_be_reimplemented: { code: -9999999, category: 1 /* Error */, key: "Private property '{0}' cannot be reimplemented." }, + Required_property_0_cannot_be_reimplemented_with_optional_property_in_1: { code: 2012, category: 1 /* Error */, key: "Required property '{0}' cannot be reimplemented with optional property in '{1}'." }, + Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors: { code: -9999999, category: 1 /* Error */, key: "Super calls are not permitted outside constructors or in nested functions inside constructors" }, + Only_public_methods_of_the_base_class_are_accessible_via_the_super_keyword: { code: -9999999, category: 1 /* Error */, key: "Only public methods of the base class are accessible via the 'super' keyword" }, + A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_or_has_parameter_properties: { code: -9999999, category: 1 /* Error */, key: "A 'super' call must be the first statement in the constructor when a class contains initialized properties or has parameter properties." }, + Constructors_for_derived_classes_must_contain_a_super_call: { code: -9999999, category: 1 /* Error */, key: "Constructors for derived classes must contain a 'super' call." }, + Import_name_cannot_be_0: { code: -9999999, category: 1 /* Error */, key: "Import name cannot be '{0}'" }, + Type_parameter_name_cannot_be_0: { code: -9999999, category: 1 /* Error */, key: "Type parameter name cannot be '{0}'" }, + Class_name_cannot_be_0: { code: -9999999, category: 1 /* Error */, key: "Class name cannot be '{0}'" }, + Interface_name_cannot_be_0: { code: -9999999, category: 1 /* Error */, key: "Interface name cannot be '{0}'" }, + Enum_name_cannot_be_0: { code: -9999999, category: 1 /* Error */, key: "Enum name cannot be '{0}'" }, + Types_of_property_0_are_incompatible_Colon: { code: -9999999, category: 1 /* Error */, key: "Types of property '{0}' are incompatible:" }, + Types_of_parameters_0_and_1_are_incompatible_Colon: { code: -9999999, category: 1 /* Error */, key: "Types of parameters '{0}' and '{1}' are incompatible:" }, + Unknown_identifier_0: { code: -9999999, category: 1 /* Error */, key: "Unknown identifier '{0}'." }, + Property_0_is_inaccessible: { code: -9999999, category: 1 /* Error */, key: "Property '{0}' is inaccessible." }, + Function_implementation_expected: { code: -9999999, category: 1 /* Error */, key: "Function implementation expected." }, + Statements_are_not_allowed_in_declaration_contexts: { code: -9999999, category: 1 /* Error */, key: "Statements are not allowed in declaration contexts." }, + Initializers_are_not_allowed_in_declaration_contexts: { code: -9999999, category: 1 /* Error */, key: "Initializers are not allowed in declaration contexts." }, + return_statement_has_no_containing_function: { code: -9999999, category: 1 /* Error */, key: "'return' statement has no containing function." }, + Property_0_of_type_1_is_not_assignable_to_string_index_type_2: { code: -9999999, category: 1 /* Error */, key: "Property '{0}' of type '{1}' is not assignable to string index type '{2}'." }, + Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2: { code: -9999999, category: 1 /* Error */, key: "Property '{0}' of type '{1}' is not assignable to numeric index type '{2}'." }, + Numeric_index_type_0_is_not_assignable_to_string_index_type_1: { code: -9999999, category: 1 /* Error */, key: "Numeric index type '{0}' is not assignable to string index type '{1}'." }, + Class_0_incorrectly_extends_base_class_1_Colon: { code: -9999999, category: 1 /* Error */, key: "Class '{0}' incorrectly extends base class '{1}':" }, + Class_0_incorrectly_extends_base_class_1: { code: -9999999, category: 1 /* Error */, key: "Class '{0}' incorrectly extends base class '{1}'." }, + Class_static_side_0_incorrectly_extends_base_class_static_side_1_Colon: { code: -9999999, category: 1 /* Error */, key: "Class static side '{0}' incorrectly extends base class static side '{1}':" }, + Class_static_side_0_incorrectly_extends_base_class_static_side_1: { code: -9999999, category: 1 /* Error */, key: "Class static side '{0}' incorrectly extends base class static side '{1}'." }, + Type_name_0_in_extends_clause_does_not_reference_constructor_function_for_0: { code: -9999999, category: 1 /* Error */, key: "Type name '{0}' in extends clause does not reference constructor function for '{0}'." }, + Class_0_incorrectly_implements_interface_1_Colon: { code: -9999999, category: 1 /* Error */, key: "Class '{0}' incorrectly implements interface '{1}':" }, + Class_0_incorrectly_implements_interface_1: { code: -9999999, category: 1 /* Error */, key: "Class '{0}' incorrectly implements interface '{1}'." }, + Interface_0_incorrectly_extends_interface_1_Colon: { code: -9999999, category: 1 /* Error */, key: "Interface '{0}' incorrectly extends interface '{1}':" }, + Interface_0_incorrectly_extends_interface_1: { code: -9999999, category: 1 /* Error */, key: "Interface '{0}' incorrectly extends interface '{1}'." }, + In_an_enum_declaration_context_initializer_must_be_a_number_literal: { code: -9999999, category: 1 /* Error */, key: "In an enum declaration context initializer must be a number literal." }, + Ambient_external_modules_require_a_declare_modifier: { code: -9999999, category: 1 /* Error */, key: "Ambient external modules require a 'declare' modifier." }, + Ambient_external_modules_cannot_be_nested_in_other_modules: { code: -9999999, category: 1 /* Error */, key: "Ambient external modules cannot be nested in other modules." }, + Import_declarations_in_an_internal_module_cannot_reference_an_external_module: { code: -9999999, category: 1 /* Error */, key: "Import declarations in an internal module cannot reference an external module." }, + Cannot_compile_external_modules_unless_the_module_flag_is_provided: { code: -9999999, category: 1 /* Error */, key: "Cannot compile external modules unless the '--module' flag is provided." }, + Import_declaration_conflicts_with_local_declaration_of_0: { code: -9999999, category: 1 /* Error */, key: "Import declaration conflicts with local declaration of '{0}'" }, + Argument_for_module_option_must_be_commonjs_or_amd: { code: -9999999, category: 1 /* Error */, key: "Argument for '--module' option must be 'commonjs' or 'amd'." }, + Argument_for_target_option_must_be_es3_or_es5: { code: -9999999, category: 1 /* Error */, key: "Argument for '--target' option must be 'es3' or 'es5'." }, + Compiler_option_0_expects_an_argument: { code: -9999999, category: 1 /* Error */, key: "Compiler option '{0}' expects an argument." }, + Unterminated_quoted_string_in_response_file_0: { code: -9999999, category: 1 /* Error */, key: "Unterminated quoted string in response file '{0}'." }, + Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1: { code: -9999999, category: 1 /* Error */, key: "Locale must be of the form or -. For example '{0}' or '{1}'." }, + Unsupported_locale_0: { code: -9999999, category: 1 /* Error */, key: "Unsupported locale {0}." }, + Unable_to_open_file_0: { code: -9999999, category: 1 /* Error */, key: "Unable to open file {0}." }, + Corrupted_locale_file_0: { code: -9999999, category: 1 /* Error */, key: "Corrupted locale file {0}." }, + No_input_files_specified: { code: -9999999, category: 1 /* Error */, key: "No input files specified." } + }; +})(ts || (ts = {})); +var ts; +(function (ts) { + var textToToken = { + "any": 101 /* AnyKeyword */, + "boolean": 102 /* BooleanKeyword */, + "break": 56 /* BreakKeyword */, + "case": 57 /* CaseKeyword */, + "catch": 58 /* CatchKeyword */, + "class": 59 /* ClassKeyword */, + "continue": 61 /* ContinueKeyword */, + "const": 60 /* ConstKeyword */, + "constructor": 103 /* ConstructorKeyword */, + "debugger": 62 /* DebuggerKeyword */, + "declare": 104 /* DeclareKeyword */, + "default": 63 /* DefaultKeyword */, + "delete": 64 /* DeleteKeyword */, + "do": 65 /* DoKeyword */, + "else": 66 /* ElseKeyword */, + "enum": 67 /* EnumKeyword */, + "export": 68 /* ExportKeyword */, + "extends": 69 /* ExtendsKeyword */, + "false": 70 /* FalseKeyword */, + "finally": 71 /* FinallyKeyword */, + "for": 72 /* ForKeyword */, + "function": 73 /* FunctionKeyword */, + "get": 105 /* GetKeyword */, + "if": 74 /* IfKeyword */, + "implements": 92 /* ImplementsKeyword */, + "import": 75 /* ImportKeyword */, + "in": 76 /* InKeyword */, + "instanceof": 77 /* InstanceOfKeyword */, + "interface": 93 /* InterfaceKeyword */, + "let": 94 /* LetKeyword */, + "module": 106 /* ModuleKeyword */, + "new": 78 /* NewKeyword */, + "null": 79 /* NullKeyword */, + "number": 108 /* NumberKeyword */, + "package": 95 /* PackageKeyword */, + "private": 96 /* PrivateKeyword */, + "protected": 97 /* ProtectedKeyword */, + "public": 98 /* PublicKeyword */, + "require": 107 /* RequireKeyword */, + "return": 80 /* ReturnKeyword */, + "set": 109 /* SetKeyword */, + "static": 99 /* StaticKeyword */, + "string": 110 /* StringKeyword */, + "super": 81 /* SuperKeyword */, + "switch": 82 /* SwitchKeyword */, + "this": 83 /* ThisKeyword */, + "throw": 84 /* ThrowKeyword */, + "true": 85 /* TrueKeyword */, + "try": 86 /* TryKeyword */, + "typeof": 87 /* TypeOfKeyword */, + "var": 88 /* VarKeyword */, + "void": 89 /* VoidKeyword */, + "while": 90 /* WhileKeyword */, + "with": 91 /* WithKeyword */, + "yield": 100 /* YieldKeyword */, + "{": 5 /* OpenBraceToken */, + "}": 6 /* CloseBraceToken */, + "(": 7 /* OpenParenToken */, + ")": 8 /* CloseParenToken */, + "[": 9 /* OpenBracketToken */, + "]": 10 /* CloseBracketToken */, + ".": 11 /* DotToken */, + "...": 12 /* DotDotDotToken */, + ";": 13 /* SemicolonToken */, + ",": 14 /* CommaToken */, + "<": 15 /* LessThanToken */, + ">": 16 /* GreaterThanToken */, + "<=": 17 /* LessThanEqualsToken */, + ">=": 18 /* GreaterThanEqualsToken */, + "==": 19 /* EqualsEqualsToken */, + "!=": 20 /* ExclamationEqualsToken */, + "===": 21 /* EqualsEqualsEqualsToken */, + "!==": 22 /* ExclamationEqualsEqualsToken */, + "=>": 23 /* EqualsGreaterThanToken */, + "+": 24 /* PlusToken */, + "-": 25 /* MinusToken */, + "*": 26 /* AsteriskToken */, + "/": 27 /* SlashToken */, + "%": 28 /* PercentToken */, + "++": 29 /* PlusPlusToken */, + "--": 30 /* MinusMinusToken */, + "<<": 31 /* LessThanLessThanToken */, + ">>": 32 /* GreaterThanGreaterThanToken */, + ">>>": 33 /* GreaterThanGreaterThanGreaterThanToken */, + "&": 34 /* AmpersandToken */, + "|": 35 /* BarToken */, + "^": 36 /* CaretToken */, + "!": 37 /* ExclamationToken */, + "~": 38 /* TildeToken */, + "&&": 39 /* AmpersandAmpersandToken */, + "||": 40 /* BarBarToken */, + "?": 41 /* QuestionToken */, + ":": 42 /* ColonToken */, + "=": 43 /* EqualsToken */, + "+=": 44 /* PlusEqualsToken */, + "-=": 45 /* MinusEqualsToken */, + "*=": 46 /* AsteriskEqualsToken */, + "/=": 47 /* SlashEqualsToken */, + "%=": 48 /* PercentEqualsToken */, + "<<=": 49 /* LessThanLessThanEqualsToken */, + ">>=": 50 /* GreaterThanGreaterThanEqualsToken */, + ">>>=": 51 /* GreaterThanGreaterThanGreaterThanEqualsToken */, + "&=": 52 /* AmpersandEqualsToken */, + "|=": 53 /* BarEqualsToken */, + "^=": 54 /* CaretEqualsToken */ + }; + var unicodeES3IdentifierStart = [170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 543, 546, 563, 592, 685, 688, 696, 699, 705, 720, 721, 736, 740, 750, 750, 890, 890, 902, 902, 904, 906, 908, 908, 910, 929, 931, 974, 976, 983, 986, 1011, 1024, 1153, 1164, 1220, 1223, 1224, 1227, 1228, 1232, 1269, 1272, 1273, 1329, 1366, 1369, 1369, 1377, 1415, 1488, 1514, 1520, 1522, 1569, 1594, 1600, 1610, 1649, 1747, 1749, 1749, 1765, 1766, 1786, 1788, 1808, 1808, 1810, 1836, 1920, 1957, 2309, 2361, 2365, 2365, 2384, 2384, 2392, 2401, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2524, 2525, 2527, 2529, 2544, 2545, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2649, 2652, 2654, 2654, 2674, 2676, 2693, 2699, 2701, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2749, 2749, 2768, 2768, 2784, 2784, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2870, 2873, 2877, 2877, 2908, 2909, 2911, 2913, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 2997, 2999, 3001, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3123, 3125, 3129, 3168, 3169, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3294, 3294, 3296, 3297, 3333, 3340, 3342, 3344, 3346, 3368, 3370, 3385, 3424, 3425, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3585, 3632, 3634, 3635, 3648, 3654, 3713, 3714, 3716, 3716, 3719, 3720, 3722, 3722, 3725, 3725, 3732, 3735, 3737, 3743, 3745, 3747, 3749, 3749, 3751, 3751, 3754, 3755, 3757, 3760, 3762, 3763, 3773, 3773, 3776, 3780, 3782, 3782, 3804, 3805, 3840, 3840, 3904, 3911, 3913, 3946, 3976, 3979, 4096, 4129, 4131, 4135, 4137, 4138, 4176, 4181, 4256, 4293, 4304, 4342, 4352, 4441, 4447, 4514, 4520, 4601, 4608, 4614, 4616, 4678, 4680, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4742, 4744, 4744, 4746, 4749, 4752, 4782, 4784, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4814, 4816, 4822, 4824, 4846, 4848, 4878, 4880, 4880, 4882, 4885, 4888, 4894, 4896, 4934, 4936, 4954, 5024, 5108, 5121, 5740, 5743, 5750, 5761, 5786, 5792, 5866, 6016, 6067, 6176, 6263, 6272, 6312, 7680, 7835, 7840, 7929, 7936, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8319, 8319, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8473, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8493, 8495, 8497, 8499, 8505, 8544, 8579, 12293, 12295, 12321, 12329, 12337, 12341, 12344, 12346, 12353, 12436, 12445, 12446, 12449, 12538, 12540, 12542, 12549, 12588, 12593, 12686, 12704, 12727, 13312, 19893, 19968, 40869, 40960, 42124, 44032, 55203, 63744, 64045, 64256, 64262, 64275, 64279, 64285, 64285, 64287, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65136, 65138, 65140, 65140, 65142, 65276, 65313, 65338, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500]; + var unicodeES3IdentifierPart = [170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 543, 546, 563, 592, 685, 688, 696, 699, 705, 720, 721, 736, 740, 750, 750, 768, 846, 864, 866, 890, 890, 902, 902, 904, 906, 908, 908, 910, 929, 931, 974, 976, 983, 986, 1011, 1024, 1153, 1155, 1158, 1164, 1220, 1223, 1224, 1227, 1228, 1232, 1269, 1272, 1273, 1329, 1366, 1369, 1369, 1377, 1415, 1425, 1441, 1443, 1465, 1467, 1469, 1471, 1471, 1473, 1474, 1476, 1476, 1488, 1514, 1520, 1522, 1569, 1594, 1600, 1621, 1632, 1641, 1648, 1747, 1749, 1756, 1759, 1768, 1770, 1773, 1776, 1788, 1808, 1836, 1840, 1866, 1920, 1968, 2305, 2307, 2309, 2361, 2364, 2381, 2384, 2388, 2392, 2403, 2406, 2415, 2433, 2435, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2492, 2492, 2494, 2500, 2503, 2504, 2507, 2509, 2519, 2519, 2524, 2525, 2527, 2531, 2534, 2545, 2562, 2562, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2620, 2620, 2622, 2626, 2631, 2632, 2635, 2637, 2649, 2652, 2654, 2654, 2662, 2676, 2689, 2691, 2693, 2699, 2701, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2748, 2757, 2759, 2761, 2763, 2765, 2768, 2768, 2784, 2784, 2790, 2799, 2817, 2819, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2870, 2873, 2876, 2883, 2887, 2888, 2891, 2893, 2902, 2903, 2908, 2909, 2911, 2913, 2918, 2927, 2946, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 2997, 2999, 3001, 3006, 3010, 3014, 3016, 3018, 3021, 3031, 3031, 3047, 3055, 3073, 3075, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3123, 3125, 3129, 3134, 3140, 3142, 3144, 3146, 3149, 3157, 3158, 3168, 3169, 3174, 3183, 3202, 3203, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3262, 3268, 3270, 3272, 3274, 3277, 3285, 3286, 3294, 3294, 3296, 3297, 3302, 3311, 3330, 3331, 3333, 3340, 3342, 3344, 3346, 3368, 3370, 3385, 3390, 3395, 3398, 3400, 3402, 3405, 3415, 3415, 3424, 3425, 3430, 3439, 3458, 3459, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3530, 3530, 3535, 3540, 3542, 3542, 3544, 3551, 3570, 3571, 3585, 3642, 3648, 3662, 3664, 3673, 3713, 3714, 3716, 3716, 3719, 3720, 3722, 3722, 3725, 3725, 3732, 3735, 3737, 3743, 3745, 3747, 3749, 3749, 3751, 3751, 3754, 3755, 3757, 3769, 3771, 3773, 3776, 3780, 3782, 3782, 3784, 3789, 3792, 3801, 3804, 3805, 3840, 3840, 3864, 3865, 3872, 3881, 3893, 3893, 3895, 3895, 3897, 3897, 3902, 3911, 3913, 3946, 3953, 3972, 3974, 3979, 3984, 3991, 3993, 4028, 4038, 4038, 4096, 4129, 4131, 4135, 4137, 4138, 4140, 4146, 4150, 4153, 4160, 4169, 4176, 4185, 4256, 4293, 4304, 4342, 4352, 4441, 4447, 4514, 4520, 4601, 4608, 4614, 4616, 4678, 4680, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4742, 4744, 4744, 4746, 4749, 4752, 4782, 4784, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4814, 4816, 4822, 4824, 4846, 4848, 4878, 4880, 4880, 4882, 4885, 4888, 4894, 4896, 4934, 4936, 4954, 4969, 4977, 5024, 5108, 5121, 5740, 5743, 5750, 5761, 5786, 5792, 5866, 6016, 6099, 6112, 6121, 6160, 6169, 6176, 6263, 6272, 6313, 7680, 7835, 7840, 7929, 7936, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8255, 8256, 8319, 8319, 8400, 8412, 8417, 8417, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8473, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8493, 8495, 8497, 8499, 8505, 8544, 8579, 12293, 12295, 12321, 12335, 12337, 12341, 12344, 12346, 12353, 12436, 12441, 12442, 12445, 12446, 12449, 12542, 12549, 12588, 12593, 12686, 12704, 12727, 13312, 19893, 19968, 40869, 40960, 42124, 44032, 55203, 63744, 64045, 64256, 64262, 64275, 64279, 64285, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65056, 65059, 65075, 65076, 65101, 65103, 65136, 65138, 65140, 65140, 65142, 65276, 65296, 65305, 65313, 65338, 65343, 65343, 65345, 65370, 65381, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500]; + var unicodeES5IdentifierStart = [170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 880, 884, 886, 887, 890, 893, 902, 902, 904, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1162, 1319, 1329, 1366, 1369, 1369, 1377, 1415, 1488, 1514, 1520, 1522, 1568, 1610, 1646, 1647, 1649, 1747, 1749, 1749, 1765, 1766, 1774, 1775, 1786, 1788, 1791, 1791, 1808, 1808, 1810, 1839, 1869, 1957, 1969, 1969, 1994, 2026, 2036, 2037, 2042, 2042, 2048, 2069, 2074, 2074, 2084, 2084, 2088, 2088, 2112, 2136, 2208, 2208, 2210, 2220, 2308, 2361, 2365, 2365, 2384, 2384, 2392, 2401, 2417, 2423, 2425, 2431, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2493, 2493, 2510, 2510, 2524, 2525, 2527, 2529, 2544, 2545, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2649, 2652, 2654, 2654, 2674, 2676, 2693, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2749, 2749, 2768, 2768, 2784, 2785, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2877, 2877, 2908, 2909, 2911, 2913, 2929, 2929, 2947, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3024, 3024, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3123, 3125, 3129, 3133, 3133, 3160, 3161, 3168, 3169, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3261, 3261, 3294, 3294, 3296, 3297, 3313, 3314, 3333, 3340, 3342, 3344, 3346, 3386, 3389, 3389, 3406, 3406, 3424, 3425, 3450, 3455, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3585, 3632, 3634, 3635, 3648, 3654, 3713, 3714, 3716, 3716, 3719, 3720, 3722, 3722, 3725, 3725, 3732, 3735, 3737, 3743, 3745, 3747, 3749, 3749, 3751, 3751, 3754, 3755, 3757, 3760, 3762, 3763, 3773, 3773, 3776, 3780, 3782, 3782, 3804, 3807, 3840, 3840, 3904, 3911, 3913, 3948, 3976, 3980, 4096, 4138, 4159, 4159, 4176, 4181, 4186, 4189, 4193, 4193, 4197, 4198, 4206, 4208, 4213, 4225, 4238, 4238, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4992, 5007, 5024, 5108, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5870, 5872, 5888, 5900, 5902, 5905, 5920, 5937, 5952, 5969, 5984, 5996, 5998, 6000, 6016, 6067, 6103, 6103, 6108, 6108, 6176, 6263, 6272, 6312, 6314, 6314, 6320, 6389, 6400, 6428, 6480, 6509, 6512, 6516, 6528, 6571, 6593, 6599, 6656, 6678, 6688, 6740, 6823, 6823, 6917, 6963, 6981, 6987, 7043, 7072, 7086, 7087, 7098, 7141, 7168, 7203, 7245, 7247, 7258, 7293, 7401, 7404, 7406, 7409, 7413, 7414, 7424, 7615, 7680, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8305, 8305, 8319, 8319, 8336, 8348, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8473, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8493, 8495, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8544, 8584, 11264, 11310, 11312, 11358, 11360, 11492, 11499, 11502, 11506, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11648, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 11823, 11823, 12293, 12295, 12321, 12329, 12337, 12341, 12344, 12348, 12353, 12438, 12445, 12447, 12449, 12538, 12540, 12543, 12549, 12589, 12593, 12686, 12704, 12730, 12784, 12799, 13312, 19893, 19968, 40908, 40960, 42124, 42192, 42237, 42240, 42508, 42512, 42527, 42538, 42539, 42560, 42606, 42623, 42647, 42656, 42735, 42775, 42783, 42786, 42888, 42891, 42894, 42896, 42899, 42912, 42922, 43000, 43009, 43011, 43013, 43015, 43018, 43020, 43042, 43072, 43123, 43138, 43187, 43250, 43255, 43259, 43259, 43274, 43301, 43312, 43334, 43360, 43388, 43396, 43442, 43471, 43471, 43520, 43560, 43584, 43586, 43588, 43595, 43616, 43638, 43642, 43642, 43648, 43695, 43697, 43697, 43701, 43702, 43705, 43709, 43712, 43712, 43714, 43714, 43739, 43741, 43744, 43754, 43762, 43764, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43968, 44002, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64285, 64287, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65136, 65140, 65142, 65276, 65313, 65338, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500]; + var unicodeES5IdentifierPart = [170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 768, 884, 886, 887, 890, 893, 902, 902, 904, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1155, 1159, 1162, 1319, 1329, 1366, 1369, 1369, 1377, 1415, 1425, 1469, 1471, 1471, 1473, 1474, 1476, 1477, 1479, 1479, 1488, 1514, 1520, 1522, 1552, 1562, 1568, 1641, 1646, 1747, 1749, 1756, 1759, 1768, 1770, 1788, 1791, 1791, 1808, 1866, 1869, 1969, 1984, 2037, 2042, 2042, 2048, 2093, 2112, 2139, 2208, 2208, 2210, 2220, 2276, 2302, 2304, 2403, 2406, 2415, 2417, 2423, 2425, 2431, 2433, 2435, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2492, 2500, 2503, 2504, 2507, 2510, 2519, 2519, 2524, 2525, 2527, 2531, 2534, 2545, 2561, 2563, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2620, 2620, 2622, 2626, 2631, 2632, 2635, 2637, 2641, 2641, 2649, 2652, 2654, 2654, 2662, 2677, 2689, 2691, 2693, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2748, 2757, 2759, 2761, 2763, 2765, 2768, 2768, 2784, 2787, 2790, 2799, 2817, 2819, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2876, 2884, 2887, 2888, 2891, 2893, 2902, 2903, 2908, 2909, 2911, 2915, 2918, 2927, 2929, 2929, 2946, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3006, 3010, 3014, 3016, 3018, 3021, 3024, 3024, 3031, 3031, 3046, 3055, 3073, 3075, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3123, 3125, 3129, 3133, 3140, 3142, 3144, 3146, 3149, 3157, 3158, 3160, 3161, 3168, 3171, 3174, 3183, 3202, 3203, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3260, 3268, 3270, 3272, 3274, 3277, 3285, 3286, 3294, 3294, 3296, 3299, 3302, 3311, 3313, 3314, 3330, 3331, 3333, 3340, 3342, 3344, 3346, 3386, 3389, 3396, 3398, 3400, 3402, 3406, 3415, 3415, 3424, 3427, 3430, 3439, 3450, 3455, 3458, 3459, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3530, 3530, 3535, 3540, 3542, 3542, 3544, 3551, 3570, 3571, 3585, 3642, 3648, 3662, 3664, 3673, 3713, 3714, 3716, 3716, 3719, 3720, 3722, 3722, 3725, 3725, 3732, 3735, 3737, 3743, 3745, 3747, 3749, 3749, 3751, 3751, 3754, 3755, 3757, 3769, 3771, 3773, 3776, 3780, 3782, 3782, 3784, 3789, 3792, 3801, 3804, 3807, 3840, 3840, 3864, 3865, 3872, 3881, 3893, 3893, 3895, 3895, 3897, 3897, 3902, 3911, 3913, 3948, 3953, 3972, 3974, 3991, 3993, 4028, 4038, 4038, 4096, 4169, 4176, 4253, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4957, 4959, 4992, 5007, 5024, 5108, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5870, 5872, 5888, 5900, 5902, 5908, 5920, 5940, 5952, 5971, 5984, 5996, 5998, 6000, 6002, 6003, 6016, 6099, 6103, 6103, 6108, 6109, 6112, 6121, 6155, 6157, 6160, 6169, 6176, 6263, 6272, 6314, 6320, 6389, 6400, 6428, 6432, 6443, 6448, 6459, 6470, 6509, 6512, 6516, 6528, 6571, 6576, 6601, 6608, 6617, 6656, 6683, 6688, 6750, 6752, 6780, 6783, 6793, 6800, 6809, 6823, 6823, 6912, 6987, 6992, 7001, 7019, 7027, 7040, 7155, 7168, 7223, 7232, 7241, 7245, 7293, 7376, 7378, 7380, 7414, 7424, 7654, 7676, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8204, 8205, 8255, 8256, 8276, 8276, 8305, 8305, 8319, 8319, 8336, 8348, 8400, 8412, 8417, 8417, 8421, 8432, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8473, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8493, 8495, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8544, 8584, 11264, 11310, 11312, 11358, 11360, 11492, 11499, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11647, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 11744, 11775, 11823, 11823, 12293, 12295, 12321, 12335, 12337, 12341, 12344, 12348, 12353, 12438, 12441, 12442, 12445, 12447, 12449, 12538, 12540, 12543, 12549, 12589, 12593, 12686, 12704, 12730, 12784, 12799, 13312, 19893, 19968, 40908, 40960, 42124, 42192, 42237, 42240, 42508, 42512, 42539, 42560, 42607, 42612, 42621, 42623, 42647, 42655, 42737, 42775, 42783, 42786, 42888, 42891, 42894, 42896, 42899, 42912, 42922, 43000, 43047, 43072, 43123, 43136, 43204, 43216, 43225, 43232, 43255, 43259, 43259, 43264, 43309, 43312, 43347, 43360, 43388, 43392, 43456, 43471, 43481, 43520, 43574, 43584, 43597, 43600, 43609, 43616, 43638, 43642, 43643, 43648, 43714, 43739, 43741, 43744, 43759, 43762, 43766, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43968, 44010, 44012, 44013, 44016, 44025, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65024, 65039, 65056, 65062, 65075, 65076, 65101, 65103, 65136, 65140, 65142, 65276, 65296, 65305, 65313, 65338, 65343, 65343, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500]; + function lookupInUnicodeMap(code, map) { + if (code < map[0]) { + return false; + } + var lo = 0; + var hi = map.length; + var mid; + while (lo + 1 < hi) { + mid = lo + (hi - lo) / 2; + mid -= mid % 2; + if (map[mid] <= code && code <= map[mid + 1]) { + return true; + } + if (code < map[mid]) { + hi = mid; + } + else { + lo = mid + 2; + } + } + return false; + } + function isUnicodeIdentifierStart(code, languageVersion) { + return languageVersion === 0 /* ES3 */ ? lookupInUnicodeMap(code, unicodeES3IdentifierStart) : lookupInUnicodeMap(code, unicodeES5IdentifierStart); + } + function isUnicodeIdentifierPart(code, languageVersion) { + return languageVersion === 0 /* ES3 */ ? lookupInUnicodeMap(code, unicodeES3IdentifierPart) : lookupInUnicodeMap(code, unicodeES5IdentifierPart); + } + function makeReverseMap(source) { + var result = []; + for (var name in source) { + if (source.hasOwnProperty(name)) { + result[source[name]] = name; + } + } + return result; + } + var tokenStrings = makeReverseMap(textToToken); + function tokenToString(t) { + return tokenStrings[t]; + } + ts.tokenToString = tokenToString; + function getLineStarts(text) { + var result = new Array(); + var pos = 0; + var lineStart = 0; + while (pos < text.length) { + switch (text.charCodeAt(pos++)) { + case 13 /* carriageReturn */: + if (text.charCodeAt(pos) === 10 /* lineFeed */) { + pos++; + } + case 10 /* lineFeed */: + result.push(lineStart); + lineStart = pos; + break; + } + } + result.push(lineStart); + return result; + } + ts.getLineStarts = getLineStarts; + function getLineAndCharacterOfPosition(lineStarts, position) { + var lineNumber = ts.binarySearch(lineStarts, position); + if (lineNumber < 0) { + lineNumber = (~lineNumber) - 1; + } + return { + line: lineNumber + 1, + character: position - lineStarts[lineNumber] + 1 + }; + } + ts.getLineAndCharacterOfPosition = getLineAndCharacterOfPosition; + function positionToLineAndCharacter(text, pos) { + var lineStarts = getLineStarts(text); + return getLineAndCharacterOfPosition(lineStarts, pos); + } + ts.positionToLineAndCharacter = positionToLineAndCharacter; + var hasOwnProperty = Object.prototype.hasOwnProperty; + function isWhiteSpace(ch) { + return ch === 32 /* space */ || ch === 9 /* tab */ || ch === 11 /* verticalTab */ || ch === 12 /* formFeed */ || ch === 160 /* nonBreakingSpace */ || ch === 5760 /* ogham */ || ch >= 8192 /* enQuad */ && ch <= 8203 /* zeroWidthSpace */ || ch === 8239 /* narrowNoBreakSpace */ || ch === 8287 /* mathematicalSpace */ || ch === 12288 /* ideographicSpace */ || ch === 65279 /* byteOrderMark */; + } + function isLineBreak(ch) { + return ch === 10 /* lineFeed */ || ch === 13 /* carriageReturn */ || ch === 8232 /* lineSeparator */ || ch === 8233 /* paragraphSeparator */; + } + function isDigit(ch) { + return ch >= 48 /* _0 */ && ch <= 57 /* _9 */; + } + function isHexDigit(ch) { + return ch >= 48 /* _0 */ && ch <= 57 /* _9 */ || ch >= 65 /* A */ && ch <= 70 /* F */ || ch >= 97 /* a */ && ch <= 102 /* f */; + } + function skipTrivia(text, pos, stopAfterLineBreak) { + while (true) { + var ch = text.charCodeAt(pos); + switch (ch) { + case 13 /* carriageReturn */: + if (text.charCodeAt(pos + 1) === 10 /* lineFeed */) + pos++; + case 10 /* lineFeed */: + pos++; + if (stopAfterLineBreak) + return pos; + continue; + case 9 /* tab */: + case 11 /* verticalTab */: + case 12 /* formFeed */: + case 32 /* space */: + pos++; + continue; + case 47 /* slash */: + if (text.charCodeAt(pos + 1) === 47 /* slash */) { + pos += 2; + while (pos < text.length) { + if (isLineBreak(text.charCodeAt(pos))) { + break; + } + pos++; + } + continue; + } + if (text.charCodeAt(pos + 1) === 42 /* asterisk */) { + pos += 2; + while (pos < text.length) { + if (text.charCodeAt(pos) === 42 /* asterisk */ && text.charCodeAt(pos + 1) === 47 /* slash */) { + pos += 2; + break; + } + pos++; + } + continue; + } + break; + default: + if (isWhiteSpace(ch) || isLineBreak(ch)) { + pos++; + continue; + } + break; + } + return pos; + } + } + ts.skipTrivia = skipTrivia; + function createScanner(languageVersion, text, onError, onComment) { + var pos; + var len; + var startPos; + var tokenPos; + var token; + var precedingLineBreak; + var hasUnicodeEscapeSequence; + function error(message) { + if (onError) + onError(message); + } + function isIdentifierStart(ch) { + return ch >= 65 /* A */ && ch <= 90 /* Z */ || ch >= 97 /* a */ && ch <= 122 /* z */ || ch === 36 /* $ */ || ch === 95 /* _ */ || ch > 127 /* maxAsciiCharacter */ && isUnicodeIdentifierStart(ch, languageVersion); + } + function isIdentifierPart(ch) { + return ch >= 65 /* A */ && ch <= 90 /* Z */ || ch >= 97 /* a */ && ch <= 122 /* z */ || ch >= 48 /* _0 */ && ch <= 57 /* _9 */ || ch === 36 /* $ */ || ch === 95 /* _ */ || ch > 127 /* maxAsciiCharacter */ && isUnicodeIdentifierPart(ch, languageVersion); + } + function scanNumber() { + token = 2 /* NumericLiteral */; + while (isDigit(text.charCodeAt(pos))) + pos++; + if (text.charCodeAt(pos) === 46 /* dot */) { + pos++; + while (isDigit(text.charCodeAt(pos))) + pos++; + } + if (text.charCodeAt(pos) === 69 /* E */ || text.charCodeAt(pos) === 101 /* e */) { + pos++; + if (text.charCodeAt(pos) === 43 /* plus */ || text.charCodeAt(pos) === 45 /* minus */) + pos++; + if (!isDigit(text.charCodeAt(pos))) { + error(ts.Diagnostics.Digit_expected); + } + else { + do { + pos++; + } while (isDigit(text.charCodeAt(pos))); + } + } + return token; + } + function scanHexDigits(count, exact, ignoreErrors) { + var n = 0; + while ((n < count || !exact) && isHexDigit(text.charCodeAt(pos))) { + pos++; + n++; + } + if (n < count && !ignoreErrors) + error(ts.Diagnostics.Hexadecimal_digit_expected); + } + function scanHexNumber() { + token = 2 /* NumericLiteral */; + pos += 2; + scanHexDigits(1, false); + return token; + } + function scanString() { + token = 3 /* StringLiteral */; + var quote = text.charCodeAt(pos++); + while (true) { + if (pos >= len) { + error(ts.Diagnostics.Unexpected_end_of_text); + break; + } + var ch = text.charCodeAt(pos); + if (ch === quote) { + pos++; + break; + } + if (isLineBreak(ch)) { + error(ts.Diagnostics.Unterminated_string_constant); + break; + } + pos++; + if (ch === 92 /* backslash */) { + switch (text.charCodeAt(pos)) { + case 13 /* carriageReturn */: + pos++; + if (text.charCodeAt(pos) === 10 /* lineFeed */) + pos++; + break; + case 120 /* x */: + pos++; + scanHexDigits(2, true); + break; + case 117 /* u */: + pos++; + scanHexDigits(4, true); + break; + default: + if (pos < len) + pos++; + } + } + } + return token; + } + function scanUnicodeIdentifierOrKeyword() { + var startPos = pos; + do { + scanCharOrUnicodeEscape(); + } while (isIdentifierPart(peekCharOrUnicodeEscape())); + var id = convertUnicodeEscapes(startPos, pos); + if (hasOwnProperty.call(textToToken, id)) { + return token = textToToken[id]; + } + return 55 /* Identifier */; + } + function peekCharOrUnicodeEscape() { + var ch; + tryScan(function () { + ch = scanCharOrUnicodeEscape(true); + }); + return ch; + } + function scanCharOrUnicodeEscape(ignoreErrors) { + var ch = text.charCodeAt(pos++); + if (ch === 92 /* backslash */ && text.charCodeAt(pos) === 117 /* u */) { + pos++; + hasUnicodeEscapeSequence = true; + return scanUnicodeEscape(ignoreErrors); + } + return ch; + } + function hexValue(start, length) { + var value = 0; + for (var i = 0; i < length; i++) { + var ch = text.charCodeAt(start + i); + if (ch >= 48 /* _0 */ && ch <= 57 /* _9 */) + value = (value << 4) + ch - 48 /* _0 */; + else if (ch >= 97 /* a */ && ch <= 102 /* f */) + value = (value << 4) + ch - 97 /* a */ + 10; + else if (ch >= 65 /* A */ && ch <= 70 /* F */) + value = (value << 4) + ch - 65 /* A */ + 10; + else + break; + } + return value; + } + function scanUnicodeEscape(ignoreErrors) { + var startPos = pos; + scanHexDigits(4, true, ignoreErrors); + return hexValue(startPos, 4); + } + var characterArray = []; + function convertUnicodeEscapes(pos, end) { + characterArray.length = 0; + var i = pos; + while (i < end) { + var ch = text.charCodeAt(i++); + if (ch === 92 /* backslash */ && text.charCodeAt(i) === 117 /* u */) { + i++; + var j = 0; + while (j < 4 && isHexDigit(text.charCodeAt(i + j))) + j++; + characterArray.push(hexValue(i, j)); + i += j; + } + else { + characterArray.push(ch); + } + } + ts.Debug.assert(characterArray.length, "Could not unescape a unicode sequence"); + return String.fromCharCode.apply(null, characterArray); + } + function scan() { + startPos = pos; + precedingLineBreak = false; + hasUnicodeEscapeSequence = false; + while (true) { + tokenPos = pos; + if (pos >= len) { + return token = 1 /* EndOfFileToken */; + } + var ch = text.charCodeAt(pos); + switch (ch) { + case 10 /* lineFeed */: + case 13 /* carriageReturn */: + precedingLineBreak = true; + case 9 /* tab */: + case 11 /* verticalTab */: + case 12 /* formFeed */: + case 32 /* space */: + pos++; + continue; + case 33 /* exclamation */: + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + if (text.charCodeAt(pos + 2) === 61 /* equals */) { + return pos += 3, token = 22 /* ExclamationEqualsEqualsToken */; + } + return pos += 2, token = 20 /* ExclamationEqualsToken */; + } + return pos++, token = 37 /* ExclamationToken */; + case 34 /* doubleQuote */: + case 39 /* singleQuote */: + return scanString(); + case 37 /* percent */: + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + return pos += 2, token = 48 /* PercentEqualsToken */; + } + return pos++, token = 28 /* PercentToken */; + case 38 /* ampersand */: + if (text.charCodeAt(pos + 1) === 38 /* ampersand */) { + return pos += 2, token = 39 /* AmpersandAmpersandToken */; + } + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + return pos += 2, token = 52 /* AmpersandEqualsToken */; + } + return pos++, token = 34 /* AmpersandToken */; + case 40 /* openParen */: + return pos++, token = 7 /* OpenParenToken */; + case 41 /* closeParen */: + return pos++, token = 8 /* CloseParenToken */; + case 42 /* asterisk */: + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + return pos += 2, token = 46 /* AsteriskEqualsToken */; + } + return pos++, token = 26 /* AsteriskToken */; + case 43 /* plus */: + if (text.charCodeAt(pos + 1) === 43 /* plus */) { + return pos += 2, token = 29 /* PlusPlusToken */; + } + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + return pos += 2, token = 44 /* PlusEqualsToken */; + } + return pos++, token = 24 /* PlusToken */; + case 44 /* comma */: + return pos++, token = 14 /* CommaToken */; + case 45 /* minus */: + if (text.charCodeAt(pos + 1) === 45 /* minus */) { + return pos += 2, token = 30 /* MinusMinusToken */; + } + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + return pos += 2, token = 45 /* MinusEqualsToken */; + } + return pos++, token = 25 /* MinusToken */; + case 46 /* dot */: + if (isDigit(text.charCodeAt(pos + 1))) { + return scanNumber(); + } + if (text.charCodeAt(pos + 1) === 46 /* dot */ && text.charCodeAt(pos + 2) === 46 /* dot */) { + return pos += 3, token = 12 /* DotDotDotToken */; + } + return pos++, token = 11 /* DotToken */; + case 47 /* slash */: + if (text.charCodeAt(pos + 1) === 47 /* slash */) { + pos += 2; + while (pos < len) { + if (isLineBreak(text.charCodeAt(pos))) { + break; + } + pos++; + } + if (onComment) { + onComment(tokenPos, pos); + } + continue; + } + if (text.charCodeAt(pos + 1) === 42 /* asterisk */) { + pos += 2; + while (pos < len) { + var ch = text.charCodeAt(pos); + if (ch === 42 /* asterisk */ && text.charCodeAt(pos + 1) === 47 /* slash */) { + pos += 2; + break; + } + if (isLineBreak(ch)) { + precedingLineBreak = true; + } + pos++; + } + if (onComment) { + onComment(tokenPos, pos); + } + continue; + } + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + return pos += 2, token = 47 /* SlashEqualsToken */; + } + return pos++, token = 27 /* SlashToken */; + case 48 /* _0 */: + if (text.charCodeAt(pos + 1) === 88 /* X */ || text.charCodeAt(pos + 1) === 120 /* x */) { + return scanHexNumber(); + } + case 49 /* _1 */: + case 50 /* _2 */: + case 51 /* _3 */: + case 52 /* _4 */: + case 53 /* _5 */: + case 54 /* _6 */: + case 55 /* _7 */: + case 56 /* _8 */: + case 57 /* _9 */: + return scanNumber(); + case 58 /* colon */: + return pos++, token = 42 /* ColonToken */; + case 59 /* semicolon */: + return pos++, token = 13 /* SemicolonToken */; + case 60 /* lessThan */: + if (text.charCodeAt(pos + 1) === 60 /* lessThan */) { + if (text.charCodeAt(pos + 2) === 61 /* equals */) { + return pos += 3, token = 49 /* LessThanLessThanEqualsToken */; + } + return pos += 2, token = 31 /* LessThanLessThanToken */; + } + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + return pos += 2, token = 17 /* LessThanEqualsToken */; + } + return pos++, token = 15 /* LessThanToken */; + case 61 /* equals */: + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + if (text.charCodeAt(pos + 2) === 61 /* equals */) { + return pos += 3, token = 21 /* EqualsEqualsEqualsToken */; + } + return pos += 2, token = 19 /* EqualsEqualsToken */; + } + if (text.charCodeAt(pos + 1) === 62 /* greaterThan */) { + return pos += 2, token = 23 /* EqualsGreaterThanToken */; + } + return pos++, token = 43 /* EqualsToken */; + case 62 /* greaterThan */: + return pos++, token = 16 /* GreaterThanToken */; + case 63 /* question */: + return pos++, token = 41 /* QuestionToken */; + case 91 /* openBracket */: + return pos++, token = 9 /* OpenBracketToken */; + case 93 /* closeBracket */: + return pos++, token = 10 /* CloseBracketToken */; + case 94 /* caret */: + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + return pos += 2, token = 54 /* CaretEqualsToken */; + } + return pos++, token = 36 /* CaretToken */; + case 123 /* openBrace */: + return pos++, token = 5 /* OpenBraceToken */; + case 124 /* bar */: + if (text.charCodeAt(pos + 1) === 124 /* bar */) { + return pos += 2, token = 40 /* BarBarToken */; + } + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + return pos += 2, token = 53 /* BarEqualsToken */; + } + return pos++, token = 35 /* BarToken */; + case 125 /* closeBrace */: + return pos++, token = 6 /* CloseBraceToken */; + case 126 /* tilde */: + return pos++, token = 38 /* TildeToken */; + default: + if (isIdentifierStart(ch)) { + var lastCh; + do { + lastCh = text.charCodeAt(++pos); + } while (isIdentifierPart(lastCh)); + if (lastCh !== 92 /* backslash */) { + if (ch >= 97 /* a */ && ch <= 122 /* z */ && pos - tokenPos >= 2) { + var id = text.substring(tokenPos, pos); + if (hasOwnProperty.call(textToToken, id)) { + return token = textToToken[id]; + } + } + return token = 55 /* Identifier */; + } + else { + pos = tokenPos; + } + } + else if (isWhiteSpace(ch)) { + pos++; + continue; + } + else if (isLineBreak(ch)) { + precedingLineBreak = true; + pos++; + continue; + } + if (isIdentifierStart(peekCharOrUnicodeEscape())) { + return scanUnicodeIdentifierOrKeyword(); + } + if (pos < len) { + error(ts.Diagnostics.Invalid_character); + return pos++, token = 0 /* Unknown */; + } + } + } + } + function reScanGreaterToken() { + if (token === 16 /* GreaterThanToken */) { + if (text.charCodeAt(pos) === 62 /* greaterThan */) { + if (text.charCodeAt(pos + 1) === 62 /* greaterThan */) { + if (text.charCodeAt(pos + 2) === 61 /* equals */) { + return pos += 3, token = 51 /* GreaterThanGreaterThanGreaterThanEqualsToken */; + } + return pos += 2, token = 33 /* GreaterThanGreaterThanGreaterThanToken */; + } + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + return pos += 2, token = 50 /* GreaterThanGreaterThanEqualsToken */; + } + return pos++, token = 32 /* GreaterThanGreaterThanToken */; + } + if (text.charCodeAt(pos) === 61 /* equals */) { + return pos++, token = 18 /* GreaterThanEqualsToken */; + } + } + return token; + } + function reScanSlashToken() { + if (token === 27 /* SlashToken */ || token === 47 /* SlashEqualsToken */) { + var p = tokenPos + 1; + var inEscape = false; + var inClass = false; + while (true) { + if (p >= len) { + return token; + } + var ch = text.charCodeAt(p); + if (isLineBreak(ch)) { + return token; + } + if (inEscape) { + inEscape = false; + } + else if (ch === 47 /* slash */) { + break; + } + else if (ch === 91 /* openBracket */) { + inClass = true; + } + else if (ch === 92 /* backslash */) { + inEscape = true; + } + else if (ch === 93 /* closeBracket */) { + inClass = false; + } + p++; + } + p++; + while (isIdentifierPart(text.charCodeAt(p))) + p++; + token = 4 /* RegularExpressionLiteral */; + pos = p; + } + return token; + } + function tryScan(callback) { + var savePos = pos; + var saveStartPos = startPos; + var saveTokenPos = tokenPos; + var saveToken = token; + var savePrecedingLineBreak = precedingLineBreak; + var savehasUnicodeEscapeSequence = hasUnicodeEscapeSequence; + var result = callback(); + if (!result) { + pos = savePos; + startPos = saveStartPos; + tokenPos = saveTokenPos; + token = saveToken; + precedingLineBreak = savePrecedingLineBreak; + hasUnicodeEscapeSequence = savehasUnicodeEscapeSequence; + } + return result; + } + function setText(newText) { + text = newText || ""; + len = text.length; + setTextPos(0); + } + function setTextPos(textPos) { + pos = textPos; + startPos = textPos; + tokenPos = textPos; + token = 0 /* Unknown */; + precedingLineBreak = false; + } + setText(text); + return { + getStartPos: function () { return startPos; }, + getTextPos: function () { return pos; }, + getToken: function () { return token; }, + getTokenPos: function () { return tokenPos; }, + getTokenText: function () { return text.substring(tokenPos, pos); }, + getIdentifierText: function () { return hasUnicodeEscapeSequence ? convertUnicodeEscapes(tokenPos, pos) : text.substring(tokenPos, pos); }, + hasPrecedingLineBreak: function () { return precedingLineBreak; }, + isIdentifier: function () { return token === 55 /* Identifier */ || token > ts.SyntaxKind.LastReservedWord; }, + isReservedWord: function () { return token >= ts.SyntaxKind.FirstReservedWord && token <= ts.SyntaxKind.LastReservedWord; }, + reScanGreaterToken: reScanGreaterToken, + reScanSlashToken: reScanSlashToken, + scan: scan, + setText: setText, + setTextPos: setTextPos, + tryScan: tryScan + }; + } + ts.createScanner = createScanner; +})(ts || (ts = {})); +var ts; +(function (ts) { + (function (SyntaxKind) { + SyntaxKind[SyntaxKind["Unknown"] = 0] = "Unknown"; + SyntaxKind[SyntaxKind["EndOfFileToken"] = 1] = "EndOfFileToken"; + SyntaxKind[SyntaxKind["NumericLiteral"] = 2] = "NumericLiteral"; + SyntaxKind[SyntaxKind["StringLiteral"] = 3] = "StringLiteral"; + SyntaxKind[SyntaxKind["RegularExpressionLiteral"] = 4] = "RegularExpressionLiteral"; + SyntaxKind[SyntaxKind["OpenBraceToken"] = 5] = "OpenBraceToken"; + SyntaxKind[SyntaxKind["CloseBraceToken"] = 6] = "CloseBraceToken"; + SyntaxKind[SyntaxKind["OpenParenToken"] = 7] = "OpenParenToken"; + SyntaxKind[SyntaxKind["CloseParenToken"] = 8] = "CloseParenToken"; + SyntaxKind[SyntaxKind["OpenBracketToken"] = 9] = "OpenBracketToken"; + SyntaxKind[SyntaxKind["CloseBracketToken"] = 10] = "CloseBracketToken"; + SyntaxKind[SyntaxKind["DotToken"] = 11] = "DotToken"; + SyntaxKind[SyntaxKind["DotDotDotToken"] = 12] = "DotDotDotToken"; + SyntaxKind[SyntaxKind["SemicolonToken"] = 13] = "SemicolonToken"; + SyntaxKind[SyntaxKind["CommaToken"] = 14] = "CommaToken"; + SyntaxKind[SyntaxKind["LessThanToken"] = 15] = "LessThanToken"; + SyntaxKind[SyntaxKind["GreaterThanToken"] = 16] = "GreaterThanToken"; + SyntaxKind[SyntaxKind["LessThanEqualsToken"] = 17] = "LessThanEqualsToken"; + SyntaxKind[SyntaxKind["GreaterThanEqualsToken"] = 18] = "GreaterThanEqualsToken"; + SyntaxKind[SyntaxKind["EqualsEqualsToken"] = 19] = "EqualsEqualsToken"; + SyntaxKind[SyntaxKind["ExclamationEqualsToken"] = 20] = "ExclamationEqualsToken"; + SyntaxKind[SyntaxKind["EqualsEqualsEqualsToken"] = 21] = "EqualsEqualsEqualsToken"; + SyntaxKind[SyntaxKind["ExclamationEqualsEqualsToken"] = 22] = "ExclamationEqualsEqualsToken"; + SyntaxKind[SyntaxKind["EqualsGreaterThanToken"] = 23] = "EqualsGreaterThanToken"; + SyntaxKind[SyntaxKind["PlusToken"] = 24] = "PlusToken"; + SyntaxKind[SyntaxKind["MinusToken"] = 25] = "MinusToken"; + SyntaxKind[SyntaxKind["AsteriskToken"] = 26] = "AsteriskToken"; + SyntaxKind[SyntaxKind["SlashToken"] = 27] = "SlashToken"; + SyntaxKind[SyntaxKind["PercentToken"] = 28] = "PercentToken"; + SyntaxKind[SyntaxKind["PlusPlusToken"] = 29] = "PlusPlusToken"; + SyntaxKind[SyntaxKind["MinusMinusToken"] = 30] = "MinusMinusToken"; + SyntaxKind[SyntaxKind["LessThanLessThanToken"] = 31] = "LessThanLessThanToken"; + SyntaxKind[SyntaxKind["GreaterThanGreaterThanToken"] = 32] = "GreaterThanGreaterThanToken"; + SyntaxKind[SyntaxKind["GreaterThanGreaterThanGreaterThanToken"] = 33] = "GreaterThanGreaterThanGreaterThanToken"; + SyntaxKind[SyntaxKind["AmpersandToken"] = 34] = "AmpersandToken"; + SyntaxKind[SyntaxKind["BarToken"] = 35] = "BarToken"; + SyntaxKind[SyntaxKind["CaretToken"] = 36] = "CaretToken"; + SyntaxKind[SyntaxKind["ExclamationToken"] = 37] = "ExclamationToken"; + SyntaxKind[SyntaxKind["TildeToken"] = 38] = "TildeToken"; + SyntaxKind[SyntaxKind["AmpersandAmpersandToken"] = 39] = "AmpersandAmpersandToken"; + SyntaxKind[SyntaxKind["BarBarToken"] = 40] = "BarBarToken"; + SyntaxKind[SyntaxKind["QuestionToken"] = 41] = "QuestionToken"; + SyntaxKind[SyntaxKind["ColonToken"] = 42] = "ColonToken"; + SyntaxKind[SyntaxKind["EqualsToken"] = 43] = "EqualsToken"; + SyntaxKind[SyntaxKind["PlusEqualsToken"] = 44] = "PlusEqualsToken"; + SyntaxKind[SyntaxKind["MinusEqualsToken"] = 45] = "MinusEqualsToken"; + SyntaxKind[SyntaxKind["AsteriskEqualsToken"] = 46] = "AsteriskEqualsToken"; + SyntaxKind[SyntaxKind["SlashEqualsToken"] = 47] = "SlashEqualsToken"; + SyntaxKind[SyntaxKind["PercentEqualsToken"] = 48] = "PercentEqualsToken"; + SyntaxKind[SyntaxKind["LessThanLessThanEqualsToken"] = 49] = "LessThanLessThanEqualsToken"; + SyntaxKind[SyntaxKind["GreaterThanGreaterThanEqualsToken"] = 50] = "GreaterThanGreaterThanEqualsToken"; + SyntaxKind[SyntaxKind["GreaterThanGreaterThanGreaterThanEqualsToken"] = 51] = "GreaterThanGreaterThanGreaterThanEqualsToken"; + SyntaxKind[SyntaxKind["AmpersandEqualsToken"] = 52] = "AmpersandEqualsToken"; + SyntaxKind[SyntaxKind["BarEqualsToken"] = 53] = "BarEqualsToken"; + SyntaxKind[SyntaxKind["CaretEqualsToken"] = 54] = "CaretEqualsToken"; + SyntaxKind[SyntaxKind["Identifier"] = 55] = "Identifier"; + SyntaxKind[SyntaxKind["BreakKeyword"] = 56] = "BreakKeyword"; + SyntaxKind[SyntaxKind["CaseKeyword"] = 57] = "CaseKeyword"; + SyntaxKind[SyntaxKind["CatchKeyword"] = 58] = "CatchKeyword"; + SyntaxKind[SyntaxKind["ClassKeyword"] = 59] = "ClassKeyword"; + SyntaxKind[SyntaxKind["ConstKeyword"] = 60] = "ConstKeyword"; + SyntaxKind[SyntaxKind["ContinueKeyword"] = 61] = "ContinueKeyword"; + SyntaxKind[SyntaxKind["DebuggerKeyword"] = 62] = "DebuggerKeyword"; + SyntaxKind[SyntaxKind["DefaultKeyword"] = 63] = "DefaultKeyword"; + SyntaxKind[SyntaxKind["DeleteKeyword"] = 64] = "DeleteKeyword"; + SyntaxKind[SyntaxKind["DoKeyword"] = 65] = "DoKeyword"; + SyntaxKind[SyntaxKind["ElseKeyword"] = 66] = "ElseKeyword"; + SyntaxKind[SyntaxKind["EnumKeyword"] = 67] = "EnumKeyword"; + SyntaxKind[SyntaxKind["ExportKeyword"] = 68] = "ExportKeyword"; + SyntaxKind[SyntaxKind["ExtendsKeyword"] = 69] = "ExtendsKeyword"; + SyntaxKind[SyntaxKind["FalseKeyword"] = 70] = "FalseKeyword"; + SyntaxKind[SyntaxKind["FinallyKeyword"] = 71] = "FinallyKeyword"; + SyntaxKind[SyntaxKind["ForKeyword"] = 72] = "ForKeyword"; + SyntaxKind[SyntaxKind["FunctionKeyword"] = 73] = "FunctionKeyword"; + SyntaxKind[SyntaxKind["IfKeyword"] = 74] = "IfKeyword"; + SyntaxKind[SyntaxKind["ImportKeyword"] = 75] = "ImportKeyword"; + SyntaxKind[SyntaxKind["InKeyword"] = 76] = "InKeyword"; + SyntaxKind[SyntaxKind["InstanceOfKeyword"] = 77] = "InstanceOfKeyword"; + SyntaxKind[SyntaxKind["NewKeyword"] = 78] = "NewKeyword"; + SyntaxKind[SyntaxKind["NullKeyword"] = 79] = "NullKeyword"; + SyntaxKind[SyntaxKind["ReturnKeyword"] = 80] = "ReturnKeyword"; + SyntaxKind[SyntaxKind["SuperKeyword"] = 81] = "SuperKeyword"; + SyntaxKind[SyntaxKind["SwitchKeyword"] = 82] = "SwitchKeyword"; + SyntaxKind[SyntaxKind["ThisKeyword"] = 83] = "ThisKeyword"; + SyntaxKind[SyntaxKind["ThrowKeyword"] = 84] = "ThrowKeyword"; + SyntaxKind[SyntaxKind["TrueKeyword"] = 85] = "TrueKeyword"; + SyntaxKind[SyntaxKind["TryKeyword"] = 86] = "TryKeyword"; + SyntaxKind[SyntaxKind["TypeOfKeyword"] = 87] = "TypeOfKeyword"; + SyntaxKind[SyntaxKind["VarKeyword"] = 88] = "VarKeyword"; + SyntaxKind[SyntaxKind["VoidKeyword"] = 89] = "VoidKeyword"; + SyntaxKind[SyntaxKind["WhileKeyword"] = 90] = "WhileKeyword"; + SyntaxKind[SyntaxKind["WithKeyword"] = 91] = "WithKeyword"; + SyntaxKind[SyntaxKind["ImplementsKeyword"] = 92] = "ImplementsKeyword"; + SyntaxKind[SyntaxKind["InterfaceKeyword"] = 93] = "InterfaceKeyword"; + SyntaxKind[SyntaxKind["LetKeyword"] = 94] = "LetKeyword"; + SyntaxKind[SyntaxKind["PackageKeyword"] = 95] = "PackageKeyword"; + SyntaxKind[SyntaxKind["PrivateKeyword"] = 96] = "PrivateKeyword"; + SyntaxKind[SyntaxKind["ProtectedKeyword"] = 97] = "ProtectedKeyword"; + SyntaxKind[SyntaxKind["PublicKeyword"] = 98] = "PublicKeyword"; + SyntaxKind[SyntaxKind["StaticKeyword"] = 99] = "StaticKeyword"; + SyntaxKind[SyntaxKind["YieldKeyword"] = 100] = "YieldKeyword"; + SyntaxKind[SyntaxKind["AnyKeyword"] = 101] = "AnyKeyword"; + SyntaxKind[SyntaxKind["BooleanKeyword"] = 102] = "BooleanKeyword"; + SyntaxKind[SyntaxKind["ConstructorKeyword"] = 103] = "ConstructorKeyword"; + SyntaxKind[SyntaxKind["DeclareKeyword"] = 104] = "DeclareKeyword"; + SyntaxKind[SyntaxKind["GetKeyword"] = 105] = "GetKeyword"; + SyntaxKind[SyntaxKind["ModuleKeyword"] = 106] = "ModuleKeyword"; + SyntaxKind[SyntaxKind["RequireKeyword"] = 107] = "RequireKeyword"; + SyntaxKind[SyntaxKind["NumberKeyword"] = 108] = "NumberKeyword"; + SyntaxKind[SyntaxKind["SetKeyword"] = 109] = "SetKeyword"; + SyntaxKind[SyntaxKind["StringKeyword"] = 110] = "StringKeyword"; + SyntaxKind[SyntaxKind["Missing"] = 111] = "Missing"; + SyntaxKind[SyntaxKind["QualifiedName"] = 112] = "QualifiedName"; + SyntaxKind[SyntaxKind["TypeParameter"] = 113] = "TypeParameter"; + SyntaxKind[SyntaxKind["Parameter"] = 114] = "Parameter"; + SyntaxKind[SyntaxKind["Property"] = 115] = "Property"; + SyntaxKind[SyntaxKind["Method"] = 116] = "Method"; + SyntaxKind[SyntaxKind["Constructor"] = 117] = "Constructor"; + SyntaxKind[SyntaxKind["GetAccessor"] = 118] = "GetAccessor"; + SyntaxKind[SyntaxKind["SetAccessor"] = 119] = "SetAccessor"; + SyntaxKind[SyntaxKind["CallSignature"] = 120] = "CallSignature"; + SyntaxKind[SyntaxKind["ConstructSignature"] = 121] = "ConstructSignature"; + SyntaxKind[SyntaxKind["IndexSignature"] = 122] = "IndexSignature"; + SyntaxKind[SyntaxKind["TypeReference"] = 123] = "TypeReference"; + SyntaxKind[SyntaxKind["TypeQuery"] = 124] = "TypeQuery"; + SyntaxKind[SyntaxKind["TypeLiteral"] = 125] = "TypeLiteral"; + SyntaxKind[SyntaxKind["ArrayType"] = 126] = "ArrayType"; + SyntaxKind[SyntaxKind["ArrayLiteral"] = 127] = "ArrayLiteral"; + SyntaxKind[SyntaxKind["ObjectLiteral"] = 128] = "ObjectLiteral"; + SyntaxKind[SyntaxKind["PropertyAssignment"] = 129] = "PropertyAssignment"; + SyntaxKind[SyntaxKind["PropertyAccess"] = 130] = "PropertyAccess"; + SyntaxKind[SyntaxKind["IndexedAccess"] = 131] = "IndexedAccess"; + SyntaxKind[SyntaxKind["CallExpression"] = 132] = "CallExpression"; + SyntaxKind[SyntaxKind["NewExpression"] = 133] = "NewExpression"; + SyntaxKind[SyntaxKind["TypeAssertion"] = 134] = "TypeAssertion"; + SyntaxKind[SyntaxKind["ParenExpression"] = 135] = "ParenExpression"; + SyntaxKind[SyntaxKind["FunctionExpression"] = 136] = "FunctionExpression"; + SyntaxKind[SyntaxKind["ArrowFunction"] = 137] = "ArrowFunction"; + SyntaxKind[SyntaxKind["PrefixOperator"] = 138] = "PrefixOperator"; + SyntaxKind[SyntaxKind["PostfixOperator"] = 139] = "PostfixOperator"; + SyntaxKind[SyntaxKind["BinaryExpression"] = 140] = "BinaryExpression"; + SyntaxKind[SyntaxKind["ConditionalExpression"] = 141] = "ConditionalExpression"; + SyntaxKind[SyntaxKind["OmittedExpression"] = 142] = "OmittedExpression"; + SyntaxKind[SyntaxKind["Block"] = 143] = "Block"; + SyntaxKind[SyntaxKind["VariableStatement"] = 144] = "VariableStatement"; + SyntaxKind[SyntaxKind["EmptyStatement"] = 145] = "EmptyStatement"; + SyntaxKind[SyntaxKind["ExpressionStatement"] = 146] = "ExpressionStatement"; + SyntaxKind[SyntaxKind["IfStatement"] = 147] = "IfStatement"; + SyntaxKind[SyntaxKind["DoStatement"] = 148] = "DoStatement"; + SyntaxKind[SyntaxKind["WhileStatement"] = 149] = "WhileStatement"; + SyntaxKind[SyntaxKind["ForStatement"] = 150] = "ForStatement"; + SyntaxKind[SyntaxKind["ForInStatement"] = 151] = "ForInStatement"; + SyntaxKind[SyntaxKind["ContinueStatement"] = 152] = "ContinueStatement"; + SyntaxKind[SyntaxKind["BreakStatement"] = 153] = "BreakStatement"; + SyntaxKind[SyntaxKind["ReturnStatement"] = 154] = "ReturnStatement"; + SyntaxKind[SyntaxKind["WithStatement"] = 155] = "WithStatement"; + SyntaxKind[SyntaxKind["SwitchStatement"] = 156] = "SwitchStatement"; + SyntaxKind[SyntaxKind["CaseClause"] = 157] = "CaseClause"; + SyntaxKind[SyntaxKind["DefaultClause"] = 158] = "DefaultClause"; + SyntaxKind[SyntaxKind["LabelledStatement"] = 159] = "LabelledStatement"; + SyntaxKind[SyntaxKind["ThrowStatement"] = 160] = "ThrowStatement"; + SyntaxKind[SyntaxKind["TryStatement"] = 161] = "TryStatement"; + SyntaxKind[SyntaxKind["TryBlock"] = 162] = "TryBlock"; + SyntaxKind[SyntaxKind["CatchBlock"] = 163] = "CatchBlock"; + SyntaxKind[SyntaxKind["FinallyBlock"] = 164] = "FinallyBlock"; + SyntaxKind[SyntaxKind["DebuggerStatement"] = 165] = "DebuggerStatement"; + SyntaxKind[SyntaxKind["VariableDeclaration"] = 166] = "VariableDeclaration"; + SyntaxKind[SyntaxKind["FunctionDeclaration"] = 167] = "FunctionDeclaration"; + SyntaxKind[SyntaxKind["FunctionBlock"] = 168] = "FunctionBlock"; + SyntaxKind[SyntaxKind["ClassDeclaration"] = 169] = "ClassDeclaration"; + SyntaxKind[SyntaxKind["InterfaceDeclaration"] = 170] = "InterfaceDeclaration"; + SyntaxKind[SyntaxKind["EnumDeclaration"] = 171] = "EnumDeclaration"; + SyntaxKind[SyntaxKind["ModuleDeclaration"] = 172] = "ModuleDeclaration"; + SyntaxKind[SyntaxKind["ModuleBlock"] = 173] = "ModuleBlock"; + SyntaxKind[SyntaxKind["ImportDeclaration"] = 174] = "ImportDeclaration"; + SyntaxKind[SyntaxKind["ExportAssignment"] = 175] = "ExportAssignment"; + SyntaxKind[SyntaxKind["EnumMember"] = 176] = "EnumMember"; + SyntaxKind[SyntaxKind["SourceFile"] = 177] = "SourceFile"; + SyntaxKind[SyntaxKind["Program"] = 178] = "Program"; + SyntaxKind[SyntaxKind["SyntaxList"] = 179] = "SyntaxList"; + SyntaxKind[SyntaxKind["Count"] = 180] = "Count"; + SyntaxKind[SyntaxKind["FirstAssignment"] = SyntaxKind.EqualsToken] = "FirstAssignment"; + SyntaxKind[SyntaxKind["LastAssignment"] = SyntaxKind.CaretEqualsToken] = "LastAssignment"; + SyntaxKind[SyntaxKind["FirstReservedWord"] = SyntaxKind.BreakKeyword] = "FirstReservedWord"; + SyntaxKind[SyntaxKind["LastReservedWord"] = SyntaxKind.WithKeyword] = "LastReservedWord"; + })(ts.SyntaxKind || (ts.SyntaxKind = {})); + var SyntaxKind = ts.SyntaxKind; + (function (NodeFlags) { + NodeFlags[NodeFlags["Export"] = 0x00000001] = "Export"; + NodeFlags[NodeFlags["Ambient"] = 0x00000002] = "Ambient"; + NodeFlags[NodeFlags["QuestionMark"] = 0x00000004] = "QuestionMark"; + NodeFlags[NodeFlags["Rest"] = 0x00000008] = "Rest"; + NodeFlags[NodeFlags["Public"] = 0x00000010] = "Public"; + NodeFlags[NodeFlags["Private"] = 0x00000020] = "Private"; + NodeFlags[NodeFlags["Static"] = 0x00000040] = "Static"; + NodeFlags[NodeFlags["MultiLine"] = 0x00000080] = "MultiLine"; + NodeFlags[NodeFlags["Synthetic"] = 0x00000100] = "Synthetic"; + NodeFlags[NodeFlags["DeclarationFile"] = 0x00000200] = "DeclarationFile"; + NodeFlags[NodeFlags["ExternalModule"] = 0x00000400] = "ExternalModule"; + NodeFlags[NodeFlags["Modifier"] = NodeFlags.Export | NodeFlags.Ambient | NodeFlags.Public | NodeFlags.Private | NodeFlags.Static] = "Modifier"; + })(ts.NodeFlags || (ts.NodeFlags = {})); + var NodeFlags = ts.NodeFlags; + (function (SymbolFlags) { + SymbolFlags[SymbolFlags["Variable"] = 0x00000001] = "Variable"; + SymbolFlags[SymbolFlags["Property"] = 0x00000002] = "Property"; + SymbolFlags[SymbolFlags["EnumMember"] = 0x00000004] = "EnumMember"; + SymbolFlags[SymbolFlags["Function"] = 0x00000008] = "Function"; + SymbolFlags[SymbolFlags["Class"] = 0x00000010] = "Class"; + SymbolFlags[SymbolFlags["Interface"] = 0x00000020] = "Interface"; + SymbolFlags[SymbolFlags["Enum"] = 0x00000040] = "Enum"; + SymbolFlags[SymbolFlags["ValueModule"] = 0x00000080] = "ValueModule"; + SymbolFlags[SymbolFlags["NamespaceModule"] = 0x00000100] = "NamespaceModule"; + SymbolFlags[SymbolFlags["TypeLiteral"] = 0x00000200] = "TypeLiteral"; + SymbolFlags[SymbolFlags["ObjectLiteral"] = 0x00000400] = "ObjectLiteral"; + SymbolFlags[SymbolFlags["Method"] = 0x00000800] = "Method"; + SymbolFlags[SymbolFlags["Constructor"] = 0x00001000] = "Constructor"; + SymbolFlags[SymbolFlags["GetAccessor"] = 0x00002000] = "GetAccessor"; + SymbolFlags[SymbolFlags["SetAccessor"] = 0x00004000] = "SetAccessor"; + SymbolFlags[SymbolFlags["CallSignature"] = 0x00008000] = "CallSignature"; + SymbolFlags[SymbolFlags["ConstructSignature"] = 0x00010000] = "ConstructSignature"; + SymbolFlags[SymbolFlags["IndexSignature"] = 0x00020000] = "IndexSignature"; + SymbolFlags[SymbolFlags["TypeParameter"] = 0x00040000] = "TypeParameter"; + SymbolFlags[SymbolFlags["ExportValue"] = 0x00080000] = "ExportValue"; + SymbolFlags[SymbolFlags["ExportType"] = 0x00100000] = "ExportType"; + SymbolFlags[SymbolFlags["ExportNamespace"] = 0x00200000] = "ExportNamespace"; + SymbolFlags[SymbolFlags["Import"] = 0x00400000] = "Import"; + SymbolFlags[SymbolFlags["Instantiated"] = 0x00800000] = "Instantiated"; + SymbolFlags[SymbolFlags["Merged"] = 0x01000000] = "Merged"; + SymbolFlags[SymbolFlags["Transient"] = 0x02000000] = "Transient"; + SymbolFlags[SymbolFlags["Prototype"] = 0x04000000] = "Prototype"; + SymbolFlags[SymbolFlags["Value"] = SymbolFlags.Variable | SymbolFlags.Property | SymbolFlags.EnumMember | SymbolFlags.Function | SymbolFlags.Class | SymbolFlags.Enum | SymbolFlags.ValueModule | SymbolFlags.Method | SymbolFlags.GetAccessor | SymbolFlags.SetAccessor] = "Value"; + SymbolFlags[SymbolFlags["Type"] = SymbolFlags.Class | SymbolFlags.Interface | SymbolFlags.Enum | SymbolFlags.TypeLiteral | SymbolFlags.ObjectLiteral | SymbolFlags.TypeParameter] = "Type"; + SymbolFlags[SymbolFlags["Namespace"] = SymbolFlags.ValueModule | SymbolFlags.NamespaceModule] = "Namespace"; + SymbolFlags[SymbolFlags["Module"] = SymbolFlags.ValueModule | SymbolFlags.NamespaceModule] = "Module"; + SymbolFlags[SymbolFlags["Accessor"] = SymbolFlags.GetAccessor | SymbolFlags.SetAccessor] = "Accessor"; + SymbolFlags[SymbolFlags["Signature"] = SymbolFlags.CallSignature | SymbolFlags.ConstructSignature | SymbolFlags.IndexSignature] = "Signature"; + SymbolFlags[SymbolFlags["ParameterExcludes"] = SymbolFlags.Value] = "ParameterExcludes"; + SymbolFlags[SymbolFlags["VariableExcludes"] = SymbolFlags.Value & ~SymbolFlags.Variable] = "VariableExcludes"; + SymbolFlags[SymbolFlags["PropertyExcludes"] = SymbolFlags.Value] = "PropertyExcludes"; + SymbolFlags[SymbolFlags["EnumMemberExcludes"] = SymbolFlags.Value] = "EnumMemberExcludes"; + SymbolFlags[SymbolFlags["FunctionExcludes"] = SymbolFlags.Value & ~(SymbolFlags.Function | SymbolFlags.ValueModule)] = "FunctionExcludes"; + SymbolFlags[SymbolFlags["ClassExcludes"] = (SymbolFlags.Value | SymbolFlags.Type) & ~SymbolFlags.ValueModule] = "ClassExcludes"; + SymbolFlags[SymbolFlags["InterfaceExcludes"] = SymbolFlags.Type & ~SymbolFlags.Interface] = "InterfaceExcludes"; + SymbolFlags[SymbolFlags["EnumExcludes"] = (SymbolFlags.Value | SymbolFlags.Type) & ~(SymbolFlags.Enum | SymbolFlags.ValueModule)] = "EnumExcludes"; + SymbolFlags[SymbolFlags["ValueModuleExcludes"] = SymbolFlags.Value & ~(SymbolFlags.Function | SymbolFlags.Class | SymbolFlags.Enum | SymbolFlags.ValueModule)] = "ValueModuleExcludes"; + SymbolFlags[SymbolFlags["NamespaceModuleExcludes"] = 0] = "NamespaceModuleExcludes"; + SymbolFlags[SymbolFlags["MethodExcludes"] = SymbolFlags.Value & ~SymbolFlags.Method] = "MethodExcludes"; + SymbolFlags[SymbolFlags["GetAccessorExcludes"] = SymbolFlags.Value & ~SymbolFlags.SetAccessor] = "GetAccessorExcludes"; + SymbolFlags[SymbolFlags["SetAccessorExcludes"] = SymbolFlags.Value & ~SymbolFlags.GetAccessor] = "SetAccessorExcludes"; + SymbolFlags[SymbolFlags["TypeParameterExcludes"] = SymbolFlags.Type & ~SymbolFlags.TypeParameter] = "TypeParameterExcludes"; + SymbolFlags[SymbolFlags["ImportExcludes"] = SymbolFlags.Import] = "ImportExcludes"; + SymbolFlags[SymbolFlags["ModuleMember"] = SymbolFlags.Variable | SymbolFlags.Function | SymbolFlags.Class | SymbolFlags.Interface | SymbolFlags.Enum | SymbolFlags.Module | SymbolFlags.Import] = "ModuleMember"; + SymbolFlags[SymbolFlags["ExportHasLocal"] = SymbolFlags.Function | SymbolFlags.Class | SymbolFlags.Enum | SymbolFlags.ValueModule] = "ExportHasLocal"; + SymbolFlags[SymbolFlags["HasLocals"] = SymbolFlags.Function | SymbolFlags.Module | SymbolFlags.Method | SymbolFlags.Constructor | SymbolFlags.Accessor | SymbolFlags.Signature] = "HasLocals"; + SymbolFlags[SymbolFlags["HasExports"] = SymbolFlags.Class | SymbolFlags.Enum | SymbolFlags.Module] = "HasExports"; + SymbolFlags[SymbolFlags["HasMembers"] = SymbolFlags.Class | SymbolFlags.Interface | SymbolFlags.TypeLiteral | SymbolFlags.ObjectLiteral] = "HasMembers"; + SymbolFlags[SymbolFlags["IsContainer"] = SymbolFlags.HasLocals | SymbolFlags.HasExports | SymbolFlags.HasMembers] = "IsContainer"; + SymbolFlags[SymbolFlags["PropertyOrAccessor"] = SymbolFlags.Property | SymbolFlags.Accessor] = "PropertyOrAccessor"; + })(ts.SymbolFlags || (ts.SymbolFlags = {})); + var SymbolFlags = ts.SymbolFlags; + (function (NodeCheckFlags) { + NodeCheckFlags[NodeCheckFlags["TypeChecked"] = 0x00000001] = "TypeChecked"; + NodeCheckFlags[NodeCheckFlags["LexicalThis"] = 0x00000002] = "LexicalThis"; + NodeCheckFlags[NodeCheckFlags["CaptureThis"] = 0x00000004] = "CaptureThis"; + NodeCheckFlags[NodeCheckFlags["EmitExtends"] = 0x00000008] = "EmitExtends"; + NodeCheckFlags[NodeCheckFlags["SuperInstance"] = 0x00000010] = "SuperInstance"; + NodeCheckFlags[NodeCheckFlags["SuperStatic"] = 0x00000020] = "SuperStatic"; + })(ts.NodeCheckFlags || (ts.NodeCheckFlags = {})); + var NodeCheckFlags = ts.NodeCheckFlags; + (function (TypeFlags) { + TypeFlags[TypeFlags["Any"] = 0x00000001] = "Any"; + TypeFlags[TypeFlags["String"] = 0x00000002] = "String"; + TypeFlags[TypeFlags["Number"] = 0x00000004] = "Number"; + TypeFlags[TypeFlags["Boolean"] = 0x00000008] = "Boolean"; + TypeFlags[TypeFlags["Void"] = 0x00000010] = "Void"; + TypeFlags[TypeFlags["Undefined"] = 0x00000020] = "Undefined"; + TypeFlags[TypeFlags["Null"] = 0x00000040] = "Null"; + TypeFlags[TypeFlags["Enum"] = 0x00000080] = "Enum"; + TypeFlags[TypeFlags["StringLiteral"] = 0x00000100] = "StringLiteral"; + TypeFlags[TypeFlags["TypeParameter"] = 0x00000200] = "TypeParameter"; + TypeFlags[TypeFlags["Class"] = 0x00000400] = "Class"; + TypeFlags[TypeFlags["Interface"] = 0x00000800] = "Interface"; + TypeFlags[TypeFlags["Reference"] = 0x00001000] = "Reference"; + TypeFlags[TypeFlags["Anonymous"] = 0x00002000] = "Anonymous"; + TypeFlags[TypeFlags["FromSignature"] = 0x00004000] = "FromSignature"; + TypeFlags[TypeFlags["Intrinsic"] = TypeFlags.Any | TypeFlags.String | TypeFlags.Number | TypeFlags.Boolean | TypeFlags.Void | TypeFlags.Undefined | TypeFlags.Null] = "Intrinsic"; + TypeFlags[TypeFlags["StringLike"] = TypeFlags.String | TypeFlags.StringLiteral] = "StringLike"; + TypeFlags[TypeFlags["NumberLike"] = TypeFlags.Number | TypeFlags.Enum] = "NumberLike"; + TypeFlags[TypeFlags["ObjectType"] = TypeFlags.Class | TypeFlags.Interface | TypeFlags.Reference | TypeFlags.Anonymous] = "ObjectType"; + })(ts.TypeFlags || (ts.TypeFlags = {})); + var TypeFlags = ts.TypeFlags; + (function (SignatureKind) { + SignatureKind[SignatureKind["Call"] = 0] = "Call"; + SignatureKind[SignatureKind["Construct"] = 1] = "Construct"; + })(ts.SignatureKind || (ts.SignatureKind = {})); + var SignatureKind = ts.SignatureKind; + (function (IndexKind) { + IndexKind[IndexKind["String"] = 0] = "String"; + IndexKind[IndexKind["Number"] = 1] = "Number"; + })(ts.IndexKind || (ts.IndexKind = {})); + var IndexKind = ts.IndexKind; + (function (DiagnosticCategory) { + DiagnosticCategory[DiagnosticCategory["Warning"] = 0] = "Warning"; + DiagnosticCategory[DiagnosticCategory["Error"] = 1] = "Error"; + DiagnosticCategory[DiagnosticCategory["Message"] = 2] = "Message"; + DiagnosticCategory[DiagnosticCategory["NoPrefix"] = 3] = "NoPrefix"; + })(ts.DiagnosticCategory || (ts.DiagnosticCategory = {})); + var DiagnosticCategory = ts.DiagnosticCategory; + (function (ModuleKind) { + ModuleKind[ModuleKind["None"] = 0] = "None"; + ModuleKind[ModuleKind["CommonJS"] = 1] = "CommonJS"; + ModuleKind[ModuleKind["AMD"] = 2] = "AMD"; + })(ts.ModuleKind || (ts.ModuleKind = {})); + var ModuleKind = ts.ModuleKind; + (function (ScriptTarget) { + ScriptTarget[ScriptTarget["ES3"] = 0] = "ES3"; + ScriptTarget[ScriptTarget["ES5"] = 1] = "ES5"; + })(ts.ScriptTarget || (ts.ScriptTarget = {})); + var ScriptTarget = ts.ScriptTarget; + (function (CharacterCodes) { + CharacterCodes[CharacterCodes["nullCharacter"] = 0] = "nullCharacter"; + CharacterCodes[CharacterCodes["maxAsciiCharacter"] = 0x7F] = "maxAsciiCharacter"; + CharacterCodes[CharacterCodes["lineFeed"] = 0x0A] = "lineFeed"; + CharacterCodes[CharacterCodes["carriageReturn"] = 0x0D] = "carriageReturn"; + CharacterCodes[CharacterCodes["lineSeparator"] = 0x2028] = "lineSeparator"; + CharacterCodes[CharacterCodes["paragraphSeparator"] = 0x2029] = "paragraphSeparator"; + CharacterCodes[CharacterCodes["nextLine"] = 0x0085] = "nextLine"; + CharacterCodes[CharacterCodes["space"] = 0x0020] = "space"; + CharacterCodes[CharacterCodes["nonBreakingSpace"] = 0x00A0] = "nonBreakingSpace"; + CharacterCodes[CharacterCodes["enQuad"] = 0x2000] = "enQuad"; + CharacterCodes[CharacterCodes["emQuad"] = 0x2001] = "emQuad"; + CharacterCodes[CharacterCodes["enSpace"] = 0x2002] = "enSpace"; + CharacterCodes[CharacterCodes["emSpace"] = 0x2003] = "emSpace"; + CharacterCodes[CharacterCodes["threePerEmSpace"] = 0x2004] = "threePerEmSpace"; + CharacterCodes[CharacterCodes["fourPerEmSpace"] = 0x2005] = "fourPerEmSpace"; + CharacterCodes[CharacterCodes["sixPerEmSpace"] = 0x2006] = "sixPerEmSpace"; + CharacterCodes[CharacterCodes["figureSpace"] = 0x2007] = "figureSpace"; + CharacterCodes[CharacterCodes["punctuationSpace"] = 0x2008] = "punctuationSpace"; + CharacterCodes[CharacterCodes["thinSpace"] = 0x2009] = "thinSpace"; + CharacterCodes[CharacterCodes["hairSpace"] = 0x200A] = "hairSpace"; + CharacterCodes[CharacterCodes["zeroWidthSpace"] = 0x200B] = "zeroWidthSpace"; + CharacterCodes[CharacterCodes["narrowNoBreakSpace"] = 0x202F] = "narrowNoBreakSpace"; + CharacterCodes[CharacterCodes["ideographicSpace"] = 0x3000] = "ideographicSpace"; + CharacterCodes[CharacterCodes["mathematicalSpace"] = 0x205F] = "mathematicalSpace"; + CharacterCodes[CharacterCodes["ogham"] = 0x1680] = "ogham"; + CharacterCodes[CharacterCodes["_"] = 0x5F] = "_"; + CharacterCodes[CharacterCodes["$"] = 0x24] = "$"; + CharacterCodes[CharacterCodes["_0"] = 0x30] = "_0"; + CharacterCodes[CharacterCodes["_1"] = 0x31] = "_1"; + CharacterCodes[CharacterCodes["_2"] = 0x32] = "_2"; + CharacterCodes[CharacterCodes["_3"] = 0x33] = "_3"; + CharacterCodes[CharacterCodes["_4"] = 0x34] = "_4"; + CharacterCodes[CharacterCodes["_5"] = 0x35] = "_5"; + CharacterCodes[CharacterCodes["_6"] = 0x36] = "_6"; + CharacterCodes[CharacterCodes["_7"] = 0x37] = "_7"; + CharacterCodes[CharacterCodes["_8"] = 0x38] = "_8"; + CharacterCodes[CharacterCodes["_9"] = 0x39] = "_9"; + CharacterCodes[CharacterCodes["a"] = 0x61] = "a"; + CharacterCodes[CharacterCodes["b"] = 0x62] = "b"; + CharacterCodes[CharacterCodes["c"] = 0x63] = "c"; + CharacterCodes[CharacterCodes["d"] = 0x64] = "d"; + CharacterCodes[CharacterCodes["e"] = 0x65] = "e"; + CharacterCodes[CharacterCodes["f"] = 0x66] = "f"; + CharacterCodes[CharacterCodes["g"] = 0x67] = "g"; + CharacterCodes[CharacterCodes["h"] = 0x68] = "h"; + CharacterCodes[CharacterCodes["i"] = 0x69] = "i"; + CharacterCodes[CharacterCodes["j"] = 0x6A] = "j"; + CharacterCodes[CharacterCodes["k"] = 0x6B] = "k"; + CharacterCodes[CharacterCodes["l"] = 0x6C] = "l"; + CharacterCodes[CharacterCodes["m"] = 0x6D] = "m"; + CharacterCodes[CharacterCodes["n"] = 0x6E] = "n"; + CharacterCodes[CharacterCodes["o"] = 0x6F] = "o"; + CharacterCodes[CharacterCodes["p"] = 0x70] = "p"; + CharacterCodes[CharacterCodes["q"] = 0x71] = "q"; + CharacterCodes[CharacterCodes["r"] = 0x72] = "r"; + CharacterCodes[CharacterCodes["s"] = 0x73] = "s"; + CharacterCodes[CharacterCodes["t"] = 0x74] = "t"; + CharacterCodes[CharacterCodes["u"] = 0x75] = "u"; + CharacterCodes[CharacterCodes["v"] = 0x76] = "v"; + CharacterCodes[CharacterCodes["w"] = 0x77] = "w"; + CharacterCodes[CharacterCodes["x"] = 0x78] = "x"; + CharacterCodes[CharacterCodes["y"] = 0x79] = "y"; + CharacterCodes[CharacterCodes["z"] = 0x7A] = "z"; + CharacterCodes[CharacterCodes["A"] = 0x41] = "A"; + CharacterCodes[CharacterCodes["B"] = 0x42] = "B"; + CharacterCodes[CharacterCodes["C"] = 0x43] = "C"; + CharacterCodes[CharacterCodes["D"] = 0x44] = "D"; + CharacterCodes[CharacterCodes["E"] = 0x45] = "E"; + CharacterCodes[CharacterCodes["F"] = 0x46] = "F"; + CharacterCodes[CharacterCodes["G"] = 0x47] = "G"; + CharacterCodes[CharacterCodes["H"] = 0x48] = "H"; + CharacterCodes[CharacterCodes["I"] = 0x49] = "I"; + CharacterCodes[CharacterCodes["J"] = 0x4A] = "J"; + CharacterCodes[CharacterCodes["K"] = 0x4B] = "K"; + CharacterCodes[CharacterCodes["L"] = 0x4C] = "L"; + CharacterCodes[CharacterCodes["M"] = 0x4D] = "M"; + CharacterCodes[CharacterCodes["N"] = 0x4E] = "N"; + CharacterCodes[CharacterCodes["O"] = 0x4F] = "O"; + CharacterCodes[CharacterCodes["P"] = 0x50] = "P"; + CharacterCodes[CharacterCodes["Q"] = 0x51] = "Q"; + CharacterCodes[CharacterCodes["R"] = 0x52] = "R"; + CharacterCodes[CharacterCodes["S"] = 0x53] = "S"; + CharacterCodes[CharacterCodes["T"] = 0x54] = "T"; + CharacterCodes[CharacterCodes["U"] = 0x55] = "U"; + CharacterCodes[CharacterCodes["V"] = 0x56] = "V"; + CharacterCodes[CharacterCodes["W"] = 0x57] = "W"; + CharacterCodes[CharacterCodes["X"] = 0x58] = "X"; + CharacterCodes[CharacterCodes["Y"] = 0x59] = "Y"; + CharacterCodes[CharacterCodes["Z"] = 0x5a] = "Z"; + CharacterCodes[CharacterCodes["ampersand"] = 0x26] = "ampersand"; + CharacterCodes[CharacterCodes["asterisk"] = 0x2A] = "asterisk"; + CharacterCodes[CharacterCodes["at"] = 0x40] = "at"; + CharacterCodes[CharacterCodes["backslash"] = 0x5C] = "backslash"; + CharacterCodes[CharacterCodes["bar"] = 0x7C] = "bar"; + CharacterCodes[CharacterCodes["caret"] = 0x5E] = "caret"; + CharacterCodes[CharacterCodes["closeBrace"] = 0x7D] = "closeBrace"; + CharacterCodes[CharacterCodes["closeBracket"] = 0x5D] = "closeBracket"; + CharacterCodes[CharacterCodes["closeParen"] = 0x29] = "closeParen"; + CharacterCodes[CharacterCodes["colon"] = 0x3A] = "colon"; + CharacterCodes[CharacterCodes["comma"] = 0x2C] = "comma"; + CharacterCodes[CharacterCodes["dot"] = 0x2E] = "dot"; + CharacterCodes[CharacterCodes["doubleQuote"] = 0x22] = "doubleQuote"; + CharacterCodes[CharacterCodes["equals"] = 0x3D] = "equals"; + CharacterCodes[CharacterCodes["exclamation"] = 0x21] = "exclamation"; + CharacterCodes[CharacterCodes["greaterThan"] = 0x3E] = "greaterThan"; + CharacterCodes[CharacterCodes["lessThan"] = 0x3C] = "lessThan"; + CharacterCodes[CharacterCodes["minus"] = 0x2D] = "minus"; + CharacterCodes[CharacterCodes["openBrace"] = 0x7B] = "openBrace"; + CharacterCodes[CharacterCodes["openBracket"] = 0x5B] = "openBracket"; + CharacterCodes[CharacterCodes["openParen"] = 0x28] = "openParen"; + CharacterCodes[CharacterCodes["percent"] = 0x25] = "percent"; + CharacterCodes[CharacterCodes["plus"] = 0x2B] = "plus"; + CharacterCodes[CharacterCodes["question"] = 0x3F] = "question"; + CharacterCodes[CharacterCodes["semicolon"] = 0x3B] = "semicolon"; + CharacterCodes[CharacterCodes["singleQuote"] = 0x27] = "singleQuote"; + CharacterCodes[CharacterCodes["slash"] = 0x2F] = "slash"; + CharacterCodes[CharacterCodes["tilde"] = 0x7E] = "tilde"; + CharacterCodes[CharacterCodes["backspace"] = 0x08] = "backspace"; + CharacterCodes[CharacterCodes["formFeed"] = 0x0C] = "formFeed"; + CharacterCodes[CharacterCodes["byteOrderMark"] = 0xFEFF] = "byteOrderMark"; + CharacterCodes[CharacterCodes["tab"] = 0x09] = "tab"; + CharacterCodes[CharacterCodes["verticalTab"] = 0x0B] = "verticalTab"; + })(ts.CharacterCodes || (ts.CharacterCodes = {})); + var CharacterCodes = ts.CharacterCodes; +})(ts || (ts = {})); +var ts; +(function (ts) { + function forEach(array, callback) { + var result; + if (array) { + for (var i = 0, len = array.length; i < len; i++) { + if (result = callback(array[i])) + break; + } + } + return result; + } + ts.forEach = forEach; + function contains(array, value) { + if (array) { + var len = array.length; + for (var i = 0; i < len; i++) { + if (array[i] === value) + return true; + } + } + return false; + } + ts.contains = contains; + function indexOf(array, value) { + if (array) { + var len = array.length; + for (var i = 0; i < len; i++) { + if (array[i] === value) + return i; + } + } + return -1; + } + ts.indexOf = indexOf; + function filter(array, f) { + var result; + if (array) { + result = []; + for (var i = 0, len = array.length; i < len; i++) { + var item = array[i]; + if (f(item)) + result.push(item); + } + } + return result; + } + ts.filter = filter; + function map(array, f) { + var result; + if (array) { + result = []; + var len = array.length; + for (var i = 0; i < len; i++) { + result.push(f(array[i])); + } + } + return result; + } + ts.map = map; + function concatenate(array1, array2) { + if (!array2.length) + return array1; + if (!array1.length) + return array2; + return array1.concat(array2); + } + ts.concatenate = concatenate; + function sum(array, prop) { + var result = 0; + for (var i = 0; i < array.length; i++) { + result += array[i][prop]; + } + return result; + } + ts.sum = sum; + function binarySearch(array, value) { + var low = 0; + var high = array.length - 1; + while (low <= high) { + var middle = low + ((high - low) >> 1); + var midValue = array[middle]; + if (midValue === value) { + return middle; + } + else if (midValue > value) { + high = middle - 1; + } + else { + low = middle + 1; + } + } + return ~low; + } + ts.binarySearch = binarySearch; + var hasOwnProperty = Object.prototype.hasOwnProperty; + function hasProperty(map, key) { + return hasOwnProperty.call(map, key); + } + ts.hasProperty = hasProperty; + function getProperty(map, key) { + return hasOwnProperty.call(map, key) ? map[key] : undefined; + } + ts.getProperty = getProperty; + function isEmpty(map) { + for (var id in map) + return false; + return true; + } + ts.isEmpty = isEmpty; + function clone(object) { + var result = {}; + for (var id in object) { + result[id] = object[id]; + } + return result; + } + ts.clone = clone; + function forEachValue(map, callback) { + var result; + for (var id in map) { + if (result = callback(map[id])) + break; + } + return result; + } + ts.forEachValue = forEachValue; + function mapToArray(map) { + var result = []; + for (var id in map) + result.push(map[id]); + return result; + } + ts.mapToArray = mapToArray; + function formatStringFromArgs(text, args, baseIndex) { + baseIndex = baseIndex || 0; + return text.replace(/{(\d+)}/g, function (match, index) { return args[+index + baseIndex]; }); + } + ts.localizedDiagnosticMessages = undefined; + function getLocaleSpecificMessage(message) { + if (ts.localizedDiagnosticMessages) { + message = ts.localizedDiagnosticMessages[message]; + } + Debug.assert(message, "Diagnostic message does not exist in locale map."); + return message; + } + function createFileDiagnostic(file, start, length, message) { + var text = getLocaleSpecificMessage(message.key); + if (arguments.length > 4) { + text = formatStringFromArgs(text, arguments, 4); + } + return { + file: file, + start: start, + length: length, + messageText: text, + category: message.category, + code: message.code + }; + } + ts.createFileDiagnostic = createFileDiagnostic; + function createCompilerDiagnostic(message) { + var text = getLocaleSpecificMessage(message.key); + if (arguments.length > 1) { + text = formatStringFromArgs(text, arguments, 1); + } + return { + file: undefined, + start: undefined, + length: undefined, + messageText: text, + category: message.category, + code: message.code + }; + } + ts.createCompilerDiagnostic = createCompilerDiagnostic; + function chainDiagnosticMessages(details, message) { + var text = getLocaleSpecificMessage(message.key); + if (arguments.length > 2) { + text = formatStringFromArgs(text, arguments, 2); + } + return { + messageText: text, + category: message.category, + code: message.code, + next: details + }; + } + ts.chainDiagnosticMessages = chainDiagnosticMessages; + function flattenDiagnosticChain(file, start, length, diagnosticChain) { + var code = diagnosticChain.code; + var category = diagnosticChain.category; + var messageText = ""; + var indent = 0; + while (diagnosticChain) { + if (indent) { + messageText += sys.newLine; + for (var i = 0; i < indent; i++) { + messageText += " "; + } + } + messageText += diagnosticChain.messageText; + indent++; + diagnosticChain = diagnosticChain.next; + } + return { + file: file, + start: start, + length: length, + code: code, + category: category, + messageText: messageText + }; + } + ts.flattenDiagnosticChain = flattenDiagnosticChain; + function compareValues(a, b) { + if (a === b) + return 0; + if (a === undefined) + return -1; + if (b === undefined) + return 1; + return a < b ? -1 : 1; + } + function getDiagnosticFilename(diagnostic) { + return diagnostic.file ? diagnostic.file.filename : undefined; + } + function compareDiagnostics(d1, d2) { + return compareValues(getDiagnosticFilename(d1), getDiagnosticFilename(d2)) || compareValues(d1.start, d2.start) || compareValues(d1.length, d2.length) || compareValues(d1.code, d2.code) || compareValues(d1.messageText, d2.messageText) || 0; + } + ts.compareDiagnostics = compareDiagnostics; + function deduplicateSortedDiagnostics(diagnostics) { + if (diagnostics.length < 2) { + return diagnostics; + } + var newDiagnostics = [diagnostics[0]]; + var previousDiagnostic = diagnostics[0]; + for (var i = 1; i < diagnostics.length; i++) { + var currentDiagnostic = diagnostics[i]; + var isDupe = compareDiagnostics(currentDiagnostic, previousDiagnostic) === 0; + if (!isDupe) { + newDiagnostics.push(currentDiagnostic); + previousDiagnostic = currentDiagnostic; + } + } + return newDiagnostics; + } + ts.deduplicateSortedDiagnostics = deduplicateSortedDiagnostics; + function normalizeSlashes(path) { + return path.replace(/\\/g, "/"); + } + ts.normalizeSlashes = normalizeSlashes; + function getRootLength(path) { + if (path.charCodeAt(0) === 47 /* slash */) { + if (path.charCodeAt(1) !== 47 /* slash */) + return 1; + var p1 = path.indexOf("/", 2); + if (p1 < 0) + return 2; + var p2 = path.indexOf("/", p1 + 1); + if (p2 < 0) + return p1 + 1; + return p2 + 1; + } + if (path.charCodeAt(1) === 58 /* colon */) { + if (path.charCodeAt(2) === 47 /* slash */) + return 3; + return 2; + } + return 0; + } + ts.directorySeparator = "/"; + function getNormalizedParts(normalizedSlashedPath, rootLength) { + var parts = normalizedSlashedPath.substr(rootLength).split(ts.directorySeparator); + var normalized = []; + for (var i = 0; i < parts.length; i++) { + var part = parts[i]; + if (part !== ".") { + if (part === ".." && normalized.length > 0 && normalized[normalized.length - 1] !== "..") { + normalized.pop(); + } + else { + normalized.push(part); + } + } + } + return normalized; + } + function normalizePath(path) { + var path = normalizeSlashes(path); + var rootLength = getRootLength(path); + var normalized = getNormalizedParts(path, rootLength); + return path.substr(0, rootLength) + normalized.join(ts.directorySeparator); + } + ts.normalizePath = normalizePath; + function getDirectoryPath(path) { + return path.substr(0, Math.max(getRootLength(path), path.lastIndexOf(ts.directorySeparator))); + } + ts.getDirectoryPath = getDirectoryPath; + function isUrl(path) { + return path && !isRootedDiskPath(path) && path.indexOf("://") !== -1; + } + ts.isUrl = isUrl; + function isRootedDiskPath(path) { + return getRootLength(path) !== 0; + } + ts.isRootedDiskPath = isRootedDiskPath; + function normalizedPathComponents(path, rootLength) { + var normalizedParts = getNormalizedParts(path, rootLength); + return [path.substr(0, rootLength)].concat(normalizedParts); + } + function getNormalizedPathComponents(path, currentDirectory) { + var path = normalizeSlashes(path); + var rootLength = getRootLength(path); + if (rootLength == 0) { + path = combinePaths(normalizeSlashes(currentDirectory), path); + rootLength = getRootLength(path); + } + return normalizedPathComponents(path, rootLength); + } + ts.getNormalizedPathComponents = getNormalizedPathComponents; + function getNormalizedPathFromPathCompoments(pathComponents) { + if (pathComponents && pathComponents.length) { + return pathComponents[0] + pathComponents.slice(1).join(ts.directorySeparator); + } + } + ts.getNormalizedPathFromPathCompoments = getNormalizedPathFromPathCompoments; + function getNormalizedPathComponentsOfUrl(url) { + var urlLength = url.length; + var rootLength = url.indexOf("://") + "://".length; + while (rootLength < urlLength) { + if (url.charCodeAt(rootLength) === 47 /* slash */) { + rootLength++; + } + else { + break; + } + } + if (rootLength === urlLength) { + return [url]; + } + var indexOfNextSlash = url.indexOf(ts.directorySeparator, rootLength); + if (indexOfNextSlash !== -1) { + rootLength = indexOfNextSlash + 1; + return normalizedPathComponents(url, rootLength); + } + else { + return [url + ts.directorySeparator]; + } + } + function getNormalizedPathOrUrlComponents(pathOrUrl, currentDirectory) { + if (isUrl(pathOrUrl)) { + return getNormalizedPathComponentsOfUrl(pathOrUrl); + } + else { + return getNormalizedPathComponents(pathOrUrl, currentDirectory); + } + } + function getRelativePathToDirectoryOrUrl(directoryPathOrUrl, relativeOrAbsolutePath, currentDirectory, isAbsolutePathAnUrl) { + var pathComponents = getNormalizedPathOrUrlComponents(relativeOrAbsolutePath, currentDirectory); + var directoryComponents = getNormalizedPathOrUrlComponents(directoryPathOrUrl, currentDirectory); + if (directoryComponents.length > 1 && directoryComponents[directoryComponents.length - 1] === "") { + directoryComponents.length--; + } + for (var joinStartIndex = 0; joinStartIndex < pathComponents.length && joinStartIndex < directoryComponents.length; joinStartIndex++) { + if (directoryComponents[joinStartIndex] !== pathComponents[joinStartIndex]) { + break; + } + } + if (joinStartIndex) { + var relativePath = ""; + var relativePathComponents = pathComponents.slice(joinStartIndex, pathComponents.length); + for (; joinStartIndex < directoryComponents.length; joinStartIndex++) { + if (directoryComponents[joinStartIndex] !== "") { + relativePath = relativePath + ".." + ts.directorySeparator; + } + } + return relativePath + relativePathComponents.join(ts.directorySeparator); + } + var absolutePath = getNormalizedPathFromPathCompoments(pathComponents); + if (isAbsolutePathAnUrl && isRootedDiskPath(absolutePath)) { + absolutePath = "file:///" + absolutePath; + } + return absolutePath; + } + ts.getRelativePathToDirectoryOrUrl = getRelativePathToDirectoryOrUrl; + function getBaseFilename(path) { + var i = path.lastIndexOf(ts.directorySeparator); + return i < 0 ? path : path.substring(i + 1); + } + ts.getBaseFilename = getBaseFilename; + function combinePaths(path1, path2) { + if (!(path1 && path1.length)) + return path2; + if (!(path2 && path2.length)) + return path1; + if (path2.charAt(0) === ts.directorySeparator) + return path2; + if (path1.charAt(path1.length - 1) === ts.directorySeparator) + return path1 + path2; + return path1 + ts.directorySeparator + path2; + } + ts.combinePaths = combinePaths; + function fileExtensionIs(path, extension) { + var pathLen = path.length; + var extLen = extension.length; + return pathLen > extLen && path.substr(pathLen - extLen, extLen) === extension; + } + ts.fileExtensionIs = fileExtensionIs; + function Symbol(flags, name) { + this.flags = flags; + this.name = name; + this.declarations = undefined; + } + function Type(checker, flags) { + this.flags = flags; + } + function Signature(checker) { + } + ts.objectAllocator = { + getNodeConstructor: function (kind) { + function Node() { + } + Node.prototype = { + kind: kind, + pos: 0, + end: 0, + flags: 0, + parent: undefined + }; + return Node; + }, + getSymbolConstructor: function () { return Symbol; }, + getTypeConstructor: function () { return Type; }, + getSignatureConstructor: function () { return Signature; } + }; + (function (AssertionLevel) { + AssertionLevel[AssertionLevel["None"] = 0] = "None"; + AssertionLevel[AssertionLevel["Normal"] = 1] = "Normal"; + AssertionLevel[AssertionLevel["Aggressive"] = 2] = "Aggressive"; + AssertionLevel[AssertionLevel["VeryAggressive"] = 3] = "VeryAggressive"; + })(ts.AssertionLevel || (ts.AssertionLevel = {})); + var AssertionLevel = ts.AssertionLevel; + (function (Debug) { + var currentAssertionLevel = 0 /* None */; + function shouldAssert(level) { + return this.currentAssertionLevel >= level; + } + Debug.shouldAssert = shouldAssert; + function assert(expression, message, verboseDebugInfo) { + if (!expression) { + var verboseDebugString = ""; + if (verboseDebugInfo) { + verboseDebugString = "\r\nVerbose Debug Information: " + verboseDebugInfo(); + } + throw new Error("Debug Failure. False expression: " + (message || "") + verboseDebugString); + } + } + Debug.assert = assert; + function fail(message) { + Debug.assert(false, message); + } + Debug.fail = fail; + })(ts.Debug || (ts.Debug = {})); + var Debug = ts.Debug; +})(ts || (ts = {})); +var sys = (function () { + function getWScriptSystem() { + var fso = new ActiveXObject("Scripting.FileSystemObject"); + var args = []; + for (var i = 0; i < WScript.Arguments.length; i++) { + args[i] = WScript.Arguments.Item(i); + } + return { + args: args, + newLine: "\r\n", + write: function write(s) { + WScript.StdOut.Write(s); + }, + writeErr: function writeErr(s) { + WScript.StdErr.Write(s); + }, + readFile: function readFile(fileName) { + try { + var f = fso.OpenTextFile(fileName, 1); + var s = f.AtEndOfStream ? "" : f.ReadAll(); + if (s.length >= 3 && s.charCodeAt(0) === 0xEF && s.charCodeAt(1) === 0xBB && s.charCodeAt(2) === 0xBF) { + s = s.slice(3); + } + f.Close(); + } + catch (e) { + } + return s; + }, + writeFile: function writeFile(fileName, data) { + var f = fso.CreateTextFile(fileName, true); + f.Write(data); + f.Close(); + }, + resolvePath: function resolvePath(path) { + return fso.GetAbsolutePathName(path); + }, + fileExists: function fileExists(path) { + return fso.FileExists(path); + }, + directoryExists: function directoryExists(path) { + return fso.FolderExists(path); + }, + createDirectory: function createDirectory(directoryName) { + if (!this.directoryExists(directoryName)) { + fso.CreateFolder(directoryName); + } + }, + getExecutingFilePath: function getExecutingFilePath() { + return WScript.ScriptFullName; + }, + getCurrentDirectory: function getCurrentDirectory() { + return new ActiveXObject("WScript.Shell").CurrentDirectory; + }, + getMemoryUsage: function getMemoryUsage() { + return 0; + }, + exit: function exit(exitCode) { + WScript.Quit(exitCode); + } + }; + } + function getNodeSystem() { + var _fs = require("fs"); + var _path = require("path"); + var _os = require('os'); + return { + args: process.argv.slice(2), + newLine: _os.EOL, + write: function write(s) { + process.stdout.write(s); + }, + writeErr: function writeErr(s) { + process.stderr.write(s); + }, + readFile: function readFile(fileName) { + try { + var s = _fs.readFileSync(fileName, "utf8"); + } + catch (e) { + } + return s; + }, + writeFile: function writeFile(fileName, data) { + _fs.writeFileSync(fileName, data, "utf8"); + }, + resolvePath: function (path) { + return _path.resolve(path); + }, + fileExists: function fileExists(path) { + return _fs.existsSync(path); + }, + directoryExists: function directoryExists(path) { + return _fs.existsSync(path) && _fs.statSync(path).isDirectory(); + }, + createDirectory: function createDirectory(directoryName) { + if (!this.directoryExists(directoryName)) { + _fs.mkdirSync(directoryName); + } + }, + getExecutingFilePath: function getExecutingFilePath() { + return process.mainModule.filename; + }, + getCurrentDirectory: function getCurrentDirectory() { + return process.cwd(); + }, + getMemoryUsage: function getMemoryUsage() { + global.gc(); + return process.memoryUsage().heapUsed; + }, + exit: function exit(exitCode) { + process.exit(exitCode); + } + }; + } + if (typeof WScript !== "undefined" && typeof ActiveXObject === "function") { + return getWScriptSystem(); + } + else if (typeof module !== "undefined" && module.exports) { + return getNodeSystem(); + } + else { + return undefined; + } +})(); +var ts; +(function (ts) { + var nodeConstructors = new Array(180 /* Count */); + function getNodeConstructor(kind) { + return nodeConstructors[kind] || (nodeConstructors[kind] = ts.objectAllocator.getNodeConstructor(kind)); + } + ts.getNodeConstructor = getNodeConstructor; + function createRootNode(kind, pos, end, flags) { + var node = new (getNodeConstructor(kind))(); + node.pos = pos; + node.end = end; + node.flags = flags; + return node; + } + var moduleExtensions = [".d.ts", ".ts", ".js"]; + function getModuleNameFromFilename(filename) { + for (var i = 0; i < moduleExtensions.length; i++) { + var ext = moduleExtensions[i]; + var len = filename.length - ext.length; + if (len > 0 && filename.substr(len) === ext) + return filename.substr(0, len); + } + return filename; + } + ts.getModuleNameFromFilename = getModuleNameFromFilename; + function getSourceFileOfNode(node) { + while (node && node.kind !== 177 /* SourceFile */) + node = node.parent; + return node; + } + ts.getSourceFileOfNode = getSourceFileOfNode; + function nodePosToString(node) { + var file = getSourceFileOfNode(node); + var loc = file.getLineAndCharacterFromPosition(node.pos); + return file.filename + "(" + loc.line + "," + loc.character + ")"; + } + ts.nodePosToString = nodePosToString; + function getStartPosOfNode(node) { + return node.pos; + } + ts.getStartPosOfNode = getStartPosOfNode; + function getTokenPosOfNode(node) { + return ts.skipTrivia(getSourceFileOfNode(node).text, node.pos); + } + ts.getTokenPosOfNode = getTokenPosOfNode; + function getSourceTextOfNode(node) { + var text = getSourceFileOfNode(node).text; + return text.substring(ts.skipTrivia(text, node.pos), node.end); + } + ts.getSourceTextOfNode = getSourceTextOfNode; + function getTextOfLiteral(node) { + switch (node.kind) { + case 55 /* Identifier */: + return node.text; + case 3 /* StringLiteral */: + return node.text.substr(1, node.text.length - 2); + case 2 /* NumericLiteral */: + return "" + (+node.text); + } + } + ts.getTextOfLiteral = getTextOfLiteral; + function escapeIdentifier(identifier) { + return identifier.charCodeAt(0) === 95 /* _ */ && identifier.charCodeAt(1) === 95 /* _ */ ? "_" + identifier : identifier; + } + ts.escapeIdentifier = escapeIdentifier; + function identifierToString(identifier) { + switch (identifier.kind) { + case 55 /* Identifier */: + return getSourceTextOfNode(identifier); + case 3 /* StringLiteral */: + return identifier.text; + case 2 /* NumericLiteral */: + return "" + (+identifier.text); + } + return "(Missing)"; + } + ts.identifierToString = identifierToString; + function createDiagnosticForNode(node, message, arg0, arg1, arg2) { + var file = getSourceFileOfNode(node); + var start = ts.skipTrivia(file.text, node.pos); + var length = node.end - start; + return ts.createFileDiagnostic(file, start, length, message, arg0, arg1, arg2); + } + ts.createDiagnosticForNode = createDiagnosticForNode; + function createDiagnosticForNodeFromMessageChain(node, messageChain) { + var file = getSourceFileOfNode(node); + var start = ts.skipTrivia(file.text, node.pos); + var length = node.end - start; + return ts.flattenDiagnosticChain(file, start, length, messageChain); + } + ts.createDiagnosticForNodeFromMessageChain = createDiagnosticForNodeFromMessageChain; + function forEachChild(node, cbNode, cbNodes) { + function child(node) { + if (node) + return cbNode(node); + } + function children(nodes) { + if (nodes) { + if (cbNodes) + return cbNodes(nodes); + var result; + for (var i = 0, len = nodes.length; i < len; i++) { + if (result = cbNode(nodes[i])) + break; + } + return result; + } + } + if (!node) + return; + switch (node.kind) { + case 112 /* QualifiedName */: + return child(node.left) || child(node.right); + case 113 /* TypeParameter */: + return child(node.name) || child(node.constraint); + case 114 /* Parameter */: + return child(node.name) || child(node.type) || child(node.initializer); + case 115 /* Property */: + case 129 /* PropertyAssignment */: + return child(node.name) || child(node.type) || child(node.initializer); + case 120 /* CallSignature */: + case 121 /* ConstructSignature */: + case 122 /* IndexSignature */: + return children(node.typeParameters) || children(node.parameters) || child(node.type); + case 116 /* Method */: + case 117 /* Constructor */: + case 118 /* GetAccessor */: + case 119 /* SetAccessor */: + case 136 /* FunctionExpression */: + case 167 /* FunctionDeclaration */: + case 137 /* ArrowFunction */: + return child(node.name) || children(node.typeParameters) || children(node.parameters) || child(node.type) || child(node.body); + case 123 /* TypeReference */: + return child(node.typeName) || children(node.typeArguments); + case 124 /* TypeQuery */: + return child(node.exprName); + case 125 /* TypeLiteral */: + return children(node.members); + case 126 /* ArrayType */: + return child(node.elementType); + case 127 /* ArrayLiteral */: + return children(node.elements); + case 128 /* ObjectLiteral */: + return children(node.properties); + case 130 /* PropertyAccess */: + return child(node.left) || child(node.right); + case 131 /* IndexedAccess */: + return child(node.object) || child(node.index); + case 132 /* CallExpression */: + case 133 /* NewExpression */: + return child(node.func) || children(node.typeArguments) || children(node.arguments); + case 134 /* TypeAssertion */: + return child(node.type) || child(node.operand); + case 135 /* ParenExpression */: + return child(node.expression); + case 138 /* PrefixOperator */: + case 139 /* PostfixOperator */: + return child(node.operand); + case 140 /* BinaryExpression */: + return child(node.left) || child(node.right); + case 141 /* ConditionalExpression */: + return child(node.condition) || child(node.whenTrue) || child(node.whenFalse); + case 143 /* Block */: + case 162 /* TryBlock */: + case 164 /* FinallyBlock */: + case 168 /* FunctionBlock */: + case 173 /* ModuleBlock */: + case 177 /* SourceFile */: + return children(node.statements); + case 144 /* VariableStatement */: + return children(node.declarations); + case 146 /* ExpressionStatement */: + return child(node.expression); + case 147 /* IfStatement */: + return child(node.expression) || child(node.thenStatement) || child(node.elseStatement); + case 148 /* DoStatement */: + return child(node.statement) || child(node.expression); + case 149 /* WhileStatement */: + return child(node.expression) || child(node.statement); + case 150 /* ForStatement */: + return children(node.declarations) || child(node.initializer) || child(node.condition) || child(node.iterator) || child(node.statement); + case 151 /* ForInStatement */: + return child(node.declaration) || child(node.variable) || child(node.expression) || child(node.statement); + case 152 /* ContinueStatement */: + case 153 /* BreakStatement */: + return child(node.label); + case 154 /* ReturnStatement */: + return child(node.expression); + case 155 /* WithStatement */: + return child(node.expression) || child(node.statement); + case 156 /* SwitchStatement */: + return child(node.expression) || children(node.clauses); + case 157 /* CaseClause */: + case 158 /* DefaultClause */: + return child(node.expression) || children(node.statements); + case 159 /* LabelledStatement */: + return child(node.label) || child(node.statement); + case 160 /* ThrowStatement */: + return child(node.expression); + case 161 /* TryStatement */: + return child(node.tryBlock) || child(node.catchBlock) || child(node.finallyBlock); + case 163 /* CatchBlock */: + return child(node.variable) || children(node.statements); + case 166 /* VariableDeclaration */: + return child(node.name) || child(node.type) || child(node.initializer); + case 169 /* ClassDeclaration */: + return child(node.name) || children(node.typeParameters) || child(node.baseType) || children(node.implementedTypes) || children(node.members); + case 170 /* InterfaceDeclaration */: + return child(node.name) || children(node.typeParameters) || children(node.baseTypes) || children(node.members); + case 171 /* EnumDeclaration */: + return child(node.name) || children(node.members); + case 176 /* EnumMember */: + return child(node.name) || child(node.initializer); + case 172 /* ModuleDeclaration */: + return child(node.name) || child(node.body); + case 174 /* ImportDeclaration */: + return child(node.name) || child(node.entityName) || child(node.externalModuleName); + case 175 /* ExportAssignment */: + return child(node.exportName); + } + } + ts.forEachChild = forEachChild; + var ParsingContext; + (function (ParsingContext) { + ParsingContext[ParsingContext["SourceElements"] = 0] = "SourceElements"; + ParsingContext[ParsingContext["ModuleElements"] = 1] = "ModuleElements"; + ParsingContext[ParsingContext["BlockStatements"] = 2] = "BlockStatements"; + ParsingContext[ParsingContext["SwitchClauses"] = 3] = "SwitchClauses"; + ParsingContext[ParsingContext["SwitchClauseStatements"] = 4] = "SwitchClauseStatements"; + ParsingContext[ParsingContext["TypeMembers"] = 5] = "TypeMembers"; + ParsingContext[ParsingContext["ClassMembers"] = 6] = "ClassMembers"; + ParsingContext[ParsingContext["EnumMembers"] = 7] = "EnumMembers"; + ParsingContext[ParsingContext["BaseTypeReferences"] = 8] = "BaseTypeReferences"; + ParsingContext[ParsingContext["VariableDeclarations"] = 9] = "VariableDeclarations"; + ParsingContext[ParsingContext["ArgumentExpressions"] = 10] = "ArgumentExpressions"; + ParsingContext[ParsingContext["ObjectLiteralMembers"] = 11] = "ObjectLiteralMembers"; + ParsingContext[ParsingContext["ArrayLiteralMembers"] = 12] = "ArrayLiteralMembers"; + ParsingContext[ParsingContext["Parameters"] = 13] = "Parameters"; + ParsingContext[ParsingContext["TypeParameters"] = 14] = "TypeParameters"; + ParsingContext[ParsingContext["TypeArguments"] = 15] = "TypeArguments"; + ParsingContext[ParsingContext["Count"] = 16] = "Count"; + })(ParsingContext || (ParsingContext = {})); + var parsingContextErrors = [ + ts.Diagnostics.Declaration_or_statement_expected, + ts.Diagnostics.Declaration_or_statement_expected, + ts.Diagnostics.Statement_expected, + ts.Diagnostics.case_or_default_expected, + ts.Diagnostics.Statement_expected, + ts.Diagnostics.Property_or_signature_expected, + ts.Diagnostics.Property_or_method_expected, + ts.Diagnostics.Enum_member_expected, + ts.Diagnostics.Type_reference_expected, + ts.Diagnostics.Variable_declaration_expected, + ts.Diagnostics.Argument_expression_expected, + ts.Diagnostics.Property_assignment_expected, + ts.Diagnostics.Expression_or_comma_expected, + ts.Diagnostics.Parameter_declaration_expected, + ts.Diagnostics.Type_parameter_declaration_expected, + ts.Diagnostics.Type_argument_expected + ]; + var LookAheadMode; + (function (LookAheadMode) { + LookAheadMode[LookAheadMode["NotLookingAhead"] = 0] = "NotLookingAhead"; + LookAheadMode[LookAheadMode["NoErrorYet"] = 1] = "NoErrorYet"; + LookAheadMode[LookAheadMode["Error"] = 2] = "Error"; + })(LookAheadMode || (LookAheadMode = {})); + var ModifierContext; + (function (ModifierContext) { + ModifierContext[ModifierContext["ModuleElements"] = 0] = "ModuleElements"; + ModifierContext[ModifierContext["ClassMembers"] = 1] = "ClassMembers"; + ModifierContext[ModifierContext["Parameters"] = 2] = "Parameters"; + })(ModifierContext || (ModifierContext = {})); + function createSourceFile(filename, sourceText, languageVersion) { + var file; + var scanner; + var token; + var parsingContext; + var commentRanges; + var identifiers = {}; + var identifierCount = 0; + var nodeCount = 0; + var lineStarts; + var lookAheadMode = 0 /* NotLookingAhead */; + var inAmbientContext = false; + function getLineAndCharacterlFromSourcePosition(position) { + if (!lineStarts) { + lineStarts = ts.getLineStarts(sourceText); + } + return ts.getLineAndCharacterOfPosition(lineStarts, position); + } + function error(message, arg0, arg1, arg2) { + var start = scanner.getTokenPos(); + var length = scanner.getTextPos() - start; + errorAtPos(start, length, message, arg0, arg1, arg2); + } + function grammarErrorOnNode(node, message, arg0, arg1, arg2) { + var start = ts.skipTrivia(file.text, node.pos); + var length = node.end - start; + file.syntacticErrors.push(ts.createFileDiagnostic(file, start, length, message, arg0, arg1, arg2)); + } + function grammarErrorAtPos(start, length, message, arg0, arg1, arg2) { + file.syntacticErrors.push(ts.createFileDiagnostic(file, start, length, message, arg0, arg1, arg2)); + } + function errorAtPos(start, length, message, arg0, arg1, arg2) { + var lastErrorPos = file.syntacticErrors.length ? file.syntacticErrors[file.syntacticErrors.length - 1].start : -1; + if (start !== lastErrorPos) { + file.syntacticErrors.push(ts.createFileDiagnostic(file, start, length, message, arg0, arg1, arg2)); + } + if (lookAheadMode === 1 /* NoErrorYet */) { + lookAheadMode = 2 /* Error */; + } + } + function scanError(message) { + var pos = scanner.getTextPos(); + errorAtPos(pos, 0, message); + } + function onComment(pos, end) { + if (commentRanges) + commentRanges.push({ pos: pos, end: end }); + } + function getNodePos() { + return scanner.getStartPos(); + } + function getNodeEnd() { + return scanner.getStartPos(); + } + function nextToken() { + return token = scanner.scan(); + } + function getTokenPos(pos) { + return ts.skipTrivia(sourceText, pos); + } + function reScanGreaterToken() { + return token = scanner.reScanGreaterToken(); + } + function reScanSlashToken() { + return token = scanner.reScanSlashToken(); + } + function lookAheadHelper(callback, alwaysResetState) { + var saveToken = token; + var saveSyntacticErrorsLength = file.syntacticErrors.length; + var saveLookAheadMode = lookAheadMode; + lookAheadMode = 1 /* NoErrorYet */; + var result = callback(); + ts.Debug.assert(lookAheadMode === 2 /* Error */ || lookAheadMode === 1 /* NoErrorYet */); + if (lookAheadMode === 2 /* Error */) { + result = undefined; + } + lookAheadMode = saveLookAheadMode; + if (!result || alwaysResetState) { + token = saveToken; + file.syntacticErrors.length = saveSyntacticErrorsLength; + } + return result; + } + function lookAhead(callback) { + var result; + scanner.tryScan(function () { + result = lookAheadHelper(callback, true); + return false; + }); + return result; + } + function tryParse(callback) { + return scanner.tryScan(function () { return lookAheadHelper(callback, false); }); + } + function isIdentifier() { + return token === 55 /* Identifier */ || token > ts.SyntaxKind.LastReservedWord; + } + function isSemicolon() { + return token === 13 /* SemicolonToken */ || token === 6 /* CloseBraceToken */ || scanner.hasPrecedingLineBreak(); + } + function parseExpected(t) { + if (token === t) { + nextToken(); + return true; + } + error(ts.Diagnostics._0_expected, ts.tokenToString(t)); + return false; + } + function parseOptional(t) { + if (token === t) { + nextToken(); + return true; + } + return false; + } + function canParseSemicolon() { + if (token === 13 /* SemicolonToken */) { + return true; + } + return token === 6 /* CloseBraceToken */ || token === 1 /* EndOfFileToken */ || scanner.hasPrecedingLineBreak(); + } + function parseSemicolon() { + if (canParseSemicolon()) { + if (token === 13 /* SemicolonToken */) { + nextToken(); + } + } + else { + error(ts.Diagnostics._0_expected, ";"); + } + } + function createNode(kind, pos) { + nodeCount++; + var node = new (nodeConstructors[kind] || (nodeConstructors[kind] = ts.objectAllocator.getNodeConstructor(kind)))(); + if (!(pos >= 0)) + pos = scanner.getStartPos(); + node.pos = pos; + node.end = pos; + return node; + } + function finishNode(node) { + node.end = scanner.getStartPos(); + return node; + } + function createMissingNode() { + return createNode(111 /* Missing */); + } + function createIdentifier(isIdentifier) { + identifierCount++; + if (isIdentifier) { + var node = createNode(55 /* Identifier */); + var text = escapeIdentifier(scanner.getIdentifierText()); + node.text = ts.hasProperty(identifiers, text) ? identifiers[text] : (identifiers[text] = text); + nextToken(); + return finishNode(node); + } + error(ts.Diagnostics.Identifier_expected); + return createMissingNode(); + } + function parseIdentifier() { + return createIdentifier(isIdentifier()); + } + function parseIdentifierName() { + return createIdentifier(token >= 55 /* Identifier */); + } + function isPropertyName() { + return token >= 55 /* Identifier */ || token === 3 /* StringLiteral */ || token === 2 /* NumericLiteral */; + } + function parsePropertyName() { + if (token === 3 /* StringLiteral */ || token === 2 /* NumericLiteral */) { + return parsePrimaryExpression(); + } + return parseIdentifierName(); + } + function isModifier(token) { + switch (token) { + case 98 /* PublicKeyword */: + case 96 /* PrivateKeyword */: + case 99 /* StaticKeyword */: + case 68 /* ExportKeyword */: + case 104 /* DeclareKeyword */: + return true; + } + return false; + } + function parseContextualModifier(t) { + return token === t && tryParse(function () { + nextToken(); + return token === 9 /* OpenBracketToken */ || isPropertyName(); + }); + } + function parseAnyContextualModifier() { + return isModifier(token) && tryParse(function () { + nextToken(); + return token === 9 /* OpenBracketToken */ || isPropertyName(); + }); + } + function isListElement(kind) { + switch (kind) { + case 0 /* SourceElements */: + case 1 /* ModuleElements */: + return isSourceElement(); + case 2 /* BlockStatements */: + case 4 /* SwitchClauseStatements */: + return isStatement(); + case 3 /* SwitchClauses */: + return token === 57 /* CaseKeyword */ || token === 63 /* DefaultKeyword */; + case 5 /* TypeMembers */: + return isTypeMember(); + case 6 /* ClassMembers */: + return isClassMemberDeclaration(); + case 7 /* EnumMembers */: + case 11 /* ObjectLiteralMembers */: + return isPropertyName(); + case 8 /* BaseTypeReferences */: + return isIdentifier() && ((token !== 69 /* ExtendsKeyword */ && token !== 92 /* ImplementsKeyword */) || !lookAhead(function () { return (nextToken(), isIdentifier()); })); + case 9 /* VariableDeclarations */: + case 14 /* TypeParameters */: + return isIdentifier(); + case 10 /* ArgumentExpressions */: + return isExpression(); + case 12 /* ArrayLiteralMembers */: + return token === 14 /* CommaToken */ || isExpression(); + case 13 /* Parameters */: + return isParameter(); + case 15 /* TypeArguments */: + return isType(); + } + } + function isListTerminator(kind) { + if (token === 1 /* EndOfFileToken */) { + return true; + } + switch (kind) { + case 1 /* ModuleElements */: + case 2 /* BlockStatements */: + case 3 /* SwitchClauses */: + case 5 /* TypeMembers */: + case 6 /* ClassMembers */: + case 7 /* EnumMembers */: + case 11 /* ObjectLiteralMembers */: + return token === 6 /* CloseBraceToken */; + case 4 /* SwitchClauseStatements */: + return token === 6 /* CloseBraceToken */ || token === 57 /* CaseKeyword */ || token === 63 /* DefaultKeyword */; + case 8 /* BaseTypeReferences */: + return token === 5 /* OpenBraceToken */ || token === 69 /* ExtendsKeyword */ || token === 92 /* ImplementsKeyword */; + case 9 /* VariableDeclarations */: + return isVariableDeclaratorListTerminator(); + case 14 /* TypeParameters */: + return token === 16 /* GreaterThanToken */ || token === 7 /* OpenParenToken */ || token === 5 /* OpenBraceToken */ || token === 69 /* ExtendsKeyword */ || token === 92 /* ImplementsKeyword */; + case 10 /* ArgumentExpressions */: + return token === 8 /* CloseParenToken */ || token === 13 /* SemicolonToken */; + case 12 /* ArrayLiteralMembers */: + return token === 10 /* CloseBracketToken */; + case 13 /* Parameters */: + return token === 8 /* CloseParenToken */ || token === 10 /* CloseBracketToken */ || token === 5 /* OpenBraceToken */; + case 15 /* TypeArguments */: + return token === 16 /* GreaterThanToken */ || token === 7 /* OpenParenToken */; + } + } + function isVariableDeclaratorListTerminator() { + if (canParseSemicolon()) { + return true; + } + if (token === 76 /* InKeyword */) { + return true; + } + if (token === 23 /* EqualsGreaterThanToken */) { + return true; + } + return false; + } + function isInParsingContext() { + for (var kind = 0; kind < 16 /* Count */; kind++) { + if (parsingContext & (1 << kind)) { + if (isListElement(kind) || isListTerminator(kind)) + return true; + } + } + } + function parseList(kind, parseElement) { + var saveParsingContext = parsingContext; + parsingContext |= 1 << kind; + var result = []; + result.pos = getNodePos(); + while (!isListTerminator(kind)) { + if (isListElement(kind)) { + result.push(parseElement()); + } + else { + error(parsingContextErrors[kind]); + if (isInParsingContext()) + break; + nextToken(); + } + } + result.end = getNodeEnd(); + parsingContext = saveParsingContext; + return result; + } + function parseDelimitedList(kind, parseElement, allowTrailingComma) { + var saveParsingContext = parsingContext; + parsingContext |= 1 << kind; + var result = []; + result.pos = getNodePos(); + var errorCountBeforeParsingList = file.syntacticErrors.length; + var commaStart = -1; + while (true) { + if (isListElement(kind)) { + result.push(parseElement()); + commaStart = scanner.getTokenPos(); + if (parseOptional(14 /* CommaToken */)) { + continue; + } + commaStart = -1; + if (isListTerminator(kind)) { + break; + } + error(ts.Diagnostics._0_expected, ","); + } + else if (isListTerminator(kind)) { + if (!allowTrailingComma && commaStart >= 0) { + if (file.syntacticErrors.length === errorCountBeforeParsingList) { + grammarErrorAtPos(commaStart, scanner.getStartPos() - commaStart, ts.Diagnostics.Trailing_comma_not_allowed); + } + } + break; + } + else { + error(parsingContextErrors[kind]); + if (token !== 14 /* CommaToken */ && isInParsingContext()) + break; + nextToken(); + } + } + result.end = getNodeEnd(); + parsingContext = saveParsingContext; + return result; + } + function createMissingList() { + var pos = getNodePos(); + var result = []; + result.pos = pos; + result.end = pos; + return result; + } + function createNodeArray(node) { + var result = [node]; + result.pos = node.pos; + result.end = node.end; + return result; + } + function parseBracketedList(kind, parseElement, startToken, endToken, allowTrailingSeparator) { + if (parseExpected(startToken)) { + var result = parseDelimitedList(kind, parseElement, allowTrailingSeparator); + parseExpected(endToken); + return result; + } + return createMissingList(); + } + function parseEntityName() { + var entity = parseIdentifier(); + while (parseOptional(11 /* DotToken */)) { + var node = createNode(112 /* QualifiedName */, entity.pos); + node.left = entity; + node.right = parseIdentifier(); + entity = finishNode(node); + } + return entity; + } + function parseTokenNode() { + var node = createNode(token); + nextToken(); + return finishNode(node); + } + function parseLiteralNode() { + var node = createNode(token); + node.text = scanner.getTokenText(); + nextToken(); + return finishNode(node); + } + function parseStringLiteral() { + if (token === 3 /* StringLiteral */) + return parseLiteralNode(); + error(ts.Diagnostics.String_literal_expected); + return createMissingNode(); + } + function parseTypeReference() { + var node = createNode(123 /* TypeReference */); + node.typeName = parseEntityName(); + if (!scanner.hasPrecedingLineBreak() && token === 15 /* LessThanToken */) { + node.typeArguments = parseTypeArguments(); + } + return finishNode(node); + } + function parseTypeQuery() { + var node = createNode(124 /* TypeQuery */); + parseExpected(87 /* TypeOfKeyword */); + node.exprName = parseEntityName(); + return finishNode(node); + } + function parseTypeParameter() { + var node = createNode(113 /* TypeParameter */); + node.name = parseIdentifier(); + if (parseOptional(69 /* ExtendsKeyword */)) { + if (isType() || !isExpression()) { + node.constraint = parseType(); + } + else { + var expr = parseUnaryExpression(); + grammarErrorOnNode(expr, ts.Diagnostics.Type_expected); + } + } + return finishNode(node); + } + function parseTypeParameters() { + if (token === 15 /* LessThanToken */) { + var pos = getNodePos(); + var result = parseBracketedList(14 /* TypeParameters */, parseTypeParameter, 15 /* LessThanToken */, 16 /* GreaterThanToken */, false); + if (!result.length) { + var start = getTokenPos(pos); + var length = getNodePos() - start; + errorAtPos(start, length, ts.Diagnostics.Type_parameter_list_cannot_be_empty); + } + return result; + } + } + function parseParameterType() { + return parseOptional(42 /* ColonToken */) ? token === 3 /* StringLiteral */ ? parseStringLiteral() : parseType() : undefined; + } + function isParameter() { + return token === 12 /* DotDotDotToken */ || isIdentifier() || isModifier(token); + } + function parseParameter(flags) { + if (flags === void 0) { flags = 0; } + var node = createNode(114 /* Parameter */); + node.flags |= parseAndCheckModifiers(2 /* Parameters */); + if (parseOptional(12 /* DotDotDotToken */)) { + node.flags |= 8 /* Rest */; + } + node.name = parseIdentifier(); + if (parseOptional(41 /* QuestionToken */)) { + node.flags |= 4 /* QuestionMark */; + } + node.type = parseParameterType(); + node.initializer = parseInitializer(true); + return finishNode(node); + } + function parseSignature(kind, returnToken) { + if (kind === 121 /* ConstructSignature */) { + parseExpected(78 /* NewKeyword */); + } + var typeParameters = parseTypeParameters(); + var parameters = parseParameterList(7 /* OpenParenToken */, 8 /* CloseParenToken */); + checkParameterList(parameters); + var type = parseOptional(returnToken) ? parseType() : undefined; + return { + typeParameters: typeParameters, + parameters: parameters, + type: type + }; + } + function parseParameterList(startDelimiter, endDelimiter) { + return parseBracketedList(13 /* Parameters */, parseParameter, startDelimiter, endDelimiter, false); + } + function checkParameterList(parameters) { + var seenOptionalParameter = false; + var parameterCount = parameters.length; + for (var i = 0; i < parameterCount; i++) { + var parameter = parameters[i]; + if (parameter.flags & 8 /* Rest */) { + if (i !== (parameterCount - 1)) { + grammarErrorOnNode(parameter.name, ts.Diagnostics.A_rest_parameter_must_be_last_in_a_parameter_list); + return; + } + if (parameter.flags & 4 /* QuestionMark */) { + grammarErrorOnNode(parameter.name, ts.Diagnostics.A_rest_parameter_cannot_be_optional); + return; + } + if (parameter.initializer) { + grammarErrorOnNode(parameter.name, ts.Diagnostics.A_rest_parameter_cannot_have_an_initializer); + return; + } + } + else if (parameter.flags & 4 /* QuestionMark */ || parameter.initializer) { + seenOptionalParameter = true; + if (parameter.flags & 4 /* QuestionMark */ && parameter.initializer) { + grammarErrorOnNode(parameter.name, ts.Diagnostics.Parameter_cannot_have_question_mark_and_initializer); + return; + } + } + else { + if (seenOptionalParameter) { + grammarErrorOnNode(parameter.name, ts.Diagnostics.A_required_parameter_cannot_follow_an_optional_parameter); + return; + } + } + } + } + function parseSignatureMember(kind, returnToken) { + var node = createNode(kind); + var sig = parseSignature(kind, returnToken); + node.typeParameters = sig.typeParameters; + node.parameters = sig.parameters; + node.type = sig.type; + parseSemicolon(); + return finishNode(node); + } + function parseIndexSignatureMember() { + var node = createNode(122 /* IndexSignature */); + var errorCountBeforeIndexSignature = file.syntacticErrors.length; + var indexerStart = scanner.getTokenPos(); + node.parameters = parseParameterList(9 /* OpenBracketToken */, 10 /* CloseBracketToken */); + var indexerLength = scanner.getStartPos() - indexerStart; + node.type = parseTypeAnnotation(); + parseSemicolon(); + if (file.syntacticErrors.length === errorCountBeforeIndexSignature) { + checkIndexSignature(node, indexerStart, indexerLength); + } + return finishNode(node); + } + function checkIndexSignature(node, indexerStart, indexerLength) { + var parameter = node.parameters[0]; + if (node.parameters.length !== 1) { + var arityDiagnostic = ts.Diagnostics.An_index_signature_must_have_exactly_one_parameter; + if (parameter) { + grammarErrorOnNode(parameter.name, arityDiagnostic); + } + else { + grammarErrorAtPos(indexerStart, indexerLength, arityDiagnostic); + } + return; + } + else if (parameter.flags & 8 /* Rest */) { + grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_cannot_have_a_rest_parameter); + return; + } + else if (parameter.flags & ts.NodeFlags.Modifier) { + grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_cannot_have_an_accessibility_modifier); + return; + } + else if (parameter.flags & 4 /* QuestionMark */) { + grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_cannot_have_a_question_mark); + return; + } + else if (parameter.initializer) { + grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_cannot_have_an_initializer); + return; + } + else if (!parameter.type) { + grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_must_have_a_type_annotation); + return; + } + else if (parameter.type.kind !== 110 /* StringKeyword */ && parameter.type.kind !== 108 /* NumberKeyword */) { + grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_type_must_be_string_or_number); + return; + } + else if (!node.type) { + grammarErrorAtPos(indexerStart, indexerLength, ts.Diagnostics.An_index_signature_must_have_a_type_annotation); + return; + } + } + function parsePropertyOrMethod() { + var node = createNode(0 /* Unknown */); + node.name = parsePropertyName(); + if (parseOptional(41 /* QuestionToken */)) { + node.flags |= 4 /* QuestionMark */; + } + if (token === 7 /* OpenParenToken */ || token === 15 /* LessThanToken */) { + node.kind = 116 /* Method */; + var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); + node.typeParameters = sig.typeParameters; + node.parameters = sig.parameters; + node.type = sig.type; + } + else { + node.kind = 115 /* Property */; + node.type = parseTypeAnnotation(); + } + parseSemicolon(); + return finishNode(node); + } + function isTypeMember() { + switch (token) { + case 7 /* OpenParenToken */: + case 15 /* LessThanToken */: + case 9 /* OpenBracketToken */: + return true; + default: + return isPropertyName() && lookAhead(function () { return nextToken() === 7 /* OpenParenToken */ || token === 15 /* LessThanToken */ || token === 41 /* QuestionToken */ || token === 42 /* ColonToken */ || canParseSemicolon(); }); + } + } + function parseTypeMember() { + switch (token) { + case 7 /* OpenParenToken */: + case 15 /* LessThanToken */: + return parseSignatureMember(120 /* CallSignature */, 42 /* ColonToken */); + case 9 /* OpenBracketToken */: + return parseIndexSignatureMember(); + case 78 /* NewKeyword */: + if (lookAhead(function () { return nextToken() === 7 /* OpenParenToken */ || token === 15 /* LessThanToken */; })) { + return parseSignatureMember(121 /* ConstructSignature */, 42 /* ColonToken */); + } + case 3 /* StringLiteral */: + case 2 /* NumericLiteral */: + return parsePropertyOrMethod(); + default: + if (token >= 55 /* Identifier */) { + return parsePropertyOrMethod(); + } + } + } + function parseTypeLiteral() { + var node = createNode(125 /* TypeLiteral */); + if (parseExpected(5 /* OpenBraceToken */)) { + node.members = parseList(5 /* TypeMembers */, parseTypeMember); + parseExpected(6 /* CloseBraceToken */); + } + else { + node.members = createMissingList(); + } + return finishNode(node); + } + function parseFunctionType(signatureKind) { + var node = createNode(125 /* TypeLiteral */); + var member = createNode(signatureKind); + var sig = parseSignature(signatureKind, 23 /* EqualsGreaterThanToken */); + member.typeParameters = sig.typeParameters; + member.parameters = sig.parameters; + member.type = sig.type; + finishNode(member); + node.members = createNodeArray(member); + return finishNode(node); + } + function parseKeywordAndNoDot() { + var node = parseTokenNode(); + return token === 11 /* DotToken */ ? undefined : node; + } + function parseNonArrayType() { + switch (token) { + case 101 /* AnyKeyword */: + case 110 /* StringKeyword */: + case 108 /* NumberKeyword */: + case 102 /* BooleanKeyword */: + case 89 /* VoidKeyword */: + var node = tryParse(parseKeywordAndNoDot); + return node || parseTypeReference(); + case 87 /* TypeOfKeyword */: + return parseTypeQuery(); + case 5 /* OpenBraceToken */: + return parseTypeLiteral(); + case 7 /* OpenParenToken */: + case 15 /* LessThanToken */: + return parseFunctionType(120 /* CallSignature */); + case 78 /* NewKeyword */: + return parseFunctionType(121 /* ConstructSignature */); + default: + if (isIdentifier()) { + return parseTypeReference(); + } + } + error(ts.Diagnostics.Type_expected); + return createMissingNode(); + } + function isType() { + switch (token) { + case 101 /* AnyKeyword */: + case 110 /* StringKeyword */: + case 108 /* NumberKeyword */: + case 102 /* BooleanKeyword */: + case 89 /* VoidKeyword */: + case 87 /* TypeOfKeyword */: + case 5 /* OpenBraceToken */: + case 15 /* LessThanToken */: + case 78 /* NewKeyword */: + return true; + case 7 /* OpenParenToken */: + return lookAhead(function () { + nextToken(); + return token === 8 /* CloseParenToken */ || isParameter(); + }); + default: + return isIdentifier(); + } + } + function parseType() { + var type = parseNonArrayType(); + while (type && !scanner.hasPrecedingLineBreak() && parseOptional(9 /* OpenBracketToken */)) { + parseExpected(10 /* CloseBracketToken */); + var node = createNode(126 /* ArrayType */, type.pos); + node.elementType = type; + type = finishNode(node); + } + return type; + } + function parseTypeAnnotation() { + return parseOptional(42 /* ColonToken */) ? parseType() : undefined; + } + function isExpression() { + switch (token) { + case 83 /* ThisKeyword */: + case 81 /* SuperKeyword */: + case 79 /* NullKeyword */: + case 85 /* TrueKeyword */: + case 70 /* FalseKeyword */: + case 2 /* NumericLiteral */: + case 3 /* StringLiteral */: + case 7 /* OpenParenToken */: + case 9 /* OpenBracketToken */: + case 5 /* OpenBraceToken */: + case 73 /* FunctionKeyword */: + case 78 /* NewKeyword */: + case 27 /* SlashToken */: + case 47 /* SlashEqualsToken */: + case 24 /* PlusToken */: + case 25 /* MinusToken */: + case 38 /* TildeToken */: + case 37 /* ExclamationToken */: + case 64 /* DeleteKeyword */: + case 87 /* TypeOfKeyword */: + case 89 /* VoidKeyword */: + case 29 /* PlusPlusToken */: + case 30 /* MinusMinusToken */: + case 15 /* LessThanToken */: + case 55 /* Identifier */: + return true; + default: + return isIdentifier(); + } + } + function parseExpression(noIn) { + var expr = parseAssignmentExpression(noIn); + while (parseOptional(14 /* CommaToken */)) { + expr = makeBinaryExpression(expr, 14 /* CommaToken */, parseAssignmentExpression(noIn)); + } + return expr; + } + function parseInitializer(inParameter, noIn) { + if (token !== 43 /* EqualsToken */) { + if (scanner.hasPrecedingLineBreak() || (inParameter && token === 5 /* OpenBraceToken */) || !isExpression()) { + return undefined; + } + } + parseExpected(43 /* EqualsToken */); + return parseAssignmentExpression(noIn); + } + function parseAssignmentExpression(noIn) { + var arrowExpression = tryParseArrowFunctionExpression(); + if (arrowExpression) { + return arrowExpression; + } + var expr = parseConditionalExpression(noIn); + if (isLeftHandSideExpression(expr) && isAssignmentOperator()) { + var operator = token; + nextToken(); + return makeBinaryExpression(expr, operator, parseAssignmentExpression(noIn)); + } + return expr; + } + function isLeftHandSideExpression(expr) { + if (expr) { + switch (expr.kind) { + case 130 /* PropertyAccess */: + case 131 /* IndexedAccess */: + case 133 /* NewExpression */: + case 132 /* CallExpression */: + case 127 /* ArrayLiteral */: + case 135 /* ParenExpression */: + case 128 /* ObjectLiteral */: + case 136 /* FunctionExpression */: + case 55 /* Identifier */: + case 111 /* Missing */: + case 4 /* RegularExpressionLiteral */: + case 2 /* NumericLiteral */: + case 3 /* StringLiteral */: + case 70 /* FalseKeyword */: + case 79 /* NullKeyword */: + case 83 /* ThisKeyword */: + case 85 /* TrueKeyword */: + case 81 /* SuperKeyword */: + return true; + } + } + return false; + } + function tryParseArrowFunctionExpression() { + return isSimpleArrowFunctionExpression() ? parseSimpleArrowFunctionExpression() : tryParseParenthesizedArrowFunctionExpression(); + } + function isSimpleArrowFunctionExpression() { + if (token === 23 /* EqualsGreaterThanToken */) { + return true; + } + if (token === 55 /* Identifier */) { + return lookAhead(function () { + return nextToken() === 23 /* EqualsGreaterThanToken */; + }); + } + return false; + } + function parseSimpleArrowFunctionExpression() { + ts.Debug.assert(token === 55 /* Identifier */ || token === 23 /* EqualsGreaterThanToken */); + var identifier = parseIdentifier(); + ts.Debug.assert(token === 23 /* EqualsGreaterThanToken */, "parseSimpleArrowFunctionExpression should only have been called if we had a =>"); + parseExpected(23 /* EqualsGreaterThanToken */); + var parameter = createNode(114 /* Parameter */, identifier.pos); + parameter.name = identifier; + finishNode(parameter); + var signature = { parameters: [parameter] }; + return parseArrowExpressionTail(identifier.pos, signature, false); + } + function tryParseParenthesizedArrowFunctionExpression() { + var pos = getNodePos(); + var triState = isParenthesizedArrowFunctionExpression(); + if (triState !== false) { + var sig = triState === true ? parseSignatureAndArrow() : tryParse(parseSignatureAndArrow); + if (sig) { + return parseArrowExpressionTail(pos, sig, false); + } + } + return undefined; + } + function isParenthesizedArrowFunctionExpression() { + if (token === 7 /* OpenParenToken */ || token === 15 /* LessThanToken */) { + return lookAhead(function () { + var first = token; + nextToken(); + if (first === 7 /* OpenParenToken */) { + if (token === 8 /* CloseParenToken */ || token === 12 /* DotDotDotToken */) { + return true; + } + if (!isIdentifier()) { + return false; + } + return undefined; + } + else { + ts.Debug.assert(first === 15 /* LessThanToken */); + if (!isIdentifier()) { + return false; + } + return undefined; + } + }); + } + return false; + } + function parseSignatureAndArrow() { + var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); + parseExpected(23 /* EqualsGreaterThanToken */); + return sig; + } + function parseArrowExpressionTail(pos, sig, noIn) { + var body = token === 5 /* OpenBraceToken */ ? parseBody() : parseAssignmentExpression(noIn); + return makeFunctionExpression(137 /* ArrowFunction */, pos, undefined, sig, body); + } + function isAssignmentOperator() { + return token >= ts.SyntaxKind.FirstAssignment && token <= ts.SyntaxKind.LastAssignment; + } + function parseConditionalExpression(noIn) { + var expr = parseBinaryExpression(noIn); + while (parseOptional(41 /* QuestionToken */)) { + var node = createNode(141 /* ConditionalExpression */, expr.pos); + node.condition = expr; + node.whenTrue = parseAssignmentExpression(false); + parseExpected(42 /* ColonToken */); + node.whenFalse = parseAssignmentExpression(noIn); + expr = finishNode(node); + } + return expr; + } + function parseBinaryExpression(noIn) { + return parseBinaryOperators(parseUnaryExpression(), 0, noIn); + } + function parseBinaryOperators(expr, minPrecedence, noIn) { + while (true) { + reScanGreaterToken(); + var precedence = getOperatorPrecedence(); + if (precedence && precedence > minPrecedence && (!noIn || token !== 76 /* InKeyword */)) { + var operator = token; + nextToken(); + expr = makeBinaryExpression(expr, operator, parseBinaryOperators(parseUnaryExpression(), precedence, noIn)); + continue; + } + return expr; + } + } + function getOperatorPrecedence() { + switch (token) { + case 40 /* BarBarToken */: + return 1; + case 39 /* AmpersandAmpersandToken */: + return 2; + case 35 /* BarToken */: + return 3; + case 36 /* CaretToken */: + return 4; + case 34 /* AmpersandToken */: + return 5; + case 19 /* EqualsEqualsToken */: + case 20 /* ExclamationEqualsToken */: + case 21 /* EqualsEqualsEqualsToken */: + case 22 /* ExclamationEqualsEqualsToken */: + return 6; + case 15 /* LessThanToken */: + case 16 /* GreaterThanToken */: + case 17 /* LessThanEqualsToken */: + case 18 /* GreaterThanEqualsToken */: + case 77 /* InstanceOfKeyword */: + case 76 /* InKeyword */: + return 7; + case 31 /* LessThanLessThanToken */: + case 32 /* GreaterThanGreaterThanToken */: + case 33 /* GreaterThanGreaterThanGreaterThanToken */: + return 8; + case 24 /* PlusToken */: + case 25 /* MinusToken */: + return 9; + case 26 /* AsteriskToken */: + case 27 /* SlashToken */: + case 28 /* PercentToken */: + return 10; + } + return undefined; + } + function makeBinaryExpression(left, operator, right) { + var node = createNode(140 /* BinaryExpression */, left.pos); + node.left = left; + node.operator = operator; + node.right = right; + return finishNode(node); + } + function parseUnaryExpression() { + var pos = getNodePos(); + switch (token) { + case 24 /* PlusToken */: + case 25 /* MinusToken */: + case 38 /* TildeToken */: + case 37 /* ExclamationToken */: + case 64 /* DeleteKeyword */: + case 87 /* TypeOfKeyword */: + case 89 /* VoidKeyword */: + case 29 /* PlusPlusToken */: + case 30 /* MinusMinusToken */: + var operator = token; + nextToken(); + var operand = parseUnaryExpression(); + return makeUnaryExpression(138 /* PrefixOperator */, pos, operator, operand); + case 15 /* LessThanToken */: + return parseTypeAssertion(); + } + var primaryExpression = parsePrimaryExpression(); + var illegalUsageOfSuperKeyword = primaryExpression.kind === 81 /* SuperKeyword */ && token !== 7 /* OpenParenToken */ && token !== 11 /* DotToken */; + if (illegalUsageOfSuperKeyword) { + error(ts.Diagnostics.super_must_be_followed_by_argument_list_or_member_access); + } + var expr = parseCallAndAccess(primaryExpression, false); + ts.Debug.assert(isLeftHandSideExpression(expr)); + if ((token === 29 /* PlusPlusToken */ || token === 30 /* MinusMinusToken */) && !scanner.hasPrecedingLineBreak()) { + var operator = token; + nextToken(); + expr = makeUnaryExpression(139 /* PostfixOperator */, expr.pos, operator, expr); + } + return expr; + } + function parseTypeAssertion() { + var node = createNode(134 /* TypeAssertion */); + parseExpected(15 /* LessThanToken */); + node.type = parseType(); + parseExpected(16 /* GreaterThanToken */); + node.operand = parseUnaryExpression(); + return finishNode(node); + } + function makeUnaryExpression(kind, pos, operator, operand) { + var node = createNode(kind, pos); + node.operator = operator; + node.operand = operand; + return finishNode(node); + } + function parseCallAndAccess(expr, inNewExpression) { + while (true) { + if (parseOptional(11 /* DotToken */)) { + var propertyAccess = createNode(130 /* PropertyAccess */, expr.pos); + propertyAccess.left = expr; + propertyAccess.right = parseIdentifierName(); + expr = finishNode(propertyAccess); + continue; + } + var bracketStart = scanner.getTokenPos(); + if (parseOptional(9 /* OpenBracketToken */)) { + var indexedAccess = createNode(131 /* IndexedAccess */, expr.pos); + indexedAccess.object = expr; + if (inNewExpression && parseOptional(10 /* CloseBracketToken */)) { + indexedAccess.index = createMissingNode(); + grammarErrorAtPos(bracketStart, scanner.getStartPos() - bracketStart, ts.Diagnostics.new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead); + } + else { + indexedAccess.index = parseExpression(); + parseExpected(10 /* CloseBracketToken */); + } + expr = finishNode(indexedAccess); + continue; + } + if ((token === 7 /* OpenParenToken */ || token === 15 /* LessThanToken */) && !inNewExpression) { + var callExpr = createNode(132 /* CallExpression */, expr.pos); + callExpr.func = expr; + if (token === 15 /* LessThanToken */) { + if (!(callExpr.typeArguments = tryParse(parseTypeArgumentsAndOpenParen))) + return expr; + } + else { + parseExpected(7 /* OpenParenToken */); + } + callExpr.arguments = parseDelimitedList(10 /* ArgumentExpressions */, parseAssignmentExpression, false); + parseExpected(8 /* CloseParenToken */); + expr = finishNode(callExpr); + continue; + } + return expr; + } + } + function parseTypeArgumentsAndOpenParen() { + var result = parseTypeArguments(); + parseExpected(7 /* OpenParenToken */); + return result; + } + function parseTypeArguments() { + var typeArgumentListStart = scanner.getTokenPos(); + var errorCountBeforeTypeParameterList = file.syntacticErrors.length; + var result = parseBracketedList(15 /* TypeArguments */, parseType, 15 /* LessThanToken */, 16 /* GreaterThanToken */, false); + if (!result.length && file.syntacticErrors.length === errorCountBeforeTypeParameterList) { + grammarErrorAtPos(typeArgumentListStart, scanner.getStartPos() - typeArgumentListStart, ts.Diagnostics.Type_argument_list_cannot_be_empty); + } + return result; + } + function parsePrimaryExpression() { + switch (token) { + case 83 /* ThisKeyword */: + case 81 /* SuperKeyword */: + case 79 /* NullKeyword */: + case 85 /* TrueKeyword */: + case 70 /* FalseKeyword */: + return parseTokenNode(); + case 2 /* NumericLiteral */: + case 3 /* StringLiteral */: + return parseLiteralNode(); + case 7 /* OpenParenToken */: + return parseParenExpression(); + case 9 /* OpenBracketToken */: + return parseArrayLiteral(); + case 5 /* OpenBraceToken */: + return parseObjectLiteral(); + case 73 /* FunctionKeyword */: + return parseFunctionExpression(); + case 78 /* NewKeyword */: + return parseNewExpression(); + case 27 /* SlashToken */: + case 47 /* SlashEqualsToken */: + if (reScanSlashToken() === 4 /* RegularExpressionLiteral */) { + return parseLiteralNode(); + } + break; + default: + if (isIdentifier()) { + return parseIdentifier(); + } + } + error(ts.Diagnostics.Expression_expected); + return createMissingNode(); + } + function parseParenExpression() { + var node = createNode(135 /* ParenExpression */); + parseExpected(7 /* OpenParenToken */); + node.expression = parseExpression(); + parseExpected(8 /* CloseParenToken */); + return finishNode(node); + } + function parseArrayLiteralElement() { + return token === 14 /* CommaToken */ ? createNode(142 /* OmittedExpression */) : parseAssignmentExpression(); + } + function parseArrayLiteral() { + var node = createNode(127 /* ArrayLiteral */); + parseExpected(9 /* OpenBracketToken */); + if (scanner.hasPrecedingLineBreak()) + node.flags |= 128 /* MultiLine */; + node.elements = parseDelimitedList(12 /* ArrayLiteralMembers */, parseArrayLiteralElement, true); + parseExpected(10 /* CloseBracketToken */); + return finishNode(node); + } + function parsePropertyAssignment() { + var node = createNode(129 /* PropertyAssignment */); + node.name = parsePropertyName(); + if (token === 7 /* OpenParenToken */ || token === 15 /* LessThanToken */) { + var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); + var body = parseBody(); + node.initializer = makeFunctionExpression(136 /* FunctionExpression */, node.pos, node.name, sig, body); + } + else { + parseExpected(42 /* ColonToken */); + node.initializer = parseAssignmentExpression(false); + } + return finishNode(node); + } + function parseObjectLiteralMember() { + var initialPos = getNodePos(); + var initialToken = token; + if (parseContextualModifier(105 /* GetKeyword */) || parseContextualModifier(109 /* SetKeyword */)) { + var kind = initialToken === 105 /* GetKeyword */ ? 118 /* GetAccessor */ : 119 /* SetAccessor */; + return parseAndCheckMemberAccessorDeclaration(kind, initialPos, 0); + } + return parsePropertyAssignment(); + } + function parseObjectLiteral() { + var node = createNode(128 /* ObjectLiteral */); + parseExpected(5 /* OpenBraceToken */); + if (scanner.hasPrecedingLineBreak()) + node.flags |= 128 /* MultiLine */; + node.properties = parseDelimitedList(11 /* ObjectLiteralMembers */, parseObjectLiteralMember, true); + parseExpected(6 /* CloseBraceToken */); + return finishNode(node); + } + function parseFunctionExpression() { + var pos = getNodePos(); + parseExpected(73 /* FunctionKeyword */); + var name = isIdentifier() ? parseIdentifier() : undefined; + var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); + var body = parseBody(); + return makeFunctionExpression(136 /* FunctionExpression */, pos, name, sig, body); + } + function makeFunctionExpression(kind, pos, name, sig, body) { + var node = createNode(kind, pos); + node.name = name; + node.typeParameters = sig.typeParameters; + node.parameters = sig.parameters; + node.type = sig.type; + node.body = body; + return finishNode(node); + } + function parseNewExpression() { + var node = createNode(133 /* NewExpression */); + parseExpected(78 /* NewKeyword */); + node.func = parseCallAndAccess(parsePrimaryExpression(), true); + if (parseOptional(7 /* OpenParenToken */) || token === 15 /* LessThanToken */ && (node.typeArguments = tryParse(parseTypeArgumentsAndOpenParen))) { + node.arguments = parseDelimitedList(10 /* ArgumentExpressions */, parseAssignmentExpression, false); + parseExpected(8 /* CloseParenToken */); + } + return finishNode(node); + } + function parseBlock() { + var node = createNode(143 /* Block */); + if (parseExpected(5 /* OpenBraceToken */)) { + node.statements = parseList(2 /* BlockStatements */, parseStatement); + parseExpected(6 /* CloseBraceToken */); + } + else { + node.statements = createMissingList(); + } + return finishNode(node); + } + function parseBody() { + var block = parseBlock(); + block.kind = 168 /* FunctionBlock */; + return block; + } + function parseEmptyStatement() { + var node = createNode(145 /* EmptyStatement */); + parseExpected(13 /* SemicolonToken */); + return finishNode(node); + } + function parseIfStatement() { + var node = createNode(147 /* IfStatement */); + parseExpected(74 /* IfKeyword */); + parseExpected(7 /* OpenParenToken */); + node.expression = parseExpression(); + parseExpected(8 /* CloseParenToken */); + node.thenStatement = parseStatement(); + node.elseStatement = parseOptional(66 /* ElseKeyword */) ? parseStatement() : undefined; + return finishNode(node); + } + function parseDoStatement() { + var node = createNode(148 /* DoStatement */); + parseExpected(65 /* DoKeyword */); + node.statement = parseStatement(); + parseExpected(90 /* WhileKeyword */); + parseExpected(7 /* OpenParenToken */); + node.expression = parseExpression(); + parseExpected(8 /* CloseParenToken */); + parseOptional(13 /* SemicolonToken */); + return finishNode(node); + } + function parseWhileStatement() { + var node = createNode(149 /* WhileStatement */); + parseExpected(90 /* WhileKeyword */); + parseExpected(7 /* OpenParenToken */); + node.expression = parseExpression(); + parseExpected(8 /* CloseParenToken */); + node.statement = parseStatement(); + return finishNode(node); + } + function parseForOrForInStatement() { + var pos = getNodePos(); + parseExpected(72 /* ForKeyword */); + parseExpected(7 /* OpenParenToken */); + if (token !== 13 /* SemicolonToken */) { + if (parseOptional(88 /* VarKeyword */)) { + var declarations = parseVariableDeclarationList(0, true); + if (!declarations.length) { + error(ts.Diagnostics.variable_declaration_list_cannot_be_empty); + } + } + else { + var varOrInit = parseExpression(true); + } + } + if (parseOptional(76 /* InKeyword */)) { + var forInStat = createNode(151 /* ForInStatement */, pos); + if (declarations) { + if (declarations.length > 1) { + error(ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement); + } + forInStat.declaration = declarations[0]; + } + else { + forInStat.variable = varOrInit; + } + forInStat.expression = parseExpression(); + parseExpected(8 /* CloseParenToken */); + forInStat.statement = parseStatement(); + return finishNode(forInStat); + } + else { + var forStat = createNode(150 /* ForStatement */, pos); + if (declarations) + forStat.declarations = declarations; + if (varOrInit) + forStat.initializer = varOrInit; + parseExpected(13 /* SemicolonToken */); + if (token !== 13 /* SemicolonToken */ && token !== 8 /* CloseParenToken */) { + forStat.condition = parseExpression(); + } + parseExpected(13 /* SemicolonToken */); + if (token !== 8 /* CloseParenToken */) { + forStat.iterator = parseExpression(); + } + parseExpected(8 /* CloseParenToken */); + forStat.statement = parseStatement(); + return finishNode(forStat); + } + } + function parseBreakOrContinueStatement(kind) { + var node = createNode(kind); + parseExpected(kind === 153 /* BreakStatement */ ? 56 /* BreakKeyword */ : 61 /* ContinueKeyword */); + if (!isSemicolon()) + node.label = parseIdentifier(); + parseSemicolon(); + return finishNode(node); + } + function parseReturnStatement() { + var node = createNode(154 /* ReturnStatement */); + parseExpected(80 /* ReturnKeyword */); + if (!isSemicolon()) + node.expression = parseExpression(); + parseSemicolon(); + return finishNode(node); + } + function parseWithStatement() { + var node = createNode(155 /* WithStatement */); + parseExpected(91 /* WithKeyword */); + parseExpected(7 /* OpenParenToken */); + node.expression = parseExpression(); + parseExpected(8 /* CloseParenToken */); + node.statement = parseStatement(); + return finishNode(node); + } + function parseCaseClause() { + var node = createNode(157 /* CaseClause */); + parseExpected(57 /* CaseKeyword */); + node.expression = parseExpression(); + parseExpected(42 /* ColonToken */); + node.statements = parseList(4 /* SwitchClauseStatements */, parseStatement); + return finishNode(node); + } + function parseDefaultClause() { + var node = createNode(158 /* DefaultClause */); + parseExpected(63 /* DefaultKeyword */); + parseExpected(42 /* ColonToken */); + node.statements = parseList(4 /* SwitchClauseStatements */, parseStatement); + return finishNode(node); + } + function parseCaseOrDefaultClause() { + return token === 57 /* CaseKeyword */ ? parseCaseClause() : parseDefaultClause(); + } + function parseSwitchStatement() { + var node = createNode(156 /* SwitchStatement */); + parseExpected(82 /* SwitchKeyword */); + parseExpected(7 /* OpenParenToken */); + node.expression = parseExpression(); + parseExpected(8 /* CloseParenToken */); + parseExpected(5 /* OpenBraceToken */); + node.clauses = parseList(3 /* SwitchClauses */, parseCaseOrDefaultClause); + parseExpected(6 /* CloseBraceToken */); + return finishNode(node); + } + function parseThrowStatement() { + var node = createNode(160 /* ThrowStatement */); + parseExpected(84 /* ThrowKeyword */); + if (scanner.hasPrecedingLineBreak()) { + error(ts.Diagnostics.Line_break_not_permitted_here); + } + node.expression = parseExpression(); + parseSemicolon(); + return finishNode(node); + } + function parseTryStatement() { + var node = createNode(161 /* TryStatement */); + node.tryBlock = parseTokenAndBlock(86 /* TryKeyword */, 162 /* TryBlock */); + if (token === 58 /* CatchKeyword */) { + node.catchBlock = parseCatchBlock(); + } + if (token === 71 /* FinallyKeyword */) { + node.finallyBlock = parseTokenAndBlock(71 /* FinallyKeyword */, 164 /* FinallyBlock */); + } + if (!(node.catchBlock || node.finallyBlock)) { + error(ts.Diagnostics.catch_or_finally_expected); + } + return finishNode(node); + } + function parseTokenAndBlock(token, kind) { + var pos = getNodePos(); + parseExpected(token); + var result = parseBlock(); + result.kind = kind; + result.pos = pos; + return result; + } + function parseCatchBlock() { + var pos = getNodePos(); + parseExpected(58 /* CatchKeyword */); + parseExpected(7 /* OpenParenToken */); + var variable = parseIdentifier(); + var typeAnnotationColonStart = scanner.getTokenPos(); + var typeAnnotationColonLength = scanner.getTextPos() - typeAnnotationColonStart; + var typeAnnotation = parseTypeAnnotation(); + parseExpected(8 /* CloseParenToken */); + var result = parseBlock(); + result.kind = 163 /* CatchBlock */; + result.pos = pos; + result.variable = variable; + if (typeAnnotation) { + errorAtPos(typeAnnotationColonStart, typeAnnotationColonLength, ts.Diagnostics.Catch_clause_parameter_cannot_have_a_type_annotation); + } + return result; + } + function parseDebuggerStatement() { + var node = createNode(165 /* DebuggerStatement */); + parseExpected(62 /* DebuggerKeyword */); + parseSemicolon(); + return finishNode(node); + } + function parseLabelledStatement() { + var node = createNode(159 /* LabelledStatement */); + node.label = parseIdentifier(); + parseExpected(42 /* ColonToken */); + node.statement = parseStatement(); + return finishNode(node); + } + function parseExpressionStatement() { + var node = createNode(146 /* ExpressionStatement */); + node.expression = parseExpression(); + parseSemicolon(); + return finishNode(node); + } + function isStatement() { + switch (token) { + case 5 /* OpenBraceToken */: + case 88 /* VarKeyword */: + case 73 /* FunctionKeyword */: + case 13 /* SemicolonToken */: + case 74 /* IfKeyword */: + case 65 /* DoKeyword */: + case 90 /* WhileKeyword */: + case 72 /* ForKeyword */: + case 61 /* ContinueKeyword */: + case 56 /* BreakKeyword */: + case 80 /* ReturnKeyword */: + case 91 /* WithKeyword */: + case 82 /* SwitchKeyword */: + case 84 /* ThrowKeyword */: + case 86 /* TryKeyword */: + case 62 /* DebuggerKeyword */: + return true; + case 93 /* InterfaceKeyword */: + case 59 /* ClassKeyword */: + case 106 /* ModuleKeyword */: + case 67 /* EnumKeyword */: + if (isDeclaration()) + return false; + case 98 /* PublicKeyword */: + case 96 /* PrivateKeyword */: + case 99 /* StaticKeyword */: + if (lookAhead(function () { return nextToken() >= 55 /* Identifier */; })) + return false; + default: + return isExpression(); + } + } + function isStatementOrFunction() { + return token === 73 /* FunctionKeyword */ || isStatement(); + } + function parseStatement() { + switch (token) { + case 5 /* OpenBraceToken */: + return parseBlock(); + case 88 /* VarKeyword */: + return parseVariableStatement(); + case 73 /* FunctionKeyword */: + return parseFunctionDeclaration(); + case 13 /* SemicolonToken */: + return parseEmptyStatement(); + case 74 /* IfKeyword */: + return parseIfStatement(); + case 65 /* DoKeyword */: + return parseDoStatement(); + case 90 /* WhileKeyword */: + return parseWhileStatement(); + case 72 /* ForKeyword */: + return parseForOrForInStatement(); + case 61 /* ContinueKeyword */: + return parseBreakOrContinueStatement(152 /* ContinueStatement */); + case 56 /* BreakKeyword */: + return parseBreakOrContinueStatement(153 /* BreakStatement */); + case 80 /* ReturnKeyword */: + return parseReturnStatement(); + case 91 /* WithKeyword */: + return parseWithStatement(); + case 82 /* SwitchKeyword */: + return parseSwitchStatement(); + case 84 /* ThrowKeyword */: + return parseThrowStatement(); + case 86 /* TryKeyword */: + return parseTryStatement(); + case 62 /* DebuggerKeyword */: + return parseDebuggerStatement(); + default: + if (isIdentifier() && lookAhead(function () { return nextToken() === 42 /* ColonToken */; })) { + return parseLabelledStatement(); + } + return parseExpressionStatement(); + } + } + function parseStatementOrFunction() { + return token === 73 /* FunctionKeyword */ ? parseFunctionDeclaration() : parseStatement(); + } + function parseAndCheckFunctionBody(isConstructor) { + var initialPosition = scanner.getTokenPos(); + var errorCountBeforeBody = file.syntacticErrors.length; + if (token === 5 /* OpenBraceToken */) { + var body = parseBody(); + if (body && inAmbientContext && file.syntacticErrors.length === errorCountBeforeBody) { + var diagnostic = isConstructor ? ts.Diagnostics.A_constructor_implementation_cannot_be_declared_in_an_ambient_context : ts.Diagnostics.A_function_implementation_cannot_be_declared_in_an_ambient_context; + grammarErrorAtPos(initialPosition, 1, diagnostic); + } + return body; + } + if (isSemicolon()) { + parseSemicolon(); + return undefined; + } + error(ts.Diagnostics.Block_or_expected); + } + function parseVariableDeclaration(flags, noIn) { + var node = createNode(166 /* VariableDeclaration */); + node.flags = flags; + node.name = parseIdentifier(); + node.type = parseTypeAnnotation(); + node.initializer = parseInitializer(false, noIn); + return finishNode(node); + } + function parseVariableDeclarationList(flags, noIn) { + return parseDelimitedList(9 /* VariableDeclarations */, function () { return parseVariableDeclaration(flags, noIn); }, false); + } + function parseVariableStatement(pos, flags) { + var node = createNode(144 /* VariableStatement */, pos); + if (flags) + node.flags = flags; + var errorCountBeforeVarStatement = file.syntacticErrors.length; + parseExpected(88 /* VarKeyword */); + node.declarations = parseVariableDeclarationList(flags, false); + parseSemicolon(); + if (!node.declarations.length && file.syntacticErrors.length === errorCountBeforeVarStatement) { + grammarErrorOnNode(node, ts.Diagnostics.variable_declaration_list_cannot_be_empty); + } + return finishNode(node); + } + function parseFunctionDeclaration(pos, flags) { + var node = createNode(167 /* FunctionDeclaration */, pos); + if (flags) + node.flags = flags; + parseExpected(73 /* FunctionKeyword */); + node.name = parseIdentifier(); + var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); + node.typeParameters = sig.typeParameters; + node.parameters = sig.parameters; + node.type = sig.type; + node.body = parseAndCheckFunctionBody(false); + return finishNode(node); + } + function parseConstructorDeclaration(pos, flags) { + var node = createNode(117 /* Constructor */, pos); + node.flags = flags; + parseExpected(103 /* ConstructorKeyword */); + var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); + node.typeParameters = sig.typeParameters; + node.parameters = sig.parameters; + node.type = sig.type; + node.body = parseAndCheckFunctionBody(true); + if (node.typeParameters) { + grammarErrorAtPos(node.typeParameters.pos, node.typeParameters.end - node.typeParameters.pos, ts.Diagnostics.Type_parameters_cannot_appear_on_a_constructor_declaration); + } + if (node.type) { + grammarErrorOnNode(node.type, ts.Diagnostics.Type_annotation_cannot_appear_on_a_constructor_declaration); + } + return finishNode(node); + } + function parsePropertyMemberDeclaration(pos, flags) { + var name = parsePropertyName(); + if (token === 7 /* OpenParenToken */ || token === 15 /* LessThanToken */) { + var method = createNode(116 /* Method */, pos); + method.flags = flags; + method.name = name; + var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); + method.typeParameters = sig.typeParameters; + method.parameters = sig.parameters; + method.type = sig.type; + method.body = parseAndCheckFunctionBody(false); + return finishNode(method); + } + else { + var property = createNode(115 /* Property */, pos); + property.flags = flags; + property.name = name; + property.type = parseTypeAnnotation(); + property.initializer = parseInitializer(false); + parseSemicolon(); + return finishNode(property); + } + } + function parseAndCheckMemberAccessorDeclaration(kind, pos, flags) { + var errorCountBeforeAccessor = file.syntacticErrors.length; + var accessor = parseMemberAccessorDeclaration(kind, pos, flags); + if (errorCountBeforeAccessor === file.syntacticErrors.length) { + if (languageVersion < 1 /* ES5 */) { + grammarErrorOnNode(accessor.name, ts.Diagnostics.Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher); + } + else if (inAmbientContext) { + grammarErrorOnNode(accessor.name, ts.Diagnostics.An_accessor_cannot_be_declared_in_an_ambient_context); + } + else if (accessor.typeParameters) { + grammarErrorOnNode(accessor.name, ts.Diagnostics.An_accessor_cannot_have_type_parameters); + } + else if (kind === 118 /* GetAccessor */ && accessor.parameters.length) { + grammarErrorOnNode(accessor.name, ts.Diagnostics.A_get_accessor_cannot_have_parameters); + } + else if (kind === 119 /* SetAccessor */) { + if (accessor.type) { + grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_cannot_have_a_return_type_annotation); + } + else if (accessor.parameters.length !== 1) { + grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_must_have_exactly_one_parameter); + } + else { + var parameter = accessor.parameters[0]; + if (parameter.flags & 8 /* Rest */) { + grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_cannot_have_rest_parameter); + } + else if (parameter.flags & ts.NodeFlags.Modifier) { + grammarErrorOnNode(accessor.name, ts.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation); + } + else if (parameter.flags & 4 /* QuestionMark */) { + grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_cannot_have_an_optional_parameter); + } + else if (parameter.initializer) { + grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_parameter_cannot_have_an_initializer); + } + } + } + } + return accessor; + } + function parseMemberAccessorDeclaration(kind, pos, flags) { + var node = createNode(kind, pos); + node.flags = flags; + node.name = parsePropertyName(); + var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); + node.typeParameters = sig.typeParameters; + node.parameters = sig.parameters; + node.type = sig.type; + node.body = parseBody(); + return finishNode(node); + } + function isClassMemberStart() { + var idToken; + while (isModifier(token)) { + idToken = token; + nextToken(); + } + if (isPropertyName()) { + idToken = token; + nextToken(); + } + return idToken && (token === 7 /* OpenParenToken */ || token === 15 /* LessThanToken */ || token === 42 /* ColonToken */ || token === 43 /* EqualsToken */ || token === 13 /* SemicolonToken */ || token === 6 /* CloseBraceToken */ || token === 1 /* EndOfFileToken */ || (isPropertyName() && (idToken === 105 /* GetKeyword */ || idToken === 109 /* SetKeyword */))) || (isModifier(idToken) && token === 9 /* OpenBracketToken */); + } + function isClassMemberDeclaration() { + return token === 9 /* OpenBracketToken */ || lookAhead(isClassMemberStart); + } + function parseAndCheckModifiers(context) { + var flags = 0; + var lastStaticModifierStart; + var lastStaticModifierLength; + var lastDeclareModifierStart; + var lastDeclareModifierLength; + var lastPrivateModifierStart; + var lastPrivateModifierLength; + while (true) { + var modifierStart = scanner.getTokenPos(); + var modifierToken = token; + if (!parseAnyContextualModifier()) + break; + var modifierLength = scanner.getStartPos() - modifierStart; + switch (modifierToken) { + case 98 /* PublicKeyword */: + if (flags & 32 /* Private */ || flags & 16 /* Public */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics.Accessibility_modifier_already_seen); + } + else if (flags & 64 /* Static */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_must_precede_1_modifier, "public", "static"); + } + else if (context === 0 /* ModuleElements */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_element, "public"); + } + flags |= 16 /* Public */; + break; + case 96 /* PrivateKeyword */: + if (flags & 32 /* Private */ || flags & 16 /* Public */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics.Accessibility_modifier_already_seen); + } + else if (flags & 64 /* Static */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_must_precede_1_modifier, "private", "static"); + } + else if (context === 0 /* ModuleElements */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_element, "private"); + } + lastPrivateModifierStart = modifierStart; + lastPrivateModifierLength = modifierLength; + flags |= 32 /* Private */; + break; + case 99 /* StaticKeyword */: + if (flags & 64 /* Static */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_already_seen, "static"); + } + else if (context === 0 /* ModuleElements */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_element, "static"); + } + else if (context === 2 /* Parameters */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "static"); + } + lastStaticModifierStart = modifierStart; + lastStaticModifierLength = modifierLength; + flags |= 64 /* Static */; + break; + case 68 /* ExportKeyword */: + if (flags & 1 /* Export */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_already_seen, "export"); + } + else if (flags & 2 /* Ambient */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_must_precede_1_modifier, "export", "declare"); + } + else if (context === 1 /* ClassMembers */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_class_element, "export"); + } + else if (context === 2 /* Parameters */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "export"); + } + flags |= 1 /* Export */; + break; + case 104 /* DeclareKeyword */: + if (flags & 2 /* Ambient */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_already_seen, "declare"); + } + else if (context === 1 /* ClassMembers */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_class_element, "declare"); + } + else if (context === 2 /* Parameters */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "declare"); + } + lastDeclareModifierStart = modifierStart; + lastDeclareModifierLength = modifierLength; + flags |= 2 /* Ambient */; + break; + } + } + if (token === 103 /* ConstructorKeyword */ && flags & 64 /* Static */) { + grammarErrorAtPos(lastStaticModifierStart, lastStaticModifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "static"); + } + else if (token === 103 /* ConstructorKeyword */ && flags & 32 /* Private */) { + grammarErrorAtPos(lastPrivateModifierStart, lastPrivateModifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "private"); + } + else if (token === 75 /* ImportKeyword */ && flags & 2 /* Ambient */) { + grammarErrorAtPos(lastDeclareModifierStart, lastDeclareModifierLength, ts.Diagnostics.A_declare_modifier_cannot_be_used_with_an_import_declaration, "declare"); + } + else if (token === 93 /* InterfaceKeyword */ && flags & 2 /* Ambient */) { + grammarErrorAtPos(lastDeclareModifierStart, lastDeclareModifierLength, ts.Diagnostics.A_declare_modifier_cannot_be_used_with_an_interface_declaration, "declare"); + } + return flags; + } + function parseClassMemberDeclaration() { + var pos = getNodePos(); + var flags = parseAndCheckModifiers(1 /* ClassMembers */); + if (parseContextualModifier(105 /* GetKeyword */)) { + return parseAndCheckMemberAccessorDeclaration(118 /* GetAccessor */, pos, flags); + } + if (parseContextualModifier(109 /* SetKeyword */)) { + return parseAndCheckMemberAccessorDeclaration(119 /* SetAccessor */, pos, flags); + } + if (token === 103 /* ConstructorKeyword */) { + return parseConstructorDeclaration(pos, flags); + } + if (token >= 55 /* Identifier */ || token === 3 /* StringLiteral */ || token === 2 /* NumericLiteral */) { + return parsePropertyMemberDeclaration(pos, flags); + } + if (token === 9 /* OpenBracketToken */) { + if (flags) { + var start = getTokenPos(pos); + var length = getNodePos() - start; + errorAtPos(start, length, ts.Diagnostics.Modifiers_not_permitted_on_index_signature_members); + } + return parseIndexSignatureMember(); + } + error(ts.Diagnostics.Class_member_declaration_expected); + } + function parseClassDeclaration(pos, flags) { + var node = createNode(169 /* ClassDeclaration */, pos); + node.flags = flags; + var errorCountBeforeClassDeclaration = file.syntacticErrors.length; + parseExpected(59 /* ClassKeyword */); + node.name = parseIdentifier(); + node.typeParameters = parseTypeParameters(); + node.baseType = parseOptional(69 /* ExtendsKeyword */) ? parseTypeReference() : undefined; + var implementsKeywordStart = scanner.getTokenPos(); + var implementsKeywordLength; + if (parseOptional(92 /* ImplementsKeyword */)) { + implementsKeywordLength = scanner.getStartPos() - implementsKeywordStart; + node.implementedTypes = parseDelimitedList(8 /* BaseTypeReferences */, parseTypeReference, false); + } + var errorCountBeforeClassBody = file.syntacticErrors.length; + if (parseExpected(5 /* OpenBraceToken */)) { + node.members = parseList(6 /* ClassMembers */, parseClassMemberDeclaration); + parseExpected(6 /* CloseBraceToken */); + } + else { + node.members = createMissingList(); + } + if (node.implementedTypes && !node.implementedTypes.length && errorCountBeforeClassBody === errorCountBeforeClassDeclaration) { + grammarErrorAtPos(implementsKeywordStart, implementsKeywordLength, ts.Diagnostics._0_list_cannot_be_empty, "implements"); + } + return finishNode(node); + } + function parseInterfaceDeclaration(pos, flags) { + var node = createNode(170 /* InterfaceDeclaration */, pos); + node.flags = flags; + var errorCountBeforeInterfaceDeclaration = file.syntacticErrors.length; + parseExpected(93 /* InterfaceKeyword */); + node.name = parseIdentifier(); + node.typeParameters = parseTypeParameters(); + var extendsKeywordStart = scanner.getTokenPos(); + var extendsKeywordLength; + if (parseOptional(69 /* ExtendsKeyword */)) { + extendsKeywordLength = scanner.getStartPos() - extendsKeywordStart; + node.baseTypes = parseDelimitedList(8 /* BaseTypeReferences */, parseTypeReference, false); + } + var errorCountBeforeInterfaceBody = file.syntacticErrors.length; + node.members = parseTypeLiteral().members; + if (node.baseTypes && !node.baseTypes.length && errorCountBeforeInterfaceBody === errorCountBeforeInterfaceDeclaration) { + grammarErrorAtPos(extendsKeywordStart, extendsKeywordLength, ts.Diagnostics._0_list_cannot_be_empty, "extends"); + } + return finishNode(node); + } + function parseEnumMember() { + var node = createNode(176 /* EnumMember */); + node.name = parsePropertyName(); + node.initializer = parseInitializer(false); + return finishNode(node); + } + function parseEnumDeclaration(pos, flags) { + var node = createNode(171 /* EnumDeclaration */, pos); + node.flags = flags; + parseExpected(67 /* EnumKeyword */); + node.name = parseIdentifier(); + if (parseExpected(5 /* OpenBraceToken */)) { + node.members = parseDelimitedList(7 /* EnumMembers */, parseEnumMember, true); + parseExpected(6 /* CloseBraceToken */); + } + else { + node.members = createMissingList(); + } + return finishNode(node); + } + function parseModuleBody() { + var node = createNode(173 /* ModuleBlock */); + if (parseExpected(5 /* OpenBraceToken */)) { + node.statements = parseList(1 /* ModuleElements */, parseSourceElement); + parseExpected(6 /* CloseBraceToken */); + } + else { + node.statements = createMissingList(); + } + return finishNode(node); + } + function parseInternalModuleTail(pos, flags) { + var node = createNode(172 /* ModuleDeclaration */, pos); + node.flags = flags; + node.name = parseIdentifier(); + if (parseOptional(11 /* DotToken */)) { + node.body = parseInternalModuleTail(getNodePos(), 1 /* Export */); + } + else { + node.body = parseModuleBody(); + ts.forEach(node.body.statements, function (s) { + if (s.kind === 175 /* ExportAssignment */) { + grammarErrorOnNode(s, ts.Diagnostics.An_export_assignment_cannot_be_used_in_an_internal_module); + } + else if (s.kind === 174 /* ImportDeclaration */ && s.externalModuleName) { + grammarErrorOnNode(s, ts.Diagnostics.Import_declarations_in_an_internal_module_cannot_reference_an_external_module); + } + }); + } + return finishNode(node); + } + function parseAmbientExternalModuleDeclaration(pos, flags) { + var node = createNode(172 /* ModuleDeclaration */, pos); + node.flags = flags; + node.name = parseStringLiteral(); + var saveInAmbientContext = inAmbientContext; + inAmbientContext = true; + node.body = parseModuleBody(); + inAmbientContext = saveInAmbientContext; + return finishNode(node); + } + function parseModuleDeclaration(pos, flags) { + parseExpected(106 /* ModuleKeyword */); + return token === 3 /* StringLiteral */ ? parseAmbientExternalModuleDeclaration(pos, flags) : parseInternalModuleTail(pos, flags); + } + function parseImportDeclaration(pos, flags) { + var node = createNode(174 /* ImportDeclaration */, pos); + node.flags = flags; + parseExpected(75 /* ImportKeyword */); + node.name = parseIdentifier(); + parseExpected(43 /* EqualsToken */); + var entityName = parseEntityName(); + if (entityName.kind === 55 /* Identifier */ && entityName.text === "require" && parseOptional(7 /* OpenParenToken */)) { + node.externalModuleName = parseStringLiteral(); + parseExpected(8 /* CloseParenToken */); + } + else { + node.entityName = entityName; + } + parseSemicolon(); + return finishNode(node); + } + function parseExportAssignmentTail(pos) { + var node = createNode(175 /* ExportAssignment */, pos); + node.exportName = parseIdentifier(); + parseSemicolon(); + return finishNode(node); + } + function isDeclaration() { + switch (token) { + case 88 /* VarKeyword */: + case 73 /* FunctionKeyword */: + return true; + case 59 /* ClassKeyword */: + case 93 /* InterfaceKeyword */: + case 67 /* EnumKeyword */: + case 75 /* ImportKeyword */: + return lookAhead(function () { return nextToken() >= 55 /* Identifier */; }); + case 106 /* ModuleKeyword */: + return lookAhead(function () { return nextToken() >= 55 /* Identifier */ || token === 3 /* StringLiteral */; }); + case 68 /* ExportKeyword */: + return lookAhead(function () { return nextToken() === 43 /* EqualsToken */ || isDeclaration(); }); + case 104 /* DeclareKeyword */: + case 98 /* PublicKeyword */: + case 96 /* PrivateKeyword */: + case 99 /* StaticKeyword */: + return lookAhead(function () { + nextToken(); + return isDeclaration(); + }); + } + } + function parseDeclaration() { + var pos = getNodePos(); + var flags = parseAndCheckModifiers(0 /* ModuleElements */); + if (token === 68 /* ExportKeyword */) { + nextToken(); + if (parseOptional(43 /* EqualsToken */)) { + return parseExportAssignmentTail(pos); + } + } + var saveInAmbientContext = inAmbientContext; + if (flags & 2 /* Ambient */) { + inAmbientContext = true; + } + var result; + switch (token) { + case 88 /* VarKeyword */: + result = parseVariableStatement(pos, flags); + break; + case 73 /* FunctionKeyword */: + result = parseFunctionDeclaration(pos, flags); + break; + case 59 /* ClassKeyword */: + result = parseClassDeclaration(pos, flags); + break; + case 93 /* InterfaceKeyword */: + result = parseInterfaceDeclaration(pos, flags); + break; + case 67 /* EnumKeyword */: + result = parseEnumDeclaration(pos, flags); + break; + case 106 /* ModuleKeyword */: + result = parseModuleDeclaration(pos, flags); + break; + case 75 /* ImportKeyword */: + result = parseImportDeclaration(pos, flags); + break; + default: + error(ts.Diagnostics.Declaration_expected); + } + inAmbientContext = saveInAmbientContext; + return result; + } + function isSourceElement() { + return isDeclaration() || isStatement(); + } + function parseSourceElement() { + return isDeclaration() ? parseDeclaration() : parseStatement(); + } + function processReferenceComments() { + var referencedFiles = []; + var amdDependencies = []; + commentRanges = []; + token = scanner.scan(); + for (var i = 0; i < commentRanges.length; i++) { + var range = commentRanges[i]; + var comment = sourceText.substring(range.pos, range.end); + var simpleReferenceRegEx = /^\/\/\/\s*/gim; + if (isNoDefaultLibRegEx.exec(comment)) { + file.hasNoDefaultLib = true; + } + else { + var fullReferenceRegEx = /^(\/\/\/\s*/; + var matchResult = fullReferenceRegEx.exec(comment); + if (!matchResult) { + var start = range.pos; + var length = range.end - start; + errorAtPos(start, length, ts.Diagnostics.Invalid_reference_comment); + } + else { + referencedFiles.push({ + pos: range.pos, + end: range.end, + filename: matchResult[3] + }); + } + } + } + else { + var amdDependencyRegEx = /^\/\/\/\s*= 0 ? filename : filename + extension; + } + function processRootFile(filename, isDefaultLib) { + processSourceFile(ts.normalizePath(addExtension(filename, ".ts")), isDefaultLib); + } + function processSourceFile(filename, isDefaultLib, refFile, refPos, refEnd) { + if (refEnd !== undefined && refPos !== undefined) { + var start = refPos; + var length = refEnd - refPos; + } + if (!ts.fileExtensionIs(filename, ".ts")) { + errors.push(ts.createFileDiagnostic(refFile, start, length, ts.Diagnostics.File_0_must_have_extension_ts_or_d_ts, filename)); + } + else if (!findSourceFile(filename, isDefaultLib)) { + errors.push(ts.createFileDiagnostic(refFile, start, length, ts.Diagnostics.File_0_not_found, filename)); + } + } + function findSourceFile(filename, isDefaultLib) { + var file = getSourceFile(filename); + if (!file) { + file = host.getSourceFile(filename, options.target); + if (file) { + filesByName[filename] = file; + seenNoDefaultLib = seenNoDefaultLib || file.hasNoDefaultLib; + if (!options.noResolve) { + var basePath = ts.getDirectoryPath(filename); + processReferencedFiles(file, basePath); + if (file.flags & 1024 /* ExternalModule */) { + processImportedModules(file, basePath); + } + } + if (isDefaultLib) { + files.unshift(file); + } + else { + files.push(file); + } + ts.forEach(file.syntacticErrors, function (e) { + errors.push(e); + }); + } + } + return file; + } + function processReferencedFiles(file, basePath) { + ts.forEach(file.referencedFiles, function (ref) { + processSourceFile(ts.normalizePath(ts.combinePaths(basePath, ref.filename)), false, file, ref.pos, ref.end); + }); + } + function processImportedModules(file, basePath) { + ts.forEach(file.statements, function (node) { + if (node.kind === 174 /* ImportDeclaration */ && node.externalModuleName) { + var moduleName = getTextOfLiteral(node.externalModuleName); + if (moduleName) { + var isRelative = moduleName.substr(0, 2) === "./" || moduleName.substr(0, 3) === "../"; + var searchPath = basePath; + while (true) { + var searchName = ts.normalizePath(ts.combinePaths(searchPath, moduleName)); + if (findSourceFile(searchName + ".ts", false) || findSourceFile(searchName + ".d.ts", false)) + break; + var parentPath = ts.getDirectoryPath(searchPath); + if (parentPath === searchPath) + break; + searchPath = parentPath; + } + } + } + }); + } + function verifyCompilerOptions() { + if (!options.sourceMap && (options.mapRoot || options.sourceRoot)) { + if (options.mapRoot) { + errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Option_mapRoot_cannot_be_specified_without_specifying_sourcemap_option)); + } + if (options.sourceRoot) { + errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Option_sourceRoot_cannot_be_specified_without_specifying_sourcemap_option)); + } + return; + } + if (options.outDir || options.sourceRoot || (options.mapRoot && (!options.out || !!ts.filter(files, function (sourceFile) { return !!(sourceFile.flags & 1024 /* ExternalModule */); }).length))) { + var commonPathComponents; + ts.forEach(files, function (sourceFile) { + if (!(sourceFile.flags & 512 /* DeclarationFile */) && !ts.fileExtensionIs(sourceFile.filename, ".js")) { + var sourcePathCompoments = ts.getNormalizedPathComponents(sourceFile.filename, host.getCurrentDirectory()); + sourcePathCompoments.pop(); + if (commonPathComponents) { + for (var i = 0; i < Math.min(commonPathComponents.length, sourcePathCompoments.length); i++) { + if (commonPathComponents[i] !== sourcePathCompoments[i]) { + if (i === 0) { + errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files)); + return; + } + commonPathComponents.length = i; + break; + } + } + if (sourcePathCompoments.length < commonPathComponents.length) { + commonPathComponents.length = sourcePathCompoments.length; + } + } + else { + commonPathComponents = sourcePathCompoments; + } + } + }); + commonSourceDirectory = ts.getNormalizedPathFromPathCompoments(commonPathComponents); + if (commonSourceDirectory) { + commonSourceDirectory += ts.directorySeparator; + } + } + } + } + ts.createProgram = createProgram; +})(ts || (ts = {})); +var ts; +(function (ts) { + function isInstantiated(node) { + if (node.kind === 170 /* InterfaceDeclaration */) { + return false; + } + else if (node.kind === 174 /* ImportDeclaration */ && !(node.flags & 1 /* Export */)) { + return false; + } + else if (node.kind === 173 /* ModuleBlock */ && !ts.forEachChild(node, isInstantiated)) { + return false; + } + else if (node.kind === 172 /* ModuleDeclaration */ && !isInstantiated(node.body)) { + return false; + } + else { + return true; + } + } + ts.isInstantiated = isInstantiated; + function bindSourceFile(file) { + var parent; + var container; + var symbolCount = 0; + var Symbol = ts.objectAllocator.getSymbolConstructor(); + if (!file.locals) { + file.locals = {}; + container = file; + bind(file); + file.symbolCount = symbolCount; + } + function createSymbol(flags, name) { + symbolCount++; + return new Symbol(flags, name); + } + function addDeclarationToSymbol(symbol, node, symbolKind) { + symbol.flags |= symbolKind; + if (!symbol.declarations) + symbol.declarations = []; + symbol.declarations.push(node); + if (symbolKind & ts.SymbolFlags.HasExports && !symbol.exports) + symbol.exports = {}; + if (symbolKind & ts.SymbolFlags.HasMembers && !symbol.members) + symbol.members = {}; + node.symbol = symbol; + if (symbolKind & ts.SymbolFlags.Value && !symbol.valueDeclaration) + symbol.valueDeclaration = node; + } + function getDeclarationName(node) { + if (node.name) { + if (node.name.kind === 55 /* Identifier */) + return node.name.text; + if (node.kind === 172 /* ModuleDeclaration */) + return '"' + ts.getTextOfLiteral(node.name) + '"'; + return ts.getTextOfLiteral(node.name); + } + switch (node.kind) { + case 117 /* Constructor */: + return "__constructor"; + case 120 /* CallSignature */: + return "__call"; + case 121 /* ConstructSignature */: + return "__new"; + case 122 /* IndexSignature */: + return "__index"; + } + } + function getDisplayName(node) { + return node.name ? ts.identifierToString(node.name) : getDeclarationName(node); + } + function declareSymbol(symbols, parent, node, includes, excludes) { + var name = getDeclarationName(node); + if (name !== undefined) { + var symbol = ts.hasProperty(symbols, name) ? symbols[name] : (symbols[name] = createSymbol(0, name)); + if (symbol.flags & excludes) { + if (node.name) { + node.name.parent = node; + } + file.semanticErrors.push(ts.createDiagnosticForNode(node.name ? node.name : node, ts.Diagnostics.Duplicate_identifier_0, getDisplayName(node))); + symbol = createSymbol(0, name); + } + } + else { + symbol = createSymbol(0, "__missing"); + } + addDeclarationToSymbol(symbol, node, includes); + symbol.parent = parent; + if (node.kind === 169 /* ClassDeclaration */ && symbol.exports) { + var prototypeSymbol = createSymbol(2 /* Property */ | 67108864 /* Prototype */, "prototype"); + if (ts.hasProperty(symbol.exports, prototypeSymbol.name)) { + if (node.name) { + node.name.parent = node; + } + file.semanticErrors.push(ts.createDiagnosticForNode(symbol.exports[prototypeSymbol.name].declarations[0], ts.Diagnostics.Duplicate_identifier_0, prototypeSymbol.name)); + } + symbol.exports[prototypeSymbol.name] = prototypeSymbol; + prototypeSymbol.parent = symbol; + } + return symbol; + } + function isAmbientContext(node) { + while (node) { + if (node.flags & 2 /* Ambient */) + return true; + node = node.parent; + } + return false; + } + function declareModuleMember(node, symbolKind, symbolExcludes) { + var exportKind = 0; + var exportExcludes = 0; + if (symbolKind & ts.SymbolFlags.Value) { + exportKind |= 524288 /* ExportValue */; + exportExcludes |= ts.SymbolFlags.Value; + } + if (symbolKind & ts.SymbolFlags.Type) { + exportKind |= 1048576 /* ExportType */; + exportExcludes |= ts.SymbolFlags.Type; + } + if (symbolKind & ts.SymbolFlags.Namespace) { + exportKind |= 2097152 /* ExportNamespace */; + exportExcludes |= ts.SymbolFlags.Namespace; + } + if (node.flags & 1 /* Export */ || (node.kind !== 174 /* ImportDeclaration */ && isAmbientContext(container))) { + if (exportKind) { + var local = declareSymbol(container.locals, undefined, node, exportKind, exportExcludes); + local.exportSymbol = declareSymbol(container.symbol.exports, container.symbol, node, symbolKind, symbolExcludes); + } + else { + declareSymbol(container.symbol.exports, container.symbol, node, symbolKind, symbolExcludes); + } + } + else { + declareSymbol(container.locals, undefined, node, symbolKind, symbolExcludes | exportKind); + } + } + function bindDeclaration(node, symbolKind, symbolExcludes) { + switch (container.kind) { + case 172 /* ModuleDeclaration */: + declareModuleMember(node, symbolKind, symbolExcludes); + break; + case 177 /* SourceFile */: + if (container.flags & 1024 /* ExternalModule */) { + declareModuleMember(node, symbolKind, symbolExcludes); + break; + } + case 120 /* CallSignature */: + case 121 /* ConstructSignature */: + case 122 /* IndexSignature */: + case 116 /* Method */: + case 117 /* Constructor */: + case 118 /* GetAccessor */: + case 119 /* SetAccessor */: + case 167 /* FunctionDeclaration */: + case 136 /* FunctionExpression */: + case 137 /* ArrowFunction */: + declareSymbol(container.locals, undefined, node, symbolKind, symbolExcludes); + break; + case 169 /* ClassDeclaration */: + if (node.flags & 64 /* Static */) { + declareSymbol(container.symbol.exports, container.symbol, node, symbolKind, symbolExcludes); + break; + } + case 125 /* TypeLiteral */: + case 128 /* ObjectLiteral */: + case 170 /* InterfaceDeclaration */: + declareSymbol(container.symbol.members, container.symbol, node, symbolKind, symbolExcludes); + break; + case 171 /* EnumDeclaration */: + declareSymbol(container.symbol.exports, container.symbol, node, symbolKind, symbolExcludes); + break; + } + if (symbolKind & ts.SymbolFlags.HasLocals) + node.locals = {}; + var saveParent = parent; + var saveContainer = container; + parent = node; + if (symbolKind & ts.SymbolFlags.IsContainer) + container = node; + ts.forEachChild(node, bind); + container = saveContainer; + parent = saveParent; + } + function bindConstructorDeclaration(node) { + bindDeclaration(node, 4096 /* Constructor */, 0); + ts.forEach(node.parameters, function (p) { + if (p.flags & (16 /* Public */ | 32 /* Private */)) { + bindDeclaration(p, 2 /* Property */, ts.SymbolFlags.PropertyExcludes); + } + }); + } + function bindModuleDeclaration(node) { + if (node.name.kind === 3 /* StringLiteral */) { + bindDeclaration(node, 128 /* ValueModule */, ts.SymbolFlags.ValueModuleExcludes); + } + else if (isInstantiated(node)) { + bindDeclaration(node, 128 /* ValueModule */, ts.SymbolFlags.ValueModuleExcludes); + } + else { + bindDeclaration(node, 256 /* NamespaceModule */, 0 /* NamespaceModuleExcludes */); + } + } + function bindAnonymousDeclaration(node, symbolKind, name) { + var symbol = createSymbol(symbolKind, name); + addDeclarationToSymbol(symbol, node, symbolKind); + if (symbolKind & ts.SymbolFlags.HasLocals) + node.locals = {}; + var saveParent = parent; + var saveContainer = container; + parent = node; + container = node; + ts.forEachChild(node, bind); + container = saveContainer; + parent = saveParent; + } + function bindCatchVariableDeclaration(node) { + var symbol = createSymbol(1 /* Variable */, node.variable.text || "__missing"); + addDeclarationToSymbol(symbol, node.variable, 1 /* Variable */); + var saveParent = parent; + parent = node; + ts.forEachChild(node, bind); + parent = saveParent; + } + function bind(node) { + node.parent = parent; + switch (node.kind) { + case 113 /* TypeParameter */: + bindDeclaration(node, 262144 /* TypeParameter */, ts.SymbolFlags.TypeParameterExcludes); + break; + case 114 /* Parameter */: + bindDeclaration(node, 1 /* Variable */, ts.SymbolFlags.ParameterExcludes); + break; + case 166 /* VariableDeclaration */: + bindDeclaration(node, 1 /* Variable */, ts.SymbolFlags.VariableExcludes); + break; + case 115 /* Property */: + case 129 /* PropertyAssignment */: + bindDeclaration(node, 2 /* Property */, ts.SymbolFlags.PropertyExcludes); + break; + case 176 /* EnumMember */: + bindDeclaration(node, 4 /* EnumMember */, ts.SymbolFlags.EnumMemberExcludes); + break; + case 120 /* CallSignature */: + bindDeclaration(node, 32768 /* CallSignature */, 0); + break; + case 116 /* Method */: + bindDeclaration(node, 2048 /* Method */, ts.SymbolFlags.MethodExcludes); + break; + case 121 /* ConstructSignature */: + bindDeclaration(node, 65536 /* ConstructSignature */, 0); + break; + case 122 /* IndexSignature */: + bindDeclaration(node, 131072 /* IndexSignature */, 0); + break; + case 167 /* FunctionDeclaration */: + bindDeclaration(node, 8 /* Function */, ts.SymbolFlags.FunctionExcludes); + break; + case 117 /* Constructor */: + bindConstructorDeclaration(node); + break; + case 118 /* GetAccessor */: + bindDeclaration(node, 8192 /* GetAccessor */, ts.SymbolFlags.GetAccessorExcludes); + break; + case 119 /* SetAccessor */: + bindDeclaration(node, 16384 /* SetAccessor */, ts.SymbolFlags.SetAccessorExcludes); + break; + case 125 /* TypeLiteral */: + bindAnonymousDeclaration(node, 512 /* TypeLiteral */, "__type"); + break; + case 128 /* ObjectLiteral */: + bindAnonymousDeclaration(node, 1024 /* ObjectLiteral */, "__object"); + break; + case 136 /* FunctionExpression */: + case 137 /* ArrowFunction */: + bindAnonymousDeclaration(node, 8 /* Function */, "__function"); + break; + case 163 /* CatchBlock */: + bindCatchVariableDeclaration(node); + break; + case 169 /* ClassDeclaration */: + bindDeclaration(node, 16 /* Class */, ts.SymbolFlags.ClassExcludes); + break; + case 170 /* InterfaceDeclaration */: + bindDeclaration(node, 32 /* Interface */, ts.SymbolFlags.InterfaceExcludes); + break; + case 171 /* EnumDeclaration */: + bindDeclaration(node, 64 /* Enum */, ts.SymbolFlags.EnumExcludes); + break; + case 172 /* ModuleDeclaration */: + bindModuleDeclaration(node); + break; + case 174 /* ImportDeclaration */: + bindDeclaration(node, 4194304 /* Import */, ts.SymbolFlags.ImportExcludes); + break; + case 177 /* SourceFile */: + if (node.flags & 1024 /* ExternalModule */) { + bindAnonymousDeclaration(node, 128 /* ValueModule */, '"' + ts.getModuleNameFromFilename(node.filename) + '"'); + break; + } + default: + var saveParent = parent; + parent = node; + ts.forEachChild(node, bind); + parent = saveParent; + } + } + } + ts.bindSourceFile = bindSourceFile; +})(ts || (ts = {})); +var ts; +(function (ts) { + function getSourceFilePathInNewDir(newDirPath, sourceFile, program, compilerHost) { + var sourceFilePath = ts.getNormalizedPathFromPathCompoments(ts.getNormalizedPathComponents(sourceFile.filename, compilerHost.getCurrentDirectory())); + sourceFilePath = sourceFilePath.replace(program.getCommonSourceDirectory(), ""); + return ts.combinePaths(newDirPath, sourceFilePath); + } + function emitFiles(resolver) { + var program = resolver.getProgram(); + var compilerHost = program.getCompilerHost(); + var compilerOptions = program.getCompilerOptions(); + var sourceMapDataList = compilerOptions.sourceMap ? [] : undefined; + ts.forEach(program.getSourceFiles(), function (sourceFile) { + if (!(sourceFile.flags & 512 /* DeclarationFile */)) { + if ((sourceFile.flags & 1024 /* ExternalModule */ || !compilerOptions.out) && !ts.fileExtensionIs(sourceFile.filename, ".js")) { + emitJavaScript(resolver, (ts.getModuleNameFromFilename(compilerOptions.outDir ? getSourceFilePathInNewDir(compilerOptions.outDir, sourceFile, program, compilerHost) : sourceFile.filename)) + ".js", sourceMapDataList, sourceFile); + } + } + }); + if (compilerOptions.out) { + emitJavaScript(resolver, compilerOptions.out, sourceMapDataList); + } + return sourceMapDataList; + } + ts.emitFiles = emitFiles; + function emitJavaScript(resolver, jsFilePath, sourceMapDataList, root) { + var program = resolver.getProgram(); + var compilerHost = program.getCompilerHost(); + var compilerOptions = program.getCompilerOptions(); + var output = ""; + var indent = 0; + var lineStart = true; + var extendsEmitted = false; + var currentSourceFile; + var write; + var writeEmittedFiles; + var emitStart; + var emitEnd; + var emitToken; + var emitNewSourceFileStart; + var scopeEmitStart; + var scopeEmitEnd; + var sourceMapData; + function initializeEmitterWithoutSourceMaps() { + write = writeToOutput; + writeEmittedFiles = writeJavaScriptFile; + emitStart = function () { + }; + emitEnd = emitStart; + emitToken = emitTokenText; + emitNewSourceFileStart = emitStart; + scopeEmitStart = emitStart; + scopeEmitEnd = emitStart; + } + function initializeEmitterWithSourceMaps() { + var sourceMapDir; + var sourceMapCurrentSourceFile; + var sourceMapSourceIndex = -1; + var sourceMapNameIndexMap = {}; + var sourceMapNameIndices = []; + function getSourceMapNameIndex() { + return sourceMapNameIndices.length ? sourceMapNameIndices[sourceMapNameIndices.length - 1] : -1; + } + var emittedLine = 1; + var emittedColumn = 1; + var lastRecordedSourceMapSpan; + var lastEncodedSourceMapSpan = { + emittedLine: 1, + emittedColumn: 1, + sourceLine: 1, + sourceColumn: 1, + sourceIndex: 0 + }; + var lastEncodedNameIndex = 0; + function encodeLastRecordedSourceMapSpan() { + if (!lastRecordedSourceMapSpan || lastRecordedSourceMapSpan === lastEncodedSourceMapSpan) { + return; + } + var prevEncodedEmittedColumn = lastEncodedSourceMapSpan.emittedColumn; + if (lastEncodedSourceMapSpan.emittedLine == lastRecordedSourceMapSpan.emittedLine) { + if (sourceMapData.sourceMapMappings) { + sourceMapData.sourceMapMappings += ","; + } + } + else { + for (var encodedLine = lastEncodedSourceMapSpan.emittedLine; encodedLine < lastRecordedSourceMapSpan.emittedLine; encodedLine++) { + sourceMapData.sourceMapMappings += ";"; + } + prevEncodedEmittedColumn = 1; + } + sourceMapData.sourceMapMappings += base64VLQFormatEncode(lastRecordedSourceMapSpan.emittedColumn - prevEncodedEmittedColumn); + sourceMapData.sourceMapMappings += base64VLQFormatEncode(lastRecordedSourceMapSpan.sourceIndex - lastEncodedSourceMapSpan.sourceIndex); + sourceMapData.sourceMapMappings += base64VLQFormatEncode(lastRecordedSourceMapSpan.sourceLine - lastEncodedSourceMapSpan.sourceLine); + sourceMapData.sourceMapMappings += base64VLQFormatEncode(lastRecordedSourceMapSpan.sourceColumn - lastEncodedSourceMapSpan.sourceColumn); + if (lastRecordedSourceMapSpan.nameIndex >= 0) { + sourceMapData.sourceMapMappings += base64VLQFormatEncode(lastRecordedSourceMapSpan.nameIndex - lastEncodedNameIndex); + lastEncodedNameIndex = lastRecordedSourceMapSpan.nameIndex; + } + lastEncodedSourceMapSpan = lastRecordedSourceMapSpan; + sourceMapData.sourceMapDecodedMappings.push(lastEncodedSourceMapSpan); + function base64VLQFormatEncode(inValue) { + function base64FormatEncode(inValue) { + if (inValue < 64) { + return 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.charAt(inValue); + } + throw TypeError(inValue + ": not a 64 based value"); + } + if (inValue < 0) { + inValue = ((-inValue) << 1) + 1; + } + else { + inValue = inValue << 1; + } + var encodedStr = ""; + do { + var currentDigit = inValue & 31; + inValue = inValue >> 5; + if (inValue > 0) { + currentDigit = currentDigit | 32; + } + encodedStr = encodedStr + base64FormatEncode(currentDigit); + } while (inValue > 0); + return encodedStr; + } + } + function recordSourceMapSpan(pos) { + emitIndent(); + var sourceLinePos = sourceMapCurrentSourceFile.getLineAndCharacterFromPosition(pos); + if (!lastRecordedSourceMapSpan || lastRecordedSourceMapSpan.emittedLine != emittedLine || lastRecordedSourceMapSpan.emittedColumn != emittedColumn || lastRecordedSourceMapSpan.sourceLine > sourceLinePos.line || (lastRecordedSourceMapSpan.sourceLine === sourceLinePos.line && lastRecordedSourceMapSpan.sourceColumn > sourceLinePos.character)) { + encodeLastRecordedSourceMapSpan(); + lastRecordedSourceMapSpan = { + emittedLine: emittedLine, + emittedColumn: emittedColumn, + sourceLine: sourceLinePos.line, + sourceColumn: sourceLinePos.character, + nameIndex: getSourceMapNameIndex(), + sourceIndex: sourceMapSourceIndex + }; + } + else { + lastRecordedSourceMapSpan.sourceLine = sourceLinePos.line; + lastRecordedSourceMapSpan.sourceColumn = sourceLinePos.character; + } + } + function recordEmitNodeStartSpan(node) { + recordSourceMapSpan(ts.getTokenPosOfNode(node)); + } + function recordEmitNodeEndSpan(node) { + recordSourceMapSpan(node.end); + } + function writeTextWithSpanRecord(tokenKind, startPos, emitFn) { + var tokenStartPos = ts.skipTrivia(sourceMapCurrentSourceFile.text, startPos); + recordSourceMapSpan(tokenStartPos); + var tokenEndPos = emitTokenText(tokenKind, tokenStartPos, emitFn); + recordSourceMapSpan(tokenEndPos); + return tokenEndPos; + } + function recordNewSourceFileStart(node) { + sourceMapCurrentSourceFile = node; + var sourcesDirectoryPath = compilerOptions.sourceRoot ? program.getCommonSourceDirectory() : sourceMapDir; + sourceMapData.sourceMapSources.push(ts.getRelativePathToDirectoryOrUrl(sourcesDirectoryPath, sourceMapCurrentSourceFile.filename, compilerHost.getCurrentDirectory(), true)); + sourceMapSourceIndex = sourceMapData.sourceMapSources.length - 1; + sourceMapData.inputSourceFileNames.push(sourceMapCurrentSourceFile.filename); + } + function recordScopeNameOfNode(node, scopeName) { + function recordScopeNameIndex(scopeNameIndex) { + sourceMapNameIndices.push(scopeNameIndex); + } + function recordScopeNameStart(scopeName) { + var scopeNameIndex = -1; + if (scopeName) { + var parentIndex = getSourceMapNameIndex(); + if (parentIndex !== -1) { + scopeName = sourceMapData.sourceMapNames[parentIndex] + "." + scopeName; + } + scopeNameIndex = ts.getProperty(sourceMapNameIndexMap, scopeName); + if (scopeNameIndex === undefined) { + scopeNameIndex = sourceMapData.sourceMapNames.length; + sourceMapData.sourceMapNames.push(scopeName); + sourceMapNameIndexMap[scopeName] = scopeNameIndex; + } + } + recordScopeNameIndex(scopeNameIndex); + } + if (scopeName) { + recordScopeNameStart(scopeName); + } + else if (node.kind === 167 /* FunctionDeclaration */ || node.kind === 136 /* FunctionExpression */ || node.kind === 116 /* Method */ || node.kind === 118 /* GetAccessor */ || node.kind === 119 /* SetAccessor */ || node.kind === 172 /* ModuleDeclaration */ || node.kind === 169 /* ClassDeclaration */ || node.kind === 171 /* EnumDeclaration */) { + if (node.name) { + scopeName = node.name.text; + } + recordScopeNameStart(scopeName); + } + else { + recordScopeNameIndex(getSourceMapNameIndex()); + } + } + function recordScopeNameEnd() { + sourceMapNameIndices.pop(); + } + ; + function writeWithLineColumnTracking(s) { + writeToOutput(s); + if (s && s.length) { + var lineCol = ts.positionToLineAndCharacter(s, s.length); + if (lineCol.line == 1) { + emittedColumn += lineCol.character - 1; + } + else { + emittedLine += lineCol.line - 1; + emittedColumn = lineCol.character; + } + } + } + function writeJavaScriptAndSourceMapFile() { + encodeLastRecordedSourceMapSpan(); + output += "//# sourceMappingURL=" + sourceMapData.jsSourceMappingURL; + compilerHost.writeFile(sourceMapData.sourceMapFilePath, JSON.stringify({ + version: 3, + file: sourceMapData.sourceMapFile, + sourceRoot: sourceMapData.sourceMapSourceRoot, + sources: sourceMapData.sourceMapSources, + names: sourceMapData.sourceMapNames, + mappings: sourceMapData.sourceMapMappings + })); + sourceMapDataList.push(sourceMapData); + writeJavaScriptFile(); + } + var sourceMapJsFile = ts.getBaseFilename(ts.normalizeSlashes(jsFilePath)); + sourceMapData = { + sourceMapFilePath: jsFilePath + ".map", + jsSourceMappingURL: sourceMapJsFile + ".map", + sourceMapFile: sourceMapJsFile, + sourceMapSourceRoot: compilerOptions.sourceRoot || "", + sourceMapSources: [], + inputSourceFileNames: [], + sourceMapNames: [], + sourceMapMappings: "", + sourceMapDecodedMappings: [] + }; + sourceMapData.sourceMapSourceRoot = ts.normalizeSlashes(sourceMapData.sourceMapSourceRoot); + if (sourceMapData.sourceMapSourceRoot.length && sourceMapData.sourceMapSourceRoot.charCodeAt(sourceMapData.sourceMapSourceRoot.length - 1) !== 47 /* slash */) { + sourceMapData.sourceMapSourceRoot += ts.directorySeparator; + } + if (compilerOptions.mapRoot) { + sourceMapDir = ts.normalizeSlashes(compilerOptions.mapRoot); + if (root) { + sourceMapDir = ts.getDirectoryPath(getSourceFilePathInNewDir(sourceMapDir, root, program, compilerHost)); + } + if (!ts.isRootedDiskPath(sourceMapDir) && !ts.isUrl(sourceMapDir)) { + sourceMapDir = ts.combinePaths(program.getCommonSourceDirectory(), sourceMapDir); + sourceMapData.jsSourceMappingURL = ts.getRelativePathToDirectoryOrUrl(ts.getDirectoryPath(ts.normalizePath(jsFilePath)), ts.combinePaths(sourceMapDir, sourceMapData.jsSourceMappingURL), compilerHost.getCurrentDirectory(), true); + } + else { + sourceMapData.jsSourceMappingURL = ts.combinePaths(sourceMapDir, sourceMapData.jsSourceMappingURL); + } + } + else { + sourceMapDir = ts.getDirectoryPath(ts.normalizePath(jsFilePath)); + } + write = writeWithLineColumnTracking; + writeEmittedFiles = writeJavaScriptAndSourceMapFile; + emitStart = recordEmitNodeStartSpan; + emitEnd = recordEmitNodeEndSpan; + emitToken = writeTextWithSpanRecord; + emitNewSourceFileStart = recordNewSourceFileStart; + scopeEmitStart = recordScopeNameOfNode; + scopeEmitEnd = recordScopeNameEnd; + } + function emitTokenText(tokenKind, startPos, emitFn) { + var tokenString = ts.tokenToString(tokenKind); + if (emitFn) { + emitFn(); + } + else { + write(tokenString); + } + return startPos + tokenString.length; + } + function writeJavaScriptFile() { + compilerHost.writeFile(jsFilePath, output); + } + function emit(node) { + if (node && node.kind != 177 /* SourceFile */) { + emitStart(node); + emitNode(node); + emitEnd(node); + } + else { + emitNewSourceFileStart(node); + emitNode(node); + } + } + function emitIndent() { + if (lineStart) { + lineStart = false; + if (output.length) { + write("\r\n"); + } + for (var i = 0; i < indent; i++) { + write(" "); + } + } + } + function writeToOutput(s) { + if (s && s.length) { + emitIndent(); + output += s; + } + } + function writeLine() { + lineStart = true; + } + function emitOptional(prefix, node) { + if (node) { + write(prefix); + emit(node); + } + } + function emitCommaList(nodes, count) { + if (!(count >= 0)) + count = nodes.length; + if (nodes) { + for (var i = 0; i < count; i++) { + if (i) + write(", "); + emit(nodes[i]); + } + } + } + function emitMultiLineList(nodes) { + if (nodes) { + for (var i = 0; i < nodes.length; i++) { + if (i) + write(","); + writeLine(); + emit(nodes[i]); + } + } + } + function emitLines(nodes) { + for (var i = 0; i < nodes.length; i++) { + writeLine(); + emit(nodes[i]); + } + } + function emitIdentifierValue(node) { + if (node.kind === 3 /* StringLiteral */ || node.kind === 2 /* NumericLiteral */) { + write(node.text); + } + else { + write("\""); + write(ts.getSourceTextOfNode(node)); + write("\""); + } + } + function isNonExpressionIdentifier(node) { + var parent = node.parent; + switch (parent.kind) { + case 114 /* Parameter */: + case 166 /* VariableDeclaration */: + case 115 /* Property */: + case 129 /* PropertyAssignment */: + case 176 /* EnumMember */: + case 116 /* Method */: + case 167 /* FunctionDeclaration */: + case 118 /* GetAccessor */: + case 119 /* SetAccessor */: + case 136 /* FunctionExpression */: + case 169 /* ClassDeclaration */: + case 170 /* InterfaceDeclaration */: + case 171 /* EnumDeclaration */: + case 172 /* ModuleDeclaration */: + case 174 /* ImportDeclaration */: + return parent.name === node; + case 153 /* BreakStatement */: + case 152 /* ContinueStatement */: + case 175 /* ExportAssignment */: + return false; + case 159 /* LabelledStatement */: + return node.parent.label === node; + case 163 /* CatchBlock */: + return node.parent.variable === node; + } + } + function emitIdentifier(node) { + if (!isNonExpressionIdentifier(node)) { + var prefix = resolver.getExpressionNamePrefix(node); + if (prefix) { + write(prefix); + write("."); + } + } + write(ts.getSourceTextOfNode(node)); + } + function emitThis(node) { + if (resolver.getNodeCheckFlags(node) & 2 /* LexicalThis */) { + write("_this"); + } + else { + write("this"); + } + } + function emitSuper(node) { + var flags = resolver.getNodeCheckFlags(node); + if (flags & 16 /* SuperInstance */) { + write("_super.prototype"); + } + else if (flags & 32 /* SuperStatic */) { + write("_super"); + } + else { + write("super"); + } + } + function emitArrayLiteral(node) { + if (node.flags & 128 /* MultiLine */) { + write("["); + indent++; + emitMultiLineList(node.elements); + indent--; + writeLine(); + write("]"); + } + else { + write("["); + emitCommaList(node.elements); + write("]"); + } + } + function emitObjectLiteral(node) { + if (!node.properties.length) { + write("{}"); + } + else if (node.flags & 128 /* MultiLine */) { + write("{"); + indent++; + emitMultiLineList(node.properties); + indent--; + writeLine(); + write("}"); + } + else { + write("{ "); + emitCommaList(node.properties); + write(" }"); + } + } + function emitPropertyAssignment(node) { + emit(node.name); + write(": "); + emit(node.initializer); + } + function emitPropertyAccess(node) { + var text = resolver.getPropertyAccessSubstitution(node); + if (text) { + write(text); + return; + } + emit(node.left); + write("."); + emit(node.right); + } + function emitIndexedAccess(node) { + emit(node.object); + write("["); + emit(node.index); + write("]"); + } + function emitCallExpression(node) { + var superCall = false; + if (node.func.kind === 81 /* SuperKeyword */) { + write("_super"); + superCall = true; + } + else { + emit(node.func); + superCall = node.func.kind === 130 /* PropertyAccess */ && node.func.left.kind === 81 /* SuperKeyword */; + } + if (superCall) { + write(".call("); + emitThis(node.func); + if (node.arguments.length) { + write(", "); + emitCommaList(node.arguments); + } + write(")"); + } + else { + write("("); + emitCommaList(node.arguments); + write(")"); + } + } + function emitNewExpression(node) { + write("new "); + emit(node.func); + if (node.arguments) { + write("("); + emitCommaList(node.arguments); + write(")"); + } + } + function emitParenExpression(node) { + if (node.expression.kind === 134 /* TypeAssertion */) { + var operand = node.expression.operand; + while (operand.kind == 134 /* TypeAssertion */) { + operand = operand.operand; + } + if (operand.kind !== 138 /* PrefixOperator */ && operand.kind !== 139 /* PostfixOperator */ && operand.kind !== 133 /* NewExpression */ && !(operand.kind === 132 /* CallExpression */ && node.parent.kind === 133 /* NewExpression */) && !(operand.kind === 136 /* FunctionExpression */ && node.parent.kind === 132 /* CallExpression */)) { + emit(operand); + return; + } + } + write("("); + emit(node.expression); + write(")"); + } + function emitUnaryExpression(node) { + if (node.kind === 138 /* PrefixOperator */) { + write(ts.tokenToString(node.operator)); + } + if (node.operator >= 55 /* Identifier */) { + write(" "); + } + else if (node.kind === 138 /* PrefixOperator */ && node.operand.kind === 138 /* PrefixOperator */) { + var operand = node.operand; + if (node.operator === 24 /* PlusToken */ && (operand.operator === 24 /* PlusToken */ || operand.operator === 29 /* PlusPlusToken */)) { + write(" "); + } + else if (node.operator === 25 /* MinusToken */ && (operand.operator === 25 /* MinusToken */ || operand.operator === 30 /* MinusMinusToken */)) { + write(" "); + } + } + emit(node.operand); + if (node.kind === 139 /* PostfixOperator */) { + write(ts.tokenToString(node.operator)); + } + } + function emitBinaryExpression(node) { + emit(node.left); + if (node.operator !== 14 /* CommaToken */) + write(" "); + write(ts.tokenToString(node.operator)); + write(" "); + emit(node.right); + } + function emitConditionalExpression(node) { + emit(node.condition); + write(" ? "); + emit(node.whenTrue); + write(" : "); + emit(node.whenFalse); + } + function emitBlock(node) { + emitToken(5 /* OpenBraceToken */, node.pos); + indent++; + scopeEmitStart(node.parent); + if (node.kind === 173 /* ModuleBlock */) { + ts.Debug.assert(node.parent.kind === 172 /* ModuleDeclaration */); + emitCaptureThisForNodeIfNecessary(node.parent); + } + emitLines(node.statements); + indent--; + writeLine(); + emitToken(6 /* CloseBraceToken */, node.statements.end); + scopeEmitEnd(); + } + function emitEmbeddedStatement(node) { + if (node.kind === 143 /* Block */) { + write(" "); + emit(node); + } + else { + indent++; + writeLine(); + emit(node); + indent--; + } + } + function emitExpressionStatement(node) { + var isArrowExpression = node.expression.kind === 137 /* ArrowFunction */; + if (isArrowExpression) + write("("); + emit(node.expression); + if (isArrowExpression) + write(")"); + write(";"); + } + function emitIfStatement(node) { + var endPos = emitToken(74 /* IfKeyword */, node.pos); + write(" "); + endPos = emitToken(7 /* OpenParenToken */, endPos); + emit(node.expression); + emitToken(8 /* CloseParenToken */, node.expression.end); + emitEmbeddedStatement(node.thenStatement); + if (node.elseStatement) { + writeLine(); + emitToken(66 /* ElseKeyword */, node.thenStatement.end); + if (node.elseStatement.kind === 147 /* IfStatement */) { + write(" "); + emit(node.elseStatement); + } + else { + emitEmbeddedStatement(node.elseStatement); + } + } + } + function emitDoStatement(node) { + write("do"); + emitEmbeddedStatement(node.statement); + if (node.statement.kind === 143 /* Block */) { + write(" "); + } + else { + writeLine(); + } + write("while ("); + emit(node.expression); + write(");"); + } + function emitWhileStatement(node) { + write("while ("); + emit(node.expression); + write(")"); + emitEmbeddedStatement(node.statement); + } + function emitForStatement(node) { + var endPos = emitToken(72 /* ForKeyword */, node.pos); + write(" "); + endPos = emitToken(7 /* OpenParenToken */, endPos); + if (node.declarations) { + emitToken(88 /* VarKeyword */, endPos); + write(" "); + emitCommaList(node.declarations); + } + if (node.initializer) { + emit(node.initializer); + } + write(";"); + emitOptional(" ", node.condition); + write(";"); + emitOptional(" ", node.iterator); + write(")"); + emitEmbeddedStatement(node.statement); + } + function emitForInStatement(node) { + var endPos = emitToken(72 /* ForKeyword */, node.pos); + write(" "); + endPos = emitToken(7 /* OpenParenToken */, endPos); + if (node.declaration) { + emitToken(88 /* VarKeyword */, endPos); + write(" "); + emit(node.declaration); + } + else { + emit(node.variable); + } + write(" in "); + emit(node.expression); + emitToken(8 /* CloseParenToken */, node.expression.end); + emitEmbeddedStatement(node.statement); + } + function emitBreakOrContinueStatement(node) { + emitToken(node.kind === 153 /* BreakStatement */ ? 56 /* BreakKeyword */ : 61 /* ContinueKeyword */, node.pos); + emitOptional(" ", node.label); + write(";"); + } + function emitReturnStatement(node) { + emitToken(80 /* ReturnKeyword */, node.pos); + emitOptional(" ", node.expression); + write(";"); + } + function emitWithStatement(node) { + write("with ("); + emit(node.expression); + write(")"); + emitEmbeddedStatement(node.statement); + } + function emitSwitchStatement(node) { + var endPos = emitToken(82 /* SwitchKeyword */, node.pos); + write(" "); + emitToken(7 /* OpenParenToken */, endPos); + emit(node.expression); + endPos = emitToken(8 /* CloseParenToken */, node.expression.end); + write(" "); + emitToken(5 /* OpenBraceToken */, endPos); + indent++; + emitLines(node.clauses); + indent--; + writeLine(); + emitToken(6 /* CloseBraceToken */, node.clauses.end); + } + function emitCaseOrDefaultClause(node) { + if (node.kind === 157 /* CaseClause */) { + write("case "); + emit(node.expression); + write(":"); + } + else { + write("default:"); + } + indent++; + emitLines(node.statements); + indent--; + } + function emitThrowStatement(node) { + write("throw "); + emit(node.expression); + write(";"); + } + function emitTryStatement(node) { + write("try "); + emit(node.tryBlock); + emit(node.catchBlock); + if (node.finallyBlock) { + writeLine(); + write("finally "); + emit(node.finallyBlock); + } + } + function emitCatchBlock(node) { + writeLine(); + var endPos = emitToken(58 /* CatchKeyword */, node.pos); + write(" "); + emitToken(7 /* OpenParenToken */, endPos); + emit(node.variable); + emitToken(8 /* CloseParenToken */, node.variable.end); + write(" "); + emitBlock(node); + } + function emitDebuggerStatement(node) { + emitToken(62 /* DebuggerKeyword */, node.pos); + write(";"); + } + function emitLabelledStatement(node) { + emit(node.label); + write(": "); + emit(node.statement); + } + function getContainingModule(node) { + do { + node = node.parent; + } while (node && node.kind !== 172 /* ModuleDeclaration */); + return node; + } + function emitModuleMemberName(node) { + emitStart(node.name); + if (node.flags & 1 /* Export */) { + var container = getContainingModule(node); + write(container ? resolver.getModuleObjectName(container) : "exports"); + write("."); + } + emitNode(node.name); + emitEnd(node.name); + } + function emitVariableDeclaration(node) { + emitModuleMemberName(node); + emitOptional(" = ", node.initializer); + } + function emitVariableStatement(node) { + if (!(node.flags & 1 /* Export */)) + write("var "); + emitCommaList(node.declarations); + write(";"); + } + function emitParameter(node) { + emit(node.name); + } + function emitDefaultValueAssignments(node) { + ts.forEach(node.parameters, function (param) { + if (param.initializer) { + writeLine(); + emitStart(param); + write("if ("); + emitNode(param.name); + write(" === void 0)"); + emitEnd(param); + write(" { "); + emitStart(param); + emitNode(param.name); + write(" = "); + emitNode(param.initializer); + emitEnd(param); + write("; }"); + } + }); + } + function emitRestParameter(node) { + if (node.parameters.length && (node.parameters[node.parameters.length - 1].flags & 8 /* Rest */) !== 0) { + var restIndex = node.parameters.length - 1; + var restParam = node.parameters[restIndex]; + writeLine(); + emitStart(restParam); + write("var "); + emitNode(restParam.name); + write(" = [];"); + emitEnd(restParam); + writeLine(); + write("for ("); + emitStart(restParam); + write("var _i = " + restIndex + ";"); + emitEnd(restParam); + write(" "); + emitStart(restParam); + write("_i < arguments.length;"); + emitEnd(restParam); + write(" "); + emitStart(restParam); + write("_i++"); + emitEnd(restParam); + write(") {"); + indent++; + writeLine(); + emitStart(restParam); + emitNode(restParam.name); + write("[_i - " + restIndex + "] = arguments[_i];"); + emitEnd(restParam); + indent--; + writeLine(); + write("}"); + } + } + function emitAccessor(node) { + write(node.kind === 118 /* GetAccessor */ ? "get " : "set "); + emit(node.name); + emitSignatureAndBody(node); + } + function emitFunctionDeclaration(node) { + if (!node.body) + return; + write("function "); + if (node.kind === 167 /* FunctionDeclaration */ || (node.kind === 136 /* FunctionExpression */ && node.name)) { + emit(node.name); + } + emitSignatureAndBody(node); + } + function emitCaptureThisForNodeIfNecessary(node) { + if (resolver.getNodeCheckFlags(node) & 4 /* CaptureThis */) { + writeLine(); + emitStart(node); + write("var _this = this;"); + emitEnd(node); + } + } + function emitSignatureAndBody(node) { + var hasRestParameter = node.parameters.length && (node.parameters[node.parameters.length - 1].flags & 8 /* Rest */) !== 0; + write("("); + emitCommaList(node.parameters, node.parameters.length - (hasRestParameter ? 1 : 0)); + write(") {"); + scopeEmitStart(node); + indent++; + var outPos = output.length; + emitCaptureThisForNodeIfNecessary(node); + emitDefaultValueAssignments(node); + emitRestParameter(node); + if (node.body.kind !== 168 /* FunctionBlock */ && outPos === output.length) { + indent--; + write(" "); + emitStart(node.body); + write("return "); + emitNode(node.body); + emitEnd(node.body); + write("; "); + emitStart(node.body); + write("}"); + emitEnd(node.body); + } + else { + if (node.body.kind === 168 /* FunctionBlock */) { + emitLines(node.body.statements); + } + else { + writeLine(); + write("return "); + emit(node.body); + write(";"); + } + indent--; + writeLine(); + if (node.body.kind === 168 /* FunctionBlock */) { + emitToken(6 /* CloseBraceToken */, node.body.statements.end); + } + else { + emitStart(node.body); + write("}"); + emitEnd(node.body); + } + } + scopeEmitEnd(); + if (node.flags & 1 /* Export */) { + writeLine(); + emitStart(node); + emitModuleMemberName(node); + write(" = "); + emit(node.name); + emitEnd(node); + write(";"); + } + } + function findConstructor(node) { + return ts.forEach(node.members, function (member) { + if (member.kind === 117 /* Constructor */ && member.body) { + return member; + } + }); + } + function findInitialSuperCall(ctor) { + if (ctor.body) { + var statement = ctor.body.statements[0]; + if (statement && statement.kind === 146 /* ExpressionStatement */) { + var expr = statement.expression; + if (expr && expr.kind === 132 /* CallExpression */) { + var func = expr.func; + if (func && func.kind === 81 /* SuperKeyword */) { + return statement; + } + } + } + } + } + function emitParameterPropertyAssignments(node) { + ts.forEach(node.parameters, function (param) { + if (param.flags & (16 /* Public */ | 32 /* Private */)) { + writeLine(); + emitStart(param); + emitStart(param.name); + write("this."); + emitNode(param.name); + emitEnd(param.name); + write(" = "); + emit(param.name); + write(";"); + emitEnd(param); + } + }); + } + function emitMemberAccess(memberName) { + if (memberName.kind === 3 /* StringLiteral */ || memberName.kind === 2 /* NumericLiteral */) { + write("["); + emitNode(memberName); + write("]"); + } + else { + write("."); + emitNode(memberName); + } + } + function emitMemberAssignments(node, staticFlag) { + ts.forEach(node.members, function (member) { + if (member.kind === 115 /* Property */ && (member.flags & 64 /* Static */) === staticFlag && member.initializer) { + writeLine(); + emitStart(member); + emitStart(member.name); + if (staticFlag) { + emitNode(node.name); + } + else { + write("this"); + } + emitMemberAccess(member.name); + emitEnd(member.name); + write(" = "); + emit(member.initializer); + write(";"); + emitEnd(member); + } + }); + } + function getAccessorDeclarations(node, name, staticFlag) { + var firstAccessor; + var getAccessor; + var setAccessor; + ts.forEach(node.members, function (member) { + if ((member.kind === 118 /* GetAccessor */ || member.kind === 119 /* SetAccessor */) && member.name.text === name && (member.flags & 64 /* Static */) === staticFlag) { + if (!firstAccessor) + firstAccessor = member; + if (member.kind === 118 /* GetAccessor */ && !getAccessor) + getAccessor = member; + if (member.kind === 119 /* SetAccessor */ && !setAccessor) + setAccessor = member; + } + }); + return { + firstAccessor: firstAccessor, + getAccessor: getAccessor, + setAccessor: setAccessor + }; + } + function emitMemberFunctions(node) { + ts.forEach(node.members, function (member) { + if (member.kind === 116 /* Method */) { + if (!member.body) + return; + writeLine(); + emitStart(member); + emitStart(member.name); + emitNode(node.name); + if (!(member.flags & 64 /* Static */)) { + write(".prototype"); + } + emitMemberAccess(member.name); + emitEnd(member.name); + write(" = "); + emitStart(member); + emitFunctionDeclaration(member); + emitEnd(member); + emitEnd(member); + write(";"); + } + else if (member.kind === 118 /* GetAccessor */ || member.kind === 119 /* SetAccessor */) { + var accessors = getAccessorDeclarations(node, member.name.text, member.flags & 64 /* Static */); + if (member === accessors.firstAccessor) { + writeLine(); + emitStart(member); + write("Object.defineProperty("); + emitStart(member.name); + emitNode(node.name); + if (!(member.flags & 64 /* Static */)) { + write(".prototype"); + } + write(", "); + emitIdentifierValue(member.name); + emitEnd(member.name); + write(", {"); + indent++; + if (accessors.getAccessor) { + writeLine(); + write("get: "); + emitStart(accessors.getAccessor); + write("function "); + emitSignatureAndBody(accessors.getAccessor); + emitEnd(accessors.getAccessor); + write(","); + } + if (accessors.setAccessor) { + writeLine(); + write("set: "); + emitStart(accessors.setAccessor); + write("function "); + emitSignatureAndBody(accessors.setAccessor); + emitEnd(accessors.setAccessor); + write(","); + } + writeLine(); + write("enumerable: true,"); + writeLine(); + write("configurable: true"); + indent--; + writeLine(); + write("});"); + emitEnd(member); + } + } + }); + } + function emitClassDeclaration(node) { + var ctor = findConstructor(node); + write("var "); + emit(node.name); + write(" = (function ("); + if (node.baseType) + write("_super"); + write(") {"); + indent++; + scopeEmitStart(node); + if (node.baseType) { + writeLine(); + emitStart(node.baseType); + write("__extends("); + emit(node.name); + write(", _super);"); + emitEnd(node.baseType); + } + writeLine(); + emitStart(ctor || node); + write("function "); + emit(node.name); + write("("); + if (ctor) { + emitCommaList(ctor.parameters); + } + write(") {"); + scopeEmitStart(node, "constructor"); + indent++; + if (ctor) { + emitDefaultValueAssignments(ctor); + emitRestParameter(ctor); + if (node.baseType) { + var superCall = findInitialSuperCall(ctor); + if (superCall) { + writeLine(); + emit(superCall); + } + } + emitParameterPropertyAssignments(ctor); + } + else { + if (node.baseType) { + writeLine(); + emitStart(node.baseType); + write("_super.apply(this, arguments);"); + emitEnd(node.baseType); + } + } + emitCaptureThisForNodeIfNecessary(node); + emitMemberAssignments(node, 0); + if (ctor) { + var statements = ctor.body.statements; + if (superCall) + statements = statements.slice(1); + emitLines(statements); + } + indent--; + writeLine(); + emitToken(6 /* CloseBraceToken */, ctor ? ctor.body.statements.end : node.members.end); + scopeEmitEnd(); + emitEnd(ctor || node); + emitMemberFunctions(node); + emitMemberAssignments(node, 64 /* Static */); + writeLine(); + function emitClassReturnStatement() { + write("return "); + emitNode(node.name); + } + emitToken(6 /* CloseBraceToken */, node.members.end, emitClassReturnStatement); + write(";"); + indent--; + writeLine(); + emitToken(6 /* CloseBraceToken */, node.members.end); + scopeEmitEnd(); + emitStart(node); + write(")("); + if (node.baseType) { + emit(node.baseType.typeName); + } + write(");"); + emitEnd(node); + if (node.flags & 1 /* Export */) { + writeLine(); + emitStart(node); + emitModuleMemberName(node); + write(" = "); + emit(node.name); + emitEnd(node); + write(";"); + } + } + function emitEnumDeclaration(node) { + if (!(node.flags & 1 /* Export */)) { + emitStart(node); + write("var "); + emit(node.name); + emitEnd(node); + write(";"); + } + writeLine(); + emitStart(node); + write("(function ("); + emit(node.name); + write(") {"); + indent++; + scopeEmitStart(node); + ts.forEach(node.members, function (member) { + writeLine(); + emitStart(member); + emitNode(node.name); + write("["); + emitNode(node.name); + write("["); + emitIdentifierValue(member.name); + write("] = "); + if (member.initializer) { + emit(member.initializer); + } + else { + write(resolver.getEnumMemberValue(member).toString()); + } + write("] = "); + emitIdentifierValue(member.name); + emitEnd(member); + write(";"); + }); + indent--; + writeLine(); + emitToken(6 /* CloseBraceToken */, node.members.end); + scopeEmitEnd(); + write(")("); + emitModuleMemberName(node); + write(" || ("); + emitModuleMemberName(node); + write(" = {}));"); + emitEnd(node); + if (node.flags & 1 /* Export */) { + writeLine(); + emitStart(node); + write("var "); + emit(node.name); + write(" = "); + emitModuleMemberName(node); + emitEnd(node); + write(";"); + } + } + function getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration) { + if (moduleDeclaration.body.kind === 172 /* ModuleDeclaration */) { + var recursiveInnerModule = getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration.body); + return recursiveInnerModule || moduleDeclaration.body; + } + } + function emitModuleDeclaration(node) { + if (!ts.isInstantiated(node)) + return; + if (!(node.flags & 1 /* Export */)) { + emitStart(node); + write("var "); + emit(node.name); + write(";"); + emitEnd(node); + writeLine(); + } + emitStart(node); + write("(function ("); + emit(node.name); + write(") "); + if (node.body.kind === 173 /* ModuleBlock */) { + emit(node.body); + } + else { + write("{"); + indent++; + scopeEmitStart(node); + emitCaptureThisForNodeIfNecessary(node); + writeLine(); + emit(node.body); + indent--; + writeLine(); + var moduleBlock = getInnerMostModuleDeclarationFromDottedModule(node).body; + emitToken(6 /* CloseBraceToken */, moduleBlock.statements.end); + scopeEmitEnd(); + } + write(")("); + emitModuleMemberName(node); + write(" || ("); + emitModuleMemberName(node); + write(" = {}));"); + emitEnd(node); + if (node.flags & 1 /* Export */) { + writeLine(); + emitStart(node); + write("var "); + emit(node.name); + write(" = "); + emitModuleMemberName(node); + emitEnd(node); + write(";"); + } + } + function emitImportDeclaration(node) { + var emitImportDeclaration = resolver.isReferencedImportDeclaration(node); + if (!emitImportDeclaration) { + emitImportDeclaration = !(currentSourceFile.flags & 1024 /* ExternalModule */) && resolver.isTopLevelValueImportedViaEntityName(node); + } + if (emitImportDeclaration) { + if (node.externalModuleName && node.parent.kind === 177 /* SourceFile */ && compilerOptions.module === 2 /* AMD */) { + if (node.flags & 1 /* Export */) { + writeLine(); + emitStart(node); + emitModuleMemberName(node); + write(" = "); + emit(node.name); + write(";"); + emitEnd(node); + } + } + else { + writeLine(); + emitStart(node); + if (!(node.flags & 1 /* Export */)) + write("var "); + emitModuleMemberName(node); + write(" = "); + if (node.entityName) { + emit(node.entityName); + } + else { + write("require("); + emitStart(node.externalModuleName); + write(node.externalModuleName.text); + emitEnd(node.externalModuleName); + emitToken(8 /* CloseParenToken */, node.externalModuleName.end); + } + write(";"); + emitEnd(node); + } + } + } + function getExternalImportDeclarations(node) { + var result = []; + ts.forEach(node.statements, function (stat) { + if (stat.kind === 174 /* ImportDeclaration */ && stat.externalModuleName && resolver.isReferencedImportDeclaration(stat)) { + result.push(stat); + } + }); + return result; + } + function getFirstExportAssignment(sourceFile) { + return ts.forEach(sourceFile.statements, function (node) { + if (node.kind === 175 /* ExportAssignment */) { + return node; + } + }); + } + function emitAMDModule(node) { + var imports = getExternalImportDeclarations(node); + writeLine(); + write("define([\"require\", \"exports\""); + ts.forEach(imports, function (imp) { + write(", "); + write(imp.externalModuleName.text); + }); + ts.forEach(node.amdDependencies, function (amdDependency) { + var text = "\"" + amdDependency + "\""; + write(", "); + write(text); + }); + write("], function (require, exports"); + ts.forEach(imports, function (imp) { + write(", "); + emit(imp.name); + }); + write(") {"); + indent++; + emitCaptureThisForNodeIfNecessary(node); + emitLines(node.statements); + var exportName = resolver.getExportAssignmentName(node); + if (exportName) { + writeLine(); + var exportAssignement = getFirstExportAssignment(node); + emitStart(exportAssignement); + write("return "); + emitStart(exportAssignement.exportName); + write(exportName); + emitEnd(exportAssignement.exportName); + write(";"); + emitEnd(exportAssignement); + } + indent--; + writeLine(); + write("});"); + } + function emitCommonJSModule(node) { + emitCaptureThisForNodeIfNecessary(node); + emitLines(node.statements); + var exportName = resolver.getExportAssignmentName(node); + if (exportName) { + writeLine(); + var exportAssignement = getFirstExportAssignment(node); + emitStart(exportAssignement); + write("module.exports = "); + emitStart(exportAssignement.exportName); + write(exportName); + emitEnd(exportAssignement.exportName); + write(";"); + emitEnd(exportAssignement); + } + } + function emitSourceFile(node) { + currentSourceFile = node; + if (!extendsEmitted && resolver.getNodeCheckFlags(node) & 8 /* EmitExtends */) { + writeLine(); + write("var __extends = this.__extends || function (d, b) {"); + indent++; + writeLine(); + write("for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];"); + writeLine(); + write("function __() { this.constructor = d; }"); + writeLine(); + write("__.prototype = b.prototype;"); + writeLine(); + write("d.prototype = new __();"); + indent--; + writeLine(); + write("};"); + extendsEmitted = true; + } + if (node.flags & 1024 /* ExternalModule */) { + if (compilerOptions.module === 2 /* AMD */) { + emitAMDModule(node); + } + else { + emitCommonJSModule(node); + } + } + else { + emitCaptureThisForNodeIfNecessary(node); + emitLines(node.statements); + } + } + function emitNode(node) { + if (!node || node.flags & 2 /* Ambient */) + return; + switch (node.kind) { + case 55 /* Identifier */: + return emitIdentifier(node); + case 114 /* Parameter */: + return emitParameter(node); + case 118 /* GetAccessor */: + case 119 /* SetAccessor */: + return emitAccessor(node); + case 83 /* ThisKeyword */: + return emitThis(node); + case 81 /* SuperKeyword */: + return emitSuper(node); + case 79 /* NullKeyword */: + return write("null"); + case 85 /* TrueKeyword */: + return write("true"); + case 70 /* FalseKeyword */: + return write("false"); + case 2 /* NumericLiteral */: + case 3 /* StringLiteral */: + case 4 /* RegularExpressionLiteral */: + return write(node.text); + case 112 /* QualifiedName */: + return emitPropertyAccess(node); + case 127 /* ArrayLiteral */: + return emitArrayLiteral(node); + case 128 /* ObjectLiteral */: + return emitObjectLiteral(node); + case 129 /* PropertyAssignment */: + return emitPropertyAssignment(node); + case 130 /* PropertyAccess */: + return emitPropertyAccess(node); + case 131 /* IndexedAccess */: + return emitIndexedAccess(node); + case 132 /* CallExpression */: + return emitCallExpression(node); + case 133 /* NewExpression */: + return emitNewExpression(node); + case 134 /* TypeAssertion */: + return emit(node.operand); + case 135 /* ParenExpression */: + return emitParenExpression(node); + case 167 /* FunctionDeclaration */: + case 136 /* FunctionExpression */: + case 137 /* ArrowFunction */: + return emitFunctionDeclaration(node); + case 138 /* PrefixOperator */: + case 139 /* PostfixOperator */: + return emitUnaryExpression(node); + case 140 /* BinaryExpression */: + return emitBinaryExpression(node); + case 141 /* ConditionalExpression */: + return emitConditionalExpression(node); + case 143 /* Block */: + case 162 /* TryBlock */: + case 164 /* FinallyBlock */: + case 168 /* FunctionBlock */: + case 173 /* ModuleBlock */: + return emitBlock(node); + case 144 /* VariableStatement */: + return emitVariableStatement(node); + case 145 /* EmptyStatement */: + return write(";"); + case 146 /* ExpressionStatement */: + return emitExpressionStatement(node); + case 147 /* IfStatement */: + return emitIfStatement(node); + case 148 /* DoStatement */: + return emitDoStatement(node); + case 149 /* WhileStatement */: + return emitWhileStatement(node); + case 150 /* ForStatement */: + return emitForStatement(node); + case 151 /* ForInStatement */: + return emitForInStatement(node); + case 152 /* ContinueStatement */: + case 153 /* BreakStatement */: + return emitBreakOrContinueStatement(node); + case 154 /* ReturnStatement */: + return emitReturnStatement(node); + case 155 /* WithStatement */: + return emitWithStatement(node); + case 156 /* SwitchStatement */: + return emitSwitchStatement(node); + case 157 /* CaseClause */: + case 158 /* DefaultClause */: + return emitCaseOrDefaultClause(node); + case 159 /* LabelledStatement */: + return emitLabelledStatement(node); + case 160 /* ThrowStatement */: + return emitThrowStatement(node); + case 161 /* TryStatement */: + return emitTryStatement(node); + case 163 /* CatchBlock */: + return emitCatchBlock(node); + case 165 /* DebuggerStatement */: + return emitDebuggerStatement(node); + case 166 /* VariableDeclaration */: + return emitVariableDeclaration(node); + case 169 /* ClassDeclaration */: + return emitClassDeclaration(node); + case 171 /* EnumDeclaration */: + return emitEnumDeclaration(node); + case 172 /* ModuleDeclaration */: + return emitModuleDeclaration(node); + case 174 /* ImportDeclaration */: + return emitImportDeclaration(node); + case 177 /* SourceFile */: + return emitSourceFile(node); + } + } + if (compilerOptions.sourceMap) { + initializeEmitterWithSourceMaps(); + } + else { + initializeEmitterWithoutSourceMaps(); + } + if (root) { + emit(root); + } + else { + ts.forEach(program.getSourceFiles(), function (sourceFile) { + if (!(sourceFile.flags & (1024 /* ExternalModule */ | 512 /* DeclarationFile */))) + emit(sourceFile); + }); + } + if (output.length) { + output += "\r\n"; + } + writeEmittedFiles(); + } +})(ts || (ts = {})); +var ts; +(function (ts) { + var nextSymbolId = 1; + var nextNodeId = 1; + var nextMergeId = 1; + function createTypeChecker(program) { + var Symbol = ts.objectAllocator.getSymbolConstructor(); + var Type = ts.objectAllocator.getTypeConstructor(); + var Signature = ts.objectAllocator.getSignatureConstructor(); + var typeCount = 0; + var emptyArray = []; + var emptySymbols = {}; + var undefinedSymbol = createSymbol(2 /* Property */ | 33554432 /* Transient */, "undefined"); + var argumentsSymbol = createSymbol(2 /* Property */ | 33554432 /* Transient */, "arguments"); + var unknownSymbol = createSymbol(2 /* Property */ | 33554432 /* Transient */, "unknown"); + var resolvingSymbol = createSymbol(33554432 /* Transient */, "__resolving__"); + var anyType = createIntrinsicType(1 /* Any */, "any"); + var stringType = createIntrinsicType(2 /* String */, "string"); + var numberType = createIntrinsicType(4 /* Number */, "number"); + var booleanType = createIntrinsicType(8 /* Boolean */, "boolean"); + var voidType = createIntrinsicType(16 /* Void */, "void"); + var undefinedType = createIntrinsicType(32 /* Undefined */, "undefined"); + var nullType = createIntrinsicType(64 /* Null */, "null"); + var unknownType = createIntrinsicType(1 /* Any */, "unknown"); + var resolvingType = createIntrinsicType(1 /* Any */, "__resolving__"); + var emptyObjectType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); + var anyFunctionType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); + var noConstraintType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); + var globals = {}; + var globalObjectType; + var globalFunctionType; + var globalArrayType; + var globalStringType; + var globalNumberType; + var globalBooleanType; + var globalRegExpType; + var stringLiteralTypes = {}; + var emitExtends = false; + var modulesVerified = false; + var mergedSymbols = []; + var symbolLinks = []; + var nodeLinks = []; + var diagnostics = []; + var diagnosticsModified = false; + var checker; + function addDiagnostic(diagnostic) { + diagnostics.push(diagnostic); + diagnosticsModified = true; + } + function error(location, message, arg0, arg1, arg2) { + var diagnostic = location ? ts.createDiagnosticForNode(location, message, arg0, arg1, arg2) : ts.createCompilerDiagnostic(message, arg0, arg1, arg2); + addDiagnostic(diagnostic); + } + function createSymbol(flags, name) { + return new Symbol(flags, name); + } + function getExcludedSymbolFlags(flags) { + var result = 0; + if (flags & 1 /* Variable */) + result |= ts.SymbolFlags.VariableExcludes; + if (flags & 2 /* Property */) + result |= ts.SymbolFlags.PropertyExcludes; + if (flags & 4 /* EnumMember */) + result |= ts.SymbolFlags.EnumMemberExcludes; + if (flags & 8 /* Function */) + result |= ts.SymbolFlags.FunctionExcludes; + if (flags & 16 /* Class */) + result |= ts.SymbolFlags.ClassExcludes; + if (flags & 32 /* Interface */) + result |= ts.SymbolFlags.InterfaceExcludes; + if (flags & 64 /* Enum */) + result |= ts.SymbolFlags.EnumExcludes; + if (flags & 128 /* ValueModule */) + result |= ts.SymbolFlags.ValueModuleExcludes; + if (flags & 2048 /* Method */) + result |= ts.SymbolFlags.MethodExcludes; + if (flags & 8192 /* GetAccessor */) + result |= ts.SymbolFlags.GetAccessorExcludes; + if (flags & 16384 /* SetAccessor */) + result |= ts.SymbolFlags.SetAccessorExcludes; + if (flags & 262144 /* TypeParameter */) + result |= ts.SymbolFlags.TypeParameterExcludes; + if (flags & 4194304 /* Import */) + result |= ts.SymbolFlags.ImportExcludes; + return result; + } + function recordMergedSymbol(target, source) { + if (!source.mergeId) + source.mergeId = nextMergeId++; + mergedSymbols[source.mergeId] = target; + } + function cloneSymbol(symbol) { + var result = createSymbol(symbol.flags | 16777216 /* Merged */, symbol.name); + result.declarations = symbol.declarations.slice(0); + result.parent = symbol.parent; + if (symbol.valueDeclaration) + result.valueDeclaration = symbol.valueDeclaration; + if (symbol.members) + result.members = cloneSymbolTable(symbol.members); + if (symbol.exports) + result.exports = cloneSymbolTable(symbol.exports); + recordMergedSymbol(result, symbol); + return result; + } + function extendSymbol(target, source) { + if (!(target.flags & getExcludedSymbolFlags(source.flags))) { + target.flags |= source.flags; + if (!target.valueDeclaration && source.valueDeclaration) + target.valueDeclaration = source.valueDeclaration; + ts.forEach(source.declarations, function (node) { + target.declarations.push(node); + }); + if (source.members) { + if (!target.members) + target.members = {}; + extendSymbolTable(target.members, source.members); + } + if (source.exports) { + if (!target.exports) + target.exports = {}; + extendSymbolTable(target.exports, source.exports); + } + } + else { + ts.forEach(source.declarations, function (node) { + error(node.name ? node.name : node, ts.Diagnostics.Duplicate_identifier_0, symbolToString(source)); + }); + } + recordMergedSymbol(target, source); + } + function cloneSymbolTable(symbolTable) { + var result = {}; + for (var id in symbolTable) { + if (ts.hasProperty(symbolTable, id)) { + result[id] = symbolTable[id]; + } + } + return result; + } + function extendSymbolTable(target, source) { + for (var id in source) { + if (ts.hasProperty(source, id)) { + if (!ts.hasProperty(target, id)) { + target[id] = source[id]; + } + else { + var symbol = target[id]; + if (!(symbol.flags & 16777216 /* Merged */)) { + target[id] = symbol = cloneSymbol(symbol); + } + extendSymbol(symbol, source[id]); + } + } + } + } + function getSymbolLinks(symbol) { + if (symbol.flags & 33554432 /* Transient */) + return symbol; + if (!symbol.id) + symbol.id = nextSymbolId++; + return symbolLinks[symbol.id] || (symbolLinks[symbol.id] = {}); + } + function getNodeLinks(node) { + if (!node.id) + node.id = nextNodeId++; + return nodeLinks[node.id] || (nodeLinks[node.id] = {}); + } + function getSourceFile(node) { + return getAncestor(node, 177 /* SourceFile */); + } + function getSymbol(symbols, name, meaning) { + if (meaning && ts.hasProperty(symbols, name)) { + var symbol = symbols[name]; + ts.Debug.assert((symbol.flags & 8388608 /* Instantiated */) === 0, "Should never get an instantiated symbol here."); + if (symbol.flags & meaning || (symbol.flags & 4194304 /* Import */ && resolveImport(symbol).flags & meaning)) { + return symbol; + } + } + } + function resolveName(location, name, meaning, nameNotFoundMessage, nameArg) { + var errorLocation = location; + var result; + var lastLocation; + var memberWithInitializerThatReferencesIdentifierFromConstructor; + function returnResolvedSymbol(s) { + if (s && memberWithInitializerThatReferencesIdentifierFromConstructor) { + var propertyName = memberWithInitializerThatReferencesIdentifierFromConstructor.name; + error(errorLocation, ts.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor, ts.identifierToString(propertyName), nameArg); + return undefined; + } + if (!s && nameNotFoundMessage) { + error(errorLocation, nameNotFoundMessage, nameArg); + } + return s; + } + while (location) { + if (location.locals && (location.kind !== 177 /* SourceFile */ || location.flags & 1024 /* ExternalModule */)) { + if (result = getSymbol(location.locals, name, meaning)) { + return returnResolvedSymbol(result); + } + } + switch (location.kind) { + case 177 /* SourceFile */: + if (!(location.flags & 1024 /* ExternalModule */)) + break; + case 172 /* ModuleDeclaration */: + if (result = getSymbol(getSymbolOfNode(location).exports, name, meaning & ts.SymbolFlags.ModuleMember)) { + return returnResolvedSymbol(result); + } + break; + case 171 /* EnumDeclaration */: + if (result = getSymbol(getSymbolOfNode(location).exports, name, meaning & 4 /* EnumMember */)) { + return returnResolvedSymbol(result); + } + break; + case 115 /* Property */: + if (location.parent.kind === 169 /* ClassDeclaration */ && !(location.flags & 64 /* Static */)) { + var ctor = findConstructorDeclaration(location.parent); + if (ctor && ctor.locals) { + if (getSymbol(ctor.locals, name, meaning & ts.SymbolFlags.Value)) { + memberWithInitializerThatReferencesIdentifierFromConstructor = location; + } + } + } + break; + case 169 /* ClassDeclaration */: + case 170 /* InterfaceDeclaration */: + if (result = getSymbol(getSymbolOfNode(location).members, name, meaning & ts.SymbolFlags.Type)) { + if (lastLocation && lastLocation.flags & 64 /* Static */) { + error(errorLocation, ts.Diagnostics.Static_members_cannot_reference_class_type_parameters); + return undefined; + } + else { + return returnResolvedSymbol(result); + } + } + break; + case 116 /* Method */: + case 117 /* Constructor */: + case 118 /* GetAccessor */: + case 119 /* SetAccessor */: + case 167 /* FunctionDeclaration */: + case 137 /* ArrowFunction */: + if (name === "arguments") { + return returnResolvedSymbol(argumentsSymbol); + } + break; + case 136 /* FunctionExpression */: + if (name === "arguments") { + return returnResolvedSymbol(argumentsSymbol); + } + var id = location.name; + if (id && name === id.text) { + return returnResolvedSymbol(location.symbol); + } + break; + case 163 /* CatchBlock */: + var id = location.variable; + if (name === id.text) { + return returnResolvedSymbol(location.variable.symbol); + } + break; + } + lastLocation = location; + location = location.parent; + } + if (result = getSymbol(globals, name, meaning)) { + return returnResolvedSymbol(result); + } + return returnResolvedSymbol(undefined); + } + function resolveImport(symbol) { + ts.Debug.assert((symbol.flags & 4194304 /* Import */) !== 0, "Should only get Imports here."); + var links = getSymbolLinks(symbol); + if (!links.target) { + links.target = resolvingSymbol; + var node = getDeclarationOfKind(symbol, 174 /* ImportDeclaration */); + var target = node.externalModuleName ? resolveExternalModuleName(node, node.externalModuleName) : resolveEntityName(node, node.entityName, node.entityName.kind === 112 /* QualifiedName */ ? ts.SymbolFlags.Value | ts.SymbolFlags.Type | ts.SymbolFlags.Namespace : ts.SymbolFlags.Namespace); + if (links.target === resolvingSymbol) { + links.target = target || unknownSymbol; + } + else { + error(node, ts.Diagnostics.Circular_definition_of_import_alias_0, symbolToString(symbol)); + } + } + else if (links.target === resolvingSymbol) { + links.target = unknownSymbol; + } + return links.target; + } + function getFullyQualifiedName(symbol) { + return symbol.parent ? getFullyQualifiedName(symbol.parent) + "." + symbolToString(symbol) : symbolToString(symbol); + } + function resolveEntityName(location, name, meaning) { + if (name.kind === 55 /* Identifier */) { + var symbol = resolveName(location, name.text, meaning, ts.Diagnostics.Cannot_find_name_0, ts.identifierToString(name)); + if (!symbol) { + return; + } + } + else if (name.kind === 112 /* QualifiedName */) { + var namespace = resolveEntityName(location, name.left, ts.SymbolFlags.Namespace); + if (!namespace || name.right.kind === 111 /* Missing */) + return; + var symbol = getSymbol(namespace.exports, name.right.text, meaning); + if (!symbol) { + error(location, ts.Diagnostics.Module_0_has_no_exported_member_1, getFullyQualifiedName(namespace), ts.identifierToString(name.right)); + return; + } + } + else { + return; + } + ts.Debug.assert((symbol.flags & 8388608 /* Instantiated */) === 0, "Should never get an instantiated symbol here."); + return symbol.flags & meaning ? symbol : resolveImport(symbol); + } + function isExternalModuleNameRelative(moduleName) { + var index = moduleName.charAt(0) === '"' ? 1 : 0; + return moduleName.substr(index, 2) === "./" || moduleName.substr(index, 3) === "../"; + } + function resolveExternalModuleName(location, moduleLiteral) { + var searchPath = ts.getDirectoryPath(getSourceFile(location).filename); + var moduleName = ts.getTextOfLiteral(moduleLiteral); + if (!moduleName) + return; + var isRelative = isExternalModuleNameRelative(moduleName); + if (!isRelative) { + var symbol = getSymbol(globals, '"' + moduleName + '"', 128 /* ValueModule */); + if (symbol) { + return getResolvedExportSymbol(symbol); + } + } + while (true) { + var filename = ts.normalizePath(ts.combinePaths(searchPath, moduleName)); + var sourceFile = program.getSourceFile(filename + ".ts") || program.getSourceFile(filename + ".d.ts"); + if (sourceFile || isRelative) + break; + var parentPath = ts.getDirectoryPath(searchPath); + if (parentPath === searchPath) + break; + searchPath = parentPath; + } + if (sourceFile) { + if (sourceFile.symbol) { + return getResolvedExportSymbol(sourceFile.symbol); + } + error(moduleLiteral, ts.Diagnostics.File_0_is_not_an_external_module, sourceFile.filename); + return; + } + error(moduleLiteral, ts.Diagnostics.Cannot_find_external_module_0, moduleName); + } + function getResolvedExportSymbol(moduleSymbol) { + var symbol = getExportAssignmentSymbol(moduleSymbol); + if (symbol) { + if (symbol.flags & (ts.SymbolFlags.Value | ts.SymbolFlags.Type | ts.SymbolFlags.Namespace)) { + return symbol; + } + if (symbol.flags & 4194304 /* Import */) { + return resolveImport(symbol); + } + } + return moduleSymbol; + } + function getExportAssignmentSymbol(symbol) { + if (!symbol.exportAssignSymbol) { + var exportInformation = collectExportInformationForSourceFileOrModule(symbol); + if (exportInformation.exportAssignments.length) { + if (exportInformation.exportAssignments.length > 1) { + ts.forEach(exportInformation.exportAssignments, function (node) { return error(node, ts.Diagnostics.A_module_cannot_have_more_than_one_export_assignment); }); + } + var node = exportInformation.exportAssignments[0]; + if (exportInformation.hasExportedMember) { + error(node, ts.Diagnostics.An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements); + } + if (node.exportName.text) { + var meaning = ts.SymbolFlags.Value | ts.SymbolFlags.Type | ts.SymbolFlags.Namespace; + var exportSymbol = resolveName(node, node.exportName.text, meaning, ts.Diagnostics.Cannot_find_name_0, ts.identifierToString(node.exportName)); + } + } + symbol.exportAssignSymbol = exportSymbol || unknownSymbol; + } + return symbol.exportAssignSymbol === unknownSymbol ? undefined : symbol.exportAssignSymbol; + } + function collectExportInformationForSourceFileOrModule(symbol) { + var seenExportedMember = false; + var result = []; + ts.forEach(symbol.declarations, function (declaration) { + var block = (declaration.kind === 177 /* SourceFile */ ? declaration : declaration.body); + ts.forEach(block.statements, function (node) { + if (node.kind === 175 /* ExportAssignment */) { + result.push(node); + } + else { + seenExportedMember = seenExportedMember || (node.flags & 1 /* Export */) !== 0; + } + }); + }); + return { + hasExportedMember: seenExportedMember, + exportAssignments: result + }; + } + function getMergedSymbol(symbol) { + var merged; + return symbol && symbol.mergeId && (merged = mergedSymbols[symbol.mergeId]) ? merged : symbol; + } + function getSymbolOfNode(node) { + return getMergedSymbol(node.symbol); + } + function getParentOfSymbol(symbol) { + return getMergedSymbol(symbol.parent); + } + function getExportSymbolOfValueSymbolIfExported(symbol) { + return symbol && (symbol.flags & 524288 /* ExportValue */) !== 0 ? getMergedSymbol(symbol.exportSymbol) : symbol; + } + function symbolIsValue(symbol) { + if (symbol.flags & ts.SymbolFlags.Value) { + return true; + } + if (symbol.flags & 4194304 /* Import */) { + return (resolveImport(symbol).flags & ts.SymbolFlags.Value) !== 0; + } + if (symbol.flags & 8388608 /* Instantiated */) { + return (getSymbolLinks(symbol).target.flags & ts.SymbolFlags.Value) !== 0; + } + return false; + } + function getDeclarationOfKind(symbol, kind) { + var declarations = symbol.declarations; + for (var i = 0; i < declarations.length; i++) { + var declaration = declarations[i]; + if (declaration.kind === kind) + return declaration; + } + } + function findConstructorDeclaration(node) { + var members = node.members; + for (var i = 0; i < members.length; i++) { + var member = members[i]; + if (member.kind === 117 /* Constructor */ && member.body) { + return member; + } + } + } + function createType(flags) { + var result = new Type(checker, flags); + result.id = typeCount++; + return result; + } + function createIntrinsicType(kind, intrinsicName) { + var type = createType(kind); + type.intrinsicName = intrinsicName; + return type; + } + function createObjectType(kind, symbol) { + var type = createType(kind); + type.symbol = symbol; + return type; + } + function isReservedMemberName(name) { + return name.charCodeAt(0) === 95 /* _ */ && name.charCodeAt(1) === 95 /* _ */ && name.charCodeAt(2) !== 95 /* _ */; + } + function getNamedMembers(members) { + var result; + for (var id in members) { + if (ts.hasProperty(members, id)) { + if (!isReservedMemberName(id)) { + if (!result) + result = []; + var symbol = members[id]; + if (symbolIsValue(symbol)) { + result.push(symbol); + } + } + } + } + return result || emptyArray; + } + function setObjectTypeMembers(type, members, callSignatures, constructSignatures, stringIndexType, numberIndexType) { + type.members = members; + type.properties = getNamedMembers(members); + type.callSignatures = callSignatures; + type.constructSignatures = constructSignatures; + if (stringIndexType) + type.stringIndexType = stringIndexType; + if (numberIndexType) + type.numberIndexType = numberIndexType; + return type; + } + function createAnonymousType(symbol, members, callSignatures, constructSignatures, stringIndexType, numberIndexType) { + return setObjectTypeMembers(createObjectType(8192 /* Anonymous */, symbol), members, callSignatures, constructSignatures, stringIndexType, numberIndexType); + } + function isOptionalProperty(propertySymbol) { + if (propertySymbol.flags & 67108864 /* Prototype */) { + return false; + } + return (propertySymbol.valueDeclaration.flags & 4 /* QuestionMark */) && propertySymbol.valueDeclaration.kind !== 114 /* Parameter */; + } + function symbolToString(symbol) { + if (symbol.declarations && symbol.declarations.length > 0) { + var declaration = symbol.declarations[0]; + if (declaration.name) { + return ts.identifierToString(declaration.name); + } + } + return symbol.name; + } + function typeToString(type, printArrayAsGenericType) { + var typeStack; + return typeToString(type); + function typeToString(type) { + if (type.flags & ts.TypeFlags.Intrinsic) { + return type.intrinsicName; + } + if (type.flags & 4096 /* Reference */) { + return typeReferenceToString(type); + } + if (type.flags & (1024 /* Class */ | 2048 /* Interface */ | 128 /* Enum */ | 512 /* TypeParameter */)) { + return symbolToString(type.symbol); + } + if (type.flags & 8192 /* Anonymous */) { + return anonymousTypeToString(type); + } + if (type.flags & 256 /* StringLiteral */) { + return type.text; + } + return "{ ... }"; + } + function typeReferenceToString(type) { + if (type.target === globalArrayType && !printArrayAsGenericType) { + return typeToString(type.typeArguments[0]) + "[]"; + } + var result = symbolToString(type.target.symbol); + result += "<"; + for (var i = 0; i < type.typeArguments.length; i++) { + if (i > 0) + result += ", "; + result += typeToString(type.typeArguments[i]); + } + result += ">"; + return result; + } + function anonymousTypeToString(type) { + if (type.symbol && type.symbol.flags & (16 /* Class */ | 64 /* Enum */ | 128 /* ValueModule */)) { + return symbolTypeToString(type); + } + if (type.symbol && type.symbol.flags & (8 /* Function */ | 2048 /* Method */)) { + if (typeStack && ts.contains(typeStack, type)) { + return symbolTypeToString(type); + } + } + if (!typeStack) + typeStack = []; + typeStack.push(type); + var result = literalTypeToString(type); + typeStack.pop(); + return result; + } + function symbolTypeToString(type) { + return "typeof " + symbolToString(type.symbol); + } + function literalTypeToString(type) { + var resolved = resolveObjectTypeMembers(type); + if (!resolved.properties.length && !resolved.stringIndexType && !resolved.numberIndexType) { + if (!resolved.callSignatures.length && !resolved.constructSignatures.length) { + return "{}"; + } + if (resolved.callSignatures.length === 1 && !resolved.constructSignatures.length) { + return signatureToString(resolved.callSignatures[0], true); + } + if (resolved.constructSignatures.length === 1 && !resolved.callSignatures.length) { + return "new " + signatureToString(resolved.constructSignatures[0], true); + } + } + var result = "{ "; + for (var i = 0; i < resolved.callSignatures.length; i++) { + result += signatureToString(resolved.callSignatures[i]); + result += "; "; + } + for (var i = 0; i < resolved.constructSignatures.length; i++) { + result += "new "; + result += signatureToString(resolved.constructSignatures[i]); + result += "; "; + } + if (resolved.stringIndexType) { + result += "[x: string]: "; + result += typeToString(resolved.stringIndexType); + result += "; "; + } + if (resolved.numberIndexType) { + result += "[x: number]: "; + result += typeToString(resolved.numberIndexType); + result += "; "; + } + for (var i = 0; i < resolved.properties.length; i++) { + var p = resolved.properties[i]; + var t = getTypeOfSymbol(p); + if (p.flags & (8 /* Function */ | 2048 /* Method */) && !getPropertiesOfType(t).length) { + var signatures = getSignaturesOfType(t, 0 /* Call */); + for (var j = 0; j < signatures.length; j++) { + result += symbolToString(p); + if (isOptionalProperty(p)) { + result += "?"; + } + result += signatureToString(signatures[j]); + result += "; "; + } + } + else { + result += symbolToString(p); + if (isOptionalProperty(p)) { + result += "?"; + } + result += ": "; + result += typeToString(t); + result += "; "; + } + } + result += "}"; + return result; + } + function signatureToString(signature, arrowStyle) { + var result = ""; + if (signature.typeParameters) { + result += "<"; + for (var i = 0; i < signature.typeParameters.length; i++) { + if (i > 0) + result += ", "; + var tp = signature.typeParameters[i]; + result += symbolToString(tp.symbol); + var constraint = getConstraintOfTypeParameter(tp); + if (constraint) { + result += " extends "; + result += typeToString(constraint); + } + } + result += ">"; + } + result += "("; + for (var i = 0; i < signature.parameters.length; i++) { + if (i > 0) + result += ", "; + var p = signature.parameters[i]; + if (getDeclarationFlagsFromSymbol(p) & 8 /* Rest */) { + result += "..."; + } + result += symbolToString(p); + if (p.valueDeclaration.flags & 4 /* QuestionMark */ || p.valueDeclaration.initializer) { + result += "?"; + } + result += ": "; + result += typeToString(getTypeOfSymbol(p)); + } + result += arrowStyle ? ") => " : "): "; + result += typeToString(getReturnTypeOfSignature(signature)); + return result; + } + } + function getApparentType(type) { + if (type.flags & 512 /* TypeParameter */) { + do { + type = getConstraintOfTypeParameter(type); + } while (type && type.flags & 512 /* TypeParameter */); + if (!type) + type = emptyObjectType; + } + if (type.flags & ts.TypeFlags.StringLike) { + type = globalStringType; + } + else if (type.flags & ts.TypeFlags.NumberLike) { + type = globalNumberType; + } + else if (type.flags & 8 /* Boolean */) { + type = globalBooleanType; + } + return type; + } + function getTypeOfPrototypeProperty(prototype) { + var classType = getDeclaredTypeOfSymbol(prototype.parent); + var classDecl = getDeclarationOfKind(prototype.parent, 169 /* ClassDeclaration */); + return classDecl.typeParameters ? createTypeReference(classType, ts.map(classDecl.typeParameters, function (_) { return anyType; })) : classType; + } + function getTypeOfVariableDeclaration(declaration) { + var type; + if (declaration.parent.kind === 163 /* CatchBlock */ || declaration.parent.kind === 151 /* ForInStatement */) { + type = anyType; + } + else if (declaration.type) { + type = getTypeFromTypeNode(declaration.type); + } + else { + if (declaration.kind === 114 /* Parameter */ && declaration.parent.kind === 119 /* SetAccessor */) { + var getter = getDeclarationOfKind(declaration.parent.symbol, 118 /* GetAccessor */); + if (getter) { + type = getReturnTypeOfSignature(getSignatureFromDeclaration(getter)); + } + } + var unwidenedType; + if (!type) { + if (declaration.initializer) { + unwidenedType = checkAndMarkExpression(declaration.initializer); + type = getWidenedType(unwidenedType); + } + else if (declaration.flags & 8 /* Rest */) { + type = createArrayType(anyType); + } + else { + type = anyType; + } + } + if (program.getCompilerOptions().noImplicitAny && shouldReportNoImplicitAnyOnVariableOrParameterOrProperty(declaration, type, unwidenedType)) { + reportNoImplicitAnyOnVariableOrParameterOrProperty(declaration, type); + } + } + return type; + function shouldReportNoImplicitAnyOnVariableOrParameterOrProperty(declaration, type, unwidenedType) { + if (type === unwidenedType) { + return false; + } + if (getInnermostTypeOfNestedArrayTypes(type) !== anyType) { + return false; + } + if (isPrivateWithinAmbient(declaration) || (declaration.kind === 114 /* Parameter */ && isPrivateWithinAmbient(declaration.parent))) { + return false; + } + return true; + } + function reportNoImplicitAnyOnVariableOrParameterOrProperty(declaration, type) { + var varName = ts.identifierToString(declaration.name); + var typeName = typeToString(type, false); + switch (declaration.kind) { + case 166 /* VariableDeclaration */: + error(declaration, ts.Diagnostics.Variable_0_implicitly_has_an_1_type, varName, typeName); + break; + case 115 /* Property */: + error(declaration, ts.Diagnostics.Member_0_implicitly_has_an_1_type, varName, typeName); + break; + case 114 /* Parameter */: + var funcDeclaration = declaration.parent; + if (declaration.flags & 8 /* Rest */) { + error(declaration, ts.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type, varName); + } + else { + error(declaration, ts.Diagnostics.Parameter_0_implicitly_has_an_1_type, varName, typeName); + } + break; + default: + ts.Debug.fail("Received a '" + ts.SyntaxKind[declaration.kind] + "', but expected '" + ts.SyntaxKind[166 /* VariableDeclaration */] + "', '" + ts.SyntaxKind[115 /* Property */] + "', or '" + ts.SyntaxKind[114 /* Parameter */] + "'.\r\n"); + } + } + } + function getTypeOfVariableOrParameterOrProperty(symbol) { + var links = getSymbolLinks(symbol); + if (!links.type) { + if (symbol.flags & 67108864 /* Prototype */) { + links.type = getTypeOfPrototypeProperty(symbol); + } + else { + links.type = resolvingType; + var type = getTypeOfVariableDeclaration(symbol.valueDeclaration); + if (links.type === resolvingType) { + links.type = type; + } + } + } + else if (links.type === resolvingType) { + links.type = anyType; + } + return links.type; + } + function getSetAccessorTypeAnnotationNode(accessor) { + return accessor && accessor.parameters.length > 0 && accessor.parameters[0].type; + } + function getAnnotatedAccessorType(accessor) { + if (accessor) { + if (accessor.kind === 118 /* GetAccessor */) { + return accessor.type && getTypeFromTypeNode(accessor.type); + } + else { + var setterTypeAnnotation = getSetAccessorTypeAnnotationNode(accessor); + return setterTypeAnnotation && getTypeFromTypeNode(setterTypeAnnotation); + } + } + return undefined; + } + function getTypeOfAccessors(symbol) { + var links = getSymbolLinks(symbol); + if (!links.type) { + links.type = resolvingType; + var getter = getDeclarationOfKind(symbol, 118 /* GetAccessor */); + var setter = getDeclarationOfKind(symbol, 119 /* SetAccessor */); + var type; + var getterReturnType = getAnnotatedAccessorType(getter); + if (getterReturnType) { + type = getterReturnType; + } + else { + var setterParameterType = getAnnotatedAccessorType(setter); + if (setterParameterType) { + type = setterParameterType; + } + else { + if (getter) { + type = getReturnTypeFromBody(getter); + } + else { + if (program.getCompilerOptions().noImplicitAny) { + error(setter, ts.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_type_annotation, symbol.name); + } + type = anyType; + } + } + } + if (links.type === resolvingType) { + links.type = type; + } + } + else if (links.type === resolvingType) { + links.type = anyType; + } + return links.type; + } + function getTypeOfFuncClassEnumModule(symbol) { + var links = getSymbolLinks(symbol); + if (!links.type) { + var type = links.type = createObjectType(8192 /* Anonymous */, symbol); + } + return links.type; + } + function getTypeOfEnumMember(symbol) { + var links = getSymbolLinks(symbol); + if (!links.type) { + links.type = getDeclaredTypeOfEnum(getParentOfSymbol(symbol)); + } + return links.type; + } + function getTypeOfImport(symbol) { + var links = getSymbolLinks(symbol); + if (!links.type) { + links.type = getTypeOfSymbol(resolveImport(symbol)); + } + return links.type; + } + function getTypeOfInstantiatedSymbol(symbol) { + var links = getSymbolLinks(symbol); + if (!links.type) { + links.type = instantiateType(getTypeOfSymbol(links.target), links.mapper); + } + return links.type; + } + function getTypeOfSymbol(symbol) { + if (symbol.flags & (1 /* Variable */ | 2 /* Property */)) { + return getTypeOfVariableOrParameterOrProperty(symbol); + } + if (symbol.flags & (8 /* Function */ | 2048 /* Method */ | 16 /* Class */ | 64 /* Enum */ | 128 /* ValueModule */)) { + return getTypeOfFuncClassEnumModule(symbol); + } + if (symbol.flags & 4 /* EnumMember */) { + return getTypeOfEnumMember(symbol); + } + if (symbol.flags & ts.SymbolFlags.Accessor) { + return getTypeOfAccessors(symbol); + } + if (symbol.flags & 4194304 /* Import */) { + return getTypeOfImport(symbol); + } + if (symbol.flags & 8388608 /* Instantiated */) { + return getTypeOfInstantiatedSymbol(symbol); + } + return unknownType; + } + function getTargetType(type) { + return type.flags & 4096 /* Reference */ ? type.target : type; + } + function hasBaseType(type, checkBase) { + return check(type); + function check(type) { + var target = getTargetType(type); + return target === checkBase || ts.forEach(target.baseTypes, check); + } + } + function getDeclaredTypeOfClass(symbol) { + var links = getSymbolLinks(symbol); + if (!links.declaredType) { + var declaration = getDeclarationOfKind(symbol, 169 /* ClassDeclaration */); + var type = links.declaredType = createObjectType(1024 /* Class */, symbol); + if (declaration.typeParameters && declaration.typeParameters.length) { + type.flags |= 4096 /* Reference */; + type.typeParameters = ts.map(declaration.typeParameters, function (node) { return getDeclaredTypeOfTypeParameter(getSymbolOfNode(node)); }); + type.instantiations = {}; + type.instantiations[getTypeListId(type.typeParameters)] = type; + type.target = type; + type.typeArguments = type.typeParameters; + } + type.baseTypes = []; + if (declaration.baseType) { + var baseType = getTypeFromTypeReferenceNode(declaration.baseType); + if (baseType !== unknownType) { + if (getTargetType(baseType).flags & 1024 /* Class */) { + if (type !== baseType && !hasBaseType(baseType, type)) { + type.baseTypes.push(baseType); + } + else { + error(declaration, ts.Diagnostics.Type_0_recursively_references_itself_as_a_base_type, typeToString(type, false)); + } + } + else { + error(declaration.baseType, ts.Diagnostics.A_class_may_only_extend_another_class); + } + } + } + type.declaredProperties = getNamedMembers(symbol.members); + type.declaredCallSignatures = emptyArray; + type.declaredConstructSignatures = emptyArray; + type.declaredStringIndexType = getIndexTypeOfSymbol(symbol, 0 /* String */); + type.declaredNumberIndexType = getIndexTypeOfSymbol(symbol, 1 /* Number */); + } + return links.declaredType; + } + function getDeclaredTypeOfInterface(symbol) { + var links = getSymbolLinks(symbol); + if (!links.declaredType) { + var firstDeclaration = getDeclarationOfKind(symbol, 170 /* InterfaceDeclaration */); + var type = links.declaredType = createObjectType(2048 /* Interface */, symbol); + if (firstDeclaration.typeParameters && firstDeclaration.typeParameters.length) { + type.flags |= 4096 /* Reference */; + type.typeParameters = ts.map(firstDeclaration.typeParameters, function (node) { return getDeclaredTypeOfTypeParameter(getSymbolOfNode(node)); }); + type.instantiations = {}; + type.instantiations[getTypeListId(type.typeParameters)] = type; + type.target = type; + type.typeArguments = type.typeParameters; + } + type.baseTypes = []; + ts.forEach(symbol.declarations, function (declaration) { + if (declaration.kind === 170 /* InterfaceDeclaration */ && declaration.baseTypes) { + ts.forEach(declaration.baseTypes, function (node) { + var baseType = getTypeFromTypeReferenceNode(node); + if (baseType !== unknownType) { + if (getTargetType(baseType).flags & (1024 /* Class */ | 2048 /* Interface */)) { + if (type !== baseType && !hasBaseType(baseType, type)) { + type.baseTypes.push(baseType); + } + else { + error(declaration, ts.Diagnostics.Type_0_recursively_references_itself_as_a_base_type, typeToString(type, false)); + } + } + else { + error(node, ts.Diagnostics.An_interface_may_only_extend_a_class_or_another_interface); + } + } + }); + } + }); + type.declaredProperties = getNamedMembers(symbol.members); + type.declaredCallSignatures = getSignaturesOfSymbol(symbol.members["__call"]); + type.declaredConstructSignatures = getSignaturesOfSymbol(symbol.members["__new"]); + type.declaredStringIndexType = getIndexTypeOfSymbol(symbol, 0 /* String */); + type.declaredNumberIndexType = getIndexTypeOfSymbol(symbol, 1 /* Number */); + } + return links.declaredType; + } + function getDeclaredTypeOfEnum(symbol) { + var links = getSymbolLinks(symbol); + if (!links.declaredType) { + var type = createType(128 /* Enum */); + type.symbol = symbol; + links.declaredType = type; + } + return links.declaredType; + } + function getDeclaredTypeOfTypeParameter(symbol) { + var links = getSymbolLinks(symbol); + if (!links.declaredType) { + var type = createType(512 /* TypeParameter */); + type.symbol = symbol; + if (!getDeclarationOfKind(symbol, 113 /* TypeParameter */).constraint) { + type.constraint = noConstraintType; + } + links.declaredType = type; + } + return links.declaredType; + } + function getDeclaredTypeOfImport(symbol) { + var links = getSymbolLinks(symbol); + if (!links.declaredType) { + links.declaredType = getDeclaredTypeOfSymbol(resolveImport(symbol)); + } + return links.declaredType; + } + function getDeclaredTypeOfSymbol(symbol) { + if (symbol.flags & 16 /* Class */) { + return getDeclaredTypeOfClass(symbol); + } + if (symbol.flags & 32 /* Interface */) { + return getDeclaredTypeOfInterface(symbol); + } + if (symbol.flags & 64 /* Enum */) { + return getDeclaredTypeOfEnum(symbol); + } + if (symbol.flags & 262144 /* TypeParameter */) { + return getDeclaredTypeOfTypeParameter(symbol); + } + if (symbol.flags & 4194304 /* Import */) { + return getDeclaredTypeOfImport(symbol); + } + ts.Debug.assert((symbol.flags & 8388608 /* Instantiated */) === 0); + return unknownType; + } + function createSymbolTable(symbols) { + var result = {}; + for (var i = 0; i < symbols.length; i++) { + var symbol = symbols[i]; + result[symbol.name] = symbol; + } + return result; + } + function createInstantiatedSymbolTable(symbols, mapper) { + var result = {}; + for (var i = 0; i < symbols.length; i++) { + var symbol = symbols[i]; + result[symbol.name] = instantiateSymbol(symbol, mapper); + } + return result; + } + function addInheritedMembers(symbols, baseSymbols) { + for (var i = 0; i < baseSymbols.length; i++) { + var s = baseSymbols[i]; + if (!ts.hasProperty(symbols, s.name)) { + symbols[s.name] = s; + } + } + } + function addInheritedSignatures(signatures, baseSignatures) { + if (baseSignatures) { + for (var i = 0; i < baseSignatures.length; i++) { + signatures.push(baseSignatures[i]); + } + } + } + function concatenateSignaturesWithIdentityCheckIgnoringReturnType(derived, base) { + var signatures = []; + for (var i = 0, len = base.length; i < len; ++i) { + var baseSignature = base[i]; + if (!ts.forEach(derived, function (s) { return isSignatureIdenticalToIgnoringReturnType(s, baseSignature); })) { + signatures.push(baseSignature); + } + } + return ts.concatenate(derived, signatures); + } + function resolveClassOrInterfaceMembers(type) { + var members = type.symbol.members; + var callSignatures = type.declaredCallSignatures; + var constructSignatures = type.declaredConstructSignatures; + var stringIndexType = type.declaredStringIndexType; + var numberIndexType = type.declaredNumberIndexType; + if (type.baseTypes.length) { + members = createSymbolTable(type.declaredProperties); + ts.forEach(type.baseTypes, function (baseType) { + addInheritedMembers(members, getPropertiesOfType(baseType)); + callSignatures = concatenateSignaturesWithIdentityCheckIgnoringReturnType(callSignatures, getSignaturesOfType(baseType, 0 /* Call */)); + constructSignatures = concatenateSignaturesWithIdentityCheckIgnoringReturnType(constructSignatures, getSignaturesOfType(baseType, 1 /* Construct */)); + stringIndexType = stringIndexType || getIndexTypeOfType(baseType, 0 /* String */); + numberIndexType = numberIndexType || getIndexTypeOfType(baseType, 1 /* Number */); + }); + } + setObjectTypeMembers(type, members, callSignatures, constructSignatures, stringIndexType, numberIndexType); + } + function resolveTypeReferenceMembers(type) { + var target = type.target; + var mapper = createTypeMapper(target.typeParameters, type.typeArguments); + var members = createInstantiatedSymbolTable(target.declaredProperties, mapper); + var callSignatures = instantiateList(target.declaredCallSignatures, mapper, instantiateSignature); + var constructSignatures = instantiateList(target.declaredConstructSignatures, mapper, instantiateSignature); + var stringIndexType = target.declaredStringIndexType ? instantiateType(target.declaredStringIndexType, mapper) : undefined; + var numberIndexType = target.declaredNumberIndexType ? instantiateType(target.declaredNumberIndexType, mapper) : undefined; + ts.forEach(target.baseTypes, function (baseType) { + var instantiatedBaseType = instantiateType(baseType, mapper); + addInheritedMembers(members, getPropertiesOfType(instantiatedBaseType)); + callSignatures = concatenateSignaturesWithIdentityCheckIgnoringReturnType(callSignatures, getSignaturesOfType(instantiatedBaseType, 0 /* Call */)); + constructSignatures = concatenateSignaturesWithIdentityCheckIgnoringReturnType(constructSignatures, getSignaturesOfType(instantiatedBaseType, 1 /* Construct */)); + stringIndexType = stringIndexType || getIndexTypeOfType(instantiatedBaseType, 0 /* String */); + numberIndexType = numberIndexType || getIndexTypeOfType(instantiatedBaseType, 1 /* Number */); + }); + setObjectTypeMembers(type, members, callSignatures, constructSignatures, stringIndexType, numberIndexType); + } + function createSignature(declaration, typeParameters, parameters, resolvedReturnType, minArgumentCount, hasRestParameter, hasStringLiterals) { + var sig = new Signature(checker); + sig.declaration = declaration; + sig.typeParameters = typeParameters; + sig.parameters = parameters; + sig.resolvedReturnType = resolvedReturnType; + sig.minArgumentCount = minArgumentCount; + sig.hasRestParameter = hasRestParameter; + sig.hasStringLiterals = hasStringLiterals; + return sig; + } + function cloneSignature(sig) { + return createSignature(sig.declaration, sig.typeParameters, sig.parameters, sig.resolvedReturnType, sig.minArgumentCount, sig.hasRestParameter, sig.hasStringLiterals); + } + function getDefaultConstructSignatures(classType) { + if (classType.baseTypes.length) { + var baseType = classType.baseTypes[0]; + var baseSignatures = getSignaturesOfType(getTypeOfSymbol(baseType.symbol), 1 /* Construct */); + return ts.map(baseSignatures, function (baseSignature) { + var signature = baseType.flags & 4096 /* Reference */ ? getSignatureInstantiation(baseSignature, baseType.typeArguments) : cloneSignature(baseSignature); + signature.typeParameters = classType.typeParameters; + signature.resolvedReturnType = classType; + return signature; + }); + } + return [createSignature(undefined, classType.typeParameters, emptyArray, classType, 0, false, false)]; + } + function resolveAnonymousTypeMembers(type) { + var symbol = type.symbol; + var members = emptySymbols; + var callSignatures = emptyArray; + var constructSignatures = emptyArray; + if (symbol.flags & ts.SymbolFlags.HasExports) { + members = symbol.exports; + } + if (symbol.flags & (8 /* Function */ | 2048 /* Method */)) { + callSignatures = getSignaturesOfSymbol(symbol); + } + if (symbol.flags & 16 /* Class */) { + var classType = getDeclaredTypeOfClass(symbol); + constructSignatures = getSignaturesOfSymbol(symbol.members["__constructor"]); + if (!constructSignatures.length) + constructSignatures = getDefaultConstructSignatures(classType); + if (classType.baseTypes.length) { + var members = createSymbolTable(getNamedMembers(members)); + addInheritedMembers(members, getPropertiesOfType(getTypeOfSymbol(classType.baseTypes[0].symbol))); + } + } + var numberIndexType = (symbol.flags & 64 /* Enum */) ? stringType : undefined; + setObjectTypeMembers(type, members, callSignatures, constructSignatures, undefined, numberIndexType); + } + function resolveObjectTypeMembers(type) { + if (!type.members) { + if (type.flags & (1024 /* Class */ | 2048 /* Interface */)) { + resolveClassOrInterfaceMembers(type); + } + else if (type.flags & 8192 /* Anonymous */) { + resolveAnonymousTypeMembers(type); + } + else { + resolveTypeReferenceMembers(type); + } + } + return type; + } + function getPropertiesOfType(type) { + if (type.flags & ts.TypeFlags.ObjectType) { + return resolveObjectTypeMembers(type).properties; + } + return emptyArray; + } + function getPropertyOfType(type, name) { + if (type.flags & ts.TypeFlags.ObjectType) { + var resolved = resolveObjectTypeMembers(type); + if (ts.hasProperty(resolved.members, name)) { + var symbol = resolved.members[name]; + if (symbolIsValue(symbol)) { + return symbol; + } + } + } + } + function getPropertyOfApparentType(type, name) { + if (type.flags & ts.TypeFlags.ObjectType) { + var resolved = resolveObjectTypeMembers(type); + if (ts.hasProperty(resolved.members, name)) { + var symbol = resolved.members[name]; + if (symbolIsValue(symbol)) { + return symbol; + } + } + if (resolved === anyFunctionType || resolved.callSignatures.length || resolved.constructSignatures.length) { + var symbol = getPropertyOfType(globalFunctionType, name); + if (symbol) + return symbol; + } + return getPropertyOfType(globalObjectType, name); + } + } + function getSignaturesOfType(type, kind) { + if (type.flags & ts.TypeFlags.ObjectType) { + var resolved = resolveObjectTypeMembers(type); + return kind === 0 /* Call */ ? resolved.callSignatures : resolved.constructSignatures; + } + return emptyArray; + } + function getIndexTypeOfType(type, kind) { + if (type.flags & ts.TypeFlags.ObjectType) { + var resolved = resolveObjectTypeMembers(type); + return kind === 0 /* String */ ? resolved.stringIndexType : resolved.numberIndexType; + } + } + function getSignatureFromDeclaration(declaration) { + var links = getNodeLinks(declaration); + if (!links.resolvedSignature) { + var classType = declaration.kind === 117 /* Constructor */ ? getDeclaredTypeOfClass(declaration.parent.symbol) : undefined; + var typeParameters = classType ? classType.typeParameters : declaration.typeParameters ? ts.map(declaration.typeParameters, function (tp) { return getDeclaredTypeOfTypeParameter(tp.symbol); }) : undefined; + var parameters = []; + var hasStringLiterals = false; + var minArgumentCount = -1; + for (var i = 0, n = declaration.parameters.length; i < n; i++) { + var param = declaration.parameters[i]; + parameters.push(param.symbol); + if (param.type && param.type.kind === 3 /* StringLiteral */) { + hasStringLiterals = true; + } + if (minArgumentCount < 0) { + if (param.initializer || param.flags & (4 /* QuestionMark */ | 8 /* Rest */)) { + minArgumentCount = i; + } + } + } + if (minArgumentCount < 0) { + minArgumentCount = declaration.parameters.length; + } + var returnType; + if (classType) { + returnType = classType; + } + else if (declaration.type) { + returnType = getTypeFromTypeNode(declaration.type); + } + else { + if (declaration.kind === 118 /* GetAccessor */) { + var setter = getDeclarationOfKind(declaration.symbol, 119 /* SetAccessor */); + returnType = getAnnotatedAccessorType(setter); + } + if (!returnType && !declaration.body) { + returnType = anyType; + } + } + links.resolvedSignature = createSignature(declaration, typeParameters, parameters, returnType, minArgumentCount, hasRestParameters(declaration), hasStringLiterals); + } + return links.resolvedSignature; + } + function hasRestParameters(s) { + return s.parameters.length > 0 && (s.parameters[s.parameters.length - 1].flags & 8 /* Rest */) !== 0; + } + function getSignaturesOfSymbol(symbol) { + if (!symbol) + return emptyArray; + var result = []; + for (var i = 0, len = symbol.declarations.length; i < len; i++) { + var node = symbol.declarations[i]; + switch (node.kind) { + case 167 /* FunctionDeclaration */: + case 116 /* Method */: + case 117 /* Constructor */: + case 120 /* CallSignature */: + case 121 /* ConstructSignature */: + case 122 /* IndexSignature */: + case 118 /* GetAccessor */: + case 119 /* SetAccessor */: + case 136 /* FunctionExpression */: + case 137 /* ArrowFunction */: + if (i > 0 && node.body) { + var previous = symbol.declarations[i - 1]; + if (node.parent === previous.parent && node.kind === previous.kind && node.pos === previous.end) { + break; + } + } + result.push(getSignatureFromDeclaration(node)); + } + } + return result; + } + function getReturnTypeOfSignature(signature) { + if (!signature.resolvedReturnType) { + signature.resolvedReturnType = resolvingType; + if (signature.target) { + var type = instantiateType(getReturnTypeOfSignature(signature.target), signature.mapper); + } + else { + var type = getReturnTypeFromBody(signature.declaration); + } + if (signature.resolvedReturnType === resolvingType) { + signature.resolvedReturnType = type; + } + } + else if (signature.resolvedReturnType === resolvingType) { + signature.resolvedReturnType = anyType; + } + return signature.resolvedReturnType; + } + function getRestTypeOfSignature(signature) { + if (signature.hasRestParameter) { + var type = getTypeOfSymbol(signature.parameters[signature.parameters.length - 1]); + if (type.flags & 4096 /* Reference */ && type.target === globalArrayType) { + return type.typeArguments[0]; + } + } + return anyType; + } + function getSignatureInstantiation(signature, typeArguments) { + return instantiateSignature(signature, createTypeMapper(signature.typeParameters, typeArguments), true); + } + function getErasedSignature(signature) { + if (!signature.typeParameters) + return signature; + if (!signature.erasedSignatureCache) { + if (signature.target) { + signature.erasedSignatureCache = instantiateSignature(getErasedSignature(signature.target), signature.mapper); + } + else { + signature.erasedSignatureCache = instantiateSignature(signature, createTypeEraser(signature.typeParameters), true); + } + } + return signature.erasedSignatureCache; + } + function getOrCreateTypeFromSignature(signature) { + if (!signature.isolatedSignatureType) { + var isConstructor = signature.declaration.kind === 117 /* Constructor */ || signature.declaration.kind === 121 /* ConstructSignature */; + var type = createObjectType(8192 /* Anonymous */ | 16384 /* FromSignature */); + type.members = emptySymbols; + type.properties = emptyArray; + type.callSignatures = !isConstructor ? [signature] : emptyArray; + type.constructSignatures = isConstructor ? [signature] : emptyArray; + signature.isolatedSignatureType = type; + } + return signature.isolatedSignatureType; + } + function getIndexSymbol(symbol) { + return symbol.members["__index"]; + } + function getIndexDeclarationOfSymbol(symbol, kind) { + var syntaxKind = kind === 1 /* Number */ ? 108 /* NumberKeyword */ : 110 /* StringKeyword */; + var indexSymbol = getIndexSymbol(symbol); + if (indexSymbol) { + var len = indexSymbol.declarations.length; + for (var i = 0; i < len; i++) { + var node = indexSymbol.declarations[i]; + if (node.parameters.length === 1) { + var parameter = node.parameters[0]; + if (parameter && parameter.type && parameter.type.kind === syntaxKind) { + return node; + } + } + } + } + return undefined; + } + function getIndexTypeOfSymbol(symbol, kind) { + var declaration = getIndexDeclarationOfSymbol(symbol, kind); + return declaration ? declaration.type ? getTypeFromTypeNode(declaration.type) : anyType : undefined; + } + function getConstraintOfTypeParameter(type) { + if (!type.constraint) { + if (type.target) { + var targetConstraint = getConstraintOfTypeParameter(type.target); + type.constraint = targetConstraint ? instantiateType(targetConstraint, type.mapper) : noConstraintType; + } + else { + type.constraint = getTypeFromTypeNode(getDeclarationOfKind(type.symbol, 113 /* TypeParameter */).constraint); + } + } + return type.constraint === noConstraintType ? undefined : type.constraint; + } + function getTypeListId(types) { + switch (types.length) { + case 1: + return "" + types[0].id; + case 2: + return types[0].id + "," + types[1].id; + default: + var result = ""; + for (var i = 0; i < types.length; i++) { + if (i > 0) + result += ","; + result += types[i].id; + } + return result; + } + } + function createTypeReference(target, typeArguments) { + var id = getTypeListId(typeArguments); + var type = target.instantiations[id]; + if (!type) { + type = target.instantiations[id] = createObjectType(4096 /* Reference */, target.symbol); + type.target = target; + type.typeArguments = typeArguments; + } + return type; + } + function isTypeParameterReferenceIllegalInConstraint(typeReferenceNode, typeParameterSymbol) { + var links = getNodeLinks(typeReferenceNode); + if (links.isIllegalTypeReferenceInConstraint !== undefined) { + return links.isIllegalTypeReferenceInConstraint; + } + var currentNode = typeReferenceNode; + while (!ts.forEach(typeParameterSymbol.declarations, function (d) { return d.parent === currentNode.parent; })) { + currentNode = currentNode.parent; + } + links.isIllegalTypeReferenceInConstraint = currentNode.kind === 113 /* TypeParameter */; + return links.isIllegalTypeReferenceInConstraint; + } + function checkTypeParameterHasIllegalReferencesInConstraint(typeParameter) { + var typeParameterSymbol; + function check(n) { + if (n.kind === 123 /* TypeReference */ && n.typeName.kind === 55 /* Identifier */) { + var links = getNodeLinks(n); + if (links.isIllegalTypeReferenceInConstraint === undefined) { + var symbol = resolveName(typeParameter, n.typeName.text, ts.SymbolFlags.Type, undefined, undefined); + if (symbol && (symbol.flags & 262144 /* TypeParameter */)) { + links.isIllegalTypeReferenceInConstraint = ts.forEach(symbol.declarations, function (d) { return d.parent == typeParameter.parent; }); + } + } + if (links.isIllegalTypeReferenceInConstraint) { + error(typeParameter, ts.Diagnostics.Constraint_of_a_type_parameter_cannot_reference_any_type_parameter_from_the_same_type_parameter_list); + } + } + ts.forEachChild(n, check); + } + if (typeParameter.constraint) { + typeParameterSymbol = getSymbolOfNode(typeParameter); + check(typeParameter.constraint); + } + } + function getTypeFromTypeReferenceNode(node) { + var links = getNodeLinks(node); + if (!links.resolvedType) { + var symbol = resolveEntityName(node, node.typeName, ts.SymbolFlags.Type); + if (symbol) { + var type; + if ((symbol.flags & 262144 /* TypeParameter */) && isTypeParameterReferenceIllegalInConstraint(node, symbol)) { + type = unknownType; + } + else { + type = getDeclaredTypeOfSymbol(symbol); + if (type.flags & (1024 /* Class */ | 2048 /* Interface */) && type.flags & 4096 /* Reference */) { + var typeParameters = type.typeParameters; + if (node.typeArguments && node.typeArguments.length === typeParameters.length) { + type = createTypeReference(type, ts.map(node.typeArguments, function (t) { return getTypeFromTypeNode(t); })); + } + else { + error(node, ts.Diagnostics.Generic_type_0_requires_1_type_argument_s, typeToString(type, true), typeParameters.length); + type = undefined; + } + } + else { + if (node.typeArguments) { + error(node, ts.Diagnostics.Type_0_is_not_generic, typeToString(type, false)); + type = undefined; + } + } + } + } + links.resolvedType = type || unknownType; + } + return links.resolvedType; + } + function getTypeFromTypeQueryNode(node) { + var links = getNodeLinks(node); + if (!links.resolvedType) { + links.resolvedType = getWidenedType(checkExpression(node.exprName)); + } + return links.resolvedType; + } + function getGlobalType(name, arity) { + if (arity === void 0) { arity = 0; } + function getTypeDeclaration(symbol) { + var declarations = symbol.declarations; + for (var i = 0; i < declarations.length; i++) { + var declaration = declarations[i]; + switch (declaration.kind) { + case 169 /* ClassDeclaration */: + case 170 /* InterfaceDeclaration */: + case 171 /* EnumDeclaration */: + case 125 /* TypeLiteral */: + case 167 /* FunctionDeclaration */: + return declaration; + } + } + } + var symbol = resolveName(undefined, name, ts.SymbolFlags.Type, ts.Diagnostics.Cannot_find_global_type_0, name); + if (!symbol) { + return emptyObjectType; + } + var type = getDeclaredTypeOfSymbol(symbol); + if (!(type.flags & ts.TypeFlags.ObjectType)) { + error(getTypeDeclaration(symbol), ts.Diagnostics.Global_type_0_must_be_a_class_or_interface_type, name); + return emptyObjectType; + } + if ((type.typeParameters ? type.typeParameters.length : 0) !== arity) { + error(getTypeDeclaration(symbol), ts.Diagnostics.Global_type_0_must_have_1_type_parameter_s, name, arity); + return emptyObjectType; + } + return type; + } + function createArrayType(elementType) { + return globalArrayType !== emptyObjectType ? createTypeReference(globalArrayType, [elementType]) : emptyObjectType; + } + function getTypeFromArrayTypeNode(node) { + var links = getNodeLinks(node); + if (!links.resolvedType) { + links.resolvedType = createArrayType(getTypeFromTypeNode(node.elementType)); + } + return links.resolvedType; + } + function getTypeFromTypeLiteralNode(node) { + var links = getNodeLinks(node); + if (!links.resolvedType) { + var symbol = node.symbol; + var members = symbol.members; + var callSignatures = getSignaturesOfSymbol(members["__call"]); + var constructSignatures = getSignaturesOfSymbol(members["__new"]); + var stringIndexType = getIndexTypeOfSymbol(symbol, 0 /* String */); + var numberIndexType = getIndexTypeOfSymbol(symbol, 1 /* Number */); + links.resolvedType = createAnonymousType(symbol, members, callSignatures, constructSignatures, stringIndexType, numberIndexType); + } + return links.resolvedType; + } + function getStringLiteralType(node) { + var stringText = ts.getTextOfLiteral(node); + if (ts.hasProperty(stringLiteralTypes, stringText)) + return stringLiteralTypes[stringText]; + var type = stringLiteralTypes[stringText] = createType(256 /* StringLiteral */); + type.text = node.text; + return type; + } + function getTypeFromStringLiteral(node) { + var links = getNodeLinks(node); + if (!links.resolvedType) { + links.resolvedType = getStringLiteralType(node); + } + return links.resolvedType; + } + function getTypeFromTypeNode(node) { + switch (node.kind) { + case 101 /* AnyKeyword */: + return anyType; + case 110 /* StringKeyword */: + return stringType; + case 108 /* NumberKeyword */: + return numberType; + case 102 /* BooleanKeyword */: + return booleanType; + case 89 /* VoidKeyword */: + return voidType; + case 3 /* StringLiteral */: + return getTypeFromStringLiteral(node); + case 123 /* TypeReference */: + return getTypeFromTypeReferenceNode(node); + case 124 /* TypeQuery */: + return getTypeFromTypeQueryNode(node); + case 126 /* ArrayType */: + return getTypeFromArrayTypeNode(node); + case 125 /* TypeLiteral */: + return getTypeFromTypeLiteralNode(node); + default: + return unknownType; + } + } + function instantiateList(items, mapper, instantiator) { + if (items && items.length) { + var result = []; + for (var i = 0; i < items.length; i++) { + result.push(instantiator(items[i], mapper)); + } + return result; + } + return items; + } + function createUnaryTypeMapper(source, target) { + return function (t) { return t === source ? target : t; }; + } + function createBinaryTypeMapper(source1, target1, source2, target2) { + return function (t) { return t === source1 ? target1 : t === source2 ? target2 : t; }; + } + function createTypeMapper(sources, targets) { + switch (sources.length) { + case 1: + return createUnaryTypeMapper(sources[0], targets[0]); + case 2: + return createBinaryTypeMapper(sources[0], targets[0], sources[1], targets[1]); + } + return function (t) { + for (var i = 0; i < sources.length; i++) { + if (t === sources[i]) + return targets[i]; + } + return t; + }; + } + function createUnaryTypeEraser(source) { + return function (t) { return t === source ? anyType : t; }; + } + function createBinaryTypeEraser(source1, source2) { + return function (t) { return t === source1 || t === source2 ? anyType : t; }; + } + function createTypeEraser(sources) { + switch (sources.length) { + case 1: + return createUnaryTypeEraser(sources[0]); + case 2: + return createBinaryTypeEraser(sources[0], sources[1]); + } + return function (t) { + for (var i = 0; i < sources.length; i++) { + if (t === sources[i]) + return anyType; + } + return t; + }; + } + function createInferenceMapper(context) { + return function (t) { + for (var i = 0; i < context.typeParameters.length; i++) { + if (t === context.typeParameters[i]) { + return getInferredType(context, i); + } + } + return t; + }; + } + function identityMapper(type) { + return type; + } + function combineTypeMappers(mapper1, mapper2) { + return function (t) { return mapper2(mapper1(t)); }; + } + function instantiateTypeParameter(typeParameter, mapper) { + var result = createType(512 /* TypeParameter */); + result.symbol = typeParameter.symbol; + if (typeParameter.constraint) { + result.constraint = instantiateType(typeParameter.constraint, mapper); + } + else { + result.target = typeParameter; + result.mapper = mapper; + } + return result; + } + function instantiateSignature(signature, mapper, eraseTypeParameters) { + if (signature.typeParameters && !eraseTypeParameters) { + var freshTypeParameters = instantiateList(signature.typeParameters, mapper, instantiateTypeParameter); + mapper = combineTypeMappers(createTypeMapper(signature.typeParameters, freshTypeParameters), mapper); + } + var result = createSignature(signature.declaration, freshTypeParameters, instantiateList(signature.parameters, mapper, instantiateSymbol), signature.resolvedReturnType ? instantiateType(signature.resolvedReturnType, mapper) : undefined, signature.minArgumentCount, signature.hasRestParameter, signature.hasStringLiterals); + result.target = signature; + result.mapper = mapper; + return result; + } + function instantiateSymbol(symbol, mapper) { + if (symbol.flags & 8388608 /* Instantiated */) { + var links = getSymbolLinks(symbol); + symbol = links.target; + mapper = combineTypeMappers(links.mapper, mapper); + } + var result = createSymbol(8388608 /* Instantiated */ | 33554432 /* Transient */, symbol.name); + result.declarations = symbol.declarations; + result.parent = symbol.parent; + result.target = symbol; + result.mapper = mapper; + if (symbol.valueDeclaration) { + result.valueDeclaration = symbol.valueDeclaration; + } + return result; + } + function instantiateAnonymousType(type, mapper) { + var result = createObjectType(8192 /* Anonymous */, type.symbol); + result.properties = instantiateList(getPropertiesOfType(type), mapper, instantiateSymbol); + result.members = createSymbolTable(result.properties); + result.callSignatures = instantiateList(getSignaturesOfType(type, 0 /* Call */), mapper, instantiateSignature); + result.constructSignatures = instantiateList(getSignaturesOfType(type, 1 /* Construct */), mapper, instantiateSignature); + var stringIndexType = getIndexTypeOfType(type, 0 /* String */); + var numberIndexType = getIndexTypeOfType(type, 1 /* Number */); + if (stringIndexType) + result.stringIndexType = instantiateType(stringIndexType, mapper); + if (numberIndexType) + result.numberIndexType = instantiateType(numberIndexType, mapper); + return result; + } + function instantiateType(type, mapper) { + if (type.flags & 512 /* TypeParameter */) { + return mapper(type); + } + if (type.flags & 8192 /* Anonymous */) { + return type.symbol && type.symbol.flags & (8 /* Function */ | 2048 /* Method */ | 512 /* TypeLiteral */ | 1024 /* ObjectLiteral */) ? instantiateAnonymousType(type, mapper) : type; + } + if (type.flags & 4096 /* Reference */) { + return createTypeReference(type.target, instantiateList(type.typeArguments, mapper, instantiateType)); + } + return type; + } + function isContextSensitiveExpression(node) { + switch (node.kind) { + case 136 /* FunctionExpression */: + case 137 /* ArrowFunction */: + return !node.typeParameters && !ts.forEach(node.parameters, function (p) { return p.type; }); + case 128 /* ObjectLiteral */: + return ts.forEach(node.properties, function (p) { return p.kind === 129 /* PropertyAssignment */ && isContextSensitiveExpression(p.initializer); }); + case 127 /* ArrayLiteral */: + return ts.forEach(node.elements, function (e) { return isContextSensitiveExpression(e); }); + case 141 /* ConditionalExpression */: + return isContextSensitiveExpression(node.whenTrue) || isContextSensitiveExpression(node.whenFalse); + case 140 /* BinaryExpression */: + return node.operator === 40 /* BarBarToken */ && (isContextSensitiveExpression(node.left) || isContextSensitiveExpression(node.right)); + } + return false; + } + function getTypeWithoutConstructors(type) { + if (type.flags & ts.TypeFlags.ObjectType) { + var resolved = resolveObjectTypeMembers(type); + if (resolved.constructSignatures.length) { + var result = createObjectType(8192 /* Anonymous */, type.symbol); + result.members = resolved.members; + result.properties = resolved.properties; + result.callSignatures = resolved.callSignatures; + result.constructSignatures = emptyArray; + type = result; + } + } + return type; + } + var subtypeRelation = {}; + var assignableRelation = {}; + function isTypeSubtypeOf(source, target) { + return checkTypeSubtypeOf(source, target, undefined, undefined, undefined); + } + function checkTypeSubtypeOf(source, target, errorNode, chainedMessage, terminalMessage) { + return checkTypeRelatedTo(source, target, subtypeRelation, errorNode, chainedMessage, terminalMessage); + } + function isTypeAssignableTo(source, target) { + return checkTypeAssignableTo(source, target, undefined, undefined, undefined); + } + function checkTypeAssignableTo(source, target, errorNode, chainedMessage, terminalMessage) { + return checkTypeRelatedTo(source, target, assignableRelation, errorNode, chainedMessage, terminalMessage); + } + function isTypeRelatedTo(source, target, relation) { + return checkTypeRelatedTo(source, target, relation, undefined, undefined, undefined); + } + function isSignatureAssignableTo(source, target) { + var sourceType = getOrCreateTypeFromSignature(source); + var targetType = getOrCreateTypeFromSignature(target); + return checkTypeRelatedTo(sourceType, targetType, assignableRelation, undefined, undefined, undefined); + } + function checkTypeRelatedTo(source, target, relation, errorNode, chainedMessage, terminalMessage) { + var errorInfo; + var sourceStack; + var targetStack; + var expandingFlags; + var depth = 0; + var overflow = false; + var result = isRelatedToWithCustomErrors(source, target, errorNode !== undefined, chainedMessage, terminalMessage); + if (overflow) { + error(errorNode, ts.Diagnostics.Excessive_stack_depth_comparing_types_0_and_1, typeToString(source, false), typeToString(target, false)); + } + else if (errorInfo) { + addDiagnostic(ts.createDiagnosticForNodeFromMessageChain(errorNode, errorInfo)); + } + return result; + function reportError(message, arg0, arg1) { + errorInfo = ts.chainDiagnosticMessages(errorInfo, message, arg0, arg1); + } + function isRelatedTo(source, target, reportErrors) { + return isRelatedToWithCustomErrors(source, target, reportErrors, undefined, undefined); + } + function isRelatedToWithCustomErrors(source, target, reportErrors, chainedMessage, terminalMessage) { + if (source === target) + return true; + if (target.flags & 1 /* Any */) + return true; + if (source === undefinedType) + return true; + if (source === nullType && target !== undefinedType) + return true; + if (source.flags & 128 /* Enum */ && target === numberType) + return true; + if (source.flags & 256 /* StringLiteral */ && target === stringType) + return true; + if (relation === assignableRelation) { + if (source.flags & 1 /* Any */) + return true; + if (source === numberType && target.flags & 128 /* Enum */) + return true; + } + if (source.flags & 512 /* TypeParameter */ && target.flags & 512 /* TypeParameter */) { + if (typeParameterRelatedTo(source, target)) { + return true; + } + } + else { + var saveErrorInfo = errorInfo; + if (source.flags & 4096 /* Reference */ && target.flags & 4096 /* Reference */ && source.target === target.target) { + if (typesRelatedTo(source.typeArguments, target.typeArguments, reportErrors)) { + return true; + } + } + var reportStructuralErrors = reportErrors && errorInfo === saveErrorInfo; + var apparent = getApparentType(source); + if (apparent.flags & ts.TypeFlags.ObjectType && target.flags & ts.TypeFlags.ObjectType && objectTypeRelatedTo(apparent, target, reportStructuralErrors)) { + errorInfo = saveErrorInfo; + return true; + } + } + if (reportErrors) { + chainedMessage = chainedMessage || ts.Diagnostics.Type_0_is_not_assignable_to_type_1_Colon; + terminalMessage = terminalMessage || ts.Diagnostics.Type_0_is_not_assignable_to_type_1; + var diagnosticKey = errorInfo ? chainedMessage : terminalMessage; + reportError(diagnosticKey, typeToString(source, false), typeToString(target, false)); + } + return false; + } + function typesRelatedTo(sources, targets, reportErrors) { + for (var i = 0, len = sources.length; i < len; i++) { + if (!isRelatedTo(sources[i], targets[i], reportErrors)) + return false; + } + return true; + } + function typeParameterRelatedTo(source, target) { + while (true) { + var constraint = getConstraintOfTypeParameter(source); + if (constraint === target) + return true; + if (!(constraint && constraint.flags & 512 /* TypeParameter */)) + break; + source = constraint; + } + return false; + } + function objectTypeRelatedTo(source, target, reportErrors) { + if (overflow) + return false; + var result; + var id = source.id + "," + target.id; + if ((result = relation[id]) !== undefined) + return result; + if (depth > 0) { + for (var i = 0; i < depth; i++) { + if (source === sourceStack[i] && target === targetStack[i]) + return true; + } + if (depth === 100) { + overflow = true; + return false; + } + } + else { + sourceStack = []; + targetStack = []; + expandingFlags = 0; + } + sourceStack[depth] = source; + targetStack[depth] = target; + depth++; + var saveExpandingFlags = expandingFlags; + if (!(expandingFlags & 1) && isDeeplyNestedGeneric(source, sourceStack)) + expandingFlags |= 1; + if (!(expandingFlags & 2) && isDeeplyNestedGeneric(target, targetStack)) + expandingFlags |= 2; + result = expandingFlags === 3 || propertiesRelatedTo(source, target, reportErrors) && signaturesRelatedTo(source, target, 0 /* Call */, reportErrors) && signaturesRelatedTo(source, target, 1 /* Construct */, reportErrors) && stringIndexTypesRelatedTo(source, target, reportErrors) && numberIndexTypesRelatedTo(source, target, reportErrors); + expandingFlags = saveExpandingFlags; + depth--; + if (depth === 0) { + relation[id] = result; + } + return result; + } + function isDeeplyNestedGeneric(type, stack) { + if (type.flags & 4096 /* Reference */ && depth >= 10) { + var target = type.target; + var count = 0; + for (var i = 0; i < depth; i++) { + var t = stack[i]; + if (t.flags & 4096 /* Reference */ && t.target === target) { + count++; + if (count >= 10) + return true; + } + } + } + return false; + } + function propertiesRelatedTo(source, target, reportErrors) { + var properties = getPropertiesOfType(target); + for (var i = 0; i < properties.length; i++) { + var targetProp = properties[i]; + var sourceProp = getPropertyOfApparentType(source, targetProp.name); + if (sourceProp === targetProp) { + continue; + } + var targetPropIsOptional = isOptionalProperty(targetProp); + if (!sourceProp) { + if (!targetPropIsOptional) { + if (reportErrors) { + reportError(ts.Diagnostics.Property_0_is_missing_in_type_1, symbolToString(targetProp), typeToString(source, false)); + } + return false; + } + } + else if (sourceProp !== targetProp) { + if (targetProp.flags & 67108864 /* Prototype */) { + continue; + } + if (getDeclarationFlagsFromSymbol(sourceProp) & 32 /* Private */ || getDeclarationFlagsFromSymbol(targetProp) & 32 /* Private */) { + if (reportErrors) { + reportError(ts.Diagnostics.Private_property_0_cannot_be_reimplemented, symbolToString(targetProp)); + } + return false; + } + if (!isRelatedTo(getTypeOfSymbol(sourceProp), getTypeOfSymbol(targetProp), reportErrors)) { + if (reportErrors) { + reportError(ts.Diagnostics.Types_of_property_0_are_incompatible_Colon, symbolToString(targetProp)); + } + return false; + } + else if (isOptionalProperty(sourceProp) && !targetPropIsOptional) { + if (reportErrors) { + reportError(ts.Diagnostics.Required_property_0_cannot_be_reimplemented_with_optional_property_in_1, targetProp.name, typeToString(source, false)); + } + return false; + } + } + } + return true; + } + function signaturesRelatedTo(source, target, kind, reportErrors) { + if (target === anyFunctionType || source === anyFunctionType) + return true; + var sourceSignatures = getSignaturesOfType(source, kind); + var targetSignatures = getSignaturesOfType(target, kind); + var saveErrorInfo = errorInfo; + outer: for (var i = 0; i < targetSignatures.length; i++) { + var t = targetSignatures[i]; + if (!t.hasStringLiterals || target.flags & 16384 /* FromSignature */) { + var localErrors = reportErrors; + for (var j = 0; j < sourceSignatures.length; j++) { + var s = sourceSignatures[j]; + if (!s.hasStringLiterals || source.flags & 16384 /* FromSignature */) { + if (signatureRelatedTo(s, t, localErrors)) { + errorInfo = saveErrorInfo; + continue outer; + } + localErrors = false; + } + } + return false; + } + } + return true; + } + function signatureRelatedTo(source, target, reportErrors) { + if (source === target) { + return true; + } + if (!target.hasRestParameter && source.minArgumentCount > target.parameters.length) { + return false; + } + var sourceMax = source.parameters.length; + var targetMax = target.parameters.length; + var checkCount; + if (source.hasRestParameter && target.hasRestParameter) { + checkCount = sourceMax > targetMax ? sourceMax : targetMax; + sourceMax--; + targetMax--; + } + else if (source.hasRestParameter) { + sourceMax--; + checkCount = targetMax; + } + else if (target.hasRestParameter) { + targetMax--; + checkCount = sourceMax; + } + else { + checkCount = sourceMax < targetMax ? sourceMax : targetMax; + } + source = getErasedSignature(source); + target = getErasedSignature(target); + for (var i = 0; i < checkCount; i++) { + var s = i < sourceMax ? getTypeOfSymbol(source.parameters[i]) : getRestTypeOfSignature(source); + var t = i < targetMax ? getTypeOfSymbol(target.parameters[i]) : getRestTypeOfSignature(target); + var saveErrorInfo = errorInfo; + if (!isRelatedTo(s, t, reportErrors)) { + if (!isRelatedTo(t, s, false)) { + if (reportErrors) { + reportError(ts.Diagnostics.Types_of_parameters_0_and_1_are_incompatible_Colon, source.parameters[i < sourceMax ? i : sourceMax].name, target.parameters[i < targetMax ? i : targetMax].name); + } + return false; + } + errorInfo = saveErrorInfo; + } + } + var t = getReturnTypeOfSignature(target); + if (t === voidType) + return true; + var s = getReturnTypeOfSignature(source); + return isRelatedTo(s, t, reportErrors); + } + function stringIndexTypesRelatedTo(source, target, reportErrors) { + var targetType = getIndexTypeOfType(target, 0 /* String */); + if (targetType) { + var sourceType = getIndexTypeOfType(source, 0 /* String */); + if (!sourceType) { + if (reportErrors) { + reportError(ts.Diagnostics.Index_signature_is_missing_in_type_0, typeToString(source, false)); + } + return false; + } + if (!isRelatedTo(sourceType, targetType, reportErrors)) { + if (reportErrors) { + reportError(ts.Diagnostics.Index_signatures_are_incompatible_Colon); + } + return false; + } + } + return true; + } + function numberIndexTypesRelatedTo(source, target, reportErrors) { + var targetType = getIndexTypeOfType(target, 1 /* Number */); + if (targetType) { + var sourceStringType = getIndexTypeOfType(source, 0 /* String */); + var sourceNumberType = getIndexTypeOfType(source, 1 /* Number */); + if (!(sourceStringType || sourceNumberType)) { + if (reportErrors) { + reportError(ts.Diagnostics.Index_signature_is_missing_in_type_0, typeToString(source, false)); + } + return false; + } + if (sourceStringType && sourceNumberType) { + var compatible = isRelatedTo(sourceStringType, targetType, false) || isRelatedTo(sourceNumberType, targetType, reportErrors); + } + else { + var compatible = isRelatedTo(sourceStringType || sourceNumberType, targetType, reportErrors); + } + if (!compatible) { + if (reportErrors) { + reportError(ts.Diagnostics.Index_signatures_are_incompatible_Colon); + } + return false; + } + } + return true; + } + } + function isSupertypeOfEach(candidate, types) { + for (var i = 0, len = types.length; i < len; i++) { + if (candidate !== types[i] && !isTypeSubtypeOf(types[i], candidate)) + return false; + } + return true; + } + function getBestCommonType(types, contextualType, candidatesOnly) { + if (contextualType && isSupertypeOfEach(contextualType, types)) + return contextualType; + return ts.forEach(types, function (t) { return isSupertypeOfEach(t, types) ? t : undefined; }) || (candidatesOnly ? undefined : emptyObjectType); + } + function isTypeOfObjectLiteral(type) { + return (type.flags & 8192 /* Anonymous */) && type.symbol && (type.symbol.flags & 1024 /* ObjectLiteral */) ? true : false; + } + function getWidenedTypeOfObjectLiteral(type) { + var properties = getPropertiesOfType(type); + if (properties.length) { + var widenedTypes = []; + var propTypeWasWidened = false; + ts.forEach(properties, function (p) { + var propType = getTypeOfSymbol(p); + var widenedType = getWidenedType(propType); + if (propType !== widenedType) { + propTypeWasWidened = true; + if (program.getCompilerOptions().noImplicitAny && getInnermostTypeOfNestedArrayTypes(widenedType) === anyType) { + error(p.valueDeclaration, ts.Diagnostics.Object_literal_s_property_0_implicitly_has_an_1_type, p.name, typeToString(widenedType, false)); + } + } + widenedTypes.push(widenedType); + }); + if (propTypeWasWidened) { + var members = {}; + var index = 0; + ts.forEach(properties, function (p) { + var symbol = createSymbol(2 /* Property */ | 33554432 /* Transient */, p.name); + symbol.declarations = p.declarations; + symbol.parent = p.parent; + symbol.type = widenedTypes[index++]; + if (p.valueDeclaration) + symbol.valueDeclaration = p.valueDeclaration; + members[symbol.name] = symbol; + }); + var stringIndexType = getIndexTypeOfType(type, 0 /* String */); + var numberIndexType = getIndexTypeOfType(type, 1 /* Number */); + if (stringIndexType) + stringIndexType = getWidenedType(stringIndexType); + if (numberIndexType) + numberIndexType = getWidenedType(numberIndexType); + type = createAnonymousType(type.symbol, members, emptyArray, emptyArray, stringIndexType, numberIndexType); + } + } + return type; + } + function isArrayType(type) { + return type.flags & 4096 /* Reference */ && type.target === globalArrayType; + } + function getInnermostTypeOfNestedArrayTypes(type) { + while (isArrayType(type)) { + type = type.typeArguments[0]; + } + return type; + } + function getWidenedTypeOfArrayLiteral(type) { + var elementType = type.typeArguments[0]; + var widenedType = getWidenedType(elementType); + type = elementType !== widenedType ? createArrayType(widenedType) : type; + return type; + } + function getWidenedType(type) { + if (type.flags & (32 /* Undefined */ | 64 /* Null */)) { + return anyType; + } + if (isTypeOfObjectLiteral(type)) { + return getWidenedTypeOfObjectLiteral(type); + } + if (isArrayType(type)) { + return getWidenedTypeOfArrayLiteral(type); + } + return type; + } + function createInferenceContext(typeParameters) { + var inferences = []; + for (var i = 0; i < typeParameters.length; i++) + inferences.push([]); + return { + typeParameters: typeParameters, + inferences: inferences, + inferredTypes: new Array(typeParameters.length) + }; + } + function inferTypes(context, source, target) { + var sourceStack; + var targetStack; + var depth = 0; + inferFromTypes(source, target); + function isInProcess(source, target) { + for (var i = 0; i < depth; i++) { + if (source === sourceStack[i] && target === targetStack[i]) + return true; + } + return false; + } + function isWithinDepthLimit(type, stack) { + if (depth >= 5) { + var target = type.target; + var count = 0; + for (var i = 0; i < depth; i++) { + var t = stack[i]; + if (t.flags & 4096 /* Reference */ && t.target === target) + count++; + } + return count < 5; + } + return true; + } + function inferFromTypes(source, target) { + if (target.flags & 512 /* TypeParameter */) { + var typeParameters = context.typeParameters; + for (var i = 0; i < typeParameters.length; i++) { + if (target === typeParameters[i]) { + var inferences = context.inferences[i]; + if (!ts.contains(inferences, source)) + inferences.push(source); + break; + } + } + } + else if (source.flags & 4096 /* Reference */ && target.flags & 4096 /* Reference */ && source.target === target.target) { + var sourceTypes = source.typeArguments; + var targetTypes = target.typeArguments; + for (var i = 0; i < sourceTypes.length; i++) { + inferFromTypes(sourceTypes[i], targetTypes[i]); + } + } + else if (source.flags & ts.TypeFlags.ObjectType && (target.flags & 4096 /* Reference */ || (target.flags & 8192 /* Anonymous */) && target.symbol && target.symbol.flags & (2048 /* Method */ | 512 /* TypeLiteral */))) { + if (!isInProcess(source, target) && isWithinDepthLimit(source, sourceStack) && isWithinDepthLimit(target, targetStack)) { + if (depth === 0) { + sourceStack = []; + targetStack = []; + } + sourceStack[depth] = source; + targetStack[depth] = target; + depth++; + inferFromProperties(source, target); + inferFromSignatures(source, target, 0 /* Call */); + inferFromSignatures(source, target, 1 /* Construct */); + inferFromIndexTypes(source, target, 0 /* String */); + inferFromIndexTypes(source, target, 1 /* Number */); + depth--; + } + } + } + function inferFromProperties(source, target) { + var properties = getPropertiesOfType(target); + for (var i = 0; i < properties.length; i++) { + var targetProp = properties[i]; + var sourceProp = getPropertyOfType(source, targetProp.name); + if (sourceProp) { + inferFromTypes(getTypeOfSymbol(sourceProp), getTypeOfSymbol(targetProp)); + } + } + } + function inferFromSignatures(source, target, kind) { + var sourceSignatures = getSignaturesOfType(source, kind); + var targetSignatures = getSignaturesOfType(target, kind); + var sourceLen = sourceSignatures.length; + var targetLen = targetSignatures.length; + var len = sourceLen < targetLen ? sourceLen : targetLen; + for (var i = 0; i < len; i++) { + inferFromParameters(getErasedSignature(sourceSignatures[sourceLen - len + i]), getErasedSignature(targetSignatures[targetLen - len + i])); + } + } + function inferFromParameters(source, target) { + var sourceMax = source.parameters.length; + var targetMax = target.parameters.length; + var checkCount; + if (!source.hasRestParameter && !target.hasRestParameter) { + checkCount = sourceMax < targetMax ? sourceMax : targetMax; + } + else if (source.hasRestParameter) { + sourceMax--; + checkCount = targetMax; + } + else if (target.hasRestParameter) { + targetMax--; + checkCount = sourceMax; + } + else { + checkCount = sourceMax > targetMax ? sourceMax : targetMax; + sourceMax--; + targetMax--; + } + for (var i = 0; i < checkCount; i++) { + var s = i < sourceMax ? getTypeOfSymbol(source.parameters[i]) : getRestTypeOfSignature(source); + var t = i < targetMax ? getTypeOfSymbol(target.parameters[i]) : getRestTypeOfSignature(target); + inferFromTypes(s, t); + } + inferFromTypes(getReturnTypeOfSignature(source), getReturnTypeOfSignature(target)); + } + function inferFromIndexTypes(source, target, kind) { + var targetIndexType = getIndexTypeOfType(target, kind); + if (targetIndexType) { + var sourceIndexType = getIndexTypeOfType(source, kind); + if (sourceIndexType) { + inferFromTypes(sourceIndexType, targetIndexType); + } + } + } + } + function getInferredType(context, index) { + var result = context.inferredTypes[index]; + if (!result) { + var commonType = getWidenedType(getBestCommonType(context.inferences[index])); + var constraint = getConstraintOfTypeParameter(context.typeParameters[index]); + var result = constraint && !isTypeAssignableTo(commonType, constraint) ? constraint : commonType; + context.inferredTypes[index] = result; + } + return result; + } + function getInferredTypes(context) { + for (var i = 0; i < context.inferredTypes.length; i++) { + getInferredType(context, i); + } + context.inferences = undefined; + return context.inferredTypes; + } + function hasAncestor(node, kind) { + return getAncestor(node, kind) !== undefined; + } + function getAncestor(node, kind) { + switch (kind) { + case 169 /* ClassDeclaration */: + while (node) { + switch (node.kind) { + case 169 /* ClassDeclaration */: + return node; + case 171 /* EnumDeclaration */: + case 170 /* InterfaceDeclaration */: + case 172 /* ModuleDeclaration */: + case 174 /* ImportDeclaration */: + return undefined; + default: + node = node.parent; + continue; + } + } + break; + default: + while (node) { + if (node.kind === kind) { + return node; + } + else { + node = node.parent; + } + } + break; + } + return undefined; + } + function checkIdentifier(node) { + function isInTypeQuery(node) { + while (node) { + switch (node.kind) { + case 124 /* TypeQuery */: + return true; + case 55 /* Identifier */: + case 112 /* QualifiedName */: + node = node.parent; + continue; + default: + return false; + } + } + ts.Debug.fail("should not get here"); + } + var symbol = resolveName(node, node.text, ts.SymbolFlags.Value | 524288 /* ExportValue */, ts.Diagnostics.Cannot_find_name_0, ts.identifierToString(node)); + if (!symbol) { + symbol = unknownSymbol; + } + if (symbol.flags & 4194304 /* Import */) { + getSymbolLinks(symbol).referenced = !isInTypeQuery(node); + } + getNodeLinks(node).resolvedSymbol = symbol; + checkCollisionWithCapturedSuperVariable(node, node); + checkCollisionWithIndexVariableInGeneratedCode(node, node); + return getTypeOfSymbol(getExportSymbolOfValueSymbolIfExported(symbol)); + } + function getThisContainer(node) { + while (true) { + node = node.parent; + if (!node) { + return node; + } + switch (node.kind) { + case 167 /* FunctionDeclaration */: + case 136 /* FunctionExpression */: + case 172 /* ModuleDeclaration */: + case 115 /* Property */: + case 116 /* Method */: + case 117 /* Constructor */: + case 118 /* GetAccessor */: + case 119 /* SetAccessor */: + case 171 /* EnumDeclaration */: + case 177 /* SourceFile */: + case 137 /* ArrowFunction */: + return node; + } + } + } + function captureLexicalThis(node, container) { + var classNode = container.parent && container.parent.kind === 169 /* ClassDeclaration */ ? container.parent : undefined; + getNodeLinks(node).flags |= 2 /* LexicalThis */; + if (container.kind === 115 /* Property */ || container.kind === 117 /* Constructor */) { + getNodeLinks(classNode).flags |= 4 /* CaptureThis */; + } + else { + getNodeLinks(container).flags |= 4 /* CaptureThis */; + } + } + function checkThisExpression(node) { + var container = getThisContainer(node); + var needToCaptureLexicalThis = false; + while (container.kind === 137 /* ArrowFunction */) { + container = getThisContainer(container); + needToCaptureLexicalThis = true; + } + switch (container.kind) { + case 172 /* ModuleDeclaration */: + error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_module_body); + break; + case 171 /* EnumDeclaration */: + error(node, ts.Diagnostics.this_cannot_be_referenced_in_current_location); + break; + case 117 /* Constructor */: + if (isInConstructorArgumentInitializer(node, container)) { + error(node, ts.Diagnostics.this_cannot_be_referenced_in_constructor_arguments); + } + break; + case 115 /* Property */: + if (container.flags & 64 /* Static */) { + error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_static_property_initializer); + } + break; + } + if (needToCaptureLexicalThis) { + captureLexicalThis(node, container); + } + var classNode = container.parent && container.parent.kind === 169 /* ClassDeclaration */ ? container.parent : undefined; + if (classNode) { + var symbol = getSymbolOfNode(classNode); + return container.flags & 64 /* Static */ ? getTypeOfSymbol(symbol) : getDeclaredTypeOfSymbol(symbol); + } + return anyType; + } + function getSuperContainer(node) { + while (true) { + node = node.parent; + if (!node) + return node; + switch (node.kind) { + case 167 /* FunctionDeclaration */: + case 136 /* FunctionExpression */: + case 137 /* ArrowFunction */: + case 115 /* Property */: + case 116 /* Method */: + case 117 /* Constructor */: + case 118 /* GetAccessor */: + case 119 /* SetAccessor */: + return node; + } + } + } + function isInConstructorArgumentInitializer(node, constructorDecl) { + for (var n = node; n && n !== constructorDecl; n = n.parent) { + if (n.kind === 114 /* Parameter */) { + return true; + } + } + return false; + } + function checkSuperExpression(node, isCallExpression) { + var enclosingClass = getAncestor(node, 169 /* ClassDeclaration */); + var baseClass; + if (enclosingClass && enclosingClass.baseType) { + var classType = getDeclaredTypeOfSymbol(getSymbolOfNode(enclosingClass)); + baseClass = classType.baseTypes.length && classType.baseTypes[0]; + } + if (!baseClass) { + error(node, ts.Diagnostics.super_can_only_be_referenced_in_a_derived_class); + return unknownType; + } + var container = getSuperContainer(node); + if (container) { + var canUseSuperExpression = false; + if (isCallExpression) { + canUseSuperExpression = container.kind === 117 /* Constructor */; + } + else { + var needToCaptureLexicalThis = false; + while (container && container.kind === 137 /* ArrowFunction */) { + container = getSuperContainer(container); + needToCaptureLexicalThis = true; + } + if (container && container.parent && container.parent.kind === 169 /* ClassDeclaration */) { + if (container.flags & 64 /* Static */) { + canUseSuperExpression = container.kind === 116 /* Method */ || container.kind === 118 /* GetAccessor */ || container.kind === 119 /* SetAccessor */; + } + else { + canUseSuperExpression = container.kind === 116 /* Method */ || container.kind === 118 /* GetAccessor */ || container.kind === 119 /* SetAccessor */ || container.kind === 115 /* Property */ || container.kind === 117 /* Constructor */; + } + } + } + if (canUseSuperExpression) { + var returnType; + if ((container.flags & 64 /* Static */) || isCallExpression) { + getNodeLinks(node).flags |= 32 /* SuperStatic */; + returnType = getTypeOfSymbol(baseClass.symbol); + } + else { + getNodeLinks(node).flags |= 16 /* SuperInstance */; + returnType = baseClass; + } + if (container.kind === 117 /* Constructor */ && isInConstructorArgumentInitializer(node, container)) { + error(node, ts.Diagnostics.super_cannot_be_referenced_in_constructor_arguments); + returnType = unknownType; + } + if (!isCallExpression && needToCaptureLexicalThis) { + captureLexicalThis(node.parent, container); + } + return returnType; + } + } + if (isCallExpression) { + error(node, ts.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors); + } + else { + error(node, ts.Diagnostics.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class); + } + return unknownType; + } + function isInferentialContext(mapper) { + return mapper && mapper !== identityMapper; + } + function checkArrayLiteral(node, contextualType, contextualMapper) { + var contextualElementType = contextualType && getIndexTypeOfType(contextualType, 1 /* Number */); + var elementTypes = []; + ts.forEach(node.elements, function (element) { + if (element.kind !== 142 /* OmittedExpression */) { + var type = checkExpression(element, contextualElementType, contextualMapper); + if (!ts.contains(elementTypes, type)) + elementTypes.push(type); + } + }); + var elementType = getBestCommonType(elementTypes, isInferentialContext(contextualMapper) ? undefined : contextualElementType, true); + if (!elementType) + elementType = elementTypes.length ? emptyObjectType : undefinedType; + return createArrayType(elementType); + } + function isNumericName(name) { + return !isNaN(name); + } + function getContextualTypeForProperty(type, name) { + var prop = getPropertyOfType(type, name); + if (prop) + return getTypeOfSymbol(prop); + return isNumericName(name) && getIndexTypeOfType(type, 1 /* Number */) || getIndexTypeOfType(type, 0 /* String */); + } + function checkObjectLiteral(node, contextualType, contextualMapper) { + var members = node.symbol.members; + var properties = {}; + for (var id in members) { + if (ts.hasProperty(members, id)) { + var member = members[id]; + if (member.flags & 2 /* Property */) { + var contextualPropType = contextualType && getContextualTypeForProperty(contextualType, member.name); + var type = checkExpression(member.declarations[0].initializer, contextualPropType, contextualMapper); + var prop = createSymbol(2 /* Property */ | 33554432 /* Transient */, member.name); + prop.declarations = member.declarations; + prop.parent = member.parent; + if (member.valueDeclaration) + prop.valueDeclaration = member.valueDeclaration; + prop.type = type; + member = prop; + } + else { + var getAccessor = getDeclarationOfKind(member, 118 /* GetAccessor */); + if (getAccessor) { + checkAccessorDeclaration(getAccessor); + } + var setAccessor = getDeclarationOfKind(member, 119 /* SetAccessor */); + if (setAccessor) { + checkAccessorDeclaration(setAccessor); + } + } + properties[member.name] = member; + } + } + var stringIndexType = getIndexType(properties, 0 /* String */); + var numberIndexType = getIndexType(properties, 1 /* Number */); + return createAnonymousType(node.symbol, properties, emptyArray, emptyArray, stringIndexType, numberIndexType); + function getIndexType(properties, kind) { + if (contextualType) { + var indexType = getIndexTypeOfType(contextualType, kind); + if (indexType) { + var propTypes = []; + for (var id in properties) { + if (ts.hasProperty(properties, id)) { + if (kind === 0 /* String */ || isNumericName(id)) { + var type = getTypeOfSymbol(properties[id]); + if (!ts.contains(propTypes, type)) + propTypes.push(type); + } + } + } + return getBestCommonType(propTypes, isInferentialContext(contextualMapper) ? undefined : indexType); + } + } + } + } + function getDeclarationKindFromSymbol(s) { + return s.flags & 67108864 /* Prototype */ ? 115 /* Property */ : s.valueDeclaration.kind; + } + function getDeclarationFlagsFromSymbol(s) { + return s.flags & 67108864 /* Prototype */ ? 16 /* Public */ | 64 /* Static */ : s.valueDeclaration.flags; + } + function checkPropertyAccess(node) { + var type = checkExpression(node.left); + if (type === unknownType) + return type; + if (type !== anyType) { + var apparentType = getApparentType(getWidenedType(type)); + if (apparentType === unknownType) { + return unknownType; + } + var prop = getPropertyOfApparentType(apparentType, node.right.text); + if (!prop) { + if (node.right.text) { + error(node.right, ts.Diagnostics.Property_0_does_not_exist_on_type_1, ts.identifierToString(node.right), typeToString(type, false)); + } + return unknownType; + } + getNodeLinks(node).resolvedSymbol = prop; + if (prop.parent && prop.parent.flags & 16 /* Class */) { + if (node.left.kind === 81 /* SuperKeyword */ && getDeclarationKindFromSymbol(prop) !== 116 /* Method */) { + error(node.right, ts.Diagnostics.Only_public_methods_of_the_base_class_are_accessible_via_the_super_keyword); + } + else if (getDeclarationFlagsFromSymbol(prop) & 32 /* Private */) { + var classDeclaration = getAncestor(node, 169 /* ClassDeclaration */); + if (!classDeclaration || !ts.contains(prop.parent.declarations, classDeclaration)) { + error(node, ts.Diagnostics.Property_0_is_inaccessible, getFullyQualifiedName(prop)); + } + } + } + return getTypeOfSymbol(prop); + } + return anyType; + } + function checkIndexedAccess(node) { + var objectType = checkExpression(node.object); + var indexType = checkExpression(node.index); + if (objectType === unknownType) + return unknownType; + var apparentType = getApparentType(objectType); + if (apparentType === unknownType) { + return unknownType; + } + if (node.index.kind === 3 /* StringLiteral */ || node.index.kind === 2 /* NumericLiteral */) { + var name = ts.getTextOfLiteral(node.index); + var prop = getPropertyOfApparentType(apparentType, name); + if (prop) { + return getTypeOfSymbol(prop); + } + } + if (indexType.flags & (1 /* Any */ | ts.TypeFlags.StringLike | ts.TypeFlags.NumberLike)) { + if (indexType.flags & (1 /* Any */ | ts.TypeFlags.NumberLike)) { + var numberIndexType = getIndexTypeOfType(apparentType, 1 /* Number */); + if (numberIndexType) { + return numberIndexType; + } + } + var stringIndexType = getIndexTypeOfType(apparentType, 0 /* String */); + if (stringIndexType) { + return stringIndexType; + } + if (program.getCompilerOptions().noImplicitAny && objectType !== anyType) { + error(node, ts.Diagnostics.Index_signature_of_object_type_implicitly_has_an_any_type); + } + return anyType; + } + error(node, ts.Diagnostics.An_index_expression_argument_must_be_of_type_string_number_or_any); + return unknownType; + } + function checkUntypedCall(node) { + ts.forEach(node.arguments, function (argument) { + checkExpression(argument); + }); + return anyType; + } + function checkErrorCall(node) { + checkUntypedCall(node); + return unknownType; + } + function isCandidateSignature(node, signature) { + var args = node.arguments || emptyArray; + return args.length >= signature.minArgumentCount && (signature.hasRestParameter || args.length <= signature.parameters.length) && (!node.typeArguments || signature.typeParameters && node.typeArguments.length === signature.typeParameters.length); + } + function collectCandidates(node, signatures) { + var result = []; + var lastParent; + var pos; + for (var i = 0; i < signatures.length; i++) { + var signature = signatures[i]; + if (isCandidateSignature(node, signature)) { + var parent = signature.declaration ? signature.declaration.parent : undefined; + if (lastParent && parent === lastParent) { + pos++; + } + else { + lastParent = parent; + pos = 0; + } + for (var j = result.length; j > pos; j--) { + result[j] = result[j - 1]; + } + result[pos] = signature; + } + } + return result; + } + function inferTypeArguments(signature, args, excludeArgument) { + var typeParameters = signature.typeParameters; + var context = createInferenceContext(typeParameters); + var mapper = createInferenceMapper(context); + for (var i = 0; i < args.length; i++) { + if (!excludeArgument || excludeArgument[i] === undefined) { + var parameterType = getTypeAtPosition(signature, i); + inferTypes(context, checkExpression(args[i], parameterType, mapper), parameterType); + } + } + if (excludeArgument) { + for (var i = 0; i < args.length; i++) { + if (excludeArgument[i] === false) { + var parameterType = getTypeAtPosition(signature, i); + inferTypes(context, checkExpression(args[i], parameterType, mapper), parameterType); + } + } + } + return getInferredTypes(context); + } + function checkTypeArguments(signature, typeArguments) { + var typeParameters = signature.typeParameters; + var result = []; + for (var i = 0; i < typeParameters.length; i++) { + var typeArgNode = typeArguments[i]; + var typeArgument = getTypeFromTypeNode(typeArgNode); + var constraint = getConstraintOfTypeParameter(typeParameters[i]); + if (constraint) { + checkTypeAssignableTo(typeArgument, constraint, typeArgNode, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1_Colon, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1); + } + result.push(typeArgument); + } + return result; + } + function isApplicableSignature(node, signature, relation, excludeArgument) { + if (node.arguments) { + for (var i = 0; i < node.arguments.length; i++) { + var arg = node.arguments[i]; + var paramType = getTypeAtPosition(signature, i); + var argType = arg.kind === 3 /* StringLiteral */ ? getStringLiteralType(arg) : checkExpression(arg, paramType, excludeArgument && excludeArgument[i] ? identityMapper : undefined); + if (!isTypeRelatedTo(argType, paramType, relation)) + return false; + } + } + return true; + } + function checkCall(node, signatures) { + ts.forEach(node.typeArguments, checkSourceElement); + var candidates = collectCandidates(node, signatures); + if (!candidates.length) { + error(node, ts.Diagnostics.Supplied_parameters_do_not_match_any_signature_of_call_target); + return checkErrorCall(node); + } + var args = node.arguments || emptyArray; + var excludeArgument; + for (var i = 0; i < args.length; i++) { + if (isContextSensitiveExpression(args[i])) { + if (!excludeArgument) + excludeArgument = new Array(args.length); + excludeArgument[i] = true; + } + } + var relation = candidates.length === 1 ? assignableRelation : subtypeRelation; + while (true) { + for (var i = 0; i < candidates.length; i++) { + while (true) { + var candidate = candidates[i]; + if (candidate.typeParameters) { + var typeArguments = node.typeArguments ? checkTypeArguments(candidate, node.typeArguments) : inferTypeArguments(candidate, args, excludeArgument); + candidate = getSignatureInstantiation(candidate, typeArguments); + } + if (!isApplicableSignature(node, candidate, relation, excludeArgument)) + break; + var index = excludeArgument ? ts.indexOf(excludeArgument, true) : -1; + if (index < 0) { + return getReturnTypeOfSignature(candidate); + } + excludeArgument[index] = false; + } + } + if (relation === assignableRelation) + break; + relation = assignableRelation; + } + error(node, ts.Diagnostics.Supplied_parameters_do_not_match_any_signature_of_call_target); + return checkErrorCall(node); + } + function checkCallExpression(node) { + if (node.func.kind === 81 /* SuperKeyword */) { + var superType = checkSuperExpression(node.func, true); + if (superType !== unknownType) { + checkCall(node, getSignaturesOfType(superType, 1 /* Construct */)); + } + else { + checkUntypedCall(node); + } + return voidType; + } + var funcType = checkExpression(node.func); + if (funcType === unknownType) { + return checkErrorCall(node); + } + var apparentType = getApparentType(funcType); + if (apparentType === unknownType) { + return checkErrorCall(node); + } + var signatures = getSignaturesOfType(apparentType, 0 /* Call */); + if (funcType === anyType || !signatures.length && isTypeAssignableTo(funcType, globalFunctionType)) { + if (node.typeArguments) { + error(node, ts.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments); + } + return checkUntypedCall(node); + } + if (!signatures.length) { + error(node, ts.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature); + return checkErrorCall(node); + } + return checkCall(node, signatures); + } + function checkNewExpression(node) { + var expressionType = checkExpression(node.func); + if (expressionType === unknownType) { + return checkErrorCall(node); + } + if (expressionType === anyType) { + if (node.typeArguments) { + error(node, ts.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments); + } + return checkUntypedCall(node); + } + expressionType = getApparentType(expressionType); + if (expressionType === unknownType) { + return checkErrorCall(node); + } + var constructSignatures = getSignaturesOfType(expressionType, 1 /* Construct */); + if (constructSignatures.length) { + return checkCall(node, constructSignatures); + } + var callSignatures = getSignaturesOfType(expressionType, 0 /* Call */); + if (callSignatures.length) { + var type = checkCall(node, callSignatures); + if (type !== voidType) { + error(node, ts.Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword); + } + if (program.getCompilerOptions().noImplicitAny) { + error(node, ts.Diagnostics.new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type); + } + return anyType; + } + error(node, ts.Diagnostics.Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature); + return checkErrorCall(node); + } + function checkTypeAssertion(node) { + var targetType = getTypeFromTypeNode(node.type); + if (targetType === unknownType) + return unknownType; + var exprType = checkExpression(node.operand, targetType); + var widenedType = getWidenedType(exprType); + if (!(isTypeAssignableTo(exprType, targetType) || isTypeAssignableTo(targetType, widenedType))) { + checkTypeAssignableTo(targetType, widenedType, node, ts.Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other_Colon, ts.Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other); + } + return targetType; + } + function getContextualSignature(contextualType) { + if (contextualType) { + var signatures = getSignaturesOfType(contextualType, 0 /* Call */); + if (signatures.length === 1) { + var signature = signatures[0]; + if (!signature.typeParameters) { + return signature; + } + } + } + } + function getTypeAtPosition(signature, pos) { + return signature.hasRestParameter ? pos < signature.parameters.length - 1 ? getTypeOfSymbol(signature.parameters[pos]) : getRestTypeOfSignature(signature) : pos < signature.parameters.length ? getTypeOfSymbol(signature.parameters[pos]) : anyType; + } + function assignContextualParameterTypes(signature, context, mapper) { + var len = signature.parameters.length - (signature.hasRestParameter ? 1 : 0); + for (var i = 0; i < len; i++) { + var parameter = signature.parameters[i]; + var links = getSymbolLinks(parameter); + if (!links.type) { + links.type = instantiateType(getTypeAtPosition(context, i), mapper); + } + } + if (signature.hasRestParameter && context.hasRestParameter && signature.parameters.length >= context.parameters.length) { + var parameter = signature.parameters[signature.parameters.length - 1]; + var links = getSymbolLinks(parameter); + if (!links.type) { + links.type = instantiateType(getTypeOfSymbol(context.parameters[context.parameters.length - 1]), mapper); + } + } + } + function getReturnTypeFromBody(func, contextualType, contextualMapper) { + if (func.body.kind !== 168 /* FunctionBlock */) { + var unwidenedType = checkAndMarkExpression(func.body, contextualType, contextualMapper); + var widenedType = getWidenedType(unwidenedType); + if (program.getCompilerOptions().noImplicitAny && widenedType !== unwidenedType && getInnermostTypeOfNestedArrayTypes(widenedType) === anyType) { + error(func, ts.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, typeToString(widenedType, false)); + } + return widenedType; + } + var types = []; + checkAndAggregateReturnExpressionTypes(func.body); + if (types.length) { + var commonType = getBestCommonType(types, undefined, true); + if (!commonType) { + error(func, ts.Diagnostics.No_best_common_type_exists_among_return_expressions); + return unknownType; + } + var widenedType = getWidenedType(commonType); + if (program.getCompilerOptions().noImplicitAny && widenedType !== commonType && getInnermostTypeOfNestedArrayTypes(widenedType) === anyType) { + var typeName = typeToString(widenedType, false); + if (func.name) { + error(func, ts.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type, ts.identifierToString(func.name), typeName); + } + else { + error(func, ts.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, typeName); + } + } + return widenedType; + } + return voidType; + function checkAndAggregateReturnExpressionTypes(node) { + switch (node.kind) { + case 154 /* ReturnStatement */: + var expr = node.expression; + if (expr) { + var type = checkAndMarkExpression(expr, contextualType, contextualMapper); + if (!ts.contains(types, type)) + types.push(type); + } + break; + case 143 /* Block */: + case 168 /* FunctionBlock */: + case 147 /* IfStatement */: + case 148 /* DoStatement */: + case 149 /* WhileStatement */: + case 150 /* ForStatement */: + case 151 /* ForInStatement */: + case 155 /* WithStatement */: + case 156 /* SwitchStatement */: + case 157 /* CaseClause */: + case 158 /* DefaultClause */: + case 159 /* LabelledStatement */: + case 161 /* TryStatement */: + case 162 /* TryBlock */: + case 163 /* CatchBlock */: + case 164 /* FinallyBlock */: + ts.forEachChild(node, checkAndAggregateReturnExpressionTypes); + break; + } + } + } + function checkFunctionExpression(node, contextualType, contextualMapper) { + if (contextualMapper === identityMapper) + return anyFunctionType; + var type = getTypeOfSymbol(node.symbol); + var links = getNodeLinks(node); + if (!(links.flags & 1 /* TypeChecked */)) { + var signature = getSignaturesOfType(type, 0 /* Call */)[0]; + var contextualSignature = getContextualSignature(contextualType); + if (contextualSignature) { + if (!node.typeParameters && !ts.forEach(node.parameters, function (p) { return p.type; })) { + assignContextualParameterTypes(signature, contextualSignature, contextualMapper || identityMapper); + } + if (!node.type) { + signature.resolvedReturnType = resolvingType; + var returnType = getReturnTypeFromBody(node, getReturnTypeOfSignature(contextualSignature), contextualMapper); + if (signature.resolvedReturnType === resolvingType) { + signature.resolvedReturnType = returnType; + } + } + } + checkSignatureDeclaration(node); + if (node.body.kind === 168 /* FunctionBlock */) { + checkSourceElement(node.body); + } + else { + var returnType = getReturnTypeOfSignature(signature); + if (node.type) { + checkTypeAssignableTo(checkExpression(node.body, returnType), returnType, node.body, undefined, undefined); + } + } + links.flags |= 1 /* TypeChecked */; + } + return type; + } + function checkArithmeticOperandType(operand, type, diagnostic) { + if (!(type.flags & (1 /* Any */ | ts.TypeFlags.NumberLike))) { + error(operand, diagnostic); + return false; + } + return true; + } + function checkReferenceExpression(n, message) { + function testSymbol(n, flags) { + var symbol = getNodeLinks(n).resolvedSymbol; + if (!symbol || symbol === unknownSymbol) { + return undefined; + } + return (getExportSymbolOfValueSymbolIfExported(symbol).flags & flags) !== 0; + } + function isReferenceExpression(n) { + switch (n.kind) { + case 55 /* Identifier */: + return testSymbol(n, 1 /* Variable */); + case 130 /* PropertyAccess */: + return testSymbol(n, ~4 /* EnumMember */); + case 131 /* IndexedAccess */: + return true; + case 135 /* ParenExpression */: + return isReferenceExpression(n.expression); + default: + return false; + } + } + if (isReferenceExpression(n) === false) { + error(n, message); + return false; + } + return true; + } + function checkPrefixExpression(node) { + var operandType = checkExpression(node.operand); + switch (node.operator) { + case 24 /* PlusToken */: + case 25 /* MinusToken */: + case 38 /* TildeToken */: + return numberType; + case 37 /* ExclamationToken */: + case 64 /* DeleteKeyword */: + return booleanType; + case 87 /* TypeOfKeyword */: + return stringType; + case 89 /* VoidKeyword */: + return undefinedType; + case 29 /* PlusPlusToken */: + case 30 /* MinusMinusToken */: + var ok = checkArithmeticOperandType(node.operand, operandType, ts.Diagnostics.An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type); + if (ok) { + checkReferenceExpression(node.operand, ts.Diagnostics.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_property_or_indexer); + } + return numberType; + } + return unknownType; + } + function checkPostfixExpression(node) { + var operandType = checkExpression(node.operand); + var ok = checkArithmeticOperandType(node.operand, operandType, ts.Diagnostics.An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type); + if (ok) { + checkReferenceExpression(node.operand, ts.Diagnostics.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_property_or_indexer); + } + return numberType; + } + function isTypeAnyTypeObjectTypeOrTypeParameter(type) { + return type === anyType || ((type.flags & (ts.TypeFlags.ObjectType | 512 /* TypeParameter */)) !== 0); + } + function checkInstanceOfExpression(node, leftType, rightType) { + if (!isTypeAnyTypeObjectTypeOrTypeParameter(leftType)) { + error(node.left, ts.Diagnostics.The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter); + } + if (rightType !== anyType && !isTypeSubtypeOf(rightType, globalFunctionType)) { + error(node.right, ts.Diagnostics.The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type); + } + return booleanType; + } + function checkInExpression(node, leftType, rightType) { + if (leftType !== anyType && leftType !== stringType && leftType !== numberType) { + error(node.left, ts.Diagnostics.The_left_hand_side_of_an_in_expression_must_be_of_types_any_string_or_number); + } + if (!isTypeAnyTypeObjectTypeOrTypeParameter(rightType)) { + error(node.right, ts.Diagnostics.The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter); + } + return booleanType; + } + function checkBinaryExpression(node, contextualType, contextualMapper) { + var operator = node.operator; + var leftContextualType = operator === 40 /* BarBarToken */ ? contextualType : undefined; + var leftType = checkExpression(node.left, leftContextualType, contextualMapper); + var rightContextualType = operator >= ts.SyntaxKind.FirstAssignment && operator <= ts.SyntaxKind.LastAssignment ? leftType : operator === 40 /* BarBarToken */ ? contextualType || leftType : undefined; + var rightType = checkExpression(node.right, rightContextualType, contextualMapper); + switch (operator) { + case 26 /* AsteriskToken */: + case 46 /* AsteriskEqualsToken */: + case 27 /* SlashToken */: + case 47 /* SlashEqualsToken */: + case 28 /* PercentToken */: + case 48 /* PercentEqualsToken */: + case 25 /* MinusToken */: + case 45 /* MinusEqualsToken */: + case 31 /* LessThanLessThanToken */: + case 49 /* LessThanLessThanEqualsToken */: + case 32 /* GreaterThanGreaterThanToken */: + case 50 /* GreaterThanGreaterThanEqualsToken */: + case 33 /* GreaterThanGreaterThanGreaterThanToken */: + case 51 /* GreaterThanGreaterThanGreaterThanEqualsToken */: + case 35 /* BarToken */: + case 53 /* BarEqualsToken */: + case 36 /* CaretToken */: + case 54 /* CaretEqualsToken */: + case 34 /* AmpersandToken */: + case 52 /* AmpersandEqualsToken */: + if (leftType.flags & (32 /* Undefined */ | 64 /* Null */)) + leftType = rightType; + if (rightType.flags & (32 /* Undefined */ | 64 /* Null */)) + rightType = leftType; + var leftOk = checkArithmeticOperandType(node.left, leftType, ts.Diagnostics.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type); + var rightOk = checkArithmeticOperandType(node.right, rightType, ts.Diagnostics.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type); + if (leftOk && rightOk) { + checkAssignmentOperator(numberType); + } + return numberType; + case 24 /* PlusToken */: + case 44 /* PlusEqualsToken */: + if (leftType.flags & (32 /* Undefined */ | 64 /* Null */)) + leftType = rightType; + if (rightType.flags & (32 /* Undefined */ | 64 /* Null */)) + rightType = leftType; + var resultType; + if (leftType.flags & ts.TypeFlags.NumberLike && rightType.flags & ts.TypeFlags.NumberLike) { + resultType = numberType; + } + else if (leftType.flags & ts.TypeFlags.StringLike || rightType.flags & ts.TypeFlags.StringLike) { + resultType = stringType; + } + else if (leftType.flags & 1 /* Any */ || leftType === unknownType || rightType.flags & 1 /* Any */ || rightType === unknownType) { + resultType = anyType; + } + if (!resultType) { + reportOperatorError(); + return anyType; + } + if (operator === 44 /* PlusEqualsToken */) { + checkAssignmentOperator(resultType); + } + return resultType; + case 19 /* EqualsEqualsToken */: + case 20 /* ExclamationEqualsToken */: + case 21 /* EqualsEqualsEqualsToken */: + case 22 /* ExclamationEqualsEqualsToken */: + case 15 /* LessThanToken */: + case 16 /* GreaterThanToken */: + case 17 /* LessThanEqualsToken */: + case 18 /* GreaterThanEqualsToken */: + if (!isTypeSubtypeOf(leftType, rightType) && !isTypeSubtypeOf(rightType, leftType)) { + reportOperatorError(); + } + return booleanType; + case 77 /* InstanceOfKeyword */: + return checkInstanceOfExpression(node, leftType, rightType); + case 76 /* InKeyword */: + return checkInExpression(node, leftType, rightType); + case 39 /* AmpersandAmpersandToken */: + return rightType; + case 40 /* BarBarToken */: + return getBestCommonType([leftType, rightType], isInferentialContext(contextualMapper) ? undefined : contextualType); + case 43 /* EqualsToken */: + checkAssignmentOperator(rightType); + return rightType; + case 14 /* CommaToken */: + return rightType; + } + function checkAssignmentOperator(valueType) { + if (operator >= ts.SyntaxKind.FirstAssignment && operator <= ts.SyntaxKind.LastAssignment) { + var ok = checkReferenceExpression(node.left, ts.Diagnostics.Invalid_left_hand_side_of_assignment_expression); + if (ok) { + checkTypeAssignableTo(valueType, leftType, node.left, undefined, undefined); + } + } + } + function reportOperatorError() { + error(node, ts.Diagnostics.Operator_0_cannot_be_applied_to_types_1_and_2, ts.tokenToString(node.operator), typeToString(leftType, false), typeToString(rightType, false)); + } + } + function checkConditionalExpression(node, contextualType, contextualMapper) { + checkExpression(node.condition); + var type1 = checkExpression(node.whenTrue, contextualType, contextualMapper); + var type2 = checkExpression(node.whenFalse, contextualType, contextualMapper); + var resultType = getBestCommonType([type1, type2], isInferentialContext(contextualMapper) ? undefined : contextualType, true); + if (!resultType) { + if (contextualType && !isInferentialContext(contextualMapper)) { + error(node, ts.Diagnostics.No_best_common_type_exists_between_0_1_and_2, typeToString(contextualType, false), typeToString(type1, false), typeToString(type2, false)); + } + else { + error(node, ts.Diagnostics.No_best_common_type_exists_between_0_and_1, typeToString(type1, false), typeToString(type2, false)); + } + resultType = emptyObjectType; + } + return resultType; + } + function checkAndMarkExpression(node, contextualType, contextualMapper) { + var result = checkExpression(node, contextualType, contextualMapper); + getNodeLinks(node).flags |= 1 /* TypeChecked */; + return result; + } + function checkExpression(node, contextualType, contextualMapper) { + switch (node.kind) { + case 55 /* Identifier */: + return checkIdentifier(node); + case 83 /* ThisKeyword */: + return checkThisExpression(node); + case 81 /* SuperKeyword */: + return checkSuperExpression(node, false); + case 79 /* NullKeyword */: + return nullType; + case 85 /* TrueKeyword */: + case 70 /* FalseKeyword */: + return booleanType; + case 2 /* NumericLiteral */: + return numberType; + case 3 /* StringLiteral */: + return stringType; + case 4 /* RegularExpressionLiteral */: + return globalRegExpType; + case 112 /* QualifiedName */: + return checkPropertyAccess(node); + case 127 /* ArrayLiteral */: + return checkArrayLiteral(node, contextualType, contextualMapper); + case 128 /* ObjectLiteral */: + return checkObjectLiteral(node, contextualType, contextualMapper); + case 130 /* PropertyAccess */: + return checkPropertyAccess(node); + case 131 /* IndexedAccess */: + return checkIndexedAccess(node); + case 132 /* CallExpression */: + return checkCallExpression(node); + case 133 /* NewExpression */: + return checkNewExpression(node); + case 134 /* TypeAssertion */: + return checkTypeAssertion(node); + case 135 /* ParenExpression */: + return checkExpression(node.expression); + case 136 /* FunctionExpression */: + case 137 /* ArrowFunction */: + return checkFunctionExpression(node, contextualType, contextualMapper); + case 138 /* PrefixOperator */: + return checkPrefixExpression(node); + case 139 /* PostfixOperator */: + return checkPostfixExpression(node); + case 140 /* BinaryExpression */: + return checkBinaryExpression(node, contextualType, contextualMapper); + case 141 /* ConditionalExpression */: + return checkConditionalExpression(node, contextualType, contextualMapper); + } + return unknownType; + } + function checkTypeParameter(node) { + checkNameIsReserved(node.name, ts.Diagnostics.Type_parameter_name_cannot_be_0); + checkSourceElement(node.constraint); + checkTypeParameterHasIllegalReferencesInConstraint(node); + } + function checkParameter(parameterDeclaration) { + checkVariableDeclaration(parameterDeclaration); + checkCollisionWithIndexVariableInGeneratedCode(parameterDeclaration, parameterDeclaration.name); + if (parameterDeclaration.flags & (16 /* Public */ | 32 /* Private */) && !(parameterDeclaration.parent.kind === 117 /* Constructor */ && parameterDeclaration.parent.body)) { + error(parameterDeclaration, ts.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation); + } + if (parameterDeclaration.flags & 8 /* Rest */) { + if (!isArrayType(getTypeOfSymbol(parameterDeclaration.symbol))) { + error(parameterDeclaration, ts.Diagnostics.A_rest_parameter_must_be_of_an_array_type); + } + } + else { + if (parameterDeclaration.initializer && !parameterDeclaration.parent.body) { + error(parameterDeclaration, ts.Diagnostics.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation); + } + } + function checkReferencesInInitializer(n) { + if (n.kind === 55 /* Identifier */) { + var referencedSymbol = getNodeLinks(n).resolvedSymbol; + if (referencedSymbol && referencedSymbol !== unknownSymbol && getSymbol(parameterDeclaration.parent.locals, referencedSymbol.name, ts.SymbolFlags.Value) === referencedSymbol) { + if (referencedSymbol.valueDeclaration.kind === 114 /* Parameter */) { + if (referencedSymbol.valueDeclaration === parameterDeclaration) { + error(n, ts.Diagnostics.Parameter_0_cannot_be_referenced_in_its_initializer, ts.identifierToString(parameterDeclaration.name)); + return; + } + var enclosingOrReferencedParameter = ts.forEach(parameterDeclaration.parent.parameters, function (p) { return p === parameterDeclaration || p === referencedSymbol.valueDeclaration ? p : undefined; }); + if (enclosingOrReferencedParameter === referencedSymbol.valueDeclaration) { + return; + } + } + error(n, ts.Diagnostics.Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it, ts.identifierToString(parameterDeclaration.name), ts.identifierToString(n)); + } + } + else { + ts.forEachChild(n, checkReferencesInInitializer); + } + } + if (parameterDeclaration.initializer) { + checkReferencesInInitializer(parameterDeclaration.initializer); + } + } + function isTypeIdenticalTo(source, target) { + return isTypeSubtypeOf(source, target) && isTypeSubtypeOf(target, source); + } + function isSignatureIdenticalToIgnoringReturnType(source, target) { + if (source === target) { + return true; + } + if (source.hasRestParameter !== target.hasRestParameter) { + return false; + } + if (source.parameters.length !== target.parameters.length) { + return false; + } + if (source.minArgumentCount !== target.minArgumentCount) { + return false; + } + if (source.typeParameters && target.typeParameters) { + if (source.typeParameters.length !== target.typeParameters.length) { + return false; + } + for (var i = 0, len = source.typeParameters.length; i < len; ++i) { + var sourceConstraint = getConstraintOfTypeParameter(source.typeParameters[i]); + var targetConstraint = getConstraintOfTypeParameter(target.typeParameters[i]); + if (sourceConstraint === targetConstraint) { + continue; + } + if (sourceConstraint === noConstraintType || targetConstraint === noConstraintType) { + return false; + } + if (!isTypeIdenticalTo(sourceConstraint, targetConstraint)) { + return false; + } + } + } + else if (source.typeParameters || source.typeParameters) { + return false; + } + source = getErasedSignature(source); + target = getErasedSignature(target); + for (var i = 0, len = source.parameters.length; i < len; i++) { + var s = source.hasRestParameter && i === len - 1 ? getRestTypeOfSignature(source) : getTypeOfSymbol(source.parameters[i]); + var t = target.hasRestParameter && i === len - 1 ? getRestTypeOfSignature(target) : getTypeOfSymbol(target.parameters[i]); + if (!isTypeIdenticalTo(s, t)) { + return false; + } + } + return true; + } + function checkSignatureDeclaration(node) { + ts.forEach(node.typeParameters, checkTypeParameter); + ts.forEach(node.parameters, checkParameter); + if (node.type) { + checkSourceElement(node.type); + } + checkCollisionWithCapturedSuperVariable(node, node.name); + checkCollisionWithArgumentsInGeneratedCode(node); + if (program.getCompilerOptions().noImplicitAny && !node.type) { + switch (node.kind) { + case 121 /* ConstructSignature */: + error(node, ts.Diagnostics.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); + break; + case 120 /* CallSignature */: + error(node, ts.Diagnostics.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); + break; + } + } + checkSpecializedSignatureDeclaration(node); + } + function checkTypeForDuplicateIndexSignatures(node) { + if (node.kind === 170 /* InterfaceDeclaration */) { + var nodeSymbol = getSymbolOfNode(node); + if (nodeSymbol.declarations.length > 0 && nodeSymbol.declarations[0] !== node) { + return; + } + } + var indexSymbol = getIndexSymbol(getSymbolOfNode(node)); + if (indexSymbol) { + var seenNumericIndexer = false; + var seenStringIndexer = false; + for (var i = 0, len = indexSymbol.declarations.length; i < len; ++i) { + var declaration = indexSymbol.declarations[i]; + if (declaration.parameters.length == 1 && declaration.parameters[0].type) { + switch (declaration.parameters[0].type.kind) { + case 110 /* StringKeyword */: + if (!seenStringIndexer) { + seenStringIndexer = true; + } + else { + error(declaration, ts.Diagnostics.Duplicate_string_index_signature); + } + break; + case 108 /* NumberKeyword */: + if (!seenNumericIndexer) { + seenNumericIndexer = true; + } + else { + error(declaration, ts.Diagnostics.Duplicate_number_index_signature); + } + break; + } + } + } + } + } + function checkPropertyDeclaration(node) { + checkVariableDeclaration(node); + } + function checkMethodDeclaration(node) { + checkFunctionDeclaration(node); + } + function checkConstructorDeclaration(node) { + checkDeclarationModifiers(node); + checkSignatureDeclaration(node); + checkSourceElement(node.body); + var symbol = getSymbolOfNode(node); + var symbolLinks = getSymbolLinks(symbol); + var type = getTypeOfSymbol(symbol.parent); + if (!(symbolLinks.typeChecked || type.flags & ts.TypeFlags.Intrinsic)) { + checkFunctionOrConstructorSymbol(symbol); + symbolLinks.typeChecked = true; + } + if (!node.body) { + return; + } + function isSuperCallExpression(n) { + return n.kind === 132 /* CallExpression */ && n.func.kind === 81 /* SuperKeyword */; + } + function containsSuperCall(n) { + if (isSuperCallExpression(n)) { + return true; + } + switch (n.kind) { + case 136 /* FunctionExpression */: + case 167 /* FunctionDeclaration */: + case 137 /* ArrowFunction */: + case 128 /* ObjectLiteral */: + return false; + default: + return ts.forEachChild(n, containsSuperCall); + } + } + function markThisReferencesAsErrors(n) { + if (n.kind === 83 /* ThisKeyword */) { + error(n, ts.Diagnostics.this_cannot_be_referenced_in_current_location); + } + else if (n.kind !== 136 /* FunctionExpression */ && n.kind !== 167 /* FunctionDeclaration */) { + ts.forEachChild(n, markThisReferencesAsErrors); + } + } + function isInstancePropertyWithInitializer(n) { + return n.kind === 115 /* Property */ && !(n.flags & 64 /* Static */) && !!n.initializer; + } + if (node.parent.baseType) { + if (containsSuperCall(node.body)) { + var superCallShouldBeFirst = ts.forEach(node.parent.members, isInstancePropertyWithInitializer) || ts.forEach(node.parameters, function (p) { return p.flags & (16 /* Public */ | 32 /* Private */); }); + if (superCallShouldBeFirst) { + var statements = node.body.statements; + if (!statements.length || statements[0].kind !== 146 /* ExpressionStatement */ || !isSuperCallExpression(statements[0].expression)) { + error(node, ts.Diagnostics.A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_or_has_parameter_properties); + } + else { + markThisReferencesAsErrors(statements[0].expression); + } + } + } + else { + error(node, ts.Diagnostics.Constructors_for_derived_classes_must_contain_a_super_call); + } + } + } + function checkAccessorDeclaration(node) { + function checkGetterContainsSingleThrowStatement(node) { + var block = node.body; + return block.statements.length === 1 && block.statements[0].kind === 160 /* ThrowStatement */; + } + function checkGetterReturnsValue(n) { + switch (n.kind) { + case 154 /* ReturnStatement */: + return true; + case 136 /* FunctionExpression */: + case 167 /* FunctionDeclaration */: + case 137 /* ArrowFunction */: + case 128 /* ObjectLiteral */: + return false; + default: + return ts.forEachChild(n, checkGetterReturnsValue); + } + } + if (node.kind === 118 /* GetAccessor */) { + if (!isDeclarationContext(node) && node.body && !(checkGetterContainsSingleThrowStatement(node) || checkGetterReturnsValue(node))) { + error(node.name, ts.Diagnostics.Getters_must_return_a_value); + } + } + var otherKind = node.kind === 118 /* GetAccessor */ ? 119 /* SetAccessor */ : 118 /* GetAccessor */; + var otherAccessor = getDeclarationOfKind(node.symbol, otherKind); + if (otherAccessor) { + var visibilityFlags = 32 /* Private */ | 16 /* Public */; + if (((node.flags & visibilityFlags) !== (otherAccessor.flags & visibilityFlags))) { + error(node.name, ts.Diagnostics.Getter_and_setter_accessors_do_not_agree_in_visibility); + } + var thisType = getAnnotatedAccessorType(node); + var otherType = getAnnotatedAccessorType(otherAccessor); + if (thisType && otherType) { + if (!isTypeIdenticalTo(thisType, otherType)) { + error(node, ts.Diagnostics.get_and_set_accessor_must_have_the_same_type); + } + } + } + checkFunctionDeclaration(node); + } + function checkTypeReference(node) { + var type = getTypeFromTypeReferenceNode(node); + if (type !== unknownType && node.typeArguments) { + var len = node.typeArguments.length; + for (var i = 0; i < len; i++) { + checkSourceElement(node.typeArguments[i]); + var constraint = getConstraintOfTypeParameter(type.target.typeParameters[i]); + if (constraint) { + var typeArgument = type.typeArguments[i]; + checkTypeAssignableTo(typeArgument, constraint, node, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1_Colon, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1); + } + } + } + } + function checkTypeQuery(node) { + getTypeFromTypeQueryNode(node); + } + function checkTypeLiteral(node) { + ts.forEach(node.members, checkSourceElement); + var type = getTypeFromTypeLiteralNode(node); + checkIndexConstraints(type); + checkTypeForDuplicateIndexSignatures(node); + } + function checkArrayType(node) { + getTypeFromArrayTypeNode(node); + } + function isPrivateWithinAmbient(node) { + return (node.flags & 32 /* Private */) && isAmbientContext(node); + } + function isAmbientContext(node) { + while (node) { + if (node.flags & 2 /* Ambient */) + return true; + node = node.parent; + } + return false; + } + function isDeclarationContext(node) { + while (node) { + if (node.flags & (2 /* Ambient */ | 512 /* DeclarationFile */)) + return true; + node = node.parent; + } + return false; + } + function checkDeclarationModifiers(node) { + if (node.flags & 1 /* Export */ && node.parent.kind === 177 /* SourceFile */) { + checkModulesEnabled(node); + } + if (node.kind === 170 /* InterfaceDeclaration */ || node.kind === 174 /* ImportDeclaration */) { + if (node.flags & 2 /* Ambient */) { + if (node.kind === 170 /* InterfaceDeclaration */) { + error(node, ts.Diagnostics.A_declare_modifier_cannot_be_used_with_an_interface_declaration); + } + else { + error(node, ts.Diagnostics.A_declare_modifier_cannot_be_used_with_an_import_declaration); + } + } + } + else { + if (node.parent.kind === 177 /* SourceFile */) { + if (node.parent.flags & 512 /* DeclarationFile */ && !(node.flags & 2 /* Ambient */)) { + error(node, ts.Diagnostics.A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file); + } + } + else { + if (isAmbientContext(node.parent) && node.flags & 2 /* Ambient */) { + error(node, ts.Diagnostics.A_declare_modifier_cannot_be_used_in_an_already_ambient_context); + } + } + } + } + function checkSpecializedSignatureDeclaration(signatureDeclarationNode) { + var signature = getSignatureFromDeclaration(signatureDeclarationNode); + if (!signature.hasStringLiterals) { + return; + } + if (signatureDeclarationNode.body) { + error(signatureDeclarationNode, ts.Diagnostics.A_signature_with_an_implementation_cannot_use_a_string_literal_type); + return; + } + var signaturesOfSymbol = getSignaturesOfSymbol(getSymbolOfNode(signatureDeclarationNode)); + for (var i = 0; i < signaturesOfSymbol.length; i++) { + var otherSignature = signaturesOfSymbol[i]; + if (!otherSignature.hasStringLiterals && isSignatureAssignableTo(signature, otherSignature)) { + return; + } + } + error(signatureDeclarationNode, ts.Diagnostics.Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature); + } + function checkFunctionOrConstructorSymbol(symbol) { + function getEffectiveFlagsForFunctionCheck(n) { + var flags = n.flags; + if (n.parent.kind !== 170 /* InterfaceDeclaration */ && isDeclarationContext(n)) { + if (!(flags & 2 /* Ambient */)) { + flags |= 1 /* Export */; + } + flags |= 2 /* Ambient */; + } + return flags & flagsToCheck; + } + function checkFlagAgreementBetweenOverloads(overloads, implementation, flagsToCheck, someOverloadFlags, allOverloadFlags) { + var someButNotAllOverloadFlags = someOverloadFlags ^ allOverloadFlags; + if (someButNotAllOverloadFlags !== 0) { + var implementationSharesContainerWithFirstOverload = implementation !== undefined && implementation.parent === overloads[0].parent; + var canonicalFlags = implementationSharesContainerWithFirstOverload ? getEffectiveFlagsForFunctionCheck(implementation) : getEffectiveFlagsForFunctionCheck(overloads[0]); + ts.forEach(overloads, function (o) { + var deviation = getEffectiveFlagsForFunctionCheck(o) ^ canonicalFlags; + if (deviation & 1 /* Export */) { + error(o.name, ts.Diagnostics.Overload_signatures_must_all_be_exported_or_not_exported); + } + else if (deviation & 2 /* Ambient */) { + error(o.name, ts.Diagnostics.Overload_signatures_must_all_be_ambient_or_non_ambient); + } + else if (deviation & 32 /* Private */) { + error(o.name, ts.Diagnostics.Overload_signatures_must_all_be_public_or_private); + } + else if (deviation & 4 /* QuestionMark */) { + error(o.name, ts.Diagnostics.Overload_signatures_must_all_be_optional_or_required); + } + }); + } + } + var flagsToCheck = 1 /* Export */ | 2 /* Ambient */ | 32 /* Private */ | 4 /* QuestionMark */; + var someNodeFlags = 0; + var allNodeFlags = flagsToCheck; + var hasOverloads = false; + var bodyDeclaration; + var lastSeenNonAmbientDeclaration; + var declarations = symbol.declarations; + var isConstructor = (symbol.flags & 4096 /* Constructor */) !== 0; + for (var i = 0; i < declarations.length; i++) { + var node = declarations[i]; + if (node.kind === 167 /* FunctionDeclaration */ || node.kind === 116 /* Method */ || node.kind === 117 /* Constructor */) { + var currentNodeFlags = getEffectiveFlagsForFunctionCheck(node); + someNodeFlags |= currentNodeFlags; + allNodeFlags &= currentNodeFlags; + var inAmbientContext = isDeclarationContext(node); + var inAmbientContextOrInterface = node.parent.kind === 170 /* InterfaceDeclaration */ || node.parent.kind === 125 /* TypeLiteral */ || inAmbientContext; + if (!inAmbientContextOrInterface) { + lastSeenNonAmbientDeclaration = node; + } + if (node.body) { + if (bodyDeclaration) { + if (isConstructor) { + error(node, ts.Diagnostics.Multiple_constructor_implementations_are_not_allowed); + } + else { + error(node, ts.Diagnostics.Duplicate_function_implementation); + } + } + else { + bodyDeclaration = node; + } + } + else { + hasOverloads = true; + } + } + } + if (lastSeenNonAmbientDeclaration && !lastSeenNonAmbientDeclaration.body) { + if (isConstructor) { + error(lastSeenNonAmbientDeclaration, ts.Diagnostics.Constructor_implementation_expected); + } + else { + error(lastSeenNonAmbientDeclaration, ts.Diagnostics.Function_implementation_expected); + } + } + if (hasOverloads) { + checkFlagAgreementBetweenOverloads(declarations, bodyDeclaration, flagsToCheck, someNodeFlags, allNodeFlags); + if (bodyDeclaration) { + var signatures = getSignaturesOfSymbol(symbol); + var bodySignature = getSignatureFromDeclaration(bodyDeclaration); + if (!bodySignature.hasStringLiterals) { + for (var i = 0, len = signatures.length; i < len; ++i) { + if (!signatures[i].hasStringLiterals && !isSignatureAssignableTo(bodySignature, signatures[i])) { + error(signatures[i].declaration, ts.Diagnostics.Overload_signature_is_not_compatible_with_function_implementation); + break; + } + } + } + } + } + } + function checkFunctionDeclaration(node) { + checkDeclarationModifiers(node); + checkSignatureDeclaration(node); + var symbol = getSymbolOfNode(node); + var symbolLinks = getSymbolLinks(symbol); + var type = getTypeOfSymbol(symbol); + if (!(symbolLinks.typeChecked || type.flags & ts.TypeFlags.Intrinsic)) { + checkFunctionOrConstructorSymbol(symbol); + symbolLinks.typeChecked = true; + } + checkSourceElement(node.body); + if (program.getCompilerOptions().noImplicitAny && !node.body && !node.type) { + if (!isPrivateWithinAmbient(node)) { + var typeName = typeToString(anyType, false); + if (node.name) { + error(node, ts.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type, ts.identifierToString(node.name), typeName); + } + else { + error(node, ts.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, typeName); + } + } + } + } + function checkStatementContext(node) { + var parent = node.parent; + if ((parent.kind === 177 /* SourceFile */ || parent.kind === 173 /* ModuleBlock */) && isDeclarationContext(parent)) { + error(node, ts.Diagnostics.Statements_are_not_allowed_in_declaration_contexts); + } + } + function checkBlock(node) { + checkStatementContext(node); + ts.forEach(node.statements, checkSourceElement); + } + function checkCollisionWithArgumentsInGeneratedCode(node) { + if (!hasRestParameters(node) || isDeclarationContext(node) || !node.body) { + return; + } + ts.forEach(node.parameters, function (p) { + if (p.name && p.name.text === argumentsSymbol.name) { + error(p, ts.Diagnostics.Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters); + } + }); + } + function checkCollisionWithIndexVariableInGeneratedCode(node, name) { + if (!(name && name.text === "_i")) { + return; + } + if (node.kind === 114 /* Parameter */) { + if (node.parent.body && hasRestParameters(node.parent) && !isDeclarationContext(node)) { + error(node, ts.Diagnostics.Duplicate_identifier_i_Compiler_uses_i_to_initialize_rest_parameter); + } + return; + } + var symbol = getNodeLinks(node).resolvedSymbol; + if (symbol === unknownSymbol) { + return; + } + var current = node; + while (current) { + var definedOnCurrentLevel = ts.forEach(symbol.declarations, function (d) { return d.parent === current ? d : undefined; }); + if (definedOnCurrentLevel) { + return; + } + switch (current.kind) { + case 167 /* FunctionDeclaration */: + case 136 /* FunctionExpression */: + case 116 /* Method */: + case 137 /* ArrowFunction */: + case 117 /* Constructor */: + if (hasRestParameters(current)) { + error(node, ts.Diagnostics.Expression_resolves_to_variable_declaration_i_that_compiler_uses_to_initialize_rest_parameter); + return; + } + break; + } + current = current.parent; + } + } + function checkCollisionWithCapturedSuperVariable(node, name) { + if (!(name && name.text === "_super")) { + return; + } + if (node.kind === 115 /* Property */ || node.kind === 116 /* Method */ || node.kind === 118 /* GetAccessor */ || node.kind === 119 /* SetAccessor */) { + return; + } + if (node.kind === 114 /* Parameter */ && !node.parent.body) { + return; + } + var enclosingClass = getAncestor(node, 169 /* ClassDeclaration */); + if (!enclosingClass || isDeclarationContext(enclosingClass)) { + return; + } + if (enclosingClass.baseType) { + var isDeclaration = node.kind !== 55 /* Identifier */; + if (isDeclaration) { + error(node, ts.Diagnostics.Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference); + } + else { + error(node, ts.Diagnostics.Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference); + } + } + } + function checkVariableDeclaration(node) { + checkSourceElement(node.type); + var symbol = getSymbolOfNode(node); + var typeOfValueDeclaration = getTypeOfVariableOrParameterOrProperty(symbol); + var type; + var useTypeFromValueDeclaration = node === symbol.valueDeclaration; + if (useTypeFromValueDeclaration) { + type = typeOfValueDeclaration; + } + else { + type = getTypeOfVariableDeclaration(node); + } + if (node.initializer) { + if (isDeclarationContext(node)) { + error(node.initializer, ts.Diagnostics.Initializers_are_not_allowed_in_declaration_contexts); + } + if (!(getNodeLinks(node.initializer).flags & 1 /* TypeChecked */)) { + checkTypeAssignableTo(checkAndMarkExpression(node.initializer, type), type, node, undefined, undefined); + } + } + checkCollisionWithCapturedSuperVariable(node, node.name); + if (!useTypeFromValueDeclaration) { + if (typeOfValueDeclaration !== unknownType && type !== unknownType && !isTypeIdenticalTo(typeOfValueDeclaration, type)) { + error(node.name, ts.Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2, ts.identifierToString(node.name), typeToString(typeOfValueDeclaration, false), typeToString(type, false)); + } + } + } + function checkVariableStatement(node) { + checkDeclarationModifiers(node); + ts.forEach(node.declarations, checkVariableDeclaration); + } + function checkExpressionStatement(node) { + checkStatementContext(node); + checkExpression(node.expression); + } + function checkIfStatement(node) { + checkStatementContext(node); + checkExpression(node.expression); + checkSourceElement(node.thenStatement); + checkSourceElement(node.elseStatement); + } + function checkDoStatement(node) { + checkStatementContext(node); + checkSourceElement(node.statement); + checkExpression(node.expression); + } + function checkWhileStatement(node) { + checkStatementContext(node); + checkExpression(node.expression); + checkSourceElement(node.statement); + } + function checkForStatement(node) { + checkStatementContext(node); + if (node.declarations) + ts.forEach(node.declarations, checkVariableDeclaration); + if (node.initializer) + checkExpression(node.initializer); + if (node.condition) + checkExpression(node.condition); + if (node.iterator) + checkExpression(node.iterator); + checkSourceElement(node.statement); + } + function checkForInStatement(node) { + checkStatementContext(node); + if (node.declaration) { + checkVariableDeclaration(node.declaration); + if (node.declaration.type) { + error(node.declaration, ts.Diagnostics.Variable_declarations_of_a_for_statement_cannot_use_a_type_annotation); + } + } + if (node.variable) { + var exprType = checkExpression(node.variable); + if (exprType !== anyType && exprType !== stringType) { + error(node.variable, ts.Diagnostics.Variable_declarations_of_a_for_statement_must_be_of_types_string_or_any); + } + else { + checkReferenceExpression(node.variable, ts.Diagnostics.Invalid_left_hand_side_in_for_in_statement); + } + } + var exprType = checkExpression(node.expression); + if (!isTypeAnyTypeObjectTypeOrTypeParameter(exprType) && exprType !== unknownType) { + error(node.expression, ts.Diagnostics.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter); + } + checkSourceElement(node.statement); + } + function checkBreakOrContinueStatement(node) { + checkStatementContext(node); + } + function getContainingFunction(node) { + while (true) { + node = node.parent; + if (!node || node.kind === 167 /* FunctionDeclaration */ || node.kind === 136 /* FunctionExpression */ || node.kind === 137 /* ArrowFunction */ || node.kind === 116 /* Method */ || node.kind === 117 /* Constructor */ || node.kind === 118 /* GetAccessor */ || node.kind === 119 /* SetAccessor */) { + return node; + } + } + } + function checkReturnStatement(node) { + checkStatementContext(node); + if (node.expression && !(getNodeLinks(node.expression).flags & 1 /* TypeChecked */)) { + var func = getContainingFunction(node); + if (func) { + if (func.kind === 119 /* SetAccessor */) { + if (node.expression) { + error(node.expression, ts.Diagnostics.Setters_cannot_return_a_value); + } + } + else { + var returnType = getReturnTypeOfSignature(getSignatureFromDeclaration(func)); + var checkAssignability = func.type || (func.kind === 118 /* GetAccessor */ && getSetAccessorTypeAnnotationNode(getDeclarationOfKind(func.symbol, 119 /* SetAccessor */))); + if (checkAssignability) { + checkTypeAssignableTo(checkExpression(node.expression, returnType), returnType, node.expression, undefined, undefined); + } + else if (func.kind == 117 /* Constructor */) { + if (!isTypeAssignableTo(checkExpression(node.expression, returnType), returnType)) { + error(node.expression, ts.Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class); + } + } + } + } + else { + error(node, ts.Diagnostics.return_statement_has_no_containing_function); + } + } + } + function checkWithStatement(node) { + checkStatementContext(node); + checkExpression(node.expression); + checkSourceElement(node.statement); + } + function checkSwitchStatement(node) { + checkStatementContext(node); + var expressionType = checkExpression(node.expression); + ts.forEach(node.clauses, function (clause) { + if (clause.expression) { + var caseType = checkExpression(clause.expression); + if (!isTypeAssignableTo(expressionType, caseType)) { + checkTypeAssignableTo(caseType, expressionType, clause.expression, undefined, undefined); + } + } + checkBlock(clause); + }); + } + function checkLabelledStatement(node) { + checkStatementContext(node); + checkSourceElement(node.statement); + } + function checkThrowStatement(node) { + checkStatementContext(node); + checkExpression(node.expression); + } + function checkTryStatement(node) { + checkStatementContext(node); + checkBlock(node.tryBlock); + if (node.catchBlock) + checkBlock(node.catchBlock); + if (node.finallyBlock) + checkBlock(node.finallyBlock); + } + function checkIndexConstraints(type) { + function checkIndexConstraintForProperty(prop, propertyType, indexDeclaration, indexType, indexKind) { + if (!indexType) { + return; + } + if (indexKind === 1 /* Number */ && !isNumericName(prop.name)) { + return; + } + var errorNode; + if (prop.parent === type.symbol) { + errorNode = prop.valueDeclaration; + } + else if (indexDeclaration) { + errorNode = indexDeclaration; + } + else if (type.flags & 2048 /* Interface */) { + var someBaseClassHasBothPropertyAndIndexer = ts.forEach(type.baseTypes, function (base) { return getPropertyOfType(base, prop.name) && getIndexTypeOfType(base, indexKind); }); + errorNode = someBaseClassHasBothPropertyAndIndexer ? undefined : type.symbol.declarations[0]; + } + if (errorNode && !isTypeAssignableTo(propertyType, indexType)) { + var errorMessage = indexKind === 0 /* String */ ? ts.Diagnostics.Property_0_of_type_1_is_not_assignable_to_string_index_type_2 : ts.Diagnostics.Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2; + error(errorNode, errorMessage, symbolToString(prop), typeToString(propertyType, false), typeToString(indexType, false)); + } + } + var declaredNumberIndexer = getIndexDeclarationOfSymbol(type.symbol, 1 /* Number */); + var declaredStringIndexer = getIndexDeclarationOfSymbol(type.symbol, 0 /* String */); + var stringIndexType = getIndexTypeOfType(type, 0 /* String */); + var numberIndexType = getIndexTypeOfType(type, 1 /* Number */); + if (stringIndexType || numberIndexType) { + ts.forEach(getPropertiesOfType(type), function (prop) { + var propType = getTypeOfSymbol(prop); + checkIndexConstraintForProperty(prop, propType, declaredStringIndexer, stringIndexType, 0 /* String */); + checkIndexConstraintForProperty(prop, propType, declaredNumberIndexer, numberIndexType, 1 /* Number */); + }); + } + var errorNode; + if (stringIndexType && numberIndexType) { + errorNode = declaredNumberIndexer || declaredStringIndexer; + if (!errorNode && (type.flags & 2048 /* Interface */)) { + var someBaseTypeHasBothIndexers = ts.forEach(type.baseTypes, function (base) { return getIndexTypeOfType(base, 0 /* String */) && getIndexTypeOfType(base, 1 /* Number */); }); + errorNode = someBaseTypeHasBothIndexers ? undefined : type.symbol.declarations[0]; + } + } + if (errorNode && !isTypeAssignableTo(numberIndexType, stringIndexType)) { + error(errorNode, ts.Diagnostics.Numeric_index_type_0_is_not_assignable_to_string_index_type_1, typeToString(numberIndexType, false), typeToString(stringIndexType, false)); + } + } + function checkNameIsReserved(name, message) { + switch (name.text) { + case "any": + case "number": + case "boolean": + case "string": + case "void": + error(name, message, name.text); + return true; + } + } + function checkClassDeclaration(node) { + checkDeclarationModifiers(node); + checkNameIsReserved(node.name, ts.Diagnostics.Class_name_cannot_be_0); + ts.forEach(node.typeParameters, checkTypeParameter); + var symbol = getSymbolOfNode(node); + var type = getDeclaredTypeOfSymbol(symbol); + var staticType = getTypeOfSymbol(symbol); + if (node.baseType) { + emitExtends = emitExtends || !isDeclarationContext(node); + checkTypeReference(node.baseType); + } + if (type.baseTypes.length) { + var baseType = type.baseTypes[0]; + checkTypeAssignableTo(type, baseType, node.name, ts.Diagnostics.Class_0_incorrectly_extends_base_class_1_Colon, ts.Diagnostics.Class_0_incorrectly_extends_base_class_1); + var staticBaseType = getTypeOfSymbol(baseType.symbol); + checkTypeAssignableTo(staticType, getTypeWithoutConstructors(staticBaseType), node.name, ts.Diagnostics.Class_static_side_0_incorrectly_extends_base_class_static_side_1_Colon, ts.Diagnostics.Class_static_side_0_incorrectly_extends_base_class_static_side_1); + if (baseType.symbol !== resolveEntityName(node, node.baseType.typeName, ts.SymbolFlags.Value)) { + error(node.baseType, ts.Diagnostics.Type_name_0_in_extends_clause_does_not_reference_constructor_function_for_0, typeToString(baseType, false)); + } + checkExpression(node.baseType.typeName); + checkKindsOfPropertyMemberOverrides(type, baseType); + } + if (node.implementedTypes) { + ts.forEach(node.implementedTypes, function (typeRefNode) { + checkTypeReference(typeRefNode); + var t = getTypeFromTypeReferenceNode(typeRefNode); + if (t !== unknownType) { + var declaredType = (t.flags & 4096 /* Reference */) ? t.target : t; + if (declaredType.flags & (1024 /* Class */ | 2048 /* Interface */)) { + checkTypeAssignableTo(type, t, node.name, ts.Diagnostics.Class_0_incorrectly_implements_interface_1_Colon, ts.Diagnostics.Class_0_incorrectly_implements_interface_1); + } + else { + error(typeRefNode, ts.Diagnostics.A_class_may_only_implement_another_class_or_interface); + } + } + }); + } + checkIndexConstraints(type); + ts.forEach(node.members, checkSourceElement); + checkTypeForDuplicateIndexSignatures(node); + } + function checkKindsOfPropertyMemberOverrides(type, baseType) { + function getTargetSymbol(s) { + return s.flags & 8388608 /* Instantiated */ ? getSymbolLinks(s).target : s; + } + var baseProperties = getPropertiesOfType(baseType); + for (var i = 0, len = baseProperties.length; i < len; ++i) { + var base = getTargetSymbol(baseProperties[i]); + if (base.flags & 67108864 /* Prototype */) { + continue; + } + var derived = getTargetSymbol(getPropertyOfType(type, base.name)); + if (derived) { + var baseDeclarationFlags = getDeclarationFlagsFromSymbol(base); + var derivedDeclarationFlags = getDeclarationFlagsFromSymbol(derived); + if ((baseDeclarationFlags & 32 /* Private */) || (derivedDeclarationFlags & 32 /* Private */)) { + continue; + } + if ((baseDeclarationFlags & 64 /* Static */) !== (derivedDeclarationFlags & 64 /* Static */)) { + continue; + } + if ((base.flags & derived.flags & 2048 /* Method */) || ((base.flags & ts.SymbolFlags.PropertyOrAccessor) && (derived.flags & ts.SymbolFlags.PropertyOrAccessor))) { + continue; + } + var errorMessage; + if (base.flags & 2048 /* Method */) { + if (derived.flags & ts.SymbolFlags.Accessor) { + errorMessage = ts.Diagnostics.Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor; + } + else { + ts.Debug.assert(derived.flags & 2 /* Property */); + errorMessage = ts.Diagnostics.Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property; + } + } + else if (base.flags & 2 /* Property */) { + ts.Debug.assert(derived.flags & 2048 /* Method */); + errorMessage = ts.Diagnostics.Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function; + } + else { + ts.Debug.assert(base.flags & ts.SymbolFlags.Accessor); + ts.Debug.assert(derived.flags & 2048 /* Method */); + errorMessage = ts.Diagnostics.Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function; + } + error(derived.valueDeclaration.name, errorMessage, typeToString(baseType, false), symbolToString(base), typeToString(type, false)); + } + } + } + function isAccessor(kind) { + return kind === 118 /* GetAccessor */ || kind === 119 /* SetAccessor */; + } + function areTypeParameterDeclarationsPairwiseIdentical(list1, list2) { + if (!list1 && !list2) { + return true; + } + if (!list1 || !list2 || list1.length !== list2.length) { + return false; + } + for (var i = 0, len = list1.length; i < len; ++i) { + if (list1[i].name.text !== list2[i].name.text) { + return false; + } + if (!list1[i].constraint && !list2[i].constraint) { + continue; + } + if (!list1[i].constraint || !list2[i].constraint) { + return false; + } + var t1 = getTypeFromTypeNode(list1[i].constraint); + var t2 = getTypeFromTypeNode(list2[i].constraint); + if (!isTypeIdenticalTo(t1, t2)) { + return false; + } + } + return true; + } + function checkInterfaceDeclaration(node) { + checkDeclarationModifiers(node); + checkNameIsReserved(node.name, ts.Diagnostics.Interface_name_cannot_be_0); + ts.forEach(node.typeParameters, checkTypeParameter); + var declarations = node.symbol.declarations; + if (declarations.length > 1) { + var firstInterfaceDecl; + for (var i = 0, len = declarations.length; i < len; ++i) { + if (declarations[i].kind === 170 /* InterfaceDeclaration */) { + firstInterfaceDecl = declarations[i]; + break; + } + } + if (node !== firstInterfaceDecl && !areTypeParameterDeclarationsPairwiseIdentical(firstInterfaceDecl.typeParameters, node.typeParameters)) { + error(node.name, ts.Diagnostics.All_declarations_of_an_interface_must_have_identical_type_parameters); + } + } + var symbol = getSymbolOfNode(node); + var links = getSymbolLinks(symbol); + if (!links.typeChecked) { + var type = getDeclaredTypeOfSymbol(symbol); + ts.forEach(type.baseTypes, function (baseType) { + checkTypeAssignableTo(type, baseType, node.name, ts.Diagnostics.Interface_0_incorrectly_extends_interface_1_Colon, ts.Diagnostics.Interface_0_incorrectly_extends_interface_1); + }); + checkIndexConstraints(type); + links.typeChecked = true; + } + ts.forEach(node.baseTypes, checkTypeReference); + ts.forEach(node.members, checkSourceElement); + checkTypeForDuplicateIndexSignatures(node); + } + function getConstantValue(node) { + if (node.kind === 2 /* NumericLiteral */) + return +node.text; + if (node.kind === 138 /* PrefixOperator */ && node.operator === 25 /* MinusToken */) { + node = node.operand; + if (node.kind === 2 /* NumericLiteral */) + return -node.text; + } + } + function checkEnumDeclaration(node) { + checkDeclarationModifiers(node); + checkNameIsReserved(node.name, ts.Diagnostics.Enum_name_cannot_be_0); + var enumType = getDeclaredTypeOfSymbol(getSymbolOfNode(node)); + var autoValue = 0; + var ambient = isDeclarationContext(node); + ts.forEach(node.members, function (member) { + var initializer = member.initializer; + if (initializer) { + checkTypeAssignableTo(checkExpression(initializer), enumType, initializer, undefined, undefined); + } + if (ambient) { + if (initializer) { + var value = getConstantValue(initializer); + if (value !== undefined) { + getNodeLinks(member).enumMemberValue = value; + } + else { + error(initializer, ts.Diagnostics.In_an_enum_declaration_context_initializer_must_be_a_number_literal); + } + } + } + else { + if (initializer) { + autoValue = initializer.kind === 2 /* NumericLiteral */ ? +initializer.text : undefined; + } + else if (autoValue === undefined) { + error(member, ts.Diagnostics.Enum_member_must_have_initializer); + autoValue = 0; + } + if (!initializer || initializer.kind === 2 /* NumericLiteral */) { + getNodeLinks(member).enumMemberValue = autoValue++; + } + } + }); + } + function checkModuleDeclaration(node) { + checkDeclarationModifiers(node); + if (node.name.kind === 3 /* StringLiteral */) { + if (!isDeclarationContext(node)) { + error(node, ts.Diagnostics.Ambient_external_modules_require_a_declare_modifier); + } + if (node.parent.kind !== 177 /* SourceFile */ || node.parent.flags & 1024 /* ExternalModule */) { + error(node, ts.Diagnostics.Ambient_external_modules_cannot_be_nested_in_other_modules); + } + if (isExternalModuleNameRelative(node.name.text)) { + error(node, ts.Diagnostics.Ambient_external_module_declaration_cannot_specify_relative_module_name); + } + var symbol = getSymbolOfNode(node); + var links = getSymbolLinks(symbol); + if (!links.typeChecked) { + getExportAssignmentSymbol(symbol); + links.typeChecked = true; + } + } + checkSourceElement(node.body); + } + function checkImportDeclaration(node) { + checkDeclarationModifiers(node); + checkNameIsReserved(node.name, ts.Diagnostics.Import_name_cannot_be_0); + var symbol = getSymbolOfNode(node); + var target; + if (node.entityName) { + target = resolveImport(symbol); + if (target !== unknownSymbol && target.flags & ts.SymbolFlags.Value) { + checkExpression(node.entityName); + } + } + else { + if (node.parent.kind === 177 /* SourceFile */) { + checkModulesEnabled(node); + target = resolveImport(symbol); + } + else if (node.parent.kind === 173 /* ModuleBlock */ && node.parent.parent.name.kind === 3 /* StringLiteral */) { + if (isExternalModuleNameRelative(node.externalModuleName.text)) { + error(node, ts.Diagnostics.Import_declaration_in_an_ambient_external_module_declaration_cannot_reference_external_module_through_relative_external_module_name); + target = unknownSymbol; + } + else { + target = resolveImport(symbol); + } + } + else { + target = unknownSymbol; + } + } + if (target !== unknownSymbol) { + var excludedMeanings = (symbol.flags & ts.SymbolFlags.Value ? ts.SymbolFlags.Value : 0) | (symbol.flags & ts.SymbolFlags.Type ? ts.SymbolFlags.Type : 0) | (symbol.flags & ts.SymbolFlags.Namespace ? ts.SymbolFlags.Namespace : 0); + if (target.flags & excludedMeanings) { + error(node, ts.Diagnostics.Import_declaration_conflicts_with_local_declaration_of_0, symbolToString(symbol)); + } + } + } + function checkModulesEnabled(node) { + if (!modulesVerified) { + if (!program.getCompilerOptions().module) { + error(node, ts.Diagnostics.Cannot_compile_external_modules_unless_the_module_flag_is_provided); + } + modulesVerified = true; + } + } + function checkExportAssignment(node) { + var container = node.parent; + if (container.kind === 177 /* SourceFile */) { + checkModulesEnabled(node); + } + } + function checkSourceElement(node) { + if (!node) + return; + switch (node.kind) { + case 113 /* TypeParameter */: + return checkTypeParameter(node); + case 114 /* Parameter */: + return checkParameter(node); + case 115 /* Property */: + return checkPropertyDeclaration(node); + case 120 /* CallSignature */: + case 121 /* ConstructSignature */: + case 122 /* IndexSignature */: + return checkSignatureDeclaration(node); + case 116 /* Method */: + return checkMethodDeclaration(node); + case 117 /* Constructor */: + return checkConstructorDeclaration(node); + case 118 /* GetAccessor */: + case 119 /* SetAccessor */: + return checkAccessorDeclaration(node); + case 123 /* TypeReference */: + return checkTypeReference(node); + case 124 /* TypeQuery */: + return checkTypeQuery(node); + case 125 /* TypeLiteral */: + return checkTypeLiteral(node); + case 126 /* ArrayType */: + return checkArrayType(node); + case 167 /* FunctionDeclaration */: + return checkFunctionDeclaration(node); + case 143 /* Block */: + case 168 /* FunctionBlock */: + case 173 /* ModuleBlock */: + return checkBlock(node); + case 144 /* VariableStatement */: + return checkVariableStatement(node); + case 146 /* ExpressionStatement */: + return checkExpressionStatement(node); + case 147 /* IfStatement */: + return checkIfStatement(node); + case 148 /* DoStatement */: + return checkDoStatement(node); + case 149 /* WhileStatement */: + return checkWhileStatement(node); + case 150 /* ForStatement */: + return checkForStatement(node); + case 151 /* ForInStatement */: + return checkForInStatement(node); + case 152 /* ContinueStatement */: + case 153 /* BreakStatement */: + return checkBreakOrContinueStatement(node); + case 154 /* ReturnStatement */: + return checkReturnStatement(node); + case 155 /* WithStatement */: + return checkWithStatement(node); + case 156 /* SwitchStatement */: + return checkSwitchStatement(node); + case 159 /* LabelledStatement */: + return checkLabelledStatement(node); + case 160 /* ThrowStatement */: + return checkThrowStatement(node); + case 161 /* TryStatement */: + return checkTryStatement(node); + case 166 /* VariableDeclaration */: + return checkVariableDeclaration(node); + case 169 /* ClassDeclaration */: + return checkClassDeclaration(node); + case 170 /* InterfaceDeclaration */: + return checkInterfaceDeclaration(node); + case 171 /* EnumDeclaration */: + return checkEnumDeclaration(node); + case 172 /* ModuleDeclaration */: + return checkModuleDeclaration(node); + case 174 /* ImportDeclaration */: + return checkImportDeclaration(node); + case 175 /* ExportAssignment */: + return checkExportAssignment(node); + } + } + function checkSourceFile(node) { + var links = getNodeLinks(node); + if (!(links.flags & 1 /* TypeChecked */)) { + emitExtends = false; + ts.forEach(node.statements, checkSourceElement); + if (node.flags & 1024 /* ExternalModule */) { + var symbol = getExportAssignmentSymbol(node.symbol); + if (symbol && symbol.flags & 4194304 /* Import */) { + getSymbolLinks(symbol).referenced = true; + } + } + if (emitExtends) + links.flags |= 8 /* EmitExtends */; + links.flags |= 1 /* TypeChecked */; + } + } + function checkProgram() { + ts.forEach(program.getSourceFiles(), checkSourceFile); + } + function getSortedDiagnostics() { + if (diagnosticsModified) { + diagnostics.sort(ts.compareDiagnostics); + diagnostics = ts.deduplicateSortedDiagnostics(diagnostics); + diagnosticsModified = false; + } + return diagnostics; + } + function getDiagnostics(sourceFile) { + if (sourceFile) { + checkSourceFile(sourceFile); + return ts.filter(getSortedDiagnostics(), function (d) { return d.file === sourceFile; }); + } + checkProgram(); + return getSortedDiagnostics(); + } + function getGlobalDiagnostics() { + return ts.filter(getSortedDiagnostics(), function (d) { return !d.file; }); + } + function getNodeAtPosition(sourceFile, position) { + function findChildAtPosition(parent) { + var child = ts.forEachChild(parent, function (node) { + if (position >= node.pos && position <= node.end && position >= ts.getTokenPosOfNode(node)) { + return findChildAtPosition(node); + } + }); + return child || parent; + } + if (position < sourceFile.pos) + position = sourceFile.pos; + if (position > sourceFile.end) + position = sourceFile.end; + return findChildAtPosition(sourceFile); + } + function getSymbolsInScope(location, meaning) { + var symbols = {}; + var memberFlags = 0; + function copySymbol(symbol, meaning) { + if (symbol.flags & meaning) { + var id = symbol.name; + if (!isReservedMemberName(id) && !ts.hasProperty(symbols, id)) { + symbols[id] = symbol; + } + } + } + function copySymbols(source, meaning) { + if (meaning) { + for (var id in source) { + if (ts.hasProperty(source, id)) { + copySymbol(source[id], meaning); + } + } + } + } + while (location) { + if (location.locals && (location.kind !== 177 /* SourceFile */ || location.flags & 1024 /* ExternalModule */)) { + copySymbols(location.locals, meaning); + } + switch (location.kind) { + case 177 /* SourceFile */: + if (!(location.flags & 1024 /* ExternalModule */)) + break; + case 172 /* ModuleDeclaration */: + copySymbols(getSymbolOfNode(location).exports, meaning & ts.SymbolFlags.ModuleMember); + break; + case 171 /* EnumDeclaration */: + copySymbols(getSymbolOfNode(location).exports, meaning & 4 /* EnumMember */); + break; + case 169 /* ClassDeclaration */: + case 170 /* InterfaceDeclaration */: + if (!(memberFlags & 64 /* Static */)) { + copySymbols(getSymbolOfNode(location).members, meaning & ts.SymbolFlags.Type); + } + break; + case 136 /* FunctionExpression */: + if (location.name) { + copySymbol(location.symbol, meaning); + } + break; + case 163 /* CatchBlock */: + if (location.variable.text) { + copySymbol(location.symbol, meaning); + } + break; + } + memberFlags = location.flags; + location = location.parent; + } + copySymbols(globals, meaning); + return ts.mapToArray(symbols); + } + function isDeclarationIdentifier(identifier) { + if (identifier.parent) { + switch (identifier.parent.kind) { + case 113 /* TypeParameter */: + case 114 /* Parameter */: + case 166 /* VariableDeclaration */: + case 115 /* Property */: + case 129 /* PropertyAssignment */: + case 176 /* EnumMember */: + case 116 /* Method */: + case 167 /* FunctionDeclaration */: + case 136 /* FunctionExpression */: + case 118 /* GetAccessor */: + case 119 /* SetAccessor */: + case 169 /* ClassDeclaration */: + case 170 /* InterfaceDeclaration */: + case 171 /* EnumDeclaration */: + case 172 /* ModuleDeclaration */: + case 174 /* ImportDeclaration */: + return identifier.parent.name === identifier; + case 163 /* CatchBlock */: + return identifier.parent.variable === identifier; + } + } + return false; + } + function isTypeReferenceIdentifier(identifier) { + var node = identifier; + while (node.parent && node.parent.kind === 112 /* QualifiedName */) + node = node.parent; + return node.parent && node.parent.kind === 123 /* TypeReference */; + } + function isExpression(node) { + switch (node.kind) { + case 83 /* ThisKeyword */: + case 81 /* SuperKeyword */: + case 79 /* NullKeyword */: + case 85 /* TrueKeyword */: + case 70 /* FalseKeyword */: + case 4 /* RegularExpressionLiteral */: + case 127 /* ArrayLiteral */: + case 128 /* ObjectLiteral */: + case 130 /* PropertyAccess */: + case 131 /* IndexedAccess */: + case 132 /* CallExpression */: + case 133 /* NewExpression */: + case 134 /* TypeAssertion */: + case 135 /* ParenExpression */: + case 136 /* FunctionExpression */: + case 137 /* ArrowFunction */: + case 138 /* PrefixOperator */: + case 139 /* PostfixOperator */: + case 140 /* BinaryExpression */: + case 141 /* ConditionalExpression */: + return true; + case 112 /* QualifiedName */: + while (node.parent && node.parent.kind === 112 /* QualifiedName */) + node = node.parent; + return node.parent && node.parent.kind === 124 /* TypeQuery */; + case 55 /* Identifier */: + case 2 /* NumericLiteral */: + case 3 /* StringLiteral */: + var parent = node.parent; + if (parent) { + if (isExpression(parent)) + return true; + switch (parent.kind) { + case 166 /* VariableDeclaration */: + case 114 /* Parameter */: + case 115 /* Property */: + case 176 /* EnumMember */: + return parent.initializer === node; + case 146 /* ExpressionStatement */: + case 147 /* IfStatement */: + case 148 /* DoStatement */: + case 149 /* WhileStatement */: + case 154 /* ReturnStatement */: + case 155 /* WithStatement */: + case 156 /* SwitchStatement */: + case 157 /* CaseClause */: + case 160 /* ThrowStatement */: + case 156 /* SwitchStatement */: + return parent.expression === node; + case 150 /* ForStatement */: + return parent.initializer === node || parent.condition === node || parent.iterator === node; + case 151 /* ForInStatement */: + return parent.variable === node || parent.expression === node; + } + } + } + return false; + } + function getSymbolOfIdentifier(identifier) { + if (isExpression(identifier)) { + if (isRightSideOfQualifiedName()) { + } + return resolveEntityName(identifier, identifier, ts.SymbolFlags.Value); + } + if (isDeclarationIdentifier(identifier)) { + return getSymbolOfNode(identifier.parent); + } + if (isTypeReferenceIdentifier(identifier)) { + var entityName = isRightSideOfQualifiedName() ? identifier.parent : identifier; + var meaning = entityName.parent.kind === 123 /* TypeReference */ ? ts.SymbolFlags.Type : ts.SymbolFlags.Namespace; + return resolveEntityName(entityName, entityName, meaning); + } + function isRightSideOfQualifiedName() { + return (identifier.parent.kind === 112 /* QualifiedName */ || identifier.parent.kind === 130 /* PropertyAccess */) && identifier.parent.right === identifier; + } + } + function getModuleObjectName(node) { + return ts.getSourceTextOfNode(node.name); + } + function isExternalModule(symbol) { + return symbol.flags & 128 /* ValueModule */ && symbol.declarations.length === 1 && symbol.declarations[0].kind === 177 /* SourceFile */; + } + function getExpressionNamePrefix(node) { + var symbol = getNodeLinks(node).resolvedSymbol; + if (symbol) { + var exportSymbol = getExportSymbolOfValueSymbolIfExported(symbol); + var isExportedSymbolFoundInLocalScope = exportSymbol !== symbol; + var shouldEmitExportWithoutPrefix = (exportSymbol.flags & ts.SymbolFlags.ExportHasLocal) !== 0; + if (isExportedSymbolFoundInLocalScope && !shouldEmitExportWithoutPrefix) { + symbol = exportSymbol; + } + if (symbol.parent) { + return isExternalModule(symbol.parent) ? "exports" : symbolToString(symbol.parent); + } + } + } + function getPropertyAccessSubstitution(node) { + var symbol = getNodeLinks(node).resolvedSymbol; + if (symbol && (symbol.flags & 4 /* EnumMember */)) { + var declaration = symbol.valueDeclaration; + var constantValue; + if (declaration.kind === 176 /* EnumMember */ && (constantValue = getNodeLinks(declaration).enumMemberValue) !== undefined) { + return constantValue.toString() + " /* " + ts.identifierToString(declaration.name) + " */"; + } + } + } + function getExportAssignmentName(node) { + var symbol = getExportAssignmentSymbol(getSymbolOfNode(node)); + return symbol && symbolIsValue(symbol) ? symbolToString(symbol) : undefined; + } + function isTopLevelValueImportedViaEntityName(node) { + if (node.parent.kind !== 177 /* SourceFile */ || !node.entityName) { + return false; + } + var symbol = getSymbolOfNode(node); + var target = resolveImport(symbol); + return target !== unknownSymbol && ((target.flags & ts.SymbolFlags.Value) !== 0); + } + function isReferencedImportDeclaration(node) { + var symbol = getSymbolOfNode(node); + if (getSymbolLinks(symbol).referenced) { + return true; + } + if (node.flags & 1 /* Export */) { + var target = resolveImport(symbol); + if (target !== unknownSymbol && target.flags & ts.SymbolFlags.Value) { + return true; + } + } + return false; + } + function getNodeCheckFlags(node) { + return getNodeLinks(node).flags; + } + function getEnumMemberValue(node) { + return getNodeLinks(node).enumMemberValue; + } + function invokeEmitter() { + var resolver = { + getProgram: function () { return program; }, + getModuleObjectName: getModuleObjectName, + getExpressionNamePrefix: getExpressionNamePrefix, + getPropertyAccessSubstitution: getPropertyAccessSubstitution, + getExportAssignmentName: getExportAssignmentName, + isReferencedImportDeclaration: isReferencedImportDeclaration, + getNodeCheckFlags: getNodeCheckFlags, + getEnumMemberValue: getEnumMemberValue, + isTopLevelValueImportedViaEntityName: isTopLevelValueImportedViaEntityName + }; + checkProgram(); + return ts.emitFiles(resolver); + } + function initializeTypeChecker() { + ts.forEach(program.getSourceFiles(), function (file) { + ts.bindSourceFile(file); + ts.forEach(file.semanticErrors, addDiagnostic); + }); + ts.forEach(program.getSourceFiles(), function (file) { + if (!(file.flags & 1024 /* ExternalModule */)) { + extendSymbolTable(globals, file.locals); + } + }); + getSymbolLinks(undefinedSymbol).type = undefinedType; + getSymbolLinks(argumentsSymbol).type = anyType; + getSymbolLinks(unknownSymbol).type = unknownType; + globals[undefinedSymbol.name] = undefinedSymbol; + globalObjectType = getGlobalType("Object"); + globalFunctionType = getGlobalType("Function"); + globalArrayType = getGlobalType("Array", 1); + globalStringType = getGlobalType("String"); + globalNumberType = getGlobalType("Number"); + globalBooleanType = getGlobalType("Boolean"); + globalRegExpType = getGlobalType("RegExp"); + } + initializeTypeChecker(); + checker = { + getProgram: function () { return program; }, + getDiagnostics: getDiagnostics, + getGlobalDiagnostics: getGlobalDiagnostics, + getNodeCount: function () { return ts.sum(program.getSourceFiles(), "nodeCount"); }, + getIdentifierCount: function () { return ts.sum(program.getSourceFiles(), "identifierCount"); }, + getSymbolCount: function () { return ts.sum(program.getSourceFiles(), "symbolCount"); }, + getTypeCount: function () { return typeCount; }, + checkProgram: checkProgram, + emitFiles: invokeEmitter, + getSymbolOfNode: getSymbolOfNode, + getParentOfSymbol: getParentOfSymbol, + getTypeOfSymbol: getTypeOfSymbol, + getDeclaredTypeOfSymbol: getDeclaredTypeOfSymbol, + getPropertiesOfType: getPropertiesOfType, + getSignaturesOfType: getSignaturesOfType, + getIndexTypeOfType: getIndexTypeOfType, + getReturnTypeOfSignature: getReturnTypeOfSignature, + resolveEntityName: resolveEntityName, + getSymbolsInScope: getSymbolsInScope, + getSymbolOfIdentifier: getSymbolOfIdentifier + }; + return checker; + } + ts.createTypeChecker = createTypeChecker; +})(ts || (ts = {})); +var ts; +(function (ts) { + (function (ByteOrderMark) { + ByteOrderMark[ByteOrderMark["None"] = 0] = "None"; + ByteOrderMark[ByteOrderMark["Utf8"] = 1] = "Utf8"; + ByteOrderMark[ByteOrderMark["Utf16BigEndian"] = 2] = "Utf16BigEndian"; + ByteOrderMark[ByteOrderMark["Utf16LittleEndian"] = 3] = "Utf16LittleEndian"; + })(ts.ByteOrderMark || (ts.ByteOrderMark = {})); + var ByteOrderMark = ts.ByteOrderMark; + var scanner = ts.createScanner(1 /* ES5 */); + var emptyArray = []; + function createNode(kind, pos, end, flags, parent) { + var node = new (ts.getNodeConstructor(kind))(); + node.pos = pos; + node.end = end; + node.flags = flags; + node.parent = parent; + return node; + } + var NodeObject = (function () { + function NodeObject() { + } + NodeObject.prototype.getSourceFile = function () { + var node = this; + while (node.kind !== 177 /* SourceFile */) + node = node.parent; + return node; + }; + NodeObject.prototype.getTextPos = function () { + return ts.getTokenPosOfNode(this); + }; + NodeObject.prototype.getFullWidth = function () { + return this.end - this.pos; + }; + NodeObject.prototype.getTriviaWidth = function () { + return ts.getTokenPosOfNode(this) - this.pos; + }; + NodeObject.prototype.getFullText = function () { + return this.getSourceFile().text.substring(this.pos, this.end); + }; + NodeObject.prototype.addSyntheticNodes = function (nodes, pos, end) { + scanner.setTextPos(pos); + while (pos < end) { + var token = scanner.scan(); + var textPos = scanner.getTextPos(); + var node = nodes.push(createNode(token, pos, textPos, 256 /* Synthetic */, this)); + pos = textPos; + } + return pos; + }; + NodeObject.prototype.createSyntaxList = function (nodes) { + var list = createNode(179 /* SyntaxList */, nodes.pos, nodes.end, 256 /* Synthetic */, this); + list._children = []; + var pos = nodes.pos; + for (var i = 0, len = nodes.length; i < len; i++) { + var node = nodes[i]; + if (pos < node.pos) { + pos = this.addSyntheticNodes(list._children, pos, node.pos); + } + list._children.push(node); + pos = node.end; + } + if (pos < nodes.end) { + this.addSyntheticNodes(list._children, pos, nodes.end); + } + return list; + }; + NodeObject.prototype.createChildren = function () { + var _this = this; + if (this.kind > 111 /* Missing */) { + scanner.setText(this.getSourceFile().text); + var children = []; + var pos = this.pos; + var processNode = function (node) { + if (pos < node.pos) { + pos = _this.addSyntheticNodes(children, pos, node.pos); + } + children.push(node); + pos = node.end; + }; + var processNodes = function (nodes) { + if (pos < nodes.pos) { + pos = _this.addSyntheticNodes(children, pos, nodes.pos); + } + children.push(_this.createSyntaxList(nodes)); + pos = nodes.end; + }; + ts.forEachChild(this, processNode, processNodes); + if (pos < this.end) { + this.addSyntheticNodes(children, pos, this.end); + } + scanner.setText(undefined); + } + this._children = children || emptyArray; + }; + NodeObject.prototype.getChildCount = function () { + if (!this._children) + this.createChildren(); + return this._children.length; + }; + NodeObject.prototype.getChildAt = function (index) { + if (!this._children) + this.createChildren(); + return this._children[index]; + }; + NodeObject.prototype.getChildren = function () { + if (!this._children) + this.createChildren(); + return this._children; + }; + NodeObject.prototype.getFirstToken = function () { + var children = this.getChildren(); + for (var i = 0; i < children.length; i++) { + var child = children[i]; + if (child.kind < 111 /* Missing */) + return child; + if (child.kind > 111 /* Missing */) + return child.getFirstToken(); + } + }; + NodeObject.prototype.getLastToken = function () { + var children = this.getChildren(); + for (var i = children.length - 1; i >= 0; i--) { + var child = children[i]; + if (child.kind < 111 /* Missing */) + return child; + if (child.kind > 111 /* Missing */) + return child.getLastToken(); + } + }; + return NodeObject; + })(); + var SymbolObject = (function () { + function SymbolObject(flags, name) { + this.flags = flags; + this.name = name; + } + SymbolObject.prototype.getFlags = function () { + return this.flags; + }; + SymbolObject.prototype.getName = function () { + return this.name; + }; + SymbolObject.prototype.getDeclarations = function () { + return this.declarations; + }; + return SymbolObject; + })(); + var TypeObject = (function () { + function TypeObject(checker, flags) { + this.checker = checker; + this.flags = flags; + } + TypeObject.prototype.getFlags = function () { + return this.flags; + }; + TypeObject.prototype.getSymbol = function () { + return this.symbol; + }; + TypeObject.prototype.getProperties = function () { + return this.checker.getPropertiesOfType(this); + }; + TypeObject.prototype.getCallSignatures = function () { + return this.checker.getSignaturesOfType(this, 0 /* Call */); + }; + TypeObject.prototype.getConstructSignatures = function () { + return this.checker.getSignaturesOfType(this, 1 /* Construct */); + }; + TypeObject.prototype.getStringIndexType = function () { + return this.checker.getIndexTypeOfType(this, 0 /* String */); + }; + TypeObject.prototype.getNumberIndexType = function () { + return this.checker.getIndexTypeOfType(this, 1 /* Number */); + }; + return TypeObject; + })(); + var SignatureObject = (function () { + function SignatureObject(checker) { + this.checker = checker; + } + SignatureObject.prototype.getDeclaration = function () { + return this.declaration; + }; + SignatureObject.prototype.getTypeParameters = function () { + return this.typeParameters; + }; + SignatureObject.prototype.getParameters = function () { + return this.parameters; + }; + SignatureObject.prototype.getReturnType = function () { + return this.checker.getReturnTypeOfSignature(this); + }; + return SignatureObject; + })(); + function createLanguageService(host) { + var program; + var typeChecker; + var filesByName; + function createCompilerHost() { + return { + getSourceFile: function (filename, languageVersion) { + var hostFile = filesByName[filename]; + if (!hostFile.sourceText) { + hostFile.sourceText = host.getScriptSnapshot(filename); + } + return ts.createSourceFile(filename, hostFile.sourceText.getText(0, hostFile.sourceText.getLength()), languageVersion); + }, + getDefaultLibFilename: function () { return ts.combinePaths(ts.getDirectoryPath(ts.normalizePath(sys.getExecutingFilePath())), "lib.d.ts"); }, + getCancellationToken: function () { return undefined; }, + writeFile: function (fileName, data) { + throw Error("TODO: write file"); + }, + getCurrentDirectory: function () { + throw Error("TODO: getCurrentDirectory"); + } + }; + } + function synchronizeHostData() { + filesByName = {}; + var files = host.getScriptFileNames(); + ts.forEach(files, function (f) { + filesByName[f] = { + version: host.getScriptVersion(f), + isOpen: host.getScriptIsOpen(f), + byteOrderMark: host.getScriptByteOrderMark(f) + }; + }); + var currentProgram = program; + var options = host.getCompilationSettings(); + program = ts.createProgram(files, options, createCompilerHost()); + typeChecker = program.getTypeChecker(); + if (currentProgram) { + } + } + function getSyntacticDiagnostics(filename) { + synchronizeHostData(); + var sourceFile = program.getSourceFile(filename); + return sourceFile ? program.getDiagnostics(sourceFile) : []; + } + function getSemanticDiagnostics(filename) { + synchronizeHostData(); + var sourceFile = program.getSourceFile(filename); + return sourceFile ? typeChecker.getDiagnostics(sourceFile) : []; + } + return { + getSyntacticDiagnostics: getSyntacticDiagnostics, + getSemanticDiagnostics: getSemanticDiagnostics + }; + } + ts.createLanguageService = createLanguageService; + function initializeServices() { + ts.objectAllocator = { + getNodeConstructor: function (kind) { + function Node() { + } + var proto = new NodeObject(); + proto.kind = kind; + proto.pos = 0; + proto.end = 0; + proto.flags = 0; + proto.parent = undefined; + Node.prototype = proto; + return Node; + }, + getSymbolConstructor: function () { return SymbolObject; }, + getTypeConstructor: function () { return TypeObject; }, + getSignatureConstructor: function () { return SignatureObject; } + }; + } + initializeServices(); +})(ts || (ts = {})); +var ts; +(function (ts) { + var ScriptSnapshotShimAdapter = (function () { + function ScriptSnapshotShimAdapter(scriptSnapshotShim) { + this.scriptSnapshotShim = scriptSnapshotShim; + this.lineStartPositions = null; + } + ScriptSnapshotShimAdapter.prototype.getText = function (start, end) { + return this.scriptSnapshotShim.getText(start, end); + }; + ScriptSnapshotShimAdapter.prototype.getLength = function () { + return this.scriptSnapshotShim.getLength(); + }; + ScriptSnapshotShimAdapter.prototype.getLineStartPositions = function () { + if (this.lineStartPositions == null) { + this.lineStartPositions = JSON.parse(this.scriptSnapshotShim.getLineStartPositions()); + } + return this.lineStartPositions; + }; + ScriptSnapshotShimAdapter.prototype.getChangeRange = function (scriptSnapshot) { + function createTextRange(start, length) { + function createSpan(start, length) { + return { + start: function () { return start; }, + end: function () { return start + length; }, + lenth: function () { return length; }, + isEmpty: function () { return length === 0; } + }; + } + return { + span: function () { return createSpan(start, length); }, + newLength: function () { return length; }, + newSpan: function () { return createSpan(start, length); }, + isUnchanged: function () { return length === 0; } + }; + } + var encoded = this.scriptSnapshotShim.getChangeRange(scriptSnapshot.scriptSnapshotShim); + if (encoded == null) { + return null; + } + var decoded = JSON.parse(encoded); + return createTextRange(decoded.span.start, decoded.span.length); + }; + return ScriptSnapshotShimAdapter; + })(); + var LanguageServiceShimHostAdapter = (function () { + function LanguageServiceShimHostAdapter(shimHost) { + this.shimHost = shimHost; + } + LanguageServiceShimHostAdapter.prototype.log = function (s) { + this.shimHost.log(s); + }; + LanguageServiceShimHostAdapter.prototype.getCompilationSettings = function () { + var settingsJson = this.shimHost.getCompilationSettings(); + if (settingsJson == null || settingsJson == "") { + return {}; + } + var settings = JSON.parse(settingsJson); + return settings; + }; + LanguageServiceShimHostAdapter.prototype.getScriptFileNames = function () { + var encoded = this.shimHost.getScriptFileNames(); + return JSON.parse(encoded); + }; + LanguageServiceShimHostAdapter.prototype.getScriptSnapshot = function (fileName) { + return new ScriptSnapshotShimAdapter(this.shimHost.getScriptSnapshot(fileName)); + }; + LanguageServiceShimHostAdapter.prototype.getScriptVersion = function (fileName) { + return this.shimHost.getScriptVersion(fileName); + }; + LanguageServiceShimHostAdapter.prototype.getScriptIsOpen = function (fileName) { + return this.shimHost.getScriptIsOpen(fileName); + }; + LanguageServiceShimHostAdapter.prototype.getScriptByteOrderMark = function (fileName) { + return this.shimHost.getScriptByteOrderMark(fileName); + }; + LanguageServiceShimHostAdapter.prototype.getLocalizedDiagnosticMessages = function () { + var diagnosticMessagesJson = this.shimHost.getLocalizedDiagnosticMessages(); + if (diagnosticMessagesJson == null || diagnosticMessagesJson == "") { + return null; + } + try { + return JSON.parse(diagnosticMessagesJson); + } + catch (e) { + this.log(e.description || "diagnosticMessages.generated.json has invalid JSON format"); + return null; + } + }; + return LanguageServiceShimHostAdapter; + })(); + ts.LanguageServiceShimHostAdapter = LanguageServiceShimHostAdapter; +})(ts || (ts = {})); +var ts; +(function (ts) { + var shortOptionNames = { + "d": "declaration", + "h": "help", + "m": "module", + "o": "out", + "t": "target", + "v": "version" + }; + var options = [ + { name: "codepage", type: "number" }, + { name: "declaration", type: "boolean" }, + { name: "diagnostics", type: "boolean" }, + { name: "help", type: "boolean" }, + { name: "locale", type: "string" }, + { name: "mapRoot", type: "string" }, + { name: "module", type: { "commonjs": 1 /* CommonJS */, "amd": 2 /* AMD */ }, error: ts.Diagnostics.Argument_for_module_option_must_be_commonjs_or_amd }, + { name: "noImplicitAny", type: "boolean" }, + { name: "noLib", type: "boolean" }, + { name: "noLibCheck", type: "boolean" }, + { name: "noResolve", type: "boolean" }, + { name: "out", type: "string" }, + { name: "outDir", type: "string" }, + { name: "removeComments", type: "boolean" }, + { name: "sourceMap", type: "boolean" }, + { name: "sourceRoot", type: "string" }, + { name: "target", type: { "es3": 0 /* ES3 */, "es5": 1 /* ES5 */ }, error: ts.Diagnostics.Argument_for_target_option_must_be_es3_or_es5 }, + { name: "version", type: "boolean" } + ]; + var optionDeclarations = {}; + ts.forEach(options, function (option) { + optionDeclarations[option.name.toLowerCase()] = option; + }); + function parseCommandLine(commandLine) { + var options = { + target: 0 /* ES3 */ + }; + var filenames = []; + var errors = []; + parseStrings(commandLine); + return { + options: options, + filenames: filenames, + errors: errors + }; + function parseStrings(args) { + var i = 0; + while (i < args.length) { + var s = args[i++]; + if (s.charCodeAt(0) === 64 /* at */) { + parseResponseFile(s.slice(1)); + } + else if (s.charCodeAt(0) === 45 /* minus */) { + s = s.slice(s.charCodeAt(1) === 45 /* minus */ ? 2 : 1).toLowerCase(); + if (ts.hasProperty(shortOptionNames, s)) { + s = shortOptionNames[s]; + } + if (ts.hasProperty(optionDeclarations, s)) { + var opt = optionDeclarations[s]; + if (!args[i] && opt.type !== "boolean") { + errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Compiler_option_0_expects_an_argument, opt.name)); + } + switch (opt.type) { + case "number": + options[opt.name] = parseInt(args[i++]); + break; + case "boolean": + options[opt.name] = true; + break; + case "string": + options[opt.name] = args[i++] || ""; + break; + default: + var value = (args[i++] || "").toLowerCase(); + if (ts.hasProperty(opt.type, value)) { + options[opt.name] = opt.type[value]; + } + else { + errors.push(ts.createCompilerDiagnostic(opt.error)); + } + } + } + else { + errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Unknown_compiler_option_0, s)); + } + } + else { + filenames.push(s); + } + } + } + function parseResponseFile(filename) { + var text = sys.readFile(filename); + if (!text) { + errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.File_0_not_found, filename)); + return; + } + var args = []; + var pos = 0; + while (true) { + while (pos < text.length && text.charCodeAt(pos) <= 32 /* space */) + pos++; + if (pos >= text.length) + break; + var start = pos; + if (text.charCodeAt(start) === 34 /* doubleQuote */) { + pos++; + while (pos < text.length && text.charCodeAt(pos) !== 34 /* doubleQuote */) + pos++; + if (pos < text.length) { + args.push(text.substring(start + 1, pos)); + pos++; + } + else { + errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Unterminated_quoted_string_in_response_file_0, filename)); + } + } + else { + while (text.charCodeAt(pos) > 32 /* space */) + pos++; + args.push(text.substring(start, pos)); + } + } + parseStrings(args); + } + } + ts.parseCommandLine = parseCommandLine; +})(ts || (ts = {})); diff --git a/bin/tc.js b/bin/tc.js new file mode 100644 index 0000000000000..5eee610c772ee --- /dev/null +++ b/bin/tc.js @@ -0,0 +1,11354 @@ +/*! ***************************************************************************** +Copyright (c) Microsoft Corporation. All rights reserved. +Licensed under the Apache License, Version 2.0 (the "License"); you may not use +this file except in compliance with the License. You may obtain a copy of the +License at http://www.apache.org/licenses/LICENSE-2.0 + +THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED +WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, +MERCHANTABLITY OR NON-INFRINGEMENT. + +See the Apache Version 2.0 License for specific language governing permissions +and limitations under the License. +***************************************************************************** */ + +var ts; +(function (ts) { + ts.Diagnostics = { + Unknown_compiler_option_0: { code: 6001, category: 1 /* Error */, key: "Unknown compiler option '{0}'." }, + File_0_not_found: { code: 6002, category: 1 /* Error */, key: "File '{0}' not found." }, + File_0_must_have_extension_ts_or_d_ts: { code: 6003, category: 1 /* Error */, key: "File '{0}' must have extension '.ts' or '.d.ts'." }, + Unrecognized_escape_sequence: { code: 1000, category: 1 /* Error */, key: "Unrecognized escape sequence." }, + Unexpected_character_0: { code: 1001, category: 1 /* Error */, key: "Unexpected character {0}." }, + Missing_close_quote_character: { code: 1002, category: 1 /* Error */, key: "Missing close quote character." }, + Identifier_expected: { code: -9999999, category: 1 /* Error */, key: "Identifier expected." }, + _0_keyword_expected: { code: 1004, category: 1 /* Error */, key: "'{0}' keyword expected." }, + _0_expected: { code: -9999999, category: 1 /* Error */, key: "'{0}' expected." }, + Identifier_expected_0_is_a_keyword: { code: 1006, category: 1 /* Error */, key: "Identifier expected; '{0}' is a keyword." }, + Automatic_semicolon_insertion_not_allowed: { code: 1007, category: 1 /* Error */, key: "Automatic semicolon insertion not allowed." }, + Unexpected_token_0_expected: { code: 1008, category: 1 /* Error */, key: "Unexpected token; '{0}' expected." }, + Trailing_comma_not_allowed: { code: 1009, category: 1 /* Error */, key: "Trailing comma not allowed." }, + Asterisk_Slash_expected: { code: 1010, category: 1 /* Error */, key: "'*/' expected." }, + public_or_private_modifier_must_precede_static: { code: 1011, category: 1 /* Error */, key: "'public' or 'private' modifier must precede 'static'." }, + Unexpected_token: { code: 1012, category: 1 /* Error */, key: "Unexpected token." }, + Catch_clause_parameter_cannot_have_a_type_annotation: { code: 1013, category: 1 /* Error */, key: "Catch clause parameter cannot have a type annotation." }, + A_rest_parameter_must_be_last_in_a_parameter_list: { code: 1014, category: 1 /* Error */, key: "A rest parameter must be last in a parameter list." }, + Parameter_cannot_have_question_mark_and_initializer: { code: 1015, category: 1 /* Error */, key: "Parameter cannot have question mark and initializer." }, + A_required_parameter_cannot_follow_an_optional_parameter: { code: 1016, category: 1 /* Error */, key: "A required parameter cannot follow an optional parameter." }, + An_index_signature_cannot_have_a_rest_parameter: { code: 1017, category: 1 /* Error */, key: "An index signature cannot have a rest parameter." }, + An_index_signature_parameter_cannot_have_an_accessibility_modifier: { code: 1018, category: 1 /* Error */, key: "An index signature parameter cannot have an accessibility modifier." }, + An_index_signature_parameter_cannot_have_a_question_mark: { code: 1019, category: 1 /* Error */, key: "An index signature parameter cannot have a question mark." }, + An_index_signature_parameter_cannot_have_an_initializer: { code: 1020, category: 1 /* Error */, key: "An index signature parameter cannot have an initializer." }, + An_index_signature_must_have_a_type_annotation: { code: 1021, category: 1 /* Error */, key: "An index signature must have a type annotation." }, + An_index_signature_parameter_must_have_a_type_annotation: { code: 1022, category: 1 /* Error */, key: "An index signature parameter must have a type annotation." }, + An_index_signature_parameter_type_must_be_string_or_number: { code: 1023, category: 1 /* Error */, key: "An index signature parameter type must be 'string' or 'number'." }, + extends_clause_already_seen: { code: 1024, category: 1 /* Error */, key: "'extends' clause already seen." }, + extends_clause_must_precede_implements_clause: { code: 1025, category: 1 /* Error */, key: "'extends' clause must precede 'implements' clause." }, + Classes_can_only_extend_a_single_class: { code: 1026, category: 1 /* Error */, key: "Classes can only extend a single class." }, + implements_clause_already_seen: { code: 1027, category: 1 /* Error */, key: "'implements' clause already seen." }, + Accessibility_modifier_already_seen: { code: 1028, category: 1 /* Error */, key: "Accessibility modifier already seen." }, + _0_modifier_must_precede_1_modifier: { code: 1029, category: 1 /* Error */, key: "'{0}' modifier must precede '{1}' modifier." }, + _0_modifier_already_seen: { code: 1030, category: 1 /* Error */, key: "'{0}' modifier already seen." }, + _0_modifier_cannot_appear_on_a_class_element: { code: 1031, category: 1 /* Error */, key: "'{0}' modifier cannot appear on a class element." }, + Interface_declaration_cannot_have_implements_clause: { code: 1032, category: 1 /* Error */, key: "Interface declaration cannot have 'implements' clause." }, + super_invocation_cannot_have_type_arguments: { code: 1034, category: 1 /* Error */, key: "'super' invocation cannot have type arguments." }, + Only_ambient_modules_can_use_quoted_names: { code: 1035, category: 1 /* Error */, key: "Only ambient modules can use quoted names." }, + Statements_are_not_allowed_in_ambient_contexts: { code: 1036, category: 1 /* Error */, key: "Statements are not allowed in ambient contexts." }, + A_function_implementation_cannot_be_declared_in_an_ambient_context: { code: 1037, category: 1 /* Error */, key: "A function implementation cannot be declared in an ambient context." }, + A_declare_modifier_cannot_be_used_in_an_already_ambient_context: { code: 1038, category: 1 /* Error */, key: "A 'declare' modifier cannot be used in an already ambient context." }, + Initializers_are_not_allowed_in_ambient_contexts: { code: 1039, category: 1 /* Error */, key: "Initializers are not allowed in ambient contexts." }, + _0_modifier_cannot_appear_on_a_module_element: { code: 1044, category: 1 /* Error */, key: "'{0}' modifier cannot appear on a module element." }, + A_declare_modifier_cannot_be_used_with_an_interface_declaration: { code: 1045, category: 1 /* Error */, key: "A 'declare' modifier cannot be used with an interface declaration." }, + A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file: { code: 1046, category: 1 /* Error */, key: "A 'declare' modifier is required for a top level declaration in a .d.ts file." }, + A_rest_parameter_cannot_be_optional: { code: 1047, category: 1 /* Error */, key: "A rest parameter cannot be optional." }, + A_rest_parameter_cannot_have_an_initializer: { code: 1048, category: 1 /* Error */, key: "A rest parameter cannot have an initializer." }, + A_set_accessor_must_have_exactly_one_parameter: { code: 1049, category: 1 /* Error */, key: "A 'set' accessor must have exactly one parameter." }, + A_set_accessor_cannot_have_an_optional_parameter: { code: 1051, category: 1 /* Error */, key: "A 'set' accessor cannot have an optional parameter." }, + A_set_accessor_parameter_cannot_have_an_initializer: { code: 1052, category: 1 /* Error */, key: "A 'set' accessor parameter cannot have an initializer." }, + A_set_accessor_cannot_have_rest_parameter: { code: 1053, category: 1 /* Error */, key: "A 'set' accessor cannot have rest parameter." }, + A_get_accessor_cannot_have_parameters: { code: 1054, category: 1 /* Error */, key: "A 'get' accessor cannot have parameters." }, + Modifiers_cannot_appear_here: { code: 1055, category: 1 /* Error */, key: "Modifiers cannot appear here." }, + Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher: { code: 1056, category: 1 /* Error */, key: "Accessors are only available when targeting ECMAScript 5 and higher." }, + Enum_member_must_have_initializer: { code: -9999999, category: 1 /* Error */, key: "Enum member must have initializer." }, + An_export_assignment_cannot_be_used_in_an_internal_module: { code: 1063, category: 1 /* Error */, key: "An export assignment cannot be used in an internal module." }, + Ambient_enum_elements_can_only_have_integer_literal_initializers: { code: 1066, category: 1 /* Error */, key: "Ambient enum elements can only have integer literal initializers." }, + module_class_interface_enum_import_or_statement: { code: 1067, category: 3 /* NoPrefix */, key: "module, class, interface, enum, import or statement" }, + constructor_function_accessor_or_variable: { code: 1068, category: 3 /* NoPrefix */, key: "constructor, function, accessor or variable" }, + statement: { code: 1069, category: 3 /* NoPrefix */, key: "statement" }, + case_or_default_clause: { code: 1070, category: 3 /* NoPrefix */, key: "case or default clause" }, + identifier: { code: 1071, category: 3 /* NoPrefix */, key: "identifier" }, + call_construct_index_property_or_function_signature: { code: 1072, category: 3 /* NoPrefix */, key: "call, construct, index, property or function signature" }, + expression: { code: 1073, category: 3 /* NoPrefix */, key: "expression" }, + type_name: { code: 1074, category: 3 /* NoPrefix */, key: "type name" }, + property_or_accessor: { code: 1075, category: 3 /* NoPrefix */, key: "property or accessor" }, + parameter: { code: 1076, category: 3 /* NoPrefix */, key: "parameter" }, + type: { code: 1077, category: 3 /* NoPrefix */, key: "type" }, + type_parameter: { code: 1078, category: 3 /* NoPrefix */, key: "type parameter" }, + A_declare_modifier_cannot_be_used_with_an_import_declaration: { code: 1079, category: 1 /* Error */, key: "A 'declare' modifier cannot be used with an import declaration." }, + Invalid_reference_directive_syntax: { code: 1084, category: 1 /* Error */, key: "Invalid 'reference' directive syntax." }, + Octal_literals_are_not_available_when_targeting_ECMAScript_5_and_higher: { code: 1085, category: 1 /* Error */, key: "Octal literals are not available when targeting ECMAScript 5 and higher." }, + An_accessor_cannot_be_declared_in_an_ambient_context: { code: 1086, category: 1 /* Error */, key: "An accessor cannot be declared in an ambient context." }, + _0_modifier_cannot_appear_on_a_constructor_declaration: { code: 1089, category: 1 /* Error */, key: "'{0}' modifier cannot appear on a constructor declaration." }, + _0_modifier_cannot_appear_on_a_parameter: { code: 1090, category: 1 /* Error */, key: "'{0}' modifier cannot appear on a parameter." }, + Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement: { code: 1091, category: 1 /* Error */, key: "Only a single variable declaration is allowed in a 'for...in' statement." }, + Type_parameters_cannot_appear_on_a_constructor_declaration: { code: 1092, category: 1 /* Error */, key: "Type parameters cannot appear on a constructor declaration." }, + Type_annotation_cannot_appear_on_a_constructor_declaration: { code: 1093, category: 1 /* Error */, key: "Type annotation cannot appear on a constructor declaration." }, + An_accessor_cannot_have_type_parameters: { code: 1094, category: 1 /* Error */, key: "An accessor cannot have type parameters." }, + A_set_accessor_cannot_have_a_return_type_annotation: { code: 1095, category: 1 /* Error */, key: "A 'set' accessor cannot have a return type annotation." }, + An_index_signature_must_have_exactly_one_parameter: { code: 1096, category: 1 /* Error */, key: "An index signature must have exactly one parameter." }, + _0_list_cannot_be_empty: { code: 1097, category: 1 /* Error */, key: "'{0}' list cannot be empty." }, + Type_parameter_list_cannot_be_empty: { code: 1098, category: 1 /* Error */, key: "Type parameter list cannot be empty." }, + Type_argument_list_cannot_be_empty: { code: 1099, category: 1 /* Error */, key: "Type argument list cannot be empty." }, + Invalid_use_of_0_in_strict_mode: { code: 1100, category: 1 /* Error */, key: "Invalid use of '{0}' in strict mode." }, + with_statements_are_not_allowed_in_strict_mode: { code: 1101, category: 1 /* Error */, key: "'with' statements are not allowed in strict mode." }, + delete_cannot_be_called_on_an_identifier_in_strict_mode: { code: 1102, category: 1 /* Error */, key: "'delete' cannot be called on an identifier in strict mode." }, + Invalid_left_hand_side_in_for_in_statement: { code: 1103, category: 1 /* Error */, key: "Invalid left-hand side in 'for...in' statement." }, + continue_statement_can_only_be_used_within_an_enclosing_iteration_statement: { code: 1104, category: 1 /* Error */, key: "'continue' statement can only be used within an enclosing iteration statement." }, + break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement: { code: 1105, category: 1 /* Error */, key: "'break' statement can only be used within an enclosing iteration or switch statement." }, + Jump_target_not_found: { code: 1106, category: 1 /* Error */, key: "Jump target not found." }, + Jump_target_cannot_cross_function_boundary: { code: 1107, category: 1 /* Error */, key: "Jump target cannot cross function boundary." }, + return_statement_must_be_contained_within_a_function_body: { code: 1108, category: 1 /* Error */, key: "'return' statement must be contained within a function body." }, + Expression_expected: { code: -9999999, category: 1 /* Error */, key: "Expression expected." }, + Type_expected: { code: -9999999, category: 1 /* Error */, key: "Type expected." }, + A_constructor_implementation_cannot_be_declared_in_an_ambient_context: { code: 1111, category: 1 /* Error */, key: "A constructor implementation cannot be declared in an ambient context." }, + Duplicate_identifier_0: { code: 2000, category: 1 /* Error */, key: "Duplicate identifier '{0}'." }, + new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead: { code: 2068, category: 1 /* Error */, key: "'new T[]' cannot be used to create an array. Use 'new Array()' instead." }, + Multiple_constructor_implementations_are_not_allowed: { code: 2070, category: 1 /* Error */, key: "Multiple constructor implementations are not allowed." }, + A_class_may_only_implement_another_class_or_interface: { code: 2074, category: 1 /* Error */, key: "A class may only implement another class or interface." }, + get_and_set_accessor_must_have_the_same_type: { code: 2096, category: 1 /* Error */, key: "'get' and 'set' accessor must have the same type." }, + Static_members_cannot_reference_class_type_parameters: { code: 2099, category: 1 /* Error */, key: "Static members cannot reference class type parameters." }, + super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class: { code: 2102, category: 1 /* Error */, key: "'super' property access is permitted only in a constructor, member function, or member accessor of a derived class" }, + The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type: { code: 2112, category: 1 /* Error */, key: "The right-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type." }, + The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type: { code: 2113, category: 1 /* Error */, key: "The left-hand side of an arithmetic operation must be of type 'any', 'number' or an enum type." }, + An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type: { code: 2114, category: 1 /* Error */, key: "An arithmetic operand must be of type 'any', 'number' or an enum type." }, + Variable_declarations_of_a_for_statement_cannot_use_a_type_annotation: { code: 2115, category: 1 /* Error */, key: "Variable declarations of a 'for' statement cannot use a type annotation." }, + Variable_declarations_of_a_for_statement_must_be_of_types_string_or_any: { code: 2116, category: 1 /* Error */, key: "Variable declarations of a 'for' statement must be of types 'string' or 'any'." }, + The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter: { code: 2117, category: 1 /* Error */, key: "The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter." }, + The_left_hand_side_of_an_in_expression_must_be_of_types_any_string_or_number: { code: 2118, category: 1 /* Error */, key: "The left-hand side of an 'in' expression must be of types 'any', 'string' or 'number'." }, + The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter: { code: 2119, category: 1 /* Error */, key: "The right-hand side of an 'in' expression must be of type 'any', an object type or a type parameter" }, + Getters_must_return_a_value: { code: 2126, category: 1 /* Error */, key: "Getters must return a value." }, + Getter_and_setter_accessors_do_not_agree_in_visibility: { code: 2127, category: 1 /* Error */, key: "Getter and setter accessors do not agree in visibility." }, + Untyped_function_calls_may_not_accept_type_arguments: { code: 2158, category: 1 /* Error */, key: "Untyped function calls may not accept type arguments." }, + The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter: { code: 2120, category: 1 /* Error */, key: "The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter." }, + The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type: { code: 2121, category: 1 /* Error */, key: "The right-hand side of an 'instanceof' expression must be of type 'any' or of a type assignable to the 'Function' interface type." }, + Setters_cannot_return_a_value: { code: 2122, category: 1 /* Error */, key: "Setters cannot return a value." }, + Invalid_left_hand_side_of_assignment_expression: { code: 2130, category: 1 /* Error */, key: "Invalid left-hand side of assignment expression." }, + Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2: { code: 2134, category: 1 /* Error */, key: "Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'." }, + The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_property_or_indexer: { code: 2139, category: 1 /* Error */, key: "The operand of an increment or decrement operator must be a variable, property or indexer." }, + Overload_signatures_must_all_be_public_or_private: { code: 2150, category: 1 /* Error */, key: "Overload signatures must all be public or private." }, + Overload_signatures_must_all_be_exported_or_not_exported: { code: 2151, category: 1 /* Error */, key: "Overload signatures must all be exported or not exported." }, + Overload_signatures_must_all_be_ambient_or_non_ambient: { code: 2152, category: 1 /* Error */, key: "Overload signatures must all be ambient or non-ambient." }, + Overload_signatures_must_all_be_optional_or_required: { code: 2153, category: 1 /* Error */, key: "Overload signatures must all be optional or required." }, + this_cannot_be_referenced_in_constructor_arguments: { code: 2155, category: 1 /* Error */, key: "'this' cannot be referenced in constructor arguments." }, + A_signature_with_an_implementation_cannot_use_a_string_literal_type: { code: 2163, category: 1 /* Error */, key: "A signature with an implementation cannot use a string literal type." }, + Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it: { code: 2190, category: 1 /* Error */, key: "Initializer of parameter '{0}' cannot reference identifier '{1}' declared after it." }, + super_cannot_be_referenced_in_constructor_arguments: { code: 2193, category: 1 /* Error */, key: "'super' cannot be referenced in constructor arguments." }, + Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class: { code: 2194, category: 1 /* Error */, key: "Return type of constructor signature must be assignable to the instance type of the class" }, + Ambient_external_module_declaration_cannot_specify_relative_module_name: { code: 2196, category: 1 /* Error */, key: "Ambient external module declaration cannot specify relative module name." }, + Import_declaration_in_an_ambient_external_module_declaration_cannot_reference_external_module_through_relative_external_module_name: { code: 2197, category: 1 /* Error */, key: "Import declaration in an ambient external module declaration cannot reference external module through relative external module name." }, + Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference: { code: 2205, category: 1 /* Error */, key: "Duplicate identifier '_super'. Compiler uses '_super' to capture base class reference." }, + Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference: { code: 2207, category: 1 /* Error */, key: "Expression resolves to '_super' that compiler uses to capture base class reference." }, + Duplicate_identifier_i_Compiler_uses_i_to_initialize_rest_parameter: { code: 2224, category: 1 /* Error */, key: "Duplicate identifier '_i'. Compiler uses '_i' to initialize rest parameter." }, + Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters: { code: 2225, category: 1 /* Error */, key: "Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters." }, + Constraint_of_a_type_parameter_cannot_reference_any_type_parameter_from_the_same_type_parameter_list: { code: 2229, category: 1 /* Error */, key: "Constraint of a type parameter cannot reference any type parameter from the same type parameter list." }, + Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor: { code: 2230, category: 1 /* Error */, key: "Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor." }, + Parameter_0_cannot_be_referenced_in_its_initializer: { code: 2231, category: 1 /* Error */, key: "Parameter '{0}' cannot be referenced in its initializer." }, + Duplicate_string_index_signature: { code: 2232, category: 1 /* Error */, key: "Duplicate string index signature." }, + Duplicate_number_index_signature: { code: 2233, category: 1 /* Error */, key: "Duplicate number index signature." }, + All_declarations_of_an_interface_must_have_identical_type_parameters: { code: 2234, category: 1 /* Error */, key: "All declarations of an interface must have identical type parameters." }, + Expression_resolves_to_variable_declaration_i_that_compiler_uses_to_initialize_rest_parameter: { code: 2235, category: 1 /* Error */, key: "Expression resolves to variable declaration '_i' that compiler uses to initialize rest parameter." }, + Constructor_implementation_expected: { code: 2240, category: 1 /* Error */, key: "Constructor implementation expected." }, + An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements: { code: 2245, category: 1 /* Error */, key: "An export assignment cannot be used in a module with other exported elements." }, + A_parameter_property_is_only_allowed_in_a_constructor_implementation: { code: 2246, category: 1 /* Error */, key: "A parameter property is only allowed in a constructor implementation." }, + Circular_definition_of_import_alias_0: { code: 3000, category: 1 /* Error */, key: "Circular definition of import alias '{0}'." }, + Cannot_find_name_0: { code: 3001, category: 1 /* Error */, key: "Cannot find name '{0}'." }, + Module_0_has_no_exported_member_1: { code: 3002, category: 1 /* Error */, key: "Module '{0}' has no exported member '{1}'." }, + Cannot_find_external_module_0: { code: 3003, category: 1 /* Error */, key: "Cannot find external module '{0}'." }, + A_module_cannot_have_more_than_one_export_assignment: { code: 3004, category: 1 /* Error */, key: "A module cannot have more than one export assignment." }, + Type_0_recursively_references_itself_as_a_base_type: { code: 3005, category: 1 /* Error */, key: "Type '{0}' recursively references itself as a base type." }, + A_class_may_only_extend_another_class: { code: 3006, category: 1 /* Error */, key: "A class may only extend another class." }, + An_interface_may_only_extend_a_class_or_another_interface: { code: 3007, category: 1 /* Error */, key: "An interface may only extend a class or another interface." }, + Generic_type_0_requires_1_type_argument_s: { code: 3008, category: 1 /* Error */, key: "Generic type '{0}' requires {1} type argument(s)." }, + Type_0_is_not_generic: { code: 3009, category: 1 /* Error */, key: "Type '{0}' is not generic." }, + Cannot_find_global_type_0: { code: 3010, category: 1 /* Error */, key: "Cannot find global type '{0}'." }, + Global_type_0_must_be_a_class_or_interface_type: { code: 3011, category: 1 /* Error */, key: "Global type '{0}' must be a class or interface type." }, + Global_type_0_must_have_1_type_parameter_s: { code: 3012, category: 1 /* Error */, key: "Global type '{0}' must have {1} type parameter(s)." }, + this_cannot_be_referenced_in_a_module_body: { code: 3013, category: 1 /* Error */, key: "'this' cannot be referenced in a module body." }, + this_cannot_be_referenced_in_a_static_property_initializer: { code: 3014, category: 1 /* Error */, key: "'this' cannot be referenced in a static property initializer." }, + this_cannot_be_referenced_in_current_location: { code: -9999999, category: 1 /* Error */, key: "'this' cannot be referenced in current location." }, + super_can_only_be_referenced_in_a_derived_class: { code: 3015, category: 1 /* Error */, key: "'super' can only be referenced in a derived class." }, + Property_0_does_not_exist_on_type_1: { code: 3017, category: 1 /* Error */, key: "Property '{0}' does not exist on type '{1}'." }, + An_index_expression_argument_must_be_of_type_string_number_or_any: { code: 3018, category: 1 /* Error */, key: "An index expression argument must be of type 'string', 'number', or 'any'." }, + Type_0_does_not_satisfy_the_constraint_1_Colon: { code: 3019, category: 1 /* Error */, key: "Type '{0}' does not satisfy the constraint '{1}':" }, + Type_0_does_not_satisfy_the_constraint_1: { code: 3019, category: 1 /* Error */, key: "Type '{0}' does not satisfy the constraint '{1}'." }, + Supplied_parameters_do_not_match_any_signature_of_call_target: { code: 3020, category: 1 /* Error */, key: "Supplied parameters do not match any signature of call target." }, + Cannot_invoke_an_expression_whose_type_lacks_a_call_signature: { code: 3021, category: 1 /* Error */, key: "Cannot invoke an expression whose type lacks a call signature." }, + Only_a_void_function_can_be_called_with_the_new_keyword: { code: 3022, category: 1 /* Error */, key: "Only a void function can be called with the 'new' keyword." }, + Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature: { code: 3023, category: 1 /* Error */, key: "Cannot use 'new' with an expression whose type lacks a call or construct signature." }, + Neither_type_0_nor_type_1_is_assignable_to_the_other_Colon: { code: 3024, category: 1 /* Error */, key: "Neither type '{0}' nor type '{1}' is assignable to the other:" }, + Neither_type_0_nor_type_1_is_assignable_to_the_other: { code: 3024, category: 1 /* Error */, key: "Neither type '{0}' nor type '{1}' is assignable to the other." }, + No_best_common_type_exists_among_return_expressions: { code: 3027, category: 1 /* Error */, key: "No best common type exists among return expressions." }, + Operator_0_cannot_be_applied_to_types_1_and_2: { code: 3028, category: 1 /* Error */, key: "Operator '{0}' cannot be applied to types '{1}' and '{2}'." }, + No_best_common_type_exists_between_0_and_1: { code: 3029, category: 1 /* Error */, key: "No best common type exists between '{0}' and '{1}'." }, + No_best_common_type_exists_between_0_1_and_2: { code: 3030, category: 1 /* Error */, key: "No best common type exists between '{0}', '{1}', and '{2}'." }, + A_rest_parameter_must_be_of_an_array_type: { code: 3031, category: 1 /* Error */, key: "A rest parameter must be of an array type." }, + A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation: { code: 3032, category: 1 /* Error */, key: "A parameter initializer is only allowed in a function or constructor implementation." }, + Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature: { code: 3033, category: 1 /* Error */, key: "Specialized overload signature is not assignable to any non-specialized signature." }, + Duplicate_function_implementation: { code: 3034, category: 1 /* Error */, key: "Duplicate function implementation." }, + Overload_signature_is_not_compatible_with_function_implementation: { code: 3035, category: 1 /* Error */, key: "Overload signature is not compatible with function implementation." }, + Index_signature_is_missing_in_type_0: { code: 4003, category: 1 /* Error */, key: "Index signature is missing in type '{0}'." }, + Index_signatures_are_incompatible_Colon: { code: 4004, category: 1 /* Error */, key: "Index signatures are incompatible:" }, + Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function: { code: 4016, category: 3 /* NoPrefix */, key: "Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function." }, + Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function: { code: 4017, category: 3 /* NoPrefix */, key: "Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function." }, + Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor: { code: 4018, category: 3 /* NoPrefix */, key: "Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor." }, + Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property: { code: 4019, category: 3 /* NoPrefix */, key: "Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member property." }, + Cannot_find_the_common_subdirectory_path_for_the_input_files: { code: 5009, category: 1 /* Error */, key: "Cannot find the common subdirectory path for the input files." }, + Could_not_write_file_0: { code: 5033, category: 1 /* Error */, key: "Could not write file '{0}'." }, + Could_not_create_directory_0: { code: 5035, category: 1 /* Error */, key: "Could not create directory '{0}'." }, + Option_mapRoot_cannot_be_specified_without_specifying_sourcemap_option: { code: 5038, category: 1 /* Error */, key: "Option mapRoot cannot be specified without specifying sourcemap option." }, + Option_sourceRoot_cannot_be_specified_without_specifying_sourcemap_option: { code: 5039, category: 1 /* Error */, key: "Option sourceRoot cannot be specified without specifying sourcemap option." }, + Variable_0_implicitly_has_an_1_type: { code: 7005, category: 1 /* Error */, key: "Variable '{0}' implicitly has an '{1}' type." }, + Parameter_0_implicitly_has_an_1_type: { code: 7006, category: 1 /* Error */, key: "Parameter '{0}' implicitly has an '{1}' type." }, + Member_0_implicitly_has_an_1_type: { code: 7008, category: 1 /* Error */, key: "Member '{0}' implicitly has an '{1}' type." }, + new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type: { code: 7009, category: 1 /* Error */, key: "'new' expression, whose target lacks a construct signature, implicitly has an 'any' type." }, + _0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type: { code: 7010, category: 1 /* Error */, key: "'{0}', which lacks return-type annotation, implicitly has an '{1}' return type." }, + Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type: { code: 7011, category: 1 /* Error */, key: "Function expression, which lacks return-type annotation, implicitly has an '{0}' return type." }, + Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: { code: 7013, category: 1 /* Error */, key: "Construct signature, which lacks return-type annotation, implicitly has an 'any' return type." }, + Lambda_function_which_lacks_return_type_annotation_implicitly_has_an_0_return_type: { code: 7014, category: 1 /* Error */, key: "Lambda function, which lacks return-type annotation, implicitly has an '{0}' return type." }, + Array_literal_implicitly_has_an_0_type: { code: 7015, category: 1 /* Error */, key: "Array literal implicitly has an '{0}' type." }, + Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_type_annotation: { code: 7016, category: 1 /* Error */, key: "Property '{0}' implicitly has type 'any', because its 'set' accessor lacks a type annotation." }, + Index_signature_of_object_type_implicitly_has_an_any_type: { code: 7017, category: 1 /* Error */, key: "Index signature of object type implicitly has an 'any' type." }, + Object_literal_s_property_0_implicitly_has_an_1_type: { code: 7018, category: 1 /* Error */, key: "Object literal's property '{0}' implicitly has an '{1}' type." }, + Rest_parameter_0_implicitly_has_an_any_type: { code: 7019, category: 1 /* Error */, key: "Rest parameter '{0}' implicitly has an 'any[]' type." }, + Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type: { code: 7020, category: 1 /* Error */, key: "Call signature, which lacks return-type annotation, implicitly has an 'any' return type." }, + variable_declaration_list_cannot_be_empty: { code: -9999999, category: 1 /* Error */, key: "variable declaration list cannot be empty." }, + Digit_expected: { code: -9999999, category: 1 /* Error */, key: "Digit expected." }, + Hexadecimal_digit_expected: { code: -9999999, category: 1 /* Error */, key: "Hexadecimal digit expected." }, + Unexpected_end_of_text: { code: -9999999, category: 1 /* Error */, key: "Unexpected end of text." }, + Unterminated_string_constant: { code: -9999999, category: 1 /* Error */, key: "Unterminated string constant." }, + Invalid_character: { code: -9999999, category: 1 /* Error */, key: "Invalid character." }, + Declaration_or_statement_expected: { code: -9999999, category: 1 /* Error */, key: "Declaration or statement expected." }, + Statement_expected: { code: -9999999, category: 1 /* Error */, key: "Statement expected." }, + case_or_default_expected: { code: -9999999, category: 1 /* Error */, key: "'case' or 'default' expected." }, + Property_or_signature_expected: { code: -9999999, category: 1 /* Error */, key: "Property or signature expected." }, + Property_or_method_expected: { code: -9999999, category: 1 /* Error */, key: "Property or method expected." }, + Enum_member_expected: { code: -9999999, category: 1 /* Error */, key: "Enum member expected." }, + Type_reference_expected: { code: -9999999, category: 1 /* Error */, key: "Type reference expected." }, + Variable_declaration_expected: { code: -9999999, category: 1 /* Error */, key: "Variable declaration expected." }, + Argument_expression_expected: { code: -9999999, category: 1 /* Error */, key: "Argument expression expected." }, + Property_assignment_expected: { code: -9999999, category: 1 /* Error */, key: "Property assignment expected." }, + Expression_or_comma_expected: { code: -9999999, category: 1 /* Error */, key: "Expression or comma expected." }, + Parameter_declaration_expected: { code: -9999999, category: 1 /* Error */, key: "Parameter declaration expected." }, + Type_parameter_declaration_expected: { code: -9999999, category: 1 /* Error */, key: "Type parameter declaration expected." }, + Type_argument_expected: { code: -9999999, category: 1 /* Error */, key: "Type argument expected." }, + String_literal_expected: { code: -9999999, category: 1 /* Error */, key: "String literal expected." }, + not_preceded_by_parameter_list: { code: -9999999, category: 1 /* Error */, key: "'=>' not preceded by parameter list." }, + Invalid_assignment_target: { code: -9999999, category: 1 /* Error */, key: "Invalid assignment target." }, + super_must_be_followed_by_argument_list_or_member_access: { code: -9999999, category: 1 /* Error */, key: "'super' must be followed by argument list or member access." }, + Line_break_not_permitted_here: { code: -9999999, category: 1 /* Error */, key: "Line break not permitted here." }, + catch_or_finally_expected: { code: -9999999, category: 1 /* Error */, key: "'catch' or 'finally' expected." }, + Block_or_expected: { code: -9999999, category: 1 /* Error */, key: "Block or ';' expected." }, + Modifiers_not_permitted_on_index_signature_members: { code: -9999999, category: 1 /* Error */, key: "Modifiers not permitted on index signature members." }, + Class_member_declaration_expected: { code: -9999999, category: 1 /* Error */, key: "Class member declaration expected." }, + Declaration_expected: { code: -9999999, category: 1 /* Error */, key: "Declaration expected." }, + Invalid_reference_comment: { code: -9999999, category: 1 /* Error */, key: "Invalid reference comment." }, + File_0_is_not_an_external_module: { code: -9999999, category: 1 /* Error */, key: "File '{0}' is not an external module." }, + Excessive_stack_depth_comparing_types_0_and_1: { code: -9999999, category: 1 /* Error */, key: "Excessive stack depth comparing types '{0}' and '{1}'." }, + Type_0_is_not_assignable_to_type_1_Colon: { code: -9999999, category: 1 /* Error */, key: "Type '{0}' is not assignable to type '{1}':" }, + Type_0_is_not_assignable_to_type_1: { code: -9999999, category: 1 /* Error */, key: "Type '{0}' is not assignable to type '{1}'." }, + Property_0_is_missing_in_type_1: { code: -9999999, category: 1 /* Error */, key: "Property '{0}' is missing in type '{1}'." }, + Private_property_0_cannot_be_reimplemented: { code: -9999999, category: 1 /* Error */, key: "Private property '{0}' cannot be reimplemented." }, + Required_property_0_cannot_be_reimplemented_with_optional_property_in_1: { code: 2012, category: 1 /* Error */, key: "Required property '{0}' cannot be reimplemented with optional property in '{1}'." }, + Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors: { code: -9999999, category: 1 /* Error */, key: "Super calls are not permitted outside constructors or in nested functions inside constructors" }, + Only_public_methods_of_the_base_class_are_accessible_via_the_super_keyword: { code: -9999999, category: 1 /* Error */, key: "Only public methods of the base class are accessible via the 'super' keyword" }, + A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_or_has_parameter_properties: { code: -9999999, category: 1 /* Error */, key: "A 'super' call must be the first statement in the constructor when a class contains initialized properties or has parameter properties." }, + Constructors_for_derived_classes_must_contain_a_super_call: { code: -9999999, category: 1 /* Error */, key: "Constructors for derived classes must contain a 'super' call." }, + Import_name_cannot_be_0: { code: -9999999, category: 1 /* Error */, key: "Import name cannot be '{0}'" }, + Type_parameter_name_cannot_be_0: { code: -9999999, category: 1 /* Error */, key: "Type parameter name cannot be '{0}'" }, + Class_name_cannot_be_0: { code: -9999999, category: 1 /* Error */, key: "Class name cannot be '{0}'" }, + Interface_name_cannot_be_0: { code: -9999999, category: 1 /* Error */, key: "Interface name cannot be '{0}'" }, + Enum_name_cannot_be_0: { code: -9999999, category: 1 /* Error */, key: "Enum name cannot be '{0}'" }, + Types_of_property_0_are_incompatible_Colon: { code: -9999999, category: 1 /* Error */, key: "Types of property '{0}' are incompatible:" }, + Types_of_parameters_0_and_1_are_incompatible_Colon: { code: -9999999, category: 1 /* Error */, key: "Types of parameters '{0}' and '{1}' are incompatible:" }, + Unknown_identifier_0: { code: -9999999, category: 1 /* Error */, key: "Unknown identifier '{0}'." }, + Property_0_is_inaccessible: { code: -9999999, category: 1 /* Error */, key: "Property '{0}' is inaccessible." }, + Function_implementation_expected: { code: -9999999, category: 1 /* Error */, key: "Function implementation expected." }, + Statements_are_not_allowed_in_declaration_contexts: { code: -9999999, category: 1 /* Error */, key: "Statements are not allowed in declaration contexts." }, + Initializers_are_not_allowed_in_declaration_contexts: { code: -9999999, category: 1 /* Error */, key: "Initializers are not allowed in declaration contexts." }, + return_statement_has_no_containing_function: { code: -9999999, category: 1 /* Error */, key: "'return' statement has no containing function." }, + Property_0_of_type_1_is_not_assignable_to_string_index_type_2: { code: -9999999, category: 1 /* Error */, key: "Property '{0}' of type '{1}' is not assignable to string index type '{2}'." }, + Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2: { code: -9999999, category: 1 /* Error */, key: "Property '{0}' of type '{1}' is not assignable to numeric index type '{2}'." }, + Numeric_index_type_0_is_not_assignable_to_string_index_type_1: { code: -9999999, category: 1 /* Error */, key: "Numeric index type '{0}' is not assignable to string index type '{1}'." }, + Class_0_incorrectly_extends_base_class_1_Colon: { code: -9999999, category: 1 /* Error */, key: "Class '{0}' incorrectly extends base class '{1}':" }, + Class_0_incorrectly_extends_base_class_1: { code: -9999999, category: 1 /* Error */, key: "Class '{0}' incorrectly extends base class '{1}'." }, + Class_static_side_0_incorrectly_extends_base_class_static_side_1_Colon: { code: -9999999, category: 1 /* Error */, key: "Class static side '{0}' incorrectly extends base class static side '{1}':" }, + Class_static_side_0_incorrectly_extends_base_class_static_side_1: { code: -9999999, category: 1 /* Error */, key: "Class static side '{0}' incorrectly extends base class static side '{1}'." }, + Type_name_0_in_extends_clause_does_not_reference_constructor_function_for_0: { code: -9999999, category: 1 /* Error */, key: "Type name '{0}' in extends clause does not reference constructor function for '{0}'." }, + Class_0_incorrectly_implements_interface_1_Colon: { code: -9999999, category: 1 /* Error */, key: "Class '{0}' incorrectly implements interface '{1}':" }, + Class_0_incorrectly_implements_interface_1: { code: -9999999, category: 1 /* Error */, key: "Class '{0}' incorrectly implements interface '{1}'." }, + Interface_0_incorrectly_extends_interface_1_Colon: { code: -9999999, category: 1 /* Error */, key: "Interface '{0}' incorrectly extends interface '{1}':" }, + Interface_0_incorrectly_extends_interface_1: { code: -9999999, category: 1 /* Error */, key: "Interface '{0}' incorrectly extends interface '{1}'." }, + In_an_enum_declaration_context_initializer_must_be_a_number_literal: { code: -9999999, category: 1 /* Error */, key: "In an enum declaration context initializer must be a number literal." }, + Ambient_external_modules_require_a_declare_modifier: { code: -9999999, category: 1 /* Error */, key: "Ambient external modules require a 'declare' modifier." }, + Ambient_external_modules_cannot_be_nested_in_other_modules: { code: -9999999, category: 1 /* Error */, key: "Ambient external modules cannot be nested in other modules." }, + Import_declarations_in_an_internal_module_cannot_reference_an_external_module: { code: -9999999, category: 1 /* Error */, key: "Import declarations in an internal module cannot reference an external module." }, + Cannot_compile_external_modules_unless_the_module_flag_is_provided: { code: -9999999, category: 1 /* Error */, key: "Cannot compile external modules unless the '--module' flag is provided." }, + Import_declaration_conflicts_with_local_declaration_of_0: { code: -9999999, category: 1 /* Error */, key: "Import declaration conflicts with local declaration of '{0}'" }, + Argument_for_module_option_must_be_commonjs_or_amd: { code: -9999999, category: 1 /* Error */, key: "Argument for '--module' option must be 'commonjs' or 'amd'." }, + Argument_for_target_option_must_be_es3_or_es5: { code: -9999999, category: 1 /* Error */, key: "Argument for '--target' option must be 'es3' or 'es5'." }, + Compiler_option_0_expects_an_argument: { code: -9999999, category: 1 /* Error */, key: "Compiler option '{0}' expects an argument." }, + Unterminated_quoted_string_in_response_file_0: { code: -9999999, category: 1 /* Error */, key: "Unterminated quoted string in response file '{0}'." }, + Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1: { code: -9999999, category: 1 /* Error */, key: "Locale must be of the form or -. For example '{0}' or '{1}'." }, + Unsupported_locale_0: { code: -9999999, category: 1 /* Error */, key: "Unsupported locale {0}." }, + Unable_to_open_file_0: { code: -9999999, category: 1 /* Error */, key: "Unable to open file {0}." }, + Corrupted_locale_file_0: { code: -9999999, category: 1 /* Error */, key: "Corrupted locale file {0}." }, + No_input_files_specified: { code: -9999999, category: 1 /* Error */, key: "No input files specified." } + }; +})(ts || (ts = {})); +var ts; +(function (ts) { + var textToToken = { + "any": 101 /* AnyKeyword */, + "boolean": 102 /* BooleanKeyword */, + "break": 56 /* BreakKeyword */, + "case": 57 /* CaseKeyword */, + "catch": 58 /* CatchKeyword */, + "class": 59 /* ClassKeyword */, + "continue": 61 /* ContinueKeyword */, + "const": 60 /* ConstKeyword */, + "constructor": 103 /* ConstructorKeyword */, + "debugger": 62 /* DebuggerKeyword */, + "declare": 104 /* DeclareKeyword */, + "default": 63 /* DefaultKeyword */, + "delete": 64 /* DeleteKeyword */, + "do": 65 /* DoKeyword */, + "else": 66 /* ElseKeyword */, + "enum": 67 /* EnumKeyword */, + "export": 68 /* ExportKeyword */, + "extends": 69 /* ExtendsKeyword */, + "false": 70 /* FalseKeyword */, + "finally": 71 /* FinallyKeyword */, + "for": 72 /* ForKeyword */, + "function": 73 /* FunctionKeyword */, + "get": 105 /* GetKeyword */, + "if": 74 /* IfKeyword */, + "implements": 92 /* ImplementsKeyword */, + "import": 75 /* ImportKeyword */, + "in": 76 /* InKeyword */, + "instanceof": 77 /* InstanceOfKeyword */, + "interface": 93 /* InterfaceKeyword */, + "let": 94 /* LetKeyword */, + "module": 106 /* ModuleKeyword */, + "new": 78 /* NewKeyword */, + "null": 79 /* NullKeyword */, + "number": 108 /* NumberKeyword */, + "package": 95 /* PackageKeyword */, + "private": 96 /* PrivateKeyword */, + "protected": 97 /* ProtectedKeyword */, + "public": 98 /* PublicKeyword */, + "require": 107 /* RequireKeyword */, + "return": 80 /* ReturnKeyword */, + "set": 109 /* SetKeyword */, + "static": 99 /* StaticKeyword */, + "string": 110 /* StringKeyword */, + "super": 81 /* SuperKeyword */, + "switch": 82 /* SwitchKeyword */, + "this": 83 /* ThisKeyword */, + "throw": 84 /* ThrowKeyword */, + "true": 85 /* TrueKeyword */, + "try": 86 /* TryKeyword */, + "typeof": 87 /* TypeOfKeyword */, + "var": 88 /* VarKeyword */, + "void": 89 /* VoidKeyword */, + "while": 90 /* WhileKeyword */, + "with": 91 /* WithKeyword */, + "yield": 100 /* YieldKeyword */, + "{": 5 /* OpenBraceToken */, + "}": 6 /* CloseBraceToken */, + "(": 7 /* OpenParenToken */, + ")": 8 /* CloseParenToken */, + "[": 9 /* OpenBracketToken */, + "]": 10 /* CloseBracketToken */, + ".": 11 /* DotToken */, + "...": 12 /* DotDotDotToken */, + ";": 13 /* SemicolonToken */, + ",": 14 /* CommaToken */, + "<": 15 /* LessThanToken */, + ">": 16 /* GreaterThanToken */, + "<=": 17 /* LessThanEqualsToken */, + ">=": 18 /* GreaterThanEqualsToken */, + "==": 19 /* EqualsEqualsToken */, + "!=": 20 /* ExclamationEqualsToken */, + "===": 21 /* EqualsEqualsEqualsToken */, + "!==": 22 /* ExclamationEqualsEqualsToken */, + "=>": 23 /* EqualsGreaterThanToken */, + "+": 24 /* PlusToken */, + "-": 25 /* MinusToken */, + "*": 26 /* AsteriskToken */, + "/": 27 /* SlashToken */, + "%": 28 /* PercentToken */, + "++": 29 /* PlusPlusToken */, + "--": 30 /* MinusMinusToken */, + "<<": 31 /* LessThanLessThanToken */, + ">>": 32 /* GreaterThanGreaterThanToken */, + ">>>": 33 /* GreaterThanGreaterThanGreaterThanToken */, + "&": 34 /* AmpersandToken */, + "|": 35 /* BarToken */, + "^": 36 /* CaretToken */, + "!": 37 /* ExclamationToken */, + "~": 38 /* TildeToken */, + "&&": 39 /* AmpersandAmpersandToken */, + "||": 40 /* BarBarToken */, + "?": 41 /* QuestionToken */, + ":": 42 /* ColonToken */, + "=": 43 /* EqualsToken */, + "+=": 44 /* PlusEqualsToken */, + "-=": 45 /* MinusEqualsToken */, + "*=": 46 /* AsteriskEqualsToken */, + "/=": 47 /* SlashEqualsToken */, + "%=": 48 /* PercentEqualsToken */, + "<<=": 49 /* LessThanLessThanEqualsToken */, + ">>=": 50 /* GreaterThanGreaterThanEqualsToken */, + ">>>=": 51 /* GreaterThanGreaterThanGreaterThanEqualsToken */, + "&=": 52 /* AmpersandEqualsToken */, + "|=": 53 /* BarEqualsToken */, + "^=": 54 /* CaretEqualsToken */ + }; + var unicodeES3IdentifierStart = [170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 543, 546, 563, 592, 685, 688, 696, 699, 705, 720, 721, 736, 740, 750, 750, 890, 890, 902, 902, 904, 906, 908, 908, 910, 929, 931, 974, 976, 983, 986, 1011, 1024, 1153, 1164, 1220, 1223, 1224, 1227, 1228, 1232, 1269, 1272, 1273, 1329, 1366, 1369, 1369, 1377, 1415, 1488, 1514, 1520, 1522, 1569, 1594, 1600, 1610, 1649, 1747, 1749, 1749, 1765, 1766, 1786, 1788, 1808, 1808, 1810, 1836, 1920, 1957, 2309, 2361, 2365, 2365, 2384, 2384, 2392, 2401, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2524, 2525, 2527, 2529, 2544, 2545, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2649, 2652, 2654, 2654, 2674, 2676, 2693, 2699, 2701, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2749, 2749, 2768, 2768, 2784, 2784, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2870, 2873, 2877, 2877, 2908, 2909, 2911, 2913, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 2997, 2999, 3001, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3123, 3125, 3129, 3168, 3169, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3294, 3294, 3296, 3297, 3333, 3340, 3342, 3344, 3346, 3368, 3370, 3385, 3424, 3425, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3585, 3632, 3634, 3635, 3648, 3654, 3713, 3714, 3716, 3716, 3719, 3720, 3722, 3722, 3725, 3725, 3732, 3735, 3737, 3743, 3745, 3747, 3749, 3749, 3751, 3751, 3754, 3755, 3757, 3760, 3762, 3763, 3773, 3773, 3776, 3780, 3782, 3782, 3804, 3805, 3840, 3840, 3904, 3911, 3913, 3946, 3976, 3979, 4096, 4129, 4131, 4135, 4137, 4138, 4176, 4181, 4256, 4293, 4304, 4342, 4352, 4441, 4447, 4514, 4520, 4601, 4608, 4614, 4616, 4678, 4680, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4742, 4744, 4744, 4746, 4749, 4752, 4782, 4784, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4814, 4816, 4822, 4824, 4846, 4848, 4878, 4880, 4880, 4882, 4885, 4888, 4894, 4896, 4934, 4936, 4954, 5024, 5108, 5121, 5740, 5743, 5750, 5761, 5786, 5792, 5866, 6016, 6067, 6176, 6263, 6272, 6312, 7680, 7835, 7840, 7929, 7936, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8319, 8319, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8473, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8493, 8495, 8497, 8499, 8505, 8544, 8579, 12293, 12295, 12321, 12329, 12337, 12341, 12344, 12346, 12353, 12436, 12445, 12446, 12449, 12538, 12540, 12542, 12549, 12588, 12593, 12686, 12704, 12727, 13312, 19893, 19968, 40869, 40960, 42124, 44032, 55203, 63744, 64045, 64256, 64262, 64275, 64279, 64285, 64285, 64287, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65136, 65138, 65140, 65140, 65142, 65276, 65313, 65338, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500]; + var unicodeES3IdentifierPart = [170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 543, 546, 563, 592, 685, 688, 696, 699, 705, 720, 721, 736, 740, 750, 750, 768, 846, 864, 866, 890, 890, 902, 902, 904, 906, 908, 908, 910, 929, 931, 974, 976, 983, 986, 1011, 1024, 1153, 1155, 1158, 1164, 1220, 1223, 1224, 1227, 1228, 1232, 1269, 1272, 1273, 1329, 1366, 1369, 1369, 1377, 1415, 1425, 1441, 1443, 1465, 1467, 1469, 1471, 1471, 1473, 1474, 1476, 1476, 1488, 1514, 1520, 1522, 1569, 1594, 1600, 1621, 1632, 1641, 1648, 1747, 1749, 1756, 1759, 1768, 1770, 1773, 1776, 1788, 1808, 1836, 1840, 1866, 1920, 1968, 2305, 2307, 2309, 2361, 2364, 2381, 2384, 2388, 2392, 2403, 2406, 2415, 2433, 2435, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2492, 2492, 2494, 2500, 2503, 2504, 2507, 2509, 2519, 2519, 2524, 2525, 2527, 2531, 2534, 2545, 2562, 2562, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2620, 2620, 2622, 2626, 2631, 2632, 2635, 2637, 2649, 2652, 2654, 2654, 2662, 2676, 2689, 2691, 2693, 2699, 2701, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2748, 2757, 2759, 2761, 2763, 2765, 2768, 2768, 2784, 2784, 2790, 2799, 2817, 2819, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2870, 2873, 2876, 2883, 2887, 2888, 2891, 2893, 2902, 2903, 2908, 2909, 2911, 2913, 2918, 2927, 2946, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 2997, 2999, 3001, 3006, 3010, 3014, 3016, 3018, 3021, 3031, 3031, 3047, 3055, 3073, 3075, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3123, 3125, 3129, 3134, 3140, 3142, 3144, 3146, 3149, 3157, 3158, 3168, 3169, 3174, 3183, 3202, 3203, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3262, 3268, 3270, 3272, 3274, 3277, 3285, 3286, 3294, 3294, 3296, 3297, 3302, 3311, 3330, 3331, 3333, 3340, 3342, 3344, 3346, 3368, 3370, 3385, 3390, 3395, 3398, 3400, 3402, 3405, 3415, 3415, 3424, 3425, 3430, 3439, 3458, 3459, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3530, 3530, 3535, 3540, 3542, 3542, 3544, 3551, 3570, 3571, 3585, 3642, 3648, 3662, 3664, 3673, 3713, 3714, 3716, 3716, 3719, 3720, 3722, 3722, 3725, 3725, 3732, 3735, 3737, 3743, 3745, 3747, 3749, 3749, 3751, 3751, 3754, 3755, 3757, 3769, 3771, 3773, 3776, 3780, 3782, 3782, 3784, 3789, 3792, 3801, 3804, 3805, 3840, 3840, 3864, 3865, 3872, 3881, 3893, 3893, 3895, 3895, 3897, 3897, 3902, 3911, 3913, 3946, 3953, 3972, 3974, 3979, 3984, 3991, 3993, 4028, 4038, 4038, 4096, 4129, 4131, 4135, 4137, 4138, 4140, 4146, 4150, 4153, 4160, 4169, 4176, 4185, 4256, 4293, 4304, 4342, 4352, 4441, 4447, 4514, 4520, 4601, 4608, 4614, 4616, 4678, 4680, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4742, 4744, 4744, 4746, 4749, 4752, 4782, 4784, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4814, 4816, 4822, 4824, 4846, 4848, 4878, 4880, 4880, 4882, 4885, 4888, 4894, 4896, 4934, 4936, 4954, 4969, 4977, 5024, 5108, 5121, 5740, 5743, 5750, 5761, 5786, 5792, 5866, 6016, 6099, 6112, 6121, 6160, 6169, 6176, 6263, 6272, 6313, 7680, 7835, 7840, 7929, 7936, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8255, 8256, 8319, 8319, 8400, 8412, 8417, 8417, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8473, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8493, 8495, 8497, 8499, 8505, 8544, 8579, 12293, 12295, 12321, 12335, 12337, 12341, 12344, 12346, 12353, 12436, 12441, 12442, 12445, 12446, 12449, 12542, 12549, 12588, 12593, 12686, 12704, 12727, 13312, 19893, 19968, 40869, 40960, 42124, 44032, 55203, 63744, 64045, 64256, 64262, 64275, 64279, 64285, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65056, 65059, 65075, 65076, 65101, 65103, 65136, 65138, 65140, 65140, 65142, 65276, 65296, 65305, 65313, 65338, 65343, 65343, 65345, 65370, 65381, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500]; + var unicodeES5IdentifierStart = [170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 880, 884, 886, 887, 890, 893, 902, 902, 904, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1162, 1319, 1329, 1366, 1369, 1369, 1377, 1415, 1488, 1514, 1520, 1522, 1568, 1610, 1646, 1647, 1649, 1747, 1749, 1749, 1765, 1766, 1774, 1775, 1786, 1788, 1791, 1791, 1808, 1808, 1810, 1839, 1869, 1957, 1969, 1969, 1994, 2026, 2036, 2037, 2042, 2042, 2048, 2069, 2074, 2074, 2084, 2084, 2088, 2088, 2112, 2136, 2208, 2208, 2210, 2220, 2308, 2361, 2365, 2365, 2384, 2384, 2392, 2401, 2417, 2423, 2425, 2431, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2493, 2493, 2510, 2510, 2524, 2525, 2527, 2529, 2544, 2545, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2649, 2652, 2654, 2654, 2674, 2676, 2693, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2749, 2749, 2768, 2768, 2784, 2785, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2877, 2877, 2908, 2909, 2911, 2913, 2929, 2929, 2947, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3024, 3024, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3123, 3125, 3129, 3133, 3133, 3160, 3161, 3168, 3169, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3261, 3261, 3294, 3294, 3296, 3297, 3313, 3314, 3333, 3340, 3342, 3344, 3346, 3386, 3389, 3389, 3406, 3406, 3424, 3425, 3450, 3455, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3585, 3632, 3634, 3635, 3648, 3654, 3713, 3714, 3716, 3716, 3719, 3720, 3722, 3722, 3725, 3725, 3732, 3735, 3737, 3743, 3745, 3747, 3749, 3749, 3751, 3751, 3754, 3755, 3757, 3760, 3762, 3763, 3773, 3773, 3776, 3780, 3782, 3782, 3804, 3807, 3840, 3840, 3904, 3911, 3913, 3948, 3976, 3980, 4096, 4138, 4159, 4159, 4176, 4181, 4186, 4189, 4193, 4193, 4197, 4198, 4206, 4208, 4213, 4225, 4238, 4238, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4992, 5007, 5024, 5108, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5870, 5872, 5888, 5900, 5902, 5905, 5920, 5937, 5952, 5969, 5984, 5996, 5998, 6000, 6016, 6067, 6103, 6103, 6108, 6108, 6176, 6263, 6272, 6312, 6314, 6314, 6320, 6389, 6400, 6428, 6480, 6509, 6512, 6516, 6528, 6571, 6593, 6599, 6656, 6678, 6688, 6740, 6823, 6823, 6917, 6963, 6981, 6987, 7043, 7072, 7086, 7087, 7098, 7141, 7168, 7203, 7245, 7247, 7258, 7293, 7401, 7404, 7406, 7409, 7413, 7414, 7424, 7615, 7680, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8305, 8305, 8319, 8319, 8336, 8348, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8473, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8493, 8495, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8544, 8584, 11264, 11310, 11312, 11358, 11360, 11492, 11499, 11502, 11506, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11648, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 11823, 11823, 12293, 12295, 12321, 12329, 12337, 12341, 12344, 12348, 12353, 12438, 12445, 12447, 12449, 12538, 12540, 12543, 12549, 12589, 12593, 12686, 12704, 12730, 12784, 12799, 13312, 19893, 19968, 40908, 40960, 42124, 42192, 42237, 42240, 42508, 42512, 42527, 42538, 42539, 42560, 42606, 42623, 42647, 42656, 42735, 42775, 42783, 42786, 42888, 42891, 42894, 42896, 42899, 42912, 42922, 43000, 43009, 43011, 43013, 43015, 43018, 43020, 43042, 43072, 43123, 43138, 43187, 43250, 43255, 43259, 43259, 43274, 43301, 43312, 43334, 43360, 43388, 43396, 43442, 43471, 43471, 43520, 43560, 43584, 43586, 43588, 43595, 43616, 43638, 43642, 43642, 43648, 43695, 43697, 43697, 43701, 43702, 43705, 43709, 43712, 43712, 43714, 43714, 43739, 43741, 43744, 43754, 43762, 43764, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43968, 44002, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64285, 64287, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65136, 65140, 65142, 65276, 65313, 65338, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500]; + var unicodeES5IdentifierPart = [170, 170, 181, 181, 186, 186, 192, 214, 216, 246, 248, 705, 710, 721, 736, 740, 748, 748, 750, 750, 768, 884, 886, 887, 890, 893, 902, 902, 904, 906, 908, 908, 910, 929, 931, 1013, 1015, 1153, 1155, 1159, 1162, 1319, 1329, 1366, 1369, 1369, 1377, 1415, 1425, 1469, 1471, 1471, 1473, 1474, 1476, 1477, 1479, 1479, 1488, 1514, 1520, 1522, 1552, 1562, 1568, 1641, 1646, 1747, 1749, 1756, 1759, 1768, 1770, 1788, 1791, 1791, 1808, 1866, 1869, 1969, 1984, 2037, 2042, 2042, 2048, 2093, 2112, 2139, 2208, 2208, 2210, 2220, 2276, 2302, 2304, 2403, 2406, 2415, 2417, 2423, 2425, 2431, 2433, 2435, 2437, 2444, 2447, 2448, 2451, 2472, 2474, 2480, 2482, 2482, 2486, 2489, 2492, 2500, 2503, 2504, 2507, 2510, 2519, 2519, 2524, 2525, 2527, 2531, 2534, 2545, 2561, 2563, 2565, 2570, 2575, 2576, 2579, 2600, 2602, 2608, 2610, 2611, 2613, 2614, 2616, 2617, 2620, 2620, 2622, 2626, 2631, 2632, 2635, 2637, 2641, 2641, 2649, 2652, 2654, 2654, 2662, 2677, 2689, 2691, 2693, 2701, 2703, 2705, 2707, 2728, 2730, 2736, 2738, 2739, 2741, 2745, 2748, 2757, 2759, 2761, 2763, 2765, 2768, 2768, 2784, 2787, 2790, 2799, 2817, 2819, 2821, 2828, 2831, 2832, 2835, 2856, 2858, 2864, 2866, 2867, 2869, 2873, 2876, 2884, 2887, 2888, 2891, 2893, 2902, 2903, 2908, 2909, 2911, 2915, 2918, 2927, 2929, 2929, 2946, 2947, 2949, 2954, 2958, 2960, 2962, 2965, 2969, 2970, 2972, 2972, 2974, 2975, 2979, 2980, 2984, 2986, 2990, 3001, 3006, 3010, 3014, 3016, 3018, 3021, 3024, 3024, 3031, 3031, 3046, 3055, 3073, 3075, 3077, 3084, 3086, 3088, 3090, 3112, 3114, 3123, 3125, 3129, 3133, 3140, 3142, 3144, 3146, 3149, 3157, 3158, 3160, 3161, 3168, 3171, 3174, 3183, 3202, 3203, 3205, 3212, 3214, 3216, 3218, 3240, 3242, 3251, 3253, 3257, 3260, 3268, 3270, 3272, 3274, 3277, 3285, 3286, 3294, 3294, 3296, 3299, 3302, 3311, 3313, 3314, 3330, 3331, 3333, 3340, 3342, 3344, 3346, 3386, 3389, 3396, 3398, 3400, 3402, 3406, 3415, 3415, 3424, 3427, 3430, 3439, 3450, 3455, 3458, 3459, 3461, 3478, 3482, 3505, 3507, 3515, 3517, 3517, 3520, 3526, 3530, 3530, 3535, 3540, 3542, 3542, 3544, 3551, 3570, 3571, 3585, 3642, 3648, 3662, 3664, 3673, 3713, 3714, 3716, 3716, 3719, 3720, 3722, 3722, 3725, 3725, 3732, 3735, 3737, 3743, 3745, 3747, 3749, 3749, 3751, 3751, 3754, 3755, 3757, 3769, 3771, 3773, 3776, 3780, 3782, 3782, 3784, 3789, 3792, 3801, 3804, 3807, 3840, 3840, 3864, 3865, 3872, 3881, 3893, 3893, 3895, 3895, 3897, 3897, 3902, 3911, 3913, 3948, 3953, 3972, 3974, 3991, 3993, 4028, 4038, 4038, 4096, 4169, 4176, 4253, 4256, 4293, 4295, 4295, 4301, 4301, 4304, 4346, 4348, 4680, 4682, 4685, 4688, 4694, 4696, 4696, 4698, 4701, 4704, 4744, 4746, 4749, 4752, 4784, 4786, 4789, 4792, 4798, 4800, 4800, 4802, 4805, 4808, 4822, 4824, 4880, 4882, 4885, 4888, 4954, 4957, 4959, 4992, 5007, 5024, 5108, 5121, 5740, 5743, 5759, 5761, 5786, 5792, 5866, 5870, 5872, 5888, 5900, 5902, 5908, 5920, 5940, 5952, 5971, 5984, 5996, 5998, 6000, 6002, 6003, 6016, 6099, 6103, 6103, 6108, 6109, 6112, 6121, 6155, 6157, 6160, 6169, 6176, 6263, 6272, 6314, 6320, 6389, 6400, 6428, 6432, 6443, 6448, 6459, 6470, 6509, 6512, 6516, 6528, 6571, 6576, 6601, 6608, 6617, 6656, 6683, 6688, 6750, 6752, 6780, 6783, 6793, 6800, 6809, 6823, 6823, 6912, 6987, 6992, 7001, 7019, 7027, 7040, 7155, 7168, 7223, 7232, 7241, 7245, 7293, 7376, 7378, 7380, 7414, 7424, 7654, 7676, 7957, 7960, 7965, 7968, 8005, 8008, 8013, 8016, 8023, 8025, 8025, 8027, 8027, 8029, 8029, 8031, 8061, 8064, 8116, 8118, 8124, 8126, 8126, 8130, 8132, 8134, 8140, 8144, 8147, 8150, 8155, 8160, 8172, 8178, 8180, 8182, 8188, 8204, 8205, 8255, 8256, 8276, 8276, 8305, 8305, 8319, 8319, 8336, 8348, 8400, 8412, 8417, 8417, 8421, 8432, 8450, 8450, 8455, 8455, 8458, 8467, 8469, 8469, 8473, 8477, 8484, 8484, 8486, 8486, 8488, 8488, 8490, 8493, 8495, 8505, 8508, 8511, 8517, 8521, 8526, 8526, 8544, 8584, 11264, 11310, 11312, 11358, 11360, 11492, 11499, 11507, 11520, 11557, 11559, 11559, 11565, 11565, 11568, 11623, 11631, 11631, 11647, 11670, 11680, 11686, 11688, 11694, 11696, 11702, 11704, 11710, 11712, 11718, 11720, 11726, 11728, 11734, 11736, 11742, 11744, 11775, 11823, 11823, 12293, 12295, 12321, 12335, 12337, 12341, 12344, 12348, 12353, 12438, 12441, 12442, 12445, 12447, 12449, 12538, 12540, 12543, 12549, 12589, 12593, 12686, 12704, 12730, 12784, 12799, 13312, 19893, 19968, 40908, 40960, 42124, 42192, 42237, 42240, 42508, 42512, 42539, 42560, 42607, 42612, 42621, 42623, 42647, 42655, 42737, 42775, 42783, 42786, 42888, 42891, 42894, 42896, 42899, 42912, 42922, 43000, 43047, 43072, 43123, 43136, 43204, 43216, 43225, 43232, 43255, 43259, 43259, 43264, 43309, 43312, 43347, 43360, 43388, 43392, 43456, 43471, 43481, 43520, 43574, 43584, 43597, 43600, 43609, 43616, 43638, 43642, 43643, 43648, 43714, 43739, 43741, 43744, 43759, 43762, 43766, 43777, 43782, 43785, 43790, 43793, 43798, 43808, 43814, 43816, 43822, 43968, 44010, 44012, 44013, 44016, 44025, 44032, 55203, 55216, 55238, 55243, 55291, 63744, 64109, 64112, 64217, 64256, 64262, 64275, 64279, 64285, 64296, 64298, 64310, 64312, 64316, 64318, 64318, 64320, 64321, 64323, 64324, 64326, 64433, 64467, 64829, 64848, 64911, 64914, 64967, 65008, 65019, 65024, 65039, 65056, 65062, 65075, 65076, 65101, 65103, 65136, 65140, 65142, 65276, 65296, 65305, 65313, 65338, 65343, 65343, 65345, 65370, 65382, 65470, 65474, 65479, 65482, 65487, 65490, 65495, 65498, 65500]; + function lookupInUnicodeMap(code, map) { + if (code < map[0]) { + return false; + } + var lo = 0; + var hi = map.length; + var mid; + while (lo + 1 < hi) { + mid = lo + (hi - lo) / 2; + mid -= mid % 2; + if (map[mid] <= code && code <= map[mid + 1]) { + return true; + } + if (code < map[mid]) { + hi = mid; + } + else { + lo = mid + 2; + } + } + return false; + } + function isUnicodeIdentifierStart(code, languageVersion) { + return languageVersion === 0 /* ES3 */ ? lookupInUnicodeMap(code, unicodeES3IdentifierStart) : lookupInUnicodeMap(code, unicodeES5IdentifierStart); + } + function isUnicodeIdentifierPart(code, languageVersion) { + return languageVersion === 0 /* ES3 */ ? lookupInUnicodeMap(code, unicodeES3IdentifierPart) : lookupInUnicodeMap(code, unicodeES5IdentifierPart); + } + function makeReverseMap(source) { + var result = []; + for (var name in source) { + if (source.hasOwnProperty(name)) { + result[source[name]] = name; + } + } + return result; + } + var tokenStrings = makeReverseMap(textToToken); + function tokenToString(t) { + return tokenStrings[t]; + } + ts.tokenToString = tokenToString; + function getLineStarts(text) { + var result = new Array(); + var pos = 0; + var lineStart = 0; + while (pos < text.length) { + switch (text.charCodeAt(pos++)) { + case 13 /* carriageReturn */: + if (text.charCodeAt(pos) === 10 /* lineFeed */) { + pos++; + } + case 10 /* lineFeed */: + result.push(lineStart); + lineStart = pos; + break; + } + } + result.push(lineStart); + return result; + } + ts.getLineStarts = getLineStarts; + function getLineAndCharacterOfPosition(lineStarts, position) { + var lineNumber = ts.binarySearch(lineStarts, position); + if (lineNumber < 0) { + lineNumber = (~lineNumber) - 1; + } + return { + line: lineNumber + 1, + character: position - lineStarts[lineNumber] + 1 + }; + } + ts.getLineAndCharacterOfPosition = getLineAndCharacterOfPosition; + function positionToLineAndCharacter(text, pos) { + var lineStarts = getLineStarts(text); + return getLineAndCharacterOfPosition(lineStarts, pos); + } + ts.positionToLineAndCharacter = positionToLineAndCharacter; + var hasOwnProperty = Object.prototype.hasOwnProperty; + function isWhiteSpace(ch) { + return ch === 32 /* space */ || ch === 9 /* tab */ || ch === 11 /* verticalTab */ || ch === 12 /* formFeed */ || ch === 160 /* nonBreakingSpace */ || ch === 5760 /* ogham */ || ch >= 8192 /* enQuad */ && ch <= 8203 /* zeroWidthSpace */ || ch === 8239 /* narrowNoBreakSpace */ || ch === 8287 /* mathematicalSpace */ || ch === 12288 /* ideographicSpace */ || ch === 65279 /* byteOrderMark */; + } + function isLineBreak(ch) { + return ch === 10 /* lineFeed */ || ch === 13 /* carriageReturn */ || ch === 8232 /* lineSeparator */ || ch === 8233 /* paragraphSeparator */; + } + function isDigit(ch) { + return ch >= 48 /* _0 */ && ch <= 57 /* _9 */; + } + function isHexDigit(ch) { + return ch >= 48 /* _0 */ && ch <= 57 /* _9 */ || ch >= 65 /* A */ && ch <= 70 /* F */ || ch >= 97 /* a */ && ch <= 102 /* f */; + } + function skipTrivia(text, pos, stopAfterLineBreak) { + while (true) { + var ch = text.charCodeAt(pos); + switch (ch) { + case 13 /* carriageReturn */: + if (text.charCodeAt(pos + 1) === 10 /* lineFeed */) + pos++; + case 10 /* lineFeed */: + pos++; + if (stopAfterLineBreak) + return pos; + continue; + case 9 /* tab */: + case 11 /* verticalTab */: + case 12 /* formFeed */: + case 32 /* space */: + pos++; + continue; + case 47 /* slash */: + if (text.charCodeAt(pos + 1) === 47 /* slash */) { + pos += 2; + while (pos < text.length) { + if (isLineBreak(text.charCodeAt(pos))) { + break; + } + pos++; + } + continue; + } + if (text.charCodeAt(pos + 1) === 42 /* asterisk */) { + pos += 2; + while (pos < text.length) { + if (text.charCodeAt(pos) === 42 /* asterisk */ && text.charCodeAt(pos + 1) === 47 /* slash */) { + pos += 2; + break; + } + pos++; + } + continue; + } + break; + default: + if (isWhiteSpace(ch) || isLineBreak(ch)) { + pos++; + continue; + } + break; + } + return pos; + } + } + ts.skipTrivia = skipTrivia; + function createScanner(languageVersion, text, onError, onComment) { + var pos; + var len; + var startPos; + var tokenPos; + var token; + var precedingLineBreak; + var hasUnicodeEscapeSequence; + function error(message) { + if (onError) + onError(message); + } + function isIdentifierStart(ch) { + return ch >= 65 /* A */ && ch <= 90 /* Z */ || ch >= 97 /* a */ && ch <= 122 /* z */ || ch === 36 /* $ */ || ch === 95 /* _ */ || ch > 127 /* maxAsciiCharacter */ && isUnicodeIdentifierStart(ch, languageVersion); + } + function isIdentifierPart(ch) { + return ch >= 65 /* A */ && ch <= 90 /* Z */ || ch >= 97 /* a */ && ch <= 122 /* z */ || ch >= 48 /* _0 */ && ch <= 57 /* _9 */ || ch === 36 /* $ */ || ch === 95 /* _ */ || ch > 127 /* maxAsciiCharacter */ && isUnicodeIdentifierPart(ch, languageVersion); + } + function scanNumber() { + token = 2 /* NumericLiteral */; + while (isDigit(text.charCodeAt(pos))) + pos++; + if (text.charCodeAt(pos) === 46 /* dot */) { + pos++; + while (isDigit(text.charCodeAt(pos))) + pos++; + } + if (text.charCodeAt(pos) === 69 /* E */ || text.charCodeAt(pos) === 101 /* e */) { + pos++; + if (text.charCodeAt(pos) === 43 /* plus */ || text.charCodeAt(pos) === 45 /* minus */) + pos++; + if (!isDigit(text.charCodeAt(pos))) { + error(ts.Diagnostics.Digit_expected); + } + else { + do { + pos++; + } while (isDigit(text.charCodeAt(pos))); + } + } + return token; + } + function scanHexDigits(count, exact, ignoreErrors) { + var n = 0; + while ((n < count || !exact) && isHexDigit(text.charCodeAt(pos))) { + pos++; + n++; + } + if (n < count && !ignoreErrors) + error(ts.Diagnostics.Hexadecimal_digit_expected); + } + function scanHexNumber() { + token = 2 /* NumericLiteral */; + pos += 2; + scanHexDigits(1, false); + return token; + } + function scanString() { + token = 3 /* StringLiteral */; + var quote = text.charCodeAt(pos++); + while (true) { + if (pos >= len) { + error(ts.Diagnostics.Unexpected_end_of_text); + break; + } + var ch = text.charCodeAt(pos); + if (ch === quote) { + pos++; + break; + } + if (isLineBreak(ch)) { + error(ts.Diagnostics.Unterminated_string_constant); + break; + } + pos++; + if (ch === 92 /* backslash */) { + switch (text.charCodeAt(pos)) { + case 13 /* carriageReturn */: + pos++; + if (text.charCodeAt(pos) === 10 /* lineFeed */) + pos++; + break; + case 120 /* x */: + pos++; + scanHexDigits(2, true); + break; + case 117 /* u */: + pos++; + scanHexDigits(4, true); + break; + default: + if (pos < len) + pos++; + } + } + } + return token; + } + function scanUnicodeIdentifierOrKeyword() { + var startPos = pos; + do { + scanCharOrUnicodeEscape(); + } while (isIdentifierPart(peekCharOrUnicodeEscape())); + var id = convertUnicodeEscapes(startPos, pos); + if (hasOwnProperty.call(textToToken, id)) { + return token = textToToken[id]; + } + return 55 /* Identifier */; + } + function peekCharOrUnicodeEscape() { + var ch; + tryScan(function () { + ch = scanCharOrUnicodeEscape(true); + }); + return ch; + } + function scanCharOrUnicodeEscape(ignoreErrors) { + var ch = text.charCodeAt(pos++); + if (ch === 92 /* backslash */ && text.charCodeAt(pos) === 117 /* u */) { + pos++; + hasUnicodeEscapeSequence = true; + return scanUnicodeEscape(ignoreErrors); + } + return ch; + } + function hexValue(start, length) { + var value = 0; + for (var i = 0; i < length; i++) { + var ch = text.charCodeAt(start + i); + if (ch >= 48 /* _0 */ && ch <= 57 /* _9 */) + value = (value << 4) + ch - 48 /* _0 */; + else if (ch >= 97 /* a */ && ch <= 102 /* f */) + value = (value << 4) + ch - 97 /* a */ + 10; + else if (ch >= 65 /* A */ && ch <= 70 /* F */) + value = (value << 4) + ch - 65 /* A */ + 10; + else + break; + } + return value; + } + function scanUnicodeEscape(ignoreErrors) { + var startPos = pos; + scanHexDigits(4, true, ignoreErrors); + return hexValue(startPos, 4); + } + var characterArray = []; + function convertUnicodeEscapes(pos, end) { + characterArray.length = 0; + var i = pos; + while (i < end) { + var ch = text.charCodeAt(i++); + if (ch === 92 /* backslash */ && text.charCodeAt(i) === 117 /* u */) { + i++; + var j = 0; + while (j < 4 && isHexDigit(text.charCodeAt(i + j))) + j++; + characterArray.push(hexValue(i, j)); + i += j; + } + else { + characterArray.push(ch); + } + } + ts.Debug.assert(characterArray.length, "Could not unescape a unicode sequence"); + return String.fromCharCode.apply(null, characterArray); + } + function scan() { + startPos = pos; + precedingLineBreak = false; + hasUnicodeEscapeSequence = false; + while (true) { + tokenPos = pos; + if (pos >= len) { + return token = 1 /* EndOfFileToken */; + } + var ch = text.charCodeAt(pos); + switch (ch) { + case 10 /* lineFeed */: + case 13 /* carriageReturn */: + precedingLineBreak = true; + case 9 /* tab */: + case 11 /* verticalTab */: + case 12 /* formFeed */: + case 32 /* space */: + pos++; + continue; + case 33 /* exclamation */: + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + if (text.charCodeAt(pos + 2) === 61 /* equals */) { + return pos += 3, token = 22 /* ExclamationEqualsEqualsToken */; + } + return pos += 2, token = 20 /* ExclamationEqualsToken */; + } + return pos++, token = 37 /* ExclamationToken */; + case 34 /* doubleQuote */: + case 39 /* singleQuote */: + return scanString(); + case 37 /* percent */: + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + return pos += 2, token = 48 /* PercentEqualsToken */; + } + return pos++, token = 28 /* PercentToken */; + case 38 /* ampersand */: + if (text.charCodeAt(pos + 1) === 38 /* ampersand */) { + return pos += 2, token = 39 /* AmpersandAmpersandToken */; + } + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + return pos += 2, token = 52 /* AmpersandEqualsToken */; + } + return pos++, token = 34 /* AmpersandToken */; + case 40 /* openParen */: + return pos++, token = 7 /* OpenParenToken */; + case 41 /* closeParen */: + return pos++, token = 8 /* CloseParenToken */; + case 42 /* asterisk */: + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + return pos += 2, token = 46 /* AsteriskEqualsToken */; + } + return pos++, token = 26 /* AsteriskToken */; + case 43 /* plus */: + if (text.charCodeAt(pos + 1) === 43 /* plus */) { + return pos += 2, token = 29 /* PlusPlusToken */; + } + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + return pos += 2, token = 44 /* PlusEqualsToken */; + } + return pos++, token = 24 /* PlusToken */; + case 44 /* comma */: + return pos++, token = 14 /* CommaToken */; + case 45 /* minus */: + if (text.charCodeAt(pos + 1) === 45 /* minus */) { + return pos += 2, token = 30 /* MinusMinusToken */; + } + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + return pos += 2, token = 45 /* MinusEqualsToken */; + } + return pos++, token = 25 /* MinusToken */; + case 46 /* dot */: + if (isDigit(text.charCodeAt(pos + 1))) { + return scanNumber(); + } + if (text.charCodeAt(pos + 1) === 46 /* dot */ && text.charCodeAt(pos + 2) === 46 /* dot */) { + return pos += 3, token = 12 /* DotDotDotToken */; + } + return pos++, token = 11 /* DotToken */; + case 47 /* slash */: + if (text.charCodeAt(pos + 1) === 47 /* slash */) { + pos += 2; + while (pos < len) { + if (isLineBreak(text.charCodeAt(pos))) { + break; + } + pos++; + } + if (onComment) { + onComment(tokenPos, pos); + } + continue; + } + if (text.charCodeAt(pos + 1) === 42 /* asterisk */) { + pos += 2; + while (pos < len) { + var ch = text.charCodeAt(pos); + if (ch === 42 /* asterisk */ && text.charCodeAt(pos + 1) === 47 /* slash */) { + pos += 2; + break; + } + if (isLineBreak(ch)) { + precedingLineBreak = true; + } + pos++; + } + if (onComment) { + onComment(tokenPos, pos); + } + continue; + } + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + return pos += 2, token = 47 /* SlashEqualsToken */; + } + return pos++, token = 27 /* SlashToken */; + case 48 /* _0 */: + if (text.charCodeAt(pos + 1) === 88 /* X */ || text.charCodeAt(pos + 1) === 120 /* x */) { + return scanHexNumber(); + } + case 49 /* _1 */: + case 50 /* _2 */: + case 51 /* _3 */: + case 52 /* _4 */: + case 53 /* _5 */: + case 54 /* _6 */: + case 55 /* _7 */: + case 56 /* _8 */: + case 57 /* _9 */: + return scanNumber(); + case 58 /* colon */: + return pos++, token = 42 /* ColonToken */; + case 59 /* semicolon */: + return pos++, token = 13 /* SemicolonToken */; + case 60 /* lessThan */: + if (text.charCodeAt(pos + 1) === 60 /* lessThan */) { + if (text.charCodeAt(pos + 2) === 61 /* equals */) { + return pos += 3, token = 49 /* LessThanLessThanEqualsToken */; + } + return pos += 2, token = 31 /* LessThanLessThanToken */; + } + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + return pos += 2, token = 17 /* LessThanEqualsToken */; + } + return pos++, token = 15 /* LessThanToken */; + case 61 /* equals */: + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + if (text.charCodeAt(pos + 2) === 61 /* equals */) { + return pos += 3, token = 21 /* EqualsEqualsEqualsToken */; + } + return pos += 2, token = 19 /* EqualsEqualsToken */; + } + if (text.charCodeAt(pos + 1) === 62 /* greaterThan */) { + return pos += 2, token = 23 /* EqualsGreaterThanToken */; + } + return pos++, token = 43 /* EqualsToken */; + case 62 /* greaterThan */: + return pos++, token = 16 /* GreaterThanToken */; + case 63 /* question */: + return pos++, token = 41 /* QuestionToken */; + case 91 /* openBracket */: + return pos++, token = 9 /* OpenBracketToken */; + case 93 /* closeBracket */: + return pos++, token = 10 /* CloseBracketToken */; + case 94 /* caret */: + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + return pos += 2, token = 54 /* CaretEqualsToken */; + } + return pos++, token = 36 /* CaretToken */; + case 123 /* openBrace */: + return pos++, token = 5 /* OpenBraceToken */; + case 124 /* bar */: + if (text.charCodeAt(pos + 1) === 124 /* bar */) { + return pos += 2, token = 40 /* BarBarToken */; + } + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + return pos += 2, token = 53 /* BarEqualsToken */; + } + return pos++, token = 35 /* BarToken */; + case 125 /* closeBrace */: + return pos++, token = 6 /* CloseBraceToken */; + case 126 /* tilde */: + return pos++, token = 38 /* TildeToken */; + default: + if (isIdentifierStart(ch)) { + var lastCh; + do { + lastCh = text.charCodeAt(++pos); + } while (isIdentifierPart(lastCh)); + if (lastCh !== 92 /* backslash */) { + if (ch >= 97 /* a */ && ch <= 122 /* z */ && pos - tokenPos >= 2) { + var id = text.substring(tokenPos, pos); + if (hasOwnProperty.call(textToToken, id)) { + return token = textToToken[id]; + } + } + return token = 55 /* Identifier */; + } + else { + pos = tokenPos; + } + } + else if (isWhiteSpace(ch)) { + pos++; + continue; + } + else if (isLineBreak(ch)) { + precedingLineBreak = true; + pos++; + continue; + } + if (isIdentifierStart(peekCharOrUnicodeEscape())) { + return scanUnicodeIdentifierOrKeyword(); + } + if (pos < len) { + error(ts.Diagnostics.Invalid_character); + return pos++, token = 0 /* Unknown */; + } + } + } + } + function reScanGreaterToken() { + if (token === 16 /* GreaterThanToken */) { + if (text.charCodeAt(pos) === 62 /* greaterThan */) { + if (text.charCodeAt(pos + 1) === 62 /* greaterThan */) { + if (text.charCodeAt(pos + 2) === 61 /* equals */) { + return pos += 3, token = 51 /* GreaterThanGreaterThanGreaterThanEqualsToken */; + } + return pos += 2, token = 33 /* GreaterThanGreaterThanGreaterThanToken */; + } + if (text.charCodeAt(pos + 1) === 61 /* equals */) { + return pos += 2, token = 50 /* GreaterThanGreaterThanEqualsToken */; + } + return pos++, token = 32 /* GreaterThanGreaterThanToken */; + } + if (text.charCodeAt(pos) === 61 /* equals */) { + return pos++, token = 18 /* GreaterThanEqualsToken */; + } + } + return token; + } + function reScanSlashToken() { + if (token === 27 /* SlashToken */ || token === 47 /* SlashEqualsToken */) { + var p = tokenPos + 1; + var inEscape = false; + var inClass = false; + while (true) { + if (p >= len) { + return token; + } + var ch = text.charCodeAt(p); + if (isLineBreak(ch)) { + return token; + } + if (inEscape) { + inEscape = false; + } + else if (ch === 47 /* slash */) { + break; + } + else if (ch === 91 /* openBracket */) { + inClass = true; + } + else if (ch === 92 /* backslash */) { + inEscape = true; + } + else if (ch === 93 /* closeBracket */) { + inClass = false; + } + p++; + } + p++; + while (isIdentifierPart(text.charCodeAt(p))) + p++; + token = 4 /* RegularExpressionLiteral */; + pos = p; + } + return token; + } + function tryScan(callback) { + var savePos = pos; + var saveStartPos = startPos; + var saveTokenPos = tokenPos; + var saveToken = token; + var savePrecedingLineBreak = precedingLineBreak; + var savehasUnicodeEscapeSequence = hasUnicodeEscapeSequence; + var result = callback(); + if (!result) { + pos = savePos; + startPos = saveStartPos; + tokenPos = saveTokenPos; + token = saveToken; + precedingLineBreak = savePrecedingLineBreak; + hasUnicodeEscapeSequence = savehasUnicodeEscapeSequence; + } + return result; + } + function setText(newText) { + text = newText || ""; + len = text.length; + setTextPos(0); + } + function setTextPos(textPos) { + pos = textPos; + startPos = textPos; + tokenPos = textPos; + token = 0 /* Unknown */; + precedingLineBreak = false; + } + setText(text); + return { + getStartPos: function () { return startPos; }, + getTextPos: function () { return pos; }, + getToken: function () { return token; }, + getTokenPos: function () { return tokenPos; }, + getTokenText: function () { return text.substring(tokenPos, pos); }, + getIdentifierText: function () { return hasUnicodeEscapeSequence ? convertUnicodeEscapes(tokenPos, pos) : text.substring(tokenPos, pos); }, + hasPrecedingLineBreak: function () { return precedingLineBreak; }, + isIdentifier: function () { return token === 55 /* Identifier */ || token > ts.SyntaxKind.LastReservedWord; }, + isReservedWord: function () { return token >= ts.SyntaxKind.FirstReservedWord && token <= ts.SyntaxKind.LastReservedWord; }, + reScanGreaterToken: reScanGreaterToken, + reScanSlashToken: reScanSlashToken, + scan: scan, + setText: setText, + setTextPos: setTextPos, + tryScan: tryScan + }; + } + ts.createScanner = createScanner; +})(ts || (ts = {})); +var ts; +(function (ts) { + (function (SyntaxKind) { + SyntaxKind[SyntaxKind["Unknown"] = 0] = "Unknown"; + SyntaxKind[SyntaxKind["EndOfFileToken"] = 1] = "EndOfFileToken"; + SyntaxKind[SyntaxKind["NumericLiteral"] = 2] = "NumericLiteral"; + SyntaxKind[SyntaxKind["StringLiteral"] = 3] = "StringLiteral"; + SyntaxKind[SyntaxKind["RegularExpressionLiteral"] = 4] = "RegularExpressionLiteral"; + SyntaxKind[SyntaxKind["OpenBraceToken"] = 5] = "OpenBraceToken"; + SyntaxKind[SyntaxKind["CloseBraceToken"] = 6] = "CloseBraceToken"; + SyntaxKind[SyntaxKind["OpenParenToken"] = 7] = "OpenParenToken"; + SyntaxKind[SyntaxKind["CloseParenToken"] = 8] = "CloseParenToken"; + SyntaxKind[SyntaxKind["OpenBracketToken"] = 9] = "OpenBracketToken"; + SyntaxKind[SyntaxKind["CloseBracketToken"] = 10] = "CloseBracketToken"; + SyntaxKind[SyntaxKind["DotToken"] = 11] = "DotToken"; + SyntaxKind[SyntaxKind["DotDotDotToken"] = 12] = "DotDotDotToken"; + SyntaxKind[SyntaxKind["SemicolonToken"] = 13] = "SemicolonToken"; + SyntaxKind[SyntaxKind["CommaToken"] = 14] = "CommaToken"; + SyntaxKind[SyntaxKind["LessThanToken"] = 15] = "LessThanToken"; + SyntaxKind[SyntaxKind["GreaterThanToken"] = 16] = "GreaterThanToken"; + SyntaxKind[SyntaxKind["LessThanEqualsToken"] = 17] = "LessThanEqualsToken"; + SyntaxKind[SyntaxKind["GreaterThanEqualsToken"] = 18] = "GreaterThanEqualsToken"; + SyntaxKind[SyntaxKind["EqualsEqualsToken"] = 19] = "EqualsEqualsToken"; + SyntaxKind[SyntaxKind["ExclamationEqualsToken"] = 20] = "ExclamationEqualsToken"; + SyntaxKind[SyntaxKind["EqualsEqualsEqualsToken"] = 21] = "EqualsEqualsEqualsToken"; + SyntaxKind[SyntaxKind["ExclamationEqualsEqualsToken"] = 22] = "ExclamationEqualsEqualsToken"; + SyntaxKind[SyntaxKind["EqualsGreaterThanToken"] = 23] = "EqualsGreaterThanToken"; + SyntaxKind[SyntaxKind["PlusToken"] = 24] = "PlusToken"; + SyntaxKind[SyntaxKind["MinusToken"] = 25] = "MinusToken"; + SyntaxKind[SyntaxKind["AsteriskToken"] = 26] = "AsteriskToken"; + SyntaxKind[SyntaxKind["SlashToken"] = 27] = "SlashToken"; + SyntaxKind[SyntaxKind["PercentToken"] = 28] = "PercentToken"; + SyntaxKind[SyntaxKind["PlusPlusToken"] = 29] = "PlusPlusToken"; + SyntaxKind[SyntaxKind["MinusMinusToken"] = 30] = "MinusMinusToken"; + SyntaxKind[SyntaxKind["LessThanLessThanToken"] = 31] = "LessThanLessThanToken"; + SyntaxKind[SyntaxKind["GreaterThanGreaterThanToken"] = 32] = "GreaterThanGreaterThanToken"; + SyntaxKind[SyntaxKind["GreaterThanGreaterThanGreaterThanToken"] = 33] = "GreaterThanGreaterThanGreaterThanToken"; + SyntaxKind[SyntaxKind["AmpersandToken"] = 34] = "AmpersandToken"; + SyntaxKind[SyntaxKind["BarToken"] = 35] = "BarToken"; + SyntaxKind[SyntaxKind["CaretToken"] = 36] = "CaretToken"; + SyntaxKind[SyntaxKind["ExclamationToken"] = 37] = "ExclamationToken"; + SyntaxKind[SyntaxKind["TildeToken"] = 38] = "TildeToken"; + SyntaxKind[SyntaxKind["AmpersandAmpersandToken"] = 39] = "AmpersandAmpersandToken"; + SyntaxKind[SyntaxKind["BarBarToken"] = 40] = "BarBarToken"; + SyntaxKind[SyntaxKind["QuestionToken"] = 41] = "QuestionToken"; + SyntaxKind[SyntaxKind["ColonToken"] = 42] = "ColonToken"; + SyntaxKind[SyntaxKind["EqualsToken"] = 43] = "EqualsToken"; + SyntaxKind[SyntaxKind["PlusEqualsToken"] = 44] = "PlusEqualsToken"; + SyntaxKind[SyntaxKind["MinusEqualsToken"] = 45] = "MinusEqualsToken"; + SyntaxKind[SyntaxKind["AsteriskEqualsToken"] = 46] = "AsteriskEqualsToken"; + SyntaxKind[SyntaxKind["SlashEqualsToken"] = 47] = "SlashEqualsToken"; + SyntaxKind[SyntaxKind["PercentEqualsToken"] = 48] = "PercentEqualsToken"; + SyntaxKind[SyntaxKind["LessThanLessThanEqualsToken"] = 49] = "LessThanLessThanEqualsToken"; + SyntaxKind[SyntaxKind["GreaterThanGreaterThanEqualsToken"] = 50] = "GreaterThanGreaterThanEqualsToken"; + SyntaxKind[SyntaxKind["GreaterThanGreaterThanGreaterThanEqualsToken"] = 51] = "GreaterThanGreaterThanGreaterThanEqualsToken"; + SyntaxKind[SyntaxKind["AmpersandEqualsToken"] = 52] = "AmpersandEqualsToken"; + SyntaxKind[SyntaxKind["BarEqualsToken"] = 53] = "BarEqualsToken"; + SyntaxKind[SyntaxKind["CaretEqualsToken"] = 54] = "CaretEqualsToken"; + SyntaxKind[SyntaxKind["Identifier"] = 55] = "Identifier"; + SyntaxKind[SyntaxKind["BreakKeyword"] = 56] = "BreakKeyword"; + SyntaxKind[SyntaxKind["CaseKeyword"] = 57] = "CaseKeyword"; + SyntaxKind[SyntaxKind["CatchKeyword"] = 58] = "CatchKeyword"; + SyntaxKind[SyntaxKind["ClassKeyword"] = 59] = "ClassKeyword"; + SyntaxKind[SyntaxKind["ConstKeyword"] = 60] = "ConstKeyword"; + SyntaxKind[SyntaxKind["ContinueKeyword"] = 61] = "ContinueKeyword"; + SyntaxKind[SyntaxKind["DebuggerKeyword"] = 62] = "DebuggerKeyword"; + SyntaxKind[SyntaxKind["DefaultKeyword"] = 63] = "DefaultKeyword"; + SyntaxKind[SyntaxKind["DeleteKeyword"] = 64] = "DeleteKeyword"; + SyntaxKind[SyntaxKind["DoKeyword"] = 65] = "DoKeyword"; + SyntaxKind[SyntaxKind["ElseKeyword"] = 66] = "ElseKeyword"; + SyntaxKind[SyntaxKind["EnumKeyword"] = 67] = "EnumKeyword"; + SyntaxKind[SyntaxKind["ExportKeyword"] = 68] = "ExportKeyword"; + SyntaxKind[SyntaxKind["ExtendsKeyword"] = 69] = "ExtendsKeyword"; + SyntaxKind[SyntaxKind["FalseKeyword"] = 70] = "FalseKeyword"; + SyntaxKind[SyntaxKind["FinallyKeyword"] = 71] = "FinallyKeyword"; + SyntaxKind[SyntaxKind["ForKeyword"] = 72] = "ForKeyword"; + SyntaxKind[SyntaxKind["FunctionKeyword"] = 73] = "FunctionKeyword"; + SyntaxKind[SyntaxKind["IfKeyword"] = 74] = "IfKeyword"; + SyntaxKind[SyntaxKind["ImportKeyword"] = 75] = "ImportKeyword"; + SyntaxKind[SyntaxKind["InKeyword"] = 76] = "InKeyword"; + SyntaxKind[SyntaxKind["InstanceOfKeyword"] = 77] = "InstanceOfKeyword"; + SyntaxKind[SyntaxKind["NewKeyword"] = 78] = "NewKeyword"; + SyntaxKind[SyntaxKind["NullKeyword"] = 79] = "NullKeyword"; + SyntaxKind[SyntaxKind["ReturnKeyword"] = 80] = "ReturnKeyword"; + SyntaxKind[SyntaxKind["SuperKeyword"] = 81] = "SuperKeyword"; + SyntaxKind[SyntaxKind["SwitchKeyword"] = 82] = "SwitchKeyword"; + SyntaxKind[SyntaxKind["ThisKeyword"] = 83] = "ThisKeyword"; + SyntaxKind[SyntaxKind["ThrowKeyword"] = 84] = "ThrowKeyword"; + SyntaxKind[SyntaxKind["TrueKeyword"] = 85] = "TrueKeyword"; + SyntaxKind[SyntaxKind["TryKeyword"] = 86] = "TryKeyword"; + SyntaxKind[SyntaxKind["TypeOfKeyword"] = 87] = "TypeOfKeyword"; + SyntaxKind[SyntaxKind["VarKeyword"] = 88] = "VarKeyword"; + SyntaxKind[SyntaxKind["VoidKeyword"] = 89] = "VoidKeyword"; + SyntaxKind[SyntaxKind["WhileKeyword"] = 90] = "WhileKeyword"; + SyntaxKind[SyntaxKind["WithKeyword"] = 91] = "WithKeyword"; + SyntaxKind[SyntaxKind["ImplementsKeyword"] = 92] = "ImplementsKeyword"; + SyntaxKind[SyntaxKind["InterfaceKeyword"] = 93] = "InterfaceKeyword"; + SyntaxKind[SyntaxKind["LetKeyword"] = 94] = "LetKeyword"; + SyntaxKind[SyntaxKind["PackageKeyword"] = 95] = "PackageKeyword"; + SyntaxKind[SyntaxKind["PrivateKeyword"] = 96] = "PrivateKeyword"; + SyntaxKind[SyntaxKind["ProtectedKeyword"] = 97] = "ProtectedKeyword"; + SyntaxKind[SyntaxKind["PublicKeyword"] = 98] = "PublicKeyword"; + SyntaxKind[SyntaxKind["StaticKeyword"] = 99] = "StaticKeyword"; + SyntaxKind[SyntaxKind["YieldKeyword"] = 100] = "YieldKeyword"; + SyntaxKind[SyntaxKind["AnyKeyword"] = 101] = "AnyKeyword"; + SyntaxKind[SyntaxKind["BooleanKeyword"] = 102] = "BooleanKeyword"; + SyntaxKind[SyntaxKind["ConstructorKeyword"] = 103] = "ConstructorKeyword"; + SyntaxKind[SyntaxKind["DeclareKeyword"] = 104] = "DeclareKeyword"; + SyntaxKind[SyntaxKind["GetKeyword"] = 105] = "GetKeyword"; + SyntaxKind[SyntaxKind["ModuleKeyword"] = 106] = "ModuleKeyword"; + SyntaxKind[SyntaxKind["RequireKeyword"] = 107] = "RequireKeyword"; + SyntaxKind[SyntaxKind["NumberKeyword"] = 108] = "NumberKeyword"; + SyntaxKind[SyntaxKind["SetKeyword"] = 109] = "SetKeyword"; + SyntaxKind[SyntaxKind["StringKeyword"] = 110] = "StringKeyword"; + SyntaxKind[SyntaxKind["Missing"] = 111] = "Missing"; + SyntaxKind[SyntaxKind["QualifiedName"] = 112] = "QualifiedName"; + SyntaxKind[SyntaxKind["TypeParameter"] = 113] = "TypeParameter"; + SyntaxKind[SyntaxKind["Parameter"] = 114] = "Parameter"; + SyntaxKind[SyntaxKind["Property"] = 115] = "Property"; + SyntaxKind[SyntaxKind["Method"] = 116] = "Method"; + SyntaxKind[SyntaxKind["Constructor"] = 117] = "Constructor"; + SyntaxKind[SyntaxKind["GetAccessor"] = 118] = "GetAccessor"; + SyntaxKind[SyntaxKind["SetAccessor"] = 119] = "SetAccessor"; + SyntaxKind[SyntaxKind["CallSignature"] = 120] = "CallSignature"; + SyntaxKind[SyntaxKind["ConstructSignature"] = 121] = "ConstructSignature"; + SyntaxKind[SyntaxKind["IndexSignature"] = 122] = "IndexSignature"; + SyntaxKind[SyntaxKind["TypeReference"] = 123] = "TypeReference"; + SyntaxKind[SyntaxKind["TypeQuery"] = 124] = "TypeQuery"; + SyntaxKind[SyntaxKind["TypeLiteral"] = 125] = "TypeLiteral"; + SyntaxKind[SyntaxKind["ArrayType"] = 126] = "ArrayType"; + SyntaxKind[SyntaxKind["ArrayLiteral"] = 127] = "ArrayLiteral"; + SyntaxKind[SyntaxKind["ObjectLiteral"] = 128] = "ObjectLiteral"; + SyntaxKind[SyntaxKind["PropertyAssignment"] = 129] = "PropertyAssignment"; + SyntaxKind[SyntaxKind["PropertyAccess"] = 130] = "PropertyAccess"; + SyntaxKind[SyntaxKind["IndexedAccess"] = 131] = "IndexedAccess"; + SyntaxKind[SyntaxKind["CallExpression"] = 132] = "CallExpression"; + SyntaxKind[SyntaxKind["NewExpression"] = 133] = "NewExpression"; + SyntaxKind[SyntaxKind["TypeAssertion"] = 134] = "TypeAssertion"; + SyntaxKind[SyntaxKind["ParenExpression"] = 135] = "ParenExpression"; + SyntaxKind[SyntaxKind["FunctionExpression"] = 136] = "FunctionExpression"; + SyntaxKind[SyntaxKind["ArrowFunction"] = 137] = "ArrowFunction"; + SyntaxKind[SyntaxKind["PrefixOperator"] = 138] = "PrefixOperator"; + SyntaxKind[SyntaxKind["PostfixOperator"] = 139] = "PostfixOperator"; + SyntaxKind[SyntaxKind["BinaryExpression"] = 140] = "BinaryExpression"; + SyntaxKind[SyntaxKind["ConditionalExpression"] = 141] = "ConditionalExpression"; + SyntaxKind[SyntaxKind["OmittedExpression"] = 142] = "OmittedExpression"; + SyntaxKind[SyntaxKind["Block"] = 143] = "Block"; + SyntaxKind[SyntaxKind["VariableStatement"] = 144] = "VariableStatement"; + SyntaxKind[SyntaxKind["EmptyStatement"] = 145] = "EmptyStatement"; + SyntaxKind[SyntaxKind["ExpressionStatement"] = 146] = "ExpressionStatement"; + SyntaxKind[SyntaxKind["IfStatement"] = 147] = "IfStatement"; + SyntaxKind[SyntaxKind["DoStatement"] = 148] = "DoStatement"; + SyntaxKind[SyntaxKind["WhileStatement"] = 149] = "WhileStatement"; + SyntaxKind[SyntaxKind["ForStatement"] = 150] = "ForStatement"; + SyntaxKind[SyntaxKind["ForInStatement"] = 151] = "ForInStatement"; + SyntaxKind[SyntaxKind["ContinueStatement"] = 152] = "ContinueStatement"; + SyntaxKind[SyntaxKind["BreakStatement"] = 153] = "BreakStatement"; + SyntaxKind[SyntaxKind["ReturnStatement"] = 154] = "ReturnStatement"; + SyntaxKind[SyntaxKind["WithStatement"] = 155] = "WithStatement"; + SyntaxKind[SyntaxKind["SwitchStatement"] = 156] = "SwitchStatement"; + SyntaxKind[SyntaxKind["CaseClause"] = 157] = "CaseClause"; + SyntaxKind[SyntaxKind["DefaultClause"] = 158] = "DefaultClause"; + SyntaxKind[SyntaxKind["LabelledStatement"] = 159] = "LabelledStatement"; + SyntaxKind[SyntaxKind["ThrowStatement"] = 160] = "ThrowStatement"; + SyntaxKind[SyntaxKind["TryStatement"] = 161] = "TryStatement"; + SyntaxKind[SyntaxKind["TryBlock"] = 162] = "TryBlock"; + SyntaxKind[SyntaxKind["CatchBlock"] = 163] = "CatchBlock"; + SyntaxKind[SyntaxKind["FinallyBlock"] = 164] = "FinallyBlock"; + SyntaxKind[SyntaxKind["DebuggerStatement"] = 165] = "DebuggerStatement"; + SyntaxKind[SyntaxKind["VariableDeclaration"] = 166] = "VariableDeclaration"; + SyntaxKind[SyntaxKind["FunctionDeclaration"] = 167] = "FunctionDeclaration"; + SyntaxKind[SyntaxKind["FunctionBlock"] = 168] = "FunctionBlock"; + SyntaxKind[SyntaxKind["ClassDeclaration"] = 169] = "ClassDeclaration"; + SyntaxKind[SyntaxKind["InterfaceDeclaration"] = 170] = "InterfaceDeclaration"; + SyntaxKind[SyntaxKind["EnumDeclaration"] = 171] = "EnumDeclaration"; + SyntaxKind[SyntaxKind["ModuleDeclaration"] = 172] = "ModuleDeclaration"; + SyntaxKind[SyntaxKind["ModuleBlock"] = 173] = "ModuleBlock"; + SyntaxKind[SyntaxKind["ImportDeclaration"] = 174] = "ImportDeclaration"; + SyntaxKind[SyntaxKind["ExportAssignment"] = 175] = "ExportAssignment"; + SyntaxKind[SyntaxKind["EnumMember"] = 176] = "EnumMember"; + SyntaxKind[SyntaxKind["SourceFile"] = 177] = "SourceFile"; + SyntaxKind[SyntaxKind["Program"] = 178] = "Program"; + SyntaxKind[SyntaxKind["SyntaxList"] = 179] = "SyntaxList"; + SyntaxKind[SyntaxKind["Count"] = 180] = "Count"; + SyntaxKind[SyntaxKind["FirstAssignment"] = SyntaxKind.EqualsToken] = "FirstAssignment"; + SyntaxKind[SyntaxKind["LastAssignment"] = SyntaxKind.CaretEqualsToken] = "LastAssignment"; + SyntaxKind[SyntaxKind["FirstReservedWord"] = SyntaxKind.BreakKeyword] = "FirstReservedWord"; + SyntaxKind[SyntaxKind["LastReservedWord"] = SyntaxKind.WithKeyword] = "LastReservedWord"; + })(ts.SyntaxKind || (ts.SyntaxKind = {})); + var SyntaxKind = ts.SyntaxKind; + (function (NodeFlags) { + NodeFlags[NodeFlags["Export"] = 0x00000001] = "Export"; + NodeFlags[NodeFlags["Ambient"] = 0x00000002] = "Ambient"; + NodeFlags[NodeFlags["QuestionMark"] = 0x00000004] = "QuestionMark"; + NodeFlags[NodeFlags["Rest"] = 0x00000008] = "Rest"; + NodeFlags[NodeFlags["Public"] = 0x00000010] = "Public"; + NodeFlags[NodeFlags["Private"] = 0x00000020] = "Private"; + NodeFlags[NodeFlags["Static"] = 0x00000040] = "Static"; + NodeFlags[NodeFlags["MultiLine"] = 0x00000080] = "MultiLine"; + NodeFlags[NodeFlags["Synthetic"] = 0x00000100] = "Synthetic"; + NodeFlags[NodeFlags["DeclarationFile"] = 0x00000200] = "DeclarationFile"; + NodeFlags[NodeFlags["ExternalModule"] = 0x00000400] = "ExternalModule"; + NodeFlags[NodeFlags["Modifier"] = NodeFlags.Export | NodeFlags.Ambient | NodeFlags.Public | NodeFlags.Private | NodeFlags.Static] = "Modifier"; + })(ts.NodeFlags || (ts.NodeFlags = {})); + var NodeFlags = ts.NodeFlags; + (function (SymbolFlags) { + SymbolFlags[SymbolFlags["Variable"] = 0x00000001] = "Variable"; + SymbolFlags[SymbolFlags["Property"] = 0x00000002] = "Property"; + SymbolFlags[SymbolFlags["EnumMember"] = 0x00000004] = "EnumMember"; + SymbolFlags[SymbolFlags["Function"] = 0x00000008] = "Function"; + SymbolFlags[SymbolFlags["Class"] = 0x00000010] = "Class"; + SymbolFlags[SymbolFlags["Interface"] = 0x00000020] = "Interface"; + SymbolFlags[SymbolFlags["Enum"] = 0x00000040] = "Enum"; + SymbolFlags[SymbolFlags["ValueModule"] = 0x00000080] = "ValueModule"; + SymbolFlags[SymbolFlags["NamespaceModule"] = 0x00000100] = "NamespaceModule"; + SymbolFlags[SymbolFlags["TypeLiteral"] = 0x00000200] = "TypeLiteral"; + SymbolFlags[SymbolFlags["ObjectLiteral"] = 0x00000400] = "ObjectLiteral"; + SymbolFlags[SymbolFlags["Method"] = 0x00000800] = "Method"; + SymbolFlags[SymbolFlags["Constructor"] = 0x00001000] = "Constructor"; + SymbolFlags[SymbolFlags["GetAccessor"] = 0x00002000] = "GetAccessor"; + SymbolFlags[SymbolFlags["SetAccessor"] = 0x00004000] = "SetAccessor"; + SymbolFlags[SymbolFlags["CallSignature"] = 0x00008000] = "CallSignature"; + SymbolFlags[SymbolFlags["ConstructSignature"] = 0x00010000] = "ConstructSignature"; + SymbolFlags[SymbolFlags["IndexSignature"] = 0x00020000] = "IndexSignature"; + SymbolFlags[SymbolFlags["TypeParameter"] = 0x00040000] = "TypeParameter"; + SymbolFlags[SymbolFlags["ExportValue"] = 0x00080000] = "ExportValue"; + SymbolFlags[SymbolFlags["ExportType"] = 0x00100000] = "ExportType"; + SymbolFlags[SymbolFlags["ExportNamespace"] = 0x00200000] = "ExportNamespace"; + SymbolFlags[SymbolFlags["Import"] = 0x00400000] = "Import"; + SymbolFlags[SymbolFlags["Instantiated"] = 0x00800000] = "Instantiated"; + SymbolFlags[SymbolFlags["Merged"] = 0x01000000] = "Merged"; + SymbolFlags[SymbolFlags["Transient"] = 0x02000000] = "Transient"; + SymbolFlags[SymbolFlags["Prototype"] = 0x04000000] = "Prototype"; + SymbolFlags[SymbolFlags["Value"] = SymbolFlags.Variable | SymbolFlags.Property | SymbolFlags.EnumMember | SymbolFlags.Function | SymbolFlags.Class | SymbolFlags.Enum | SymbolFlags.ValueModule | SymbolFlags.Method | SymbolFlags.GetAccessor | SymbolFlags.SetAccessor] = "Value"; + SymbolFlags[SymbolFlags["Type"] = SymbolFlags.Class | SymbolFlags.Interface | SymbolFlags.Enum | SymbolFlags.TypeLiteral | SymbolFlags.ObjectLiteral | SymbolFlags.TypeParameter] = "Type"; + SymbolFlags[SymbolFlags["Namespace"] = SymbolFlags.ValueModule | SymbolFlags.NamespaceModule] = "Namespace"; + SymbolFlags[SymbolFlags["Module"] = SymbolFlags.ValueModule | SymbolFlags.NamespaceModule] = "Module"; + SymbolFlags[SymbolFlags["Accessor"] = SymbolFlags.GetAccessor | SymbolFlags.SetAccessor] = "Accessor"; + SymbolFlags[SymbolFlags["Signature"] = SymbolFlags.CallSignature | SymbolFlags.ConstructSignature | SymbolFlags.IndexSignature] = "Signature"; + SymbolFlags[SymbolFlags["ParameterExcludes"] = SymbolFlags.Value] = "ParameterExcludes"; + SymbolFlags[SymbolFlags["VariableExcludes"] = SymbolFlags.Value & ~SymbolFlags.Variable] = "VariableExcludes"; + SymbolFlags[SymbolFlags["PropertyExcludes"] = SymbolFlags.Value] = "PropertyExcludes"; + SymbolFlags[SymbolFlags["EnumMemberExcludes"] = SymbolFlags.Value] = "EnumMemberExcludes"; + SymbolFlags[SymbolFlags["FunctionExcludes"] = SymbolFlags.Value & ~(SymbolFlags.Function | SymbolFlags.ValueModule)] = "FunctionExcludes"; + SymbolFlags[SymbolFlags["ClassExcludes"] = (SymbolFlags.Value | SymbolFlags.Type) & ~SymbolFlags.ValueModule] = "ClassExcludes"; + SymbolFlags[SymbolFlags["InterfaceExcludes"] = SymbolFlags.Type & ~SymbolFlags.Interface] = "InterfaceExcludes"; + SymbolFlags[SymbolFlags["EnumExcludes"] = (SymbolFlags.Value | SymbolFlags.Type) & ~(SymbolFlags.Enum | SymbolFlags.ValueModule)] = "EnumExcludes"; + SymbolFlags[SymbolFlags["ValueModuleExcludes"] = SymbolFlags.Value & ~(SymbolFlags.Function | SymbolFlags.Class | SymbolFlags.Enum | SymbolFlags.ValueModule)] = "ValueModuleExcludes"; + SymbolFlags[SymbolFlags["NamespaceModuleExcludes"] = 0] = "NamespaceModuleExcludes"; + SymbolFlags[SymbolFlags["MethodExcludes"] = SymbolFlags.Value & ~SymbolFlags.Method] = "MethodExcludes"; + SymbolFlags[SymbolFlags["GetAccessorExcludes"] = SymbolFlags.Value & ~SymbolFlags.SetAccessor] = "GetAccessorExcludes"; + SymbolFlags[SymbolFlags["SetAccessorExcludes"] = SymbolFlags.Value & ~SymbolFlags.GetAccessor] = "SetAccessorExcludes"; + SymbolFlags[SymbolFlags["TypeParameterExcludes"] = SymbolFlags.Type & ~SymbolFlags.TypeParameter] = "TypeParameterExcludes"; + SymbolFlags[SymbolFlags["ImportExcludes"] = SymbolFlags.Import] = "ImportExcludes"; + SymbolFlags[SymbolFlags["ModuleMember"] = SymbolFlags.Variable | SymbolFlags.Function | SymbolFlags.Class | SymbolFlags.Interface | SymbolFlags.Enum | SymbolFlags.Module | SymbolFlags.Import] = "ModuleMember"; + SymbolFlags[SymbolFlags["ExportHasLocal"] = SymbolFlags.Function | SymbolFlags.Class | SymbolFlags.Enum | SymbolFlags.ValueModule] = "ExportHasLocal"; + SymbolFlags[SymbolFlags["HasLocals"] = SymbolFlags.Function | SymbolFlags.Module | SymbolFlags.Method | SymbolFlags.Constructor | SymbolFlags.Accessor | SymbolFlags.Signature] = "HasLocals"; + SymbolFlags[SymbolFlags["HasExports"] = SymbolFlags.Class | SymbolFlags.Enum | SymbolFlags.Module] = "HasExports"; + SymbolFlags[SymbolFlags["HasMembers"] = SymbolFlags.Class | SymbolFlags.Interface | SymbolFlags.TypeLiteral | SymbolFlags.ObjectLiteral] = "HasMembers"; + SymbolFlags[SymbolFlags["IsContainer"] = SymbolFlags.HasLocals | SymbolFlags.HasExports | SymbolFlags.HasMembers] = "IsContainer"; + SymbolFlags[SymbolFlags["PropertyOrAccessor"] = SymbolFlags.Property | SymbolFlags.Accessor] = "PropertyOrAccessor"; + })(ts.SymbolFlags || (ts.SymbolFlags = {})); + var SymbolFlags = ts.SymbolFlags; + (function (NodeCheckFlags) { + NodeCheckFlags[NodeCheckFlags["TypeChecked"] = 0x00000001] = "TypeChecked"; + NodeCheckFlags[NodeCheckFlags["LexicalThis"] = 0x00000002] = "LexicalThis"; + NodeCheckFlags[NodeCheckFlags["CaptureThis"] = 0x00000004] = "CaptureThis"; + NodeCheckFlags[NodeCheckFlags["EmitExtends"] = 0x00000008] = "EmitExtends"; + NodeCheckFlags[NodeCheckFlags["SuperInstance"] = 0x00000010] = "SuperInstance"; + NodeCheckFlags[NodeCheckFlags["SuperStatic"] = 0x00000020] = "SuperStatic"; + })(ts.NodeCheckFlags || (ts.NodeCheckFlags = {})); + var NodeCheckFlags = ts.NodeCheckFlags; + (function (TypeFlags) { + TypeFlags[TypeFlags["Any"] = 0x00000001] = "Any"; + TypeFlags[TypeFlags["String"] = 0x00000002] = "String"; + TypeFlags[TypeFlags["Number"] = 0x00000004] = "Number"; + TypeFlags[TypeFlags["Boolean"] = 0x00000008] = "Boolean"; + TypeFlags[TypeFlags["Void"] = 0x00000010] = "Void"; + TypeFlags[TypeFlags["Undefined"] = 0x00000020] = "Undefined"; + TypeFlags[TypeFlags["Null"] = 0x00000040] = "Null"; + TypeFlags[TypeFlags["Enum"] = 0x00000080] = "Enum"; + TypeFlags[TypeFlags["StringLiteral"] = 0x00000100] = "StringLiteral"; + TypeFlags[TypeFlags["TypeParameter"] = 0x00000200] = "TypeParameter"; + TypeFlags[TypeFlags["Class"] = 0x00000400] = "Class"; + TypeFlags[TypeFlags["Interface"] = 0x00000800] = "Interface"; + TypeFlags[TypeFlags["Reference"] = 0x00001000] = "Reference"; + TypeFlags[TypeFlags["Anonymous"] = 0x00002000] = "Anonymous"; + TypeFlags[TypeFlags["FromSignature"] = 0x00004000] = "FromSignature"; + TypeFlags[TypeFlags["Intrinsic"] = TypeFlags.Any | TypeFlags.String | TypeFlags.Number | TypeFlags.Boolean | TypeFlags.Void | TypeFlags.Undefined | TypeFlags.Null] = "Intrinsic"; + TypeFlags[TypeFlags["StringLike"] = TypeFlags.String | TypeFlags.StringLiteral] = "StringLike"; + TypeFlags[TypeFlags["NumberLike"] = TypeFlags.Number | TypeFlags.Enum] = "NumberLike"; + TypeFlags[TypeFlags["ObjectType"] = TypeFlags.Class | TypeFlags.Interface | TypeFlags.Reference | TypeFlags.Anonymous] = "ObjectType"; + })(ts.TypeFlags || (ts.TypeFlags = {})); + var TypeFlags = ts.TypeFlags; + (function (SignatureKind) { + SignatureKind[SignatureKind["Call"] = 0] = "Call"; + SignatureKind[SignatureKind["Construct"] = 1] = "Construct"; + })(ts.SignatureKind || (ts.SignatureKind = {})); + var SignatureKind = ts.SignatureKind; + (function (IndexKind) { + IndexKind[IndexKind["String"] = 0] = "String"; + IndexKind[IndexKind["Number"] = 1] = "Number"; + })(ts.IndexKind || (ts.IndexKind = {})); + var IndexKind = ts.IndexKind; + (function (DiagnosticCategory) { + DiagnosticCategory[DiagnosticCategory["Warning"] = 0] = "Warning"; + DiagnosticCategory[DiagnosticCategory["Error"] = 1] = "Error"; + DiagnosticCategory[DiagnosticCategory["Message"] = 2] = "Message"; + DiagnosticCategory[DiagnosticCategory["NoPrefix"] = 3] = "NoPrefix"; + })(ts.DiagnosticCategory || (ts.DiagnosticCategory = {})); + var DiagnosticCategory = ts.DiagnosticCategory; + (function (ModuleKind) { + ModuleKind[ModuleKind["None"] = 0] = "None"; + ModuleKind[ModuleKind["CommonJS"] = 1] = "CommonJS"; + ModuleKind[ModuleKind["AMD"] = 2] = "AMD"; + })(ts.ModuleKind || (ts.ModuleKind = {})); + var ModuleKind = ts.ModuleKind; + (function (ScriptTarget) { + ScriptTarget[ScriptTarget["ES3"] = 0] = "ES3"; + ScriptTarget[ScriptTarget["ES5"] = 1] = "ES5"; + })(ts.ScriptTarget || (ts.ScriptTarget = {})); + var ScriptTarget = ts.ScriptTarget; + (function (CharacterCodes) { + CharacterCodes[CharacterCodes["nullCharacter"] = 0] = "nullCharacter"; + CharacterCodes[CharacterCodes["maxAsciiCharacter"] = 0x7F] = "maxAsciiCharacter"; + CharacterCodes[CharacterCodes["lineFeed"] = 0x0A] = "lineFeed"; + CharacterCodes[CharacterCodes["carriageReturn"] = 0x0D] = "carriageReturn"; + CharacterCodes[CharacterCodes["lineSeparator"] = 0x2028] = "lineSeparator"; + CharacterCodes[CharacterCodes["paragraphSeparator"] = 0x2029] = "paragraphSeparator"; + CharacterCodes[CharacterCodes["nextLine"] = 0x0085] = "nextLine"; + CharacterCodes[CharacterCodes["space"] = 0x0020] = "space"; + CharacterCodes[CharacterCodes["nonBreakingSpace"] = 0x00A0] = "nonBreakingSpace"; + CharacterCodes[CharacterCodes["enQuad"] = 0x2000] = "enQuad"; + CharacterCodes[CharacterCodes["emQuad"] = 0x2001] = "emQuad"; + CharacterCodes[CharacterCodes["enSpace"] = 0x2002] = "enSpace"; + CharacterCodes[CharacterCodes["emSpace"] = 0x2003] = "emSpace"; + CharacterCodes[CharacterCodes["threePerEmSpace"] = 0x2004] = "threePerEmSpace"; + CharacterCodes[CharacterCodes["fourPerEmSpace"] = 0x2005] = "fourPerEmSpace"; + CharacterCodes[CharacterCodes["sixPerEmSpace"] = 0x2006] = "sixPerEmSpace"; + CharacterCodes[CharacterCodes["figureSpace"] = 0x2007] = "figureSpace"; + CharacterCodes[CharacterCodes["punctuationSpace"] = 0x2008] = "punctuationSpace"; + CharacterCodes[CharacterCodes["thinSpace"] = 0x2009] = "thinSpace"; + CharacterCodes[CharacterCodes["hairSpace"] = 0x200A] = "hairSpace"; + CharacterCodes[CharacterCodes["zeroWidthSpace"] = 0x200B] = "zeroWidthSpace"; + CharacterCodes[CharacterCodes["narrowNoBreakSpace"] = 0x202F] = "narrowNoBreakSpace"; + CharacterCodes[CharacterCodes["ideographicSpace"] = 0x3000] = "ideographicSpace"; + CharacterCodes[CharacterCodes["mathematicalSpace"] = 0x205F] = "mathematicalSpace"; + CharacterCodes[CharacterCodes["ogham"] = 0x1680] = "ogham"; + CharacterCodes[CharacterCodes["_"] = 0x5F] = "_"; + CharacterCodes[CharacterCodes["$"] = 0x24] = "$"; + CharacterCodes[CharacterCodes["_0"] = 0x30] = "_0"; + CharacterCodes[CharacterCodes["_1"] = 0x31] = "_1"; + CharacterCodes[CharacterCodes["_2"] = 0x32] = "_2"; + CharacterCodes[CharacterCodes["_3"] = 0x33] = "_3"; + CharacterCodes[CharacterCodes["_4"] = 0x34] = "_4"; + CharacterCodes[CharacterCodes["_5"] = 0x35] = "_5"; + CharacterCodes[CharacterCodes["_6"] = 0x36] = "_6"; + CharacterCodes[CharacterCodes["_7"] = 0x37] = "_7"; + CharacterCodes[CharacterCodes["_8"] = 0x38] = "_8"; + CharacterCodes[CharacterCodes["_9"] = 0x39] = "_9"; + CharacterCodes[CharacterCodes["a"] = 0x61] = "a"; + CharacterCodes[CharacterCodes["b"] = 0x62] = "b"; + CharacterCodes[CharacterCodes["c"] = 0x63] = "c"; + CharacterCodes[CharacterCodes["d"] = 0x64] = "d"; + CharacterCodes[CharacterCodes["e"] = 0x65] = "e"; + CharacterCodes[CharacterCodes["f"] = 0x66] = "f"; + CharacterCodes[CharacterCodes["g"] = 0x67] = "g"; + CharacterCodes[CharacterCodes["h"] = 0x68] = "h"; + CharacterCodes[CharacterCodes["i"] = 0x69] = "i"; + CharacterCodes[CharacterCodes["j"] = 0x6A] = "j"; + CharacterCodes[CharacterCodes["k"] = 0x6B] = "k"; + CharacterCodes[CharacterCodes["l"] = 0x6C] = "l"; + CharacterCodes[CharacterCodes["m"] = 0x6D] = "m"; + CharacterCodes[CharacterCodes["n"] = 0x6E] = "n"; + CharacterCodes[CharacterCodes["o"] = 0x6F] = "o"; + CharacterCodes[CharacterCodes["p"] = 0x70] = "p"; + CharacterCodes[CharacterCodes["q"] = 0x71] = "q"; + CharacterCodes[CharacterCodes["r"] = 0x72] = "r"; + CharacterCodes[CharacterCodes["s"] = 0x73] = "s"; + CharacterCodes[CharacterCodes["t"] = 0x74] = "t"; + CharacterCodes[CharacterCodes["u"] = 0x75] = "u"; + CharacterCodes[CharacterCodes["v"] = 0x76] = "v"; + CharacterCodes[CharacterCodes["w"] = 0x77] = "w"; + CharacterCodes[CharacterCodes["x"] = 0x78] = "x"; + CharacterCodes[CharacterCodes["y"] = 0x79] = "y"; + CharacterCodes[CharacterCodes["z"] = 0x7A] = "z"; + CharacterCodes[CharacterCodes["A"] = 0x41] = "A"; + CharacterCodes[CharacterCodes["B"] = 0x42] = "B"; + CharacterCodes[CharacterCodes["C"] = 0x43] = "C"; + CharacterCodes[CharacterCodes["D"] = 0x44] = "D"; + CharacterCodes[CharacterCodes["E"] = 0x45] = "E"; + CharacterCodes[CharacterCodes["F"] = 0x46] = "F"; + CharacterCodes[CharacterCodes["G"] = 0x47] = "G"; + CharacterCodes[CharacterCodes["H"] = 0x48] = "H"; + CharacterCodes[CharacterCodes["I"] = 0x49] = "I"; + CharacterCodes[CharacterCodes["J"] = 0x4A] = "J"; + CharacterCodes[CharacterCodes["K"] = 0x4B] = "K"; + CharacterCodes[CharacterCodes["L"] = 0x4C] = "L"; + CharacterCodes[CharacterCodes["M"] = 0x4D] = "M"; + CharacterCodes[CharacterCodes["N"] = 0x4E] = "N"; + CharacterCodes[CharacterCodes["O"] = 0x4F] = "O"; + CharacterCodes[CharacterCodes["P"] = 0x50] = "P"; + CharacterCodes[CharacterCodes["Q"] = 0x51] = "Q"; + CharacterCodes[CharacterCodes["R"] = 0x52] = "R"; + CharacterCodes[CharacterCodes["S"] = 0x53] = "S"; + CharacterCodes[CharacterCodes["T"] = 0x54] = "T"; + CharacterCodes[CharacterCodes["U"] = 0x55] = "U"; + CharacterCodes[CharacterCodes["V"] = 0x56] = "V"; + CharacterCodes[CharacterCodes["W"] = 0x57] = "W"; + CharacterCodes[CharacterCodes["X"] = 0x58] = "X"; + CharacterCodes[CharacterCodes["Y"] = 0x59] = "Y"; + CharacterCodes[CharacterCodes["Z"] = 0x5a] = "Z"; + CharacterCodes[CharacterCodes["ampersand"] = 0x26] = "ampersand"; + CharacterCodes[CharacterCodes["asterisk"] = 0x2A] = "asterisk"; + CharacterCodes[CharacterCodes["at"] = 0x40] = "at"; + CharacterCodes[CharacterCodes["backslash"] = 0x5C] = "backslash"; + CharacterCodes[CharacterCodes["bar"] = 0x7C] = "bar"; + CharacterCodes[CharacterCodes["caret"] = 0x5E] = "caret"; + CharacterCodes[CharacterCodes["closeBrace"] = 0x7D] = "closeBrace"; + CharacterCodes[CharacterCodes["closeBracket"] = 0x5D] = "closeBracket"; + CharacterCodes[CharacterCodes["closeParen"] = 0x29] = "closeParen"; + CharacterCodes[CharacterCodes["colon"] = 0x3A] = "colon"; + CharacterCodes[CharacterCodes["comma"] = 0x2C] = "comma"; + CharacterCodes[CharacterCodes["dot"] = 0x2E] = "dot"; + CharacterCodes[CharacterCodes["doubleQuote"] = 0x22] = "doubleQuote"; + CharacterCodes[CharacterCodes["equals"] = 0x3D] = "equals"; + CharacterCodes[CharacterCodes["exclamation"] = 0x21] = "exclamation"; + CharacterCodes[CharacterCodes["greaterThan"] = 0x3E] = "greaterThan"; + CharacterCodes[CharacterCodes["lessThan"] = 0x3C] = "lessThan"; + CharacterCodes[CharacterCodes["minus"] = 0x2D] = "minus"; + CharacterCodes[CharacterCodes["openBrace"] = 0x7B] = "openBrace"; + CharacterCodes[CharacterCodes["openBracket"] = 0x5B] = "openBracket"; + CharacterCodes[CharacterCodes["openParen"] = 0x28] = "openParen"; + CharacterCodes[CharacterCodes["percent"] = 0x25] = "percent"; + CharacterCodes[CharacterCodes["plus"] = 0x2B] = "plus"; + CharacterCodes[CharacterCodes["question"] = 0x3F] = "question"; + CharacterCodes[CharacterCodes["semicolon"] = 0x3B] = "semicolon"; + CharacterCodes[CharacterCodes["singleQuote"] = 0x27] = "singleQuote"; + CharacterCodes[CharacterCodes["slash"] = 0x2F] = "slash"; + CharacterCodes[CharacterCodes["tilde"] = 0x7E] = "tilde"; + CharacterCodes[CharacterCodes["backspace"] = 0x08] = "backspace"; + CharacterCodes[CharacterCodes["formFeed"] = 0x0C] = "formFeed"; + CharacterCodes[CharacterCodes["byteOrderMark"] = 0xFEFF] = "byteOrderMark"; + CharacterCodes[CharacterCodes["tab"] = 0x09] = "tab"; + CharacterCodes[CharacterCodes["verticalTab"] = 0x0B] = "verticalTab"; + })(ts.CharacterCodes || (ts.CharacterCodes = {})); + var CharacterCodes = ts.CharacterCodes; +})(ts || (ts = {})); +var ts; +(function (ts) { + function forEach(array, callback) { + var result; + if (array) { + for (var i = 0, len = array.length; i < len; i++) { + if (result = callback(array[i])) + break; + } + } + return result; + } + ts.forEach = forEach; + function contains(array, value) { + if (array) { + var len = array.length; + for (var i = 0; i < len; i++) { + if (array[i] === value) + return true; + } + } + return false; + } + ts.contains = contains; + function indexOf(array, value) { + if (array) { + var len = array.length; + for (var i = 0; i < len; i++) { + if (array[i] === value) + return i; + } + } + return -1; + } + ts.indexOf = indexOf; + function filter(array, f) { + var result; + if (array) { + result = []; + for (var i = 0, len = array.length; i < len; i++) { + var item = array[i]; + if (f(item)) + result.push(item); + } + } + return result; + } + ts.filter = filter; + function map(array, f) { + var result; + if (array) { + result = []; + var len = array.length; + for (var i = 0; i < len; i++) { + result.push(f(array[i])); + } + } + return result; + } + ts.map = map; + function concatenate(array1, array2) { + if (!array2.length) + return array1; + if (!array1.length) + return array2; + return array1.concat(array2); + } + ts.concatenate = concatenate; + function sum(array, prop) { + var result = 0; + for (var i = 0; i < array.length; i++) { + result += array[i][prop]; + } + return result; + } + ts.sum = sum; + function binarySearch(array, value) { + var low = 0; + var high = array.length - 1; + while (low <= high) { + var middle = low + ((high - low) >> 1); + var midValue = array[middle]; + if (midValue === value) { + return middle; + } + else if (midValue > value) { + high = middle - 1; + } + else { + low = middle + 1; + } + } + return ~low; + } + ts.binarySearch = binarySearch; + var hasOwnProperty = Object.prototype.hasOwnProperty; + function hasProperty(map, key) { + return hasOwnProperty.call(map, key); + } + ts.hasProperty = hasProperty; + function getProperty(map, key) { + return hasOwnProperty.call(map, key) ? map[key] : undefined; + } + ts.getProperty = getProperty; + function isEmpty(map) { + for (var id in map) + return false; + return true; + } + ts.isEmpty = isEmpty; + function clone(object) { + var result = {}; + for (var id in object) { + result[id] = object[id]; + } + return result; + } + ts.clone = clone; + function forEachValue(map, callback) { + var result; + for (var id in map) { + if (result = callback(map[id])) + break; + } + return result; + } + ts.forEachValue = forEachValue; + function mapToArray(map) { + var result = []; + for (var id in map) + result.push(map[id]); + return result; + } + ts.mapToArray = mapToArray; + function formatStringFromArgs(text, args, baseIndex) { + baseIndex = baseIndex || 0; + return text.replace(/{(\d+)}/g, function (match, index) { return args[+index + baseIndex]; }); + } + ts.localizedDiagnosticMessages = undefined; + function getLocaleSpecificMessage(message) { + if (ts.localizedDiagnosticMessages) { + message = ts.localizedDiagnosticMessages[message]; + } + Debug.assert(message, "Diagnostic message does not exist in locale map."); + return message; + } + function createFileDiagnostic(file, start, length, message) { + var text = getLocaleSpecificMessage(message.key); + if (arguments.length > 4) { + text = formatStringFromArgs(text, arguments, 4); + } + return { + file: file, + start: start, + length: length, + messageText: text, + category: message.category, + code: message.code + }; + } + ts.createFileDiagnostic = createFileDiagnostic; + function createCompilerDiagnostic(message) { + var text = getLocaleSpecificMessage(message.key); + if (arguments.length > 1) { + text = formatStringFromArgs(text, arguments, 1); + } + return { + file: undefined, + start: undefined, + length: undefined, + messageText: text, + category: message.category, + code: message.code + }; + } + ts.createCompilerDiagnostic = createCompilerDiagnostic; + function chainDiagnosticMessages(details, message) { + var text = getLocaleSpecificMessage(message.key); + if (arguments.length > 2) { + text = formatStringFromArgs(text, arguments, 2); + } + return { + messageText: text, + category: message.category, + code: message.code, + next: details + }; + } + ts.chainDiagnosticMessages = chainDiagnosticMessages; + function flattenDiagnosticChain(file, start, length, diagnosticChain) { + var code = diagnosticChain.code; + var category = diagnosticChain.category; + var messageText = ""; + var indent = 0; + while (diagnosticChain) { + if (indent) { + messageText += sys.newLine; + for (var i = 0; i < indent; i++) { + messageText += " "; + } + } + messageText += diagnosticChain.messageText; + indent++; + diagnosticChain = diagnosticChain.next; + } + return { + file: file, + start: start, + length: length, + code: code, + category: category, + messageText: messageText + }; + } + ts.flattenDiagnosticChain = flattenDiagnosticChain; + function compareValues(a, b) { + if (a === b) + return 0; + if (a === undefined) + return -1; + if (b === undefined) + return 1; + return a < b ? -1 : 1; + } + function getDiagnosticFilename(diagnostic) { + return diagnostic.file ? diagnostic.file.filename : undefined; + } + function compareDiagnostics(d1, d2) { + return compareValues(getDiagnosticFilename(d1), getDiagnosticFilename(d2)) || compareValues(d1.start, d2.start) || compareValues(d1.length, d2.length) || compareValues(d1.code, d2.code) || compareValues(d1.messageText, d2.messageText) || 0; + } + ts.compareDiagnostics = compareDiagnostics; + function deduplicateSortedDiagnostics(diagnostics) { + if (diagnostics.length < 2) { + return diagnostics; + } + var newDiagnostics = [diagnostics[0]]; + var previousDiagnostic = diagnostics[0]; + for (var i = 1; i < diagnostics.length; i++) { + var currentDiagnostic = diagnostics[i]; + var isDupe = compareDiagnostics(currentDiagnostic, previousDiagnostic) === 0; + if (!isDupe) { + newDiagnostics.push(currentDiagnostic); + previousDiagnostic = currentDiagnostic; + } + } + return newDiagnostics; + } + ts.deduplicateSortedDiagnostics = deduplicateSortedDiagnostics; + function normalizeSlashes(path) { + return path.replace(/\\/g, "/"); + } + ts.normalizeSlashes = normalizeSlashes; + function getRootLength(path) { + if (path.charCodeAt(0) === 47 /* slash */) { + if (path.charCodeAt(1) !== 47 /* slash */) + return 1; + var p1 = path.indexOf("/", 2); + if (p1 < 0) + return 2; + var p2 = path.indexOf("/", p1 + 1); + if (p2 < 0) + return p1 + 1; + return p2 + 1; + } + if (path.charCodeAt(1) === 58 /* colon */) { + if (path.charCodeAt(2) === 47 /* slash */) + return 3; + return 2; + } + return 0; + } + ts.directorySeparator = "/"; + function getNormalizedParts(normalizedSlashedPath, rootLength) { + var parts = normalizedSlashedPath.substr(rootLength).split(ts.directorySeparator); + var normalized = []; + for (var i = 0; i < parts.length; i++) { + var part = parts[i]; + if (part !== ".") { + if (part === ".." && normalized.length > 0 && normalized[normalized.length - 1] !== "..") { + normalized.pop(); + } + else { + normalized.push(part); + } + } + } + return normalized; + } + function normalizePath(path) { + var path = normalizeSlashes(path); + var rootLength = getRootLength(path); + var normalized = getNormalizedParts(path, rootLength); + return path.substr(0, rootLength) + normalized.join(ts.directorySeparator); + } + ts.normalizePath = normalizePath; + function getDirectoryPath(path) { + return path.substr(0, Math.max(getRootLength(path), path.lastIndexOf(ts.directorySeparator))); + } + ts.getDirectoryPath = getDirectoryPath; + function isUrl(path) { + return path && !isRootedDiskPath(path) && path.indexOf("://") !== -1; + } + ts.isUrl = isUrl; + function isRootedDiskPath(path) { + return getRootLength(path) !== 0; + } + ts.isRootedDiskPath = isRootedDiskPath; + function normalizedPathComponents(path, rootLength) { + var normalizedParts = getNormalizedParts(path, rootLength); + return [path.substr(0, rootLength)].concat(normalizedParts); + } + function getNormalizedPathComponents(path, currentDirectory) { + var path = normalizeSlashes(path); + var rootLength = getRootLength(path); + if (rootLength == 0) { + path = combinePaths(normalizeSlashes(currentDirectory), path); + rootLength = getRootLength(path); + } + return normalizedPathComponents(path, rootLength); + } + ts.getNormalizedPathComponents = getNormalizedPathComponents; + function getNormalizedPathFromPathCompoments(pathComponents) { + if (pathComponents && pathComponents.length) { + return pathComponents[0] + pathComponents.slice(1).join(ts.directorySeparator); + } + } + ts.getNormalizedPathFromPathCompoments = getNormalizedPathFromPathCompoments; + function getNormalizedPathComponentsOfUrl(url) { + var urlLength = url.length; + var rootLength = url.indexOf("://") + "://".length; + while (rootLength < urlLength) { + if (url.charCodeAt(rootLength) === 47 /* slash */) { + rootLength++; + } + else { + break; + } + } + if (rootLength === urlLength) { + return [url]; + } + var indexOfNextSlash = url.indexOf(ts.directorySeparator, rootLength); + if (indexOfNextSlash !== -1) { + rootLength = indexOfNextSlash + 1; + return normalizedPathComponents(url, rootLength); + } + else { + return [url + ts.directorySeparator]; + } + } + function getNormalizedPathOrUrlComponents(pathOrUrl, currentDirectory) { + if (isUrl(pathOrUrl)) { + return getNormalizedPathComponentsOfUrl(pathOrUrl); + } + else { + return getNormalizedPathComponents(pathOrUrl, currentDirectory); + } + } + function getRelativePathToDirectoryOrUrl(directoryPathOrUrl, relativeOrAbsolutePath, currentDirectory, isAbsolutePathAnUrl) { + var pathComponents = getNormalizedPathOrUrlComponents(relativeOrAbsolutePath, currentDirectory); + var directoryComponents = getNormalizedPathOrUrlComponents(directoryPathOrUrl, currentDirectory); + if (directoryComponents.length > 1 && directoryComponents[directoryComponents.length - 1] === "") { + directoryComponents.length--; + } + for (var joinStartIndex = 0; joinStartIndex < pathComponents.length && joinStartIndex < directoryComponents.length; joinStartIndex++) { + if (directoryComponents[joinStartIndex] !== pathComponents[joinStartIndex]) { + break; + } + } + if (joinStartIndex) { + var relativePath = ""; + var relativePathComponents = pathComponents.slice(joinStartIndex, pathComponents.length); + for (; joinStartIndex < directoryComponents.length; joinStartIndex++) { + if (directoryComponents[joinStartIndex] !== "") { + relativePath = relativePath + ".." + ts.directorySeparator; + } + } + return relativePath + relativePathComponents.join(ts.directorySeparator); + } + var absolutePath = getNormalizedPathFromPathCompoments(pathComponents); + if (isAbsolutePathAnUrl && isRootedDiskPath(absolutePath)) { + absolutePath = "file:///" + absolutePath; + } + return absolutePath; + } + ts.getRelativePathToDirectoryOrUrl = getRelativePathToDirectoryOrUrl; + function getBaseFilename(path) { + var i = path.lastIndexOf(ts.directorySeparator); + return i < 0 ? path : path.substring(i + 1); + } + ts.getBaseFilename = getBaseFilename; + function combinePaths(path1, path2) { + if (!(path1 && path1.length)) + return path2; + if (!(path2 && path2.length)) + return path1; + if (path2.charAt(0) === ts.directorySeparator) + return path2; + if (path1.charAt(path1.length - 1) === ts.directorySeparator) + return path1 + path2; + return path1 + ts.directorySeparator + path2; + } + ts.combinePaths = combinePaths; + function fileExtensionIs(path, extension) { + var pathLen = path.length; + var extLen = extension.length; + return pathLen > extLen && path.substr(pathLen - extLen, extLen) === extension; + } + ts.fileExtensionIs = fileExtensionIs; + function Symbol(flags, name) { + this.flags = flags; + this.name = name; + this.declarations = undefined; + } + function Type(checker, flags) { + this.flags = flags; + } + function Signature(checker) { + } + ts.objectAllocator = { + getNodeConstructor: function (kind) { + function Node() { + } + Node.prototype = { + kind: kind, + pos: 0, + end: 0, + flags: 0, + parent: undefined + }; + return Node; + }, + getSymbolConstructor: function () { return Symbol; }, + getTypeConstructor: function () { return Type; }, + getSignatureConstructor: function () { return Signature; } + }; + (function (AssertionLevel) { + AssertionLevel[AssertionLevel["None"] = 0] = "None"; + AssertionLevel[AssertionLevel["Normal"] = 1] = "Normal"; + AssertionLevel[AssertionLevel["Aggressive"] = 2] = "Aggressive"; + AssertionLevel[AssertionLevel["VeryAggressive"] = 3] = "VeryAggressive"; + })(ts.AssertionLevel || (ts.AssertionLevel = {})); + var AssertionLevel = ts.AssertionLevel; + (function (Debug) { + var currentAssertionLevel = 0 /* None */; + function shouldAssert(level) { + return this.currentAssertionLevel >= level; + } + Debug.shouldAssert = shouldAssert; + function assert(expression, message, verboseDebugInfo) { + if (!expression) { + var verboseDebugString = ""; + if (verboseDebugInfo) { + verboseDebugString = "\r\nVerbose Debug Information: " + verboseDebugInfo(); + } + throw new Error("Debug Failure. False expression: " + (message || "") + verboseDebugString); + } + } + Debug.assert = assert; + function fail(message) { + Debug.assert(false, message); + } + Debug.fail = fail; + })(ts.Debug || (ts.Debug = {})); + var Debug = ts.Debug; +})(ts || (ts = {})); +var sys = (function () { + function getWScriptSystem() { + var fso = new ActiveXObject("Scripting.FileSystemObject"); + var args = []; + for (var i = 0; i < WScript.Arguments.length; i++) { + args[i] = WScript.Arguments.Item(i); + } + return { + args: args, + newLine: "\r\n", + write: function write(s) { + WScript.StdOut.Write(s); + }, + writeErr: function writeErr(s) { + WScript.StdErr.Write(s); + }, + readFile: function readFile(fileName) { + try { + var f = fso.OpenTextFile(fileName, 1); + var s = f.AtEndOfStream ? "" : f.ReadAll(); + if (s.length >= 3 && s.charCodeAt(0) === 0xEF && s.charCodeAt(1) === 0xBB && s.charCodeAt(2) === 0xBF) { + s = s.slice(3); + } + f.Close(); + } + catch (e) { + } + return s; + }, + writeFile: function writeFile(fileName, data) { + var f = fso.CreateTextFile(fileName, true); + f.Write(data); + f.Close(); + }, + resolvePath: function resolvePath(path) { + return fso.GetAbsolutePathName(path); + }, + fileExists: function fileExists(path) { + return fso.FileExists(path); + }, + directoryExists: function directoryExists(path) { + return fso.FolderExists(path); + }, + createDirectory: function createDirectory(directoryName) { + if (!this.directoryExists(directoryName)) { + fso.CreateFolder(directoryName); + } + }, + getExecutingFilePath: function getExecutingFilePath() { + return WScript.ScriptFullName; + }, + getCurrentDirectory: function getCurrentDirectory() { + return new ActiveXObject("WScript.Shell").CurrentDirectory; + }, + getMemoryUsage: function getMemoryUsage() { + return 0; + }, + exit: function exit(exitCode) { + WScript.Quit(exitCode); + } + }; + } + function getNodeSystem() { + var _fs = require("fs"); + var _path = require("path"); + var _os = require('os'); + return { + args: process.argv.slice(2), + newLine: _os.EOL, + write: function write(s) { + process.stdout.write(s); + }, + writeErr: function writeErr(s) { + process.stderr.write(s); + }, + readFile: function readFile(fileName) { + try { + var s = _fs.readFileSync(fileName, "utf8"); + } + catch (e) { + } + return s; + }, + writeFile: function writeFile(fileName, data) { + _fs.writeFileSync(fileName, data, "utf8"); + }, + resolvePath: function (path) { + return _path.resolve(path); + }, + fileExists: function fileExists(path) { + return _fs.existsSync(path); + }, + directoryExists: function directoryExists(path) { + return _fs.existsSync(path) && _fs.statSync(path).isDirectory(); + }, + createDirectory: function createDirectory(directoryName) { + if (!this.directoryExists(directoryName)) { + _fs.mkdirSync(directoryName); + } + }, + getExecutingFilePath: function getExecutingFilePath() { + return process.mainModule.filename; + }, + getCurrentDirectory: function getCurrentDirectory() { + return process.cwd(); + }, + getMemoryUsage: function getMemoryUsage() { + global.gc(); + return process.memoryUsage().heapUsed; + }, + exit: function exit(exitCode) { + process.exit(exitCode); + } + }; + } + if (typeof WScript !== "undefined" && typeof ActiveXObject === "function") { + return getWScriptSystem(); + } + else if (typeof module !== "undefined" && module.exports) { + return getNodeSystem(); + } + else { + return undefined; + } +})(); +var ts; +(function (ts) { + var nodeConstructors = new Array(180 /* Count */); + function getNodeConstructor(kind) { + return nodeConstructors[kind] || (nodeConstructors[kind] = ts.objectAllocator.getNodeConstructor(kind)); + } + ts.getNodeConstructor = getNodeConstructor; + function createRootNode(kind, pos, end, flags) { + var node = new (getNodeConstructor(kind))(); + node.pos = pos; + node.end = end; + node.flags = flags; + return node; + } + var moduleExtensions = [".d.ts", ".ts", ".js"]; + function getModuleNameFromFilename(filename) { + for (var i = 0; i < moduleExtensions.length; i++) { + var ext = moduleExtensions[i]; + var len = filename.length - ext.length; + if (len > 0 && filename.substr(len) === ext) + return filename.substr(0, len); + } + return filename; + } + ts.getModuleNameFromFilename = getModuleNameFromFilename; + function getSourceFileOfNode(node) { + while (node && node.kind !== 177 /* SourceFile */) + node = node.parent; + return node; + } + ts.getSourceFileOfNode = getSourceFileOfNode; + function nodePosToString(node) { + var file = getSourceFileOfNode(node); + var loc = file.getLineAndCharacterFromPosition(node.pos); + return file.filename + "(" + loc.line + "," + loc.character + ")"; + } + ts.nodePosToString = nodePosToString; + function getStartPosOfNode(node) { + return node.pos; + } + ts.getStartPosOfNode = getStartPosOfNode; + function getTokenPosOfNode(node) { + return ts.skipTrivia(getSourceFileOfNode(node).text, node.pos); + } + ts.getTokenPosOfNode = getTokenPosOfNode; + function getSourceTextOfNode(node) { + var text = getSourceFileOfNode(node).text; + return text.substring(ts.skipTrivia(text, node.pos), node.end); + } + ts.getSourceTextOfNode = getSourceTextOfNode; + function getTextOfLiteral(node) { + switch (node.kind) { + case 55 /* Identifier */: + return node.text; + case 3 /* StringLiteral */: + return node.text.substr(1, node.text.length - 2); + case 2 /* NumericLiteral */: + return "" + (+node.text); + } + } + ts.getTextOfLiteral = getTextOfLiteral; + function escapeIdentifier(identifier) { + return identifier.charCodeAt(0) === 95 /* _ */ && identifier.charCodeAt(1) === 95 /* _ */ ? "_" + identifier : identifier; + } + ts.escapeIdentifier = escapeIdentifier; + function identifierToString(identifier) { + switch (identifier.kind) { + case 55 /* Identifier */: + return getSourceTextOfNode(identifier); + case 3 /* StringLiteral */: + return identifier.text; + case 2 /* NumericLiteral */: + return "" + (+identifier.text); + } + return "(Missing)"; + } + ts.identifierToString = identifierToString; + function createDiagnosticForNode(node, message, arg0, arg1, arg2) { + var file = getSourceFileOfNode(node); + var start = ts.skipTrivia(file.text, node.pos); + var length = node.end - start; + return ts.createFileDiagnostic(file, start, length, message, arg0, arg1, arg2); + } + ts.createDiagnosticForNode = createDiagnosticForNode; + function createDiagnosticForNodeFromMessageChain(node, messageChain) { + var file = getSourceFileOfNode(node); + var start = ts.skipTrivia(file.text, node.pos); + var length = node.end - start; + return ts.flattenDiagnosticChain(file, start, length, messageChain); + } + ts.createDiagnosticForNodeFromMessageChain = createDiagnosticForNodeFromMessageChain; + function forEachChild(node, cbNode, cbNodes) { + function child(node) { + if (node) + return cbNode(node); + } + function children(nodes) { + if (nodes) { + if (cbNodes) + return cbNodes(nodes); + var result; + for (var i = 0, len = nodes.length; i < len; i++) { + if (result = cbNode(nodes[i])) + break; + } + return result; + } + } + if (!node) + return; + switch (node.kind) { + case 112 /* QualifiedName */: + return child(node.left) || child(node.right); + case 113 /* TypeParameter */: + return child(node.name) || child(node.constraint); + case 114 /* Parameter */: + return child(node.name) || child(node.type) || child(node.initializer); + case 115 /* Property */: + case 129 /* PropertyAssignment */: + return child(node.name) || child(node.type) || child(node.initializer); + case 120 /* CallSignature */: + case 121 /* ConstructSignature */: + case 122 /* IndexSignature */: + return children(node.typeParameters) || children(node.parameters) || child(node.type); + case 116 /* Method */: + case 117 /* Constructor */: + case 118 /* GetAccessor */: + case 119 /* SetAccessor */: + case 136 /* FunctionExpression */: + case 167 /* FunctionDeclaration */: + case 137 /* ArrowFunction */: + return child(node.name) || children(node.typeParameters) || children(node.parameters) || child(node.type) || child(node.body); + case 123 /* TypeReference */: + return child(node.typeName) || children(node.typeArguments); + case 124 /* TypeQuery */: + return child(node.exprName); + case 125 /* TypeLiteral */: + return children(node.members); + case 126 /* ArrayType */: + return child(node.elementType); + case 127 /* ArrayLiteral */: + return children(node.elements); + case 128 /* ObjectLiteral */: + return children(node.properties); + case 130 /* PropertyAccess */: + return child(node.left) || child(node.right); + case 131 /* IndexedAccess */: + return child(node.object) || child(node.index); + case 132 /* CallExpression */: + case 133 /* NewExpression */: + return child(node.func) || children(node.typeArguments) || children(node.arguments); + case 134 /* TypeAssertion */: + return child(node.type) || child(node.operand); + case 135 /* ParenExpression */: + return child(node.expression); + case 138 /* PrefixOperator */: + case 139 /* PostfixOperator */: + return child(node.operand); + case 140 /* BinaryExpression */: + return child(node.left) || child(node.right); + case 141 /* ConditionalExpression */: + return child(node.condition) || child(node.whenTrue) || child(node.whenFalse); + case 143 /* Block */: + case 162 /* TryBlock */: + case 164 /* FinallyBlock */: + case 168 /* FunctionBlock */: + case 173 /* ModuleBlock */: + case 177 /* SourceFile */: + return children(node.statements); + case 144 /* VariableStatement */: + return children(node.declarations); + case 146 /* ExpressionStatement */: + return child(node.expression); + case 147 /* IfStatement */: + return child(node.expression) || child(node.thenStatement) || child(node.elseStatement); + case 148 /* DoStatement */: + return child(node.statement) || child(node.expression); + case 149 /* WhileStatement */: + return child(node.expression) || child(node.statement); + case 150 /* ForStatement */: + return children(node.declarations) || child(node.initializer) || child(node.condition) || child(node.iterator) || child(node.statement); + case 151 /* ForInStatement */: + return child(node.declaration) || child(node.variable) || child(node.expression) || child(node.statement); + case 152 /* ContinueStatement */: + case 153 /* BreakStatement */: + return child(node.label); + case 154 /* ReturnStatement */: + return child(node.expression); + case 155 /* WithStatement */: + return child(node.expression) || child(node.statement); + case 156 /* SwitchStatement */: + return child(node.expression) || children(node.clauses); + case 157 /* CaseClause */: + case 158 /* DefaultClause */: + return child(node.expression) || children(node.statements); + case 159 /* LabelledStatement */: + return child(node.label) || child(node.statement); + case 160 /* ThrowStatement */: + return child(node.expression); + case 161 /* TryStatement */: + return child(node.tryBlock) || child(node.catchBlock) || child(node.finallyBlock); + case 163 /* CatchBlock */: + return child(node.variable) || children(node.statements); + case 166 /* VariableDeclaration */: + return child(node.name) || child(node.type) || child(node.initializer); + case 169 /* ClassDeclaration */: + return child(node.name) || children(node.typeParameters) || child(node.baseType) || children(node.implementedTypes) || children(node.members); + case 170 /* InterfaceDeclaration */: + return child(node.name) || children(node.typeParameters) || children(node.baseTypes) || children(node.members); + case 171 /* EnumDeclaration */: + return child(node.name) || children(node.members); + case 176 /* EnumMember */: + return child(node.name) || child(node.initializer); + case 172 /* ModuleDeclaration */: + return child(node.name) || child(node.body); + case 174 /* ImportDeclaration */: + return child(node.name) || child(node.entityName) || child(node.externalModuleName); + case 175 /* ExportAssignment */: + return child(node.exportName); + } + } + ts.forEachChild = forEachChild; + var ParsingContext; + (function (ParsingContext) { + ParsingContext[ParsingContext["SourceElements"] = 0] = "SourceElements"; + ParsingContext[ParsingContext["ModuleElements"] = 1] = "ModuleElements"; + ParsingContext[ParsingContext["BlockStatements"] = 2] = "BlockStatements"; + ParsingContext[ParsingContext["SwitchClauses"] = 3] = "SwitchClauses"; + ParsingContext[ParsingContext["SwitchClauseStatements"] = 4] = "SwitchClauseStatements"; + ParsingContext[ParsingContext["TypeMembers"] = 5] = "TypeMembers"; + ParsingContext[ParsingContext["ClassMembers"] = 6] = "ClassMembers"; + ParsingContext[ParsingContext["EnumMembers"] = 7] = "EnumMembers"; + ParsingContext[ParsingContext["BaseTypeReferences"] = 8] = "BaseTypeReferences"; + ParsingContext[ParsingContext["VariableDeclarations"] = 9] = "VariableDeclarations"; + ParsingContext[ParsingContext["ArgumentExpressions"] = 10] = "ArgumentExpressions"; + ParsingContext[ParsingContext["ObjectLiteralMembers"] = 11] = "ObjectLiteralMembers"; + ParsingContext[ParsingContext["ArrayLiteralMembers"] = 12] = "ArrayLiteralMembers"; + ParsingContext[ParsingContext["Parameters"] = 13] = "Parameters"; + ParsingContext[ParsingContext["TypeParameters"] = 14] = "TypeParameters"; + ParsingContext[ParsingContext["TypeArguments"] = 15] = "TypeArguments"; + ParsingContext[ParsingContext["Count"] = 16] = "Count"; + })(ParsingContext || (ParsingContext = {})); + var parsingContextErrors = [ + ts.Diagnostics.Declaration_or_statement_expected, + ts.Diagnostics.Declaration_or_statement_expected, + ts.Diagnostics.Statement_expected, + ts.Diagnostics.case_or_default_expected, + ts.Diagnostics.Statement_expected, + ts.Diagnostics.Property_or_signature_expected, + ts.Diagnostics.Property_or_method_expected, + ts.Diagnostics.Enum_member_expected, + ts.Diagnostics.Type_reference_expected, + ts.Diagnostics.Variable_declaration_expected, + ts.Diagnostics.Argument_expression_expected, + ts.Diagnostics.Property_assignment_expected, + ts.Diagnostics.Expression_or_comma_expected, + ts.Diagnostics.Parameter_declaration_expected, + ts.Diagnostics.Type_parameter_declaration_expected, + ts.Diagnostics.Type_argument_expected + ]; + var LookAheadMode; + (function (LookAheadMode) { + LookAheadMode[LookAheadMode["NotLookingAhead"] = 0] = "NotLookingAhead"; + LookAheadMode[LookAheadMode["NoErrorYet"] = 1] = "NoErrorYet"; + LookAheadMode[LookAheadMode["Error"] = 2] = "Error"; + })(LookAheadMode || (LookAheadMode = {})); + var ModifierContext; + (function (ModifierContext) { + ModifierContext[ModifierContext["ModuleElements"] = 0] = "ModuleElements"; + ModifierContext[ModifierContext["ClassMembers"] = 1] = "ClassMembers"; + ModifierContext[ModifierContext["Parameters"] = 2] = "Parameters"; + })(ModifierContext || (ModifierContext = {})); + function createSourceFile(filename, sourceText, languageVersion) { + var file; + var scanner; + var token; + var parsingContext; + var commentRanges; + var identifiers = {}; + var identifierCount = 0; + var nodeCount = 0; + var lineStarts; + var lookAheadMode = 0 /* NotLookingAhead */; + var inAmbientContext = false; + function getLineAndCharacterlFromSourcePosition(position) { + if (!lineStarts) { + lineStarts = ts.getLineStarts(sourceText); + } + return ts.getLineAndCharacterOfPosition(lineStarts, position); + } + function error(message, arg0, arg1, arg2) { + var start = scanner.getTokenPos(); + var length = scanner.getTextPos() - start; + errorAtPos(start, length, message, arg0, arg1, arg2); + } + function grammarErrorOnNode(node, message, arg0, arg1, arg2) { + var start = ts.skipTrivia(file.text, node.pos); + var length = node.end - start; + file.syntacticErrors.push(ts.createFileDiagnostic(file, start, length, message, arg0, arg1, arg2)); + } + function grammarErrorAtPos(start, length, message, arg0, arg1, arg2) { + file.syntacticErrors.push(ts.createFileDiagnostic(file, start, length, message, arg0, arg1, arg2)); + } + function errorAtPos(start, length, message, arg0, arg1, arg2) { + var lastErrorPos = file.syntacticErrors.length ? file.syntacticErrors[file.syntacticErrors.length - 1].start : -1; + if (start !== lastErrorPos) { + file.syntacticErrors.push(ts.createFileDiagnostic(file, start, length, message, arg0, arg1, arg2)); + } + if (lookAheadMode === 1 /* NoErrorYet */) { + lookAheadMode = 2 /* Error */; + } + } + function scanError(message) { + var pos = scanner.getTextPos(); + errorAtPos(pos, 0, message); + } + function onComment(pos, end) { + if (commentRanges) + commentRanges.push({ pos: pos, end: end }); + } + function getNodePos() { + return scanner.getStartPos(); + } + function getNodeEnd() { + return scanner.getStartPos(); + } + function nextToken() { + return token = scanner.scan(); + } + function getTokenPos(pos) { + return ts.skipTrivia(sourceText, pos); + } + function reScanGreaterToken() { + return token = scanner.reScanGreaterToken(); + } + function reScanSlashToken() { + return token = scanner.reScanSlashToken(); + } + function lookAheadHelper(callback, alwaysResetState) { + var saveToken = token; + var saveSyntacticErrorsLength = file.syntacticErrors.length; + var saveLookAheadMode = lookAheadMode; + lookAheadMode = 1 /* NoErrorYet */; + var result = callback(); + ts.Debug.assert(lookAheadMode === 2 /* Error */ || lookAheadMode === 1 /* NoErrorYet */); + if (lookAheadMode === 2 /* Error */) { + result = undefined; + } + lookAheadMode = saveLookAheadMode; + if (!result || alwaysResetState) { + token = saveToken; + file.syntacticErrors.length = saveSyntacticErrorsLength; + } + return result; + } + function lookAhead(callback) { + var result; + scanner.tryScan(function () { + result = lookAheadHelper(callback, true); + return false; + }); + return result; + } + function tryParse(callback) { + return scanner.tryScan(function () { return lookAheadHelper(callback, false); }); + } + function isIdentifier() { + return token === 55 /* Identifier */ || token > ts.SyntaxKind.LastReservedWord; + } + function isSemicolon() { + return token === 13 /* SemicolonToken */ || token === 6 /* CloseBraceToken */ || scanner.hasPrecedingLineBreak(); + } + function parseExpected(t) { + if (token === t) { + nextToken(); + return true; + } + error(ts.Diagnostics._0_expected, ts.tokenToString(t)); + return false; + } + function parseOptional(t) { + if (token === t) { + nextToken(); + return true; + } + return false; + } + function canParseSemicolon() { + if (token === 13 /* SemicolonToken */) { + return true; + } + return token === 6 /* CloseBraceToken */ || token === 1 /* EndOfFileToken */ || scanner.hasPrecedingLineBreak(); + } + function parseSemicolon() { + if (canParseSemicolon()) { + if (token === 13 /* SemicolonToken */) { + nextToken(); + } + } + else { + error(ts.Diagnostics._0_expected, ";"); + } + } + function createNode(kind, pos) { + nodeCount++; + var node = new (nodeConstructors[kind] || (nodeConstructors[kind] = ts.objectAllocator.getNodeConstructor(kind)))(); + if (!(pos >= 0)) + pos = scanner.getStartPos(); + node.pos = pos; + node.end = pos; + return node; + } + function finishNode(node) { + node.end = scanner.getStartPos(); + return node; + } + function createMissingNode() { + return createNode(111 /* Missing */); + } + function createIdentifier(isIdentifier) { + identifierCount++; + if (isIdentifier) { + var node = createNode(55 /* Identifier */); + var text = escapeIdentifier(scanner.getIdentifierText()); + node.text = ts.hasProperty(identifiers, text) ? identifiers[text] : (identifiers[text] = text); + nextToken(); + return finishNode(node); + } + error(ts.Diagnostics.Identifier_expected); + return createMissingNode(); + } + function parseIdentifier() { + return createIdentifier(isIdentifier()); + } + function parseIdentifierName() { + return createIdentifier(token >= 55 /* Identifier */); + } + function isPropertyName() { + return token >= 55 /* Identifier */ || token === 3 /* StringLiteral */ || token === 2 /* NumericLiteral */; + } + function parsePropertyName() { + if (token === 3 /* StringLiteral */ || token === 2 /* NumericLiteral */) { + return parsePrimaryExpression(); + } + return parseIdentifierName(); + } + function isModifier(token) { + switch (token) { + case 98 /* PublicKeyword */: + case 96 /* PrivateKeyword */: + case 99 /* StaticKeyword */: + case 68 /* ExportKeyword */: + case 104 /* DeclareKeyword */: + return true; + } + return false; + } + function parseContextualModifier(t) { + return token === t && tryParse(function () { + nextToken(); + return token === 9 /* OpenBracketToken */ || isPropertyName(); + }); + } + function parseAnyContextualModifier() { + return isModifier(token) && tryParse(function () { + nextToken(); + return token === 9 /* OpenBracketToken */ || isPropertyName(); + }); + } + function isListElement(kind) { + switch (kind) { + case 0 /* SourceElements */: + case 1 /* ModuleElements */: + return isSourceElement(); + case 2 /* BlockStatements */: + case 4 /* SwitchClauseStatements */: + return isStatement(); + case 3 /* SwitchClauses */: + return token === 57 /* CaseKeyword */ || token === 63 /* DefaultKeyword */; + case 5 /* TypeMembers */: + return isTypeMember(); + case 6 /* ClassMembers */: + return isClassMemberDeclaration(); + case 7 /* EnumMembers */: + case 11 /* ObjectLiteralMembers */: + return isPropertyName(); + case 8 /* BaseTypeReferences */: + return isIdentifier() && ((token !== 69 /* ExtendsKeyword */ && token !== 92 /* ImplementsKeyword */) || !lookAhead(function () { return (nextToken(), isIdentifier()); })); + case 9 /* VariableDeclarations */: + case 14 /* TypeParameters */: + return isIdentifier(); + case 10 /* ArgumentExpressions */: + return isExpression(); + case 12 /* ArrayLiteralMembers */: + return token === 14 /* CommaToken */ || isExpression(); + case 13 /* Parameters */: + return isParameter(); + case 15 /* TypeArguments */: + return isType(); + } + } + function isListTerminator(kind) { + if (token === 1 /* EndOfFileToken */) { + return true; + } + switch (kind) { + case 1 /* ModuleElements */: + case 2 /* BlockStatements */: + case 3 /* SwitchClauses */: + case 5 /* TypeMembers */: + case 6 /* ClassMembers */: + case 7 /* EnumMembers */: + case 11 /* ObjectLiteralMembers */: + return token === 6 /* CloseBraceToken */; + case 4 /* SwitchClauseStatements */: + return token === 6 /* CloseBraceToken */ || token === 57 /* CaseKeyword */ || token === 63 /* DefaultKeyword */; + case 8 /* BaseTypeReferences */: + return token === 5 /* OpenBraceToken */ || token === 69 /* ExtendsKeyword */ || token === 92 /* ImplementsKeyword */; + case 9 /* VariableDeclarations */: + return isVariableDeclaratorListTerminator(); + case 14 /* TypeParameters */: + return token === 16 /* GreaterThanToken */ || token === 7 /* OpenParenToken */ || token === 5 /* OpenBraceToken */ || token === 69 /* ExtendsKeyword */ || token === 92 /* ImplementsKeyword */; + case 10 /* ArgumentExpressions */: + return token === 8 /* CloseParenToken */ || token === 13 /* SemicolonToken */; + case 12 /* ArrayLiteralMembers */: + return token === 10 /* CloseBracketToken */; + case 13 /* Parameters */: + return token === 8 /* CloseParenToken */ || token === 10 /* CloseBracketToken */ || token === 5 /* OpenBraceToken */; + case 15 /* TypeArguments */: + return token === 16 /* GreaterThanToken */ || token === 7 /* OpenParenToken */; + } + } + function isVariableDeclaratorListTerminator() { + if (canParseSemicolon()) { + return true; + } + if (token === 76 /* InKeyword */) { + return true; + } + if (token === 23 /* EqualsGreaterThanToken */) { + return true; + } + return false; + } + function isInParsingContext() { + for (var kind = 0; kind < 16 /* Count */; kind++) { + if (parsingContext & (1 << kind)) { + if (isListElement(kind) || isListTerminator(kind)) + return true; + } + } + } + function parseList(kind, parseElement) { + var saveParsingContext = parsingContext; + parsingContext |= 1 << kind; + var result = []; + result.pos = getNodePos(); + while (!isListTerminator(kind)) { + if (isListElement(kind)) { + result.push(parseElement()); + } + else { + error(parsingContextErrors[kind]); + if (isInParsingContext()) + break; + nextToken(); + } + } + result.end = getNodeEnd(); + parsingContext = saveParsingContext; + return result; + } + function parseDelimitedList(kind, parseElement, allowTrailingComma) { + var saveParsingContext = parsingContext; + parsingContext |= 1 << kind; + var result = []; + result.pos = getNodePos(); + var errorCountBeforeParsingList = file.syntacticErrors.length; + var commaStart = -1; + while (true) { + if (isListElement(kind)) { + result.push(parseElement()); + commaStart = scanner.getTokenPos(); + if (parseOptional(14 /* CommaToken */)) { + continue; + } + commaStart = -1; + if (isListTerminator(kind)) { + break; + } + error(ts.Diagnostics._0_expected, ","); + } + else if (isListTerminator(kind)) { + if (!allowTrailingComma && commaStart >= 0) { + if (file.syntacticErrors.length === errorCountBeforeParsingList) { + grammarErrorAtPos(commaStart, scanner.getStartPos() - commaStart, ts.Diagnostics.Trailing_comma_not_allowed); + } + } + break; + } + else { + error(parsingContextErrors[kind]); + if (token !== 14 /* CommaToken */ && isInParsingContext()) + break; + nextToken(); + } + } + result.end = getNodeEnd(); + parsingContext = saveParsingContext; + return result; + } + function createMissingList() { + var pos = getNodePos(); + var result = []; + result.pos = pos; + result.end = pos; + return result; + } + function createNodeArray(node) { + var result = [node]; + result.pos = node.pos; + result.end = node.end; + return result; + } + function parseBracketedList(kind, parseElement, startToken, endToken, allowTrailingSeparator) { + if (parseExpected(startToken)) { + var result = parseDelimitedList(kind, parseElement, allowTrailingSeparator); + parseExpected(endToken); + return result; + } + return createMissingList(); + } + function parseEntityName() { + var entity = parseIdentifier(); + while (parseOptional(11 /* DotToken */)) { + var node = createNode(112 /* QualifiedName */, entity.pos); + node.left = entity; + node.right = parseIdentifier(); + entity = finishNode(node); + } + return entity; + } + function parseTokenNode() { + var node = createNode(token); + nextToken(); + return finishNode(node); + } + function parseLiteralNode() { + var node = createNode(token); + node.text = scanner.getTokenText(); + nextToken(); + return finishNode(node); + } + function parseStringLiteral() { + if (token === 3 /* StringLiteral */) + return parseLiteralNode(); + error(ts.Diagnostics.String_literal_expected); + return createMissingNode(); + } + function parseTypeReference() { + var node = createNode(123 /* TypeReference */); + node.typeName = parseEntityName(); + if (!scanner.hasPrecedingLineBreak() && token === 15 /* LessThanToken */) { + node.typeArguments = parseTypeArguments(); + } + return finishNode(node); + } + function parseTypeQuery() { + var node = createNode(124 /* TypeQuery */); + parseExpected(87 /* TypeOfKeyword */); + node.exprName = parseEntityName(); + return finishNode(node); + } + function parseTypeParameter() { + var node = createNode(113 /* TypeParameter */); + node.name = parseIdentifier(); + if (parseOptional(69 /* ExtendsKeyword */)) { + if (isType() || !isExpression()) { + node.constraint = parseType(); + } + else { + var expr = parseUnaryExpression(); + grammarErrorOnNode(expr, ts.Diagnostics.Type_expected); + } + } + return finishNode(node); + } + function parseTypeParameters() { + if (token === 15 /* LessThanToken */) { + var pos = getNodePos(); + var result = parseBracketedList(14 /* TypeParameters */, parseTypeParameter, 15 /* LessThanToken */, 16 /* GreaterThanToken */, false); + if (!result.length) { + var start = getTokenPos(pos); + var length = getNodePos() - start; + errorAtPos(start, length, ts.Diagnostics.Type_parameter_list_cannot_be_empty); + } + return result; + } + } + function parseParameterType() { + return parseOptional(42 /* ColonToken */) ? token === 3 /* StringLiteral */ ? parseStringLiteral() : parseType() : undefined; + } + function isParameter() { + return token === 12 /* DotDotDotToken */ || isIdentifier() || isModifier(token); + } + function parseParameter(flags) { + if (flags === void 0) { flags = 0; } + var node = createNode(114 /* Parameter */); + node.flags |= parseAndCheckModifiers(2 /* Parameters */); + if (parseOptional(12 /* DotDotDotToken */)) { + node.flags |= 8 /* Rest */; + } + node.name = parseIdentifier(); + if (parseOptional(41 /* QuestionToken */)) { + node.flags |= 4 /* QuestionMark */; + } + node.type = parseParameterType(); + node.initializer = parseInitializer(true); + return finishNode(node); + } + function parseSignature(kind, returnToken) { + if (kind === 121 /* ConstructSignature */) { + parseExpected(78 /* NewKeyword */); + } + var typeParameters = parseTypeParameters(); + var parameters = parseParameterList(7 /* OpenParenToken */, 8 /* CloseParenToken */); + checkParameterList(parameters); + var type = parseOptional(returnToken) ? parseType() : undefined; + return { + typeParameters: typeParameters, + parameters: parameters, + type: type + }; + } + function parseParameterList(startDelimiter, endDelimiter) { + return parseBracketedList(13 /* Parameters */, parseParameter, startDelimiter, endDelimiter, false); + } + function checkParameterList(parameters) { + var seenOptionalParameter = false; + var parameterCount = parameters.length; + for (var i = 0; i < parameterCount; i++) { + var parameter = parameters[i]; + if (parameter.flags & 8 /* Rest */) { + if (i !== (parameterCount - 1)) { + grammarErrorOnNode(parameter.name, ts.Diagnostics.A_rest_parameter_must_be_last_in_a_parameter_list); + return; + } + if (parameter.flags & 4 /* QuestionMark */) { + grammarErrorOnNode(parameter.name, ts.Diagnostics.A_rest_parameter_cannot_be_optional); + return; + } + if (parameter.initializer) { + grammarErrorOnNode(parameter.name, ts.Diagnostics.A_rest_parameter_cannot_have_an_initializer); + return; + } + } + else if (parameter.flags & 4 /* QuestionMark */ || parameter.initializer) { + seenOptionalParameter = true; + if (parameter.flags & 4 /* QuestionMark */ && parameter.initializer) { + grammarErrorOnNode(parameter.name, ts.Diagnostics.Parameter_cannot_have_question_mark_and_initializer); + return; + } + } + else { + if (seenOptionalParameter) { + grammarErrorOnNode(parameter.name, ts.Diagnostics.A_required_parameter_cannot_follow_an_optional_parameter); + return; + } + } + } + } + function parseSignatureMember(kind, returnToken) { + var node = createNode(kind); + var sig = parseSignature(kind, returnToken); + node.typeParameters = sig.typeParameters; + node.parameters = sig.parameters; + node.type = sig.type; + parseSemicolon(); + return finishNode(node); + } + function parseIndexSignatureMember() { + var node = createNode(122 /* IndexSignature */); + var errorCountBeforeIndexSignature = file.syntacticErrors.length; + var indexerStart = scanner.getTokenPos(); + node.parameters = parseParameterList(9 /* OpenBracketToken */, 10 /* CloseBracketToken */); + var indexerLength = scanner.getStartPos() - indexerStart; + node.type = parseTypeAnnotation(); + parseSemicolon(); + if (file.syntacticErrors.length === errorCountBeforeIndexSignature) { + checkIndexSignature(node, indexerStart, indexerLength); + } + return finishNode(node); + } + function checkIndexSignature(node, indexerStart, indexerLength) { + var parameter = node.parameters[0]; + if (node.parameters.length !== 1) { + var arityDiagnostic = ts.Diagnostics.An_index_signature_must_have_exactly_one_parameter; + if (parameter) { + grammarErrorOnNode(parameter.name, arityDiagnostic); + } + else { + grammarErrorAtPos(indexerStart, indexerLength, arityDiagnostic); + } + return; + } + else if (parameter.flags & 8 /* Rest */) { + grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_cannot_have_a_rest_parameter); + return; + } + else if (parameter.flags & ts.NodeFlags.Modifier) { + grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_cannot_have_an_accessibility_modifier); + return; + } + else if (parameter.flags & 4 /* QuestionMark */) { + grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_cannot_have_a_question_mark); + return; + } + else if (parameter.initializer) { + grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_cannot_have_an_initializer); + return; + } + else if (!parameter.type) { + grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_must_have_a_type_annotation); + return; + } + else if (parameter.type.kind !== 110 /* StringKeyword */ && parameter.type.kind !== 108 /* NumberKeyword */) { + grammarErrorOnNode(parameter.name, ts.Diagnostics.An_index_signature_parameter_type_must_be_string_or_number); + return; + } + else if (!node.type) { + grammarErrorAtPos(indexerStart, indexerLength, ts.Diagnostics.An_index_signature_must_have_a_type_annotation); + return; + } + } + function parsePropertyOrMethod() { + var node = createNode(0 /* Unknown */); + node.name = parsePropertyName(); + if (parseOptional(41 /* QuestionToken */)) { + node.flags |= 4 /* QuestionMark */; + } + if (token === 7 /* OpenParenToken */ || token === 15 /* LessThanToken */) { + node.kind = 116 /* Method */; + var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); + node.typeParameters = sig.typeParameters; + node.parameters = sig.parameters; + node.type = sig.type; + } + else { + node.kind = 115 /* Property */; + node.type = parseTypeAnnotation(); + } + parseSemicolon(); + return finishNode(node); + } + function isTypeMember() { + switch (token) { + case 7 /* OpenParenToken */: + case 15 /* LessThanToken */: + case 9 /* OpenBracketToken */: + return true; + default: + return isPropertyName() && lookAhead(function () { return nextToken() === 7 /* OpenParenToken */ || token === 15 /* LessThanToken */ || token === 41 /* QuestionToken */ || token === 42 /* ColonToken */ || canParseSemicolon(); }); + } + } + function parseTypeMember() { + switch (token) { + case 7 /* OpenParenToken */: + case 15 /* LessThanToken */: + return parseSignatureMember(120 /* CallSignature */, 42 /* ColonToken */); + case 9 /* OpenBracketToken */: + return parseIndexSignatureMember(); + case 78 /* NewKeyword */: + if (lookAhead(function () { return nextToken() === 7 /* OpenParenToken */ || token === 15 /* LessThanToken */; })) { + return parseSignatureMember(121 /* ConstructSignature */, 42 /* ColonToken */); + } + case 3 /* StringLiteral */: + case 2 /* NumericLiteral */: + return parsePropertyOrMethod(); + default: + if (token >= 55 /* Identifier */) { + return parsePropertyOrMethod(); + } + } + } + function parseTypeLiteral() { + var node = createNode(125 /* TypeLiteral */); + if (parseExpected(5 /* OpenBraceToken */)) { + node.members = parseList(5 /* TypeMembers */, parseTypeMember); + parseExpected(6 /* CloseBraceToken */); + } + else { + node.members = createMissingList(); + } + return finishNode(node); + } + function parseFunctionType(signatureKind) { + var node = createNode(125 /* TypeLiteral */); + var member = createNode(signatureKind); + var sig = parseSignature(signatureKind, 23 /* EqualsGreaterThanToken */); + member.typeParameters = sig.typeParameters; + member.parameters = sig.parameters; + member.type = sig.type; + finishNode(member); + node.members = createNodeArray(member); + return finishNode(node); + } + function parseKeywordAndNoDot() { + var node = parseTokenNode(); + return token === 11 /* DotToken */ ? undefined : node; + } + function parseNonArrayType() { + switch (token) { + case 101 /* AnyKeyword */: + case 110 /* StringKeyword */: + case 108 /* NumberKeyword */: + case 102 /* BooleanKeyword */: + case 89 /* VoidKeyword */: + var node = tryParse(parseKeywordAndNoDot); + return node || parseTypeReference(); + case 87 /* TypeOfKeyword */: + return parseTypeQuery(); + case 5 /* OpenBraceToken */: + return parseTypeLiteral(); + case 7 /* OpenParenToken */: + case 15 /* LessThanToken */: + return parseFunctionType(120 /* CallSignature */); + case 78 /* NewKeyword */: + return parseFunctionType(121 /* ConstructSignature */); + default: + if (isIdentifier()) { + return parseTypeReference(); + } + } + error(ts.Diagnostics.Type_expected); + return createMissingNode(); + } + function isType() { + switch (token) { + case 101 /* AnyKeyword */: + case 110 /* StringKeyword */: + case 108 /* NumberKeyword */: + case 102 /* BooleanKeyword */: + case 89 /* VoidKeyword */: + case 87 /* TypeOfKeyword */: + case 5 /* OpenBraceToken */: + case 15 /* LessThanToken */: + case 78 /* NewKeyword */: + return true; + case 7 /* OpenParenToken */: + return lookAhead(function () { + nextToken(); + return token === 8 /* CloseParenToken */ || isParameter(); + }); + default: + return isIdentifier(); + } + } + function parseType() { + var type = parseNonArrayType(); + while (type && !scanner.hasPrecedingLineBreak() && parseOptional(9 /* OpenBracketToken */)) { + parseExpected(10 /* CloseBracketToken */); + var node = createNode(126 /* ArrayType */, type.pos); + node.elementType = type; + type = finishNode(node); + } + return type; + } + function parseTypeAnnotation() { + return parseOptional(42 /* ColonToken */) ? parseType() : undefined; + } + function isExpression() { + switch (token) { + case 83 /* ThisKeyword */: + case 81 /* SuperKeyword */: + case 79 /* NullKeyword */: + case 85 /* TrueKeyword */: + case 70 /* FalseKeyword */: + case 2 /* NumericLiteral */: + case 3 /* StringLiteral */: + case 7 /* OpenParenToken */: + case 9 /* OpenBracketToken */: + case 5 /* OpenBraceToken */: + case 73 /* FunctionKeyword */: + case 78 /* NewKeyword */: + case 27 /* SlashToken */: + case 47 /* SlashEqualsToken */: + case 24 /* PlusToken */: + case 25 /* MinusToken */: + case 38 /* TildeToken */: + case 37 /* ExclamationToken */: + case 64 /* DeleteKeyword */: + case 87 /* TypeOfKeyword */: + case 89 /* VoidKeyword */: + case 29 /* PlusPlusToken */: + case 30 /* MinusMinusToken */: + case 15 /* LessThanToken */: + case 55 /* Identifier */: + return true; + default: + return isIdentifier(); + } + } + function parseExpression(noIn) { + var expr = parseAssignmentExpression(noIn); + while (parseOptional(14 /* CommaToken */)) { + expr = makeBinaryExpression(expr, 14 /* CommaToken */, parseAssignmentExpression(noIn)); + } + return expr; + } + function parseInitializer(inParameter, noIn) { + if (token !== 43 /* EqualsToken */) { + if (scanner.hasPrecedingLineBreak() || (inParameter && token === 5 /* OpenBraceToken */) || !isExpression()) { + return undefined; + } + } + parseExpected(43 /* EqualsToken */); + return parseAssignmentExpression(noIn); + } + function parseAssignmentExpression(noIn) { + var arrowExpression = tryParseArrowFunctionExpression(); + if (arrowExpression) { + return arrowExpression; + } + var expr = parseConditionalExpression(noIn); + if (isLeftHandSideExpression(expr) && isAssignmentOperator()) { + var operator = token; + nextToken(); + return makeBinaryExpression(expr, operator, parseAssignmentExpression(noIn)); + } + return expr; + } + function isLeftHandSideExpression(expr) { + if (expr) { + switch (expr.kind) { + case 130 /* PropertyAccess */: + case 131 /* IndexedAccess */: + case 133 /* NewExpression */: + case 132 /* CallExpression */: + case 127 /* ArrayLiteral */: + case 135 /* ParenExpression */: + case 128 /* ObjectLiteral */: + case 136 /* FunctionExpression */: + case 55 /* Identifier */: + case 111 /* Missing */: + case 4 /* RegularExpressionLiteral */: + case 2 /* NumericLiteral */: + case 3 /* StringLiteral */: + case 70 /* FalseKeyword */: + case 79 /* NullKeyword */: + case 83 /* ThisKeyword */: + case 85 /* TrueKeyword */: + case 81 /* SuperKeyword */: + return true; + } + } + return false; + } + function tryParseArrowFunctionExpression() { + return isSimpleArrowFunctionExpression() ? parseSimpleArrowFunctionExpression() : tryParseParenthesizedArrowFunctionExpression(); + } + function isSimpleArrowFunctionExpression() { + if (token === 23 /* EqualsGreaterThanToken */) { + return true; + } + if (token === 55 /* Identifier */) { + return lookAhead(function () { + return nextToken() === 23 /* EqualsGreaterThanToken */; + }); + } + return false; + } + function parseSimpleArrowFunctionExpression() { + ts.Debug.assert(token === 55 /* Identifier */ || token === 23 /* EqualsGreaterThanToken */); + var identifier = parseIdentifier(); + ts.Debug.assert(token === 23 /* EqualsGreaterThanToken */, "parseSimpleArrowFunctionExpression should only have been called if we had a =>"); + parseExpected(23 /* EqualsGreaterThanToken */); + var parameter = createNode(114 /* Parameter */, identifier.pos); + parameter.name = identifier; + finishNode(parameter); + var signature = { parameters: [parameter] }; + return parseArrowExpressionTail(identifier.pos, signature, false); + } + function tryParseParenthesizedArrowFunctionExpression() { + var pos = getNodePos(); + var triState = isParenthesizedArrowFunctionExpression(); + if (triState !== false) { + var sig = triState === true ? parseSignatureAndArrow() : tryParse(parseSignatureAndArrow); + if (sig) { + return parseArrowExpressionTail(pos, sig, false); + } + } + return undefined; + } + function isParenthesizedArrowFunctionExpression() { + if (token === 7 /* OpenParenToken */ || token === 15 /* LessThanToken */) { + return lookAhead(function () { + var first = token; + nextToken(); + if (first === 7 /* OpenParenToken */) { + if (token === 8 /* CloseParenToken */ || token === 12 /* DotDotDotToken */) { + return true; + } + if (!isIdentifier()) { + return false; + } + return undefined; + } + else { + ts.Debug.assert(first === 15 /* LessThanToken */); + if (!isIdentifier()) { + return false; + } + return undefined; + } + }); + } + return false; + } + function parseSignatureAndArrow() { + var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); + parseExpected(23 /* EqualsGreaterThanToken */); + return sig; + } + function parseArrowExpressionTail(pos, sig, noIn) { + var body = token === 5 /* OpenBraceToken */ ? parseBody() : parseAssignmentExpression(noIn); + return makeFunctionExpression(137 /* ArrowFunction */, pos, undefined, sig, body); + } + function isAssignmentOperator() { + return token >= ts.SyntaxKind.FirstAssignment && token <= ts.SyntaxKind.LastAssignment; + } + function parseConditionalExpression(noIn) { + var expr = parseBinaryExpression(noIn); + while (parseOptional(41 /* QuestionToken */)) { + var node = createNode(141 /* ConditionalExpression */, expr.pos); + node.condition = expr; + node.whenTrue = parseAssignmentExpression(false); + parseExpected(42 /* ColonToken */); + node.whenFalse = parseAssignmentExpression(noIn); + expr = finishNode(node); + } + return expr; + } + function parseBinaryExpression(noIn) { + return parseBinaryOperators(parseUnaryExpression(), 0, noIn); + } + function parseBinaryOperators(expr, minPrecedence, noIn) { + while (true) { + reScanGreaterToken(); + var precedence = getOperatorPrecedence(); + if (precedence && precedence > minPrecedence && (!noIn || token !== 76 /* InKeyword */)) { + var operator = token; + nextToken(); + expr = makeBinaryExpression(expr, operator, parseBinaryOperators(parseUnaryExpression(), precedence, noIn)); + continue; + } + return expr; + } + } + function getOperatorPrecedence() { + switch (token) { + case 40 /* BarBarToken */: + return 1; + case 39 /* AmpersandAmpersandToken */: + return 2; + case 35 /* BarToken */: + return 3; + case 36 /* CaretToken */: + return 4; + case 34 /* AmpersandToken */: + return 5; + case 19 /* EqualsEqualsToken */: + case 20 /* ExclamationEqualsToken */: + case 21 /* EqualsEqualsEqualsToken */: + case 22 /* ExclamationEqualsEqualsToken */: + return 6; + case 15 /* LessThanToken */: + case 16 /* GreaterThanToken */: + case 17 /* LessThanEqualsToken */: + case 18 /* GreaterThanEqualsToken */: + case 77 /* InstanceOfKeyword */: + case 76 /* InKeyword */: + return 7; + case 31 /* LessThanLessThanToken */: + case 32 /* GreaterThanGreaterThanToken */: + case 33 /* GreaterThanGreaterThanGreaterThanToken */: + return 8; + case 24 /* PlusToken */: + case 25 /* MinusToken */: + return 9; + case 26 /* AsteriskToken */: + case 27 /* SlashToken */: + case 28 /* PercentToken */: + return 10; + } + return undefined; + } + function makeBinaryExpression(left, operator, right) { + var node = createNode(140 /* BinaryExpression */, left.pos); + node.left = left; + node.operator = operator; + node.right = right; + return finishNode(node); + } + function parseUnaryExpression() { + var pos = getNodePos(); + switch (token) { + case 24 /* PlusToken */: + case 25 /* MinusToken */: + case 38 /* TildeToken */: + case 37 /* ExclamationToken */: + case 64 /* DeleteKeyword */: + case 87 /* TypeOfKeyword */: + case 89 /* VoidKeyword */: + case 29 /* PlusPlusToken */: + case 30 /* MinusMinusToken */: + var operator = token; + nextToken(); + var operand = parseUnaryExpression(); + return makeUnaryExpression(138 /* PrefixOperator */, pos, operator, operand); + case 15 /* LessThanToken */: + return parseTypeAssertion(); + } + var primaryExpression = parsePrimaryExpression(); + var illegalUsageOfSuperKeyword = primaryExpression.kind === 81 /* SuperKeyword */ && token !== 7 /* OpenParenToken */ && token !== 11 /* DotToken */; + if (illegalUsageOfSuperKeyword) { + error(ts.Diagnostics.super_must_be_followed_by_argument_list_or_member_access); + } + var expr = parseCallAndAccess(primaryExpression, false); + ts.Debug.assert(isLeftHandSideExpression(expr)); + if ((token === 29 /* PlusPlusToken */ || token === 30 /* MinusMinusToken */) && !scanner.hasPrecedingLineBreak()) { + var operator = token; + nextToken(); + expr = makeUnaryExpression(139 /* PostfixOperator */, expr.pos, operator, expr); + } + return expr; + } + function parseTypeAssertion() { + var node = createNode(134 /* TypeAssertion */); + parseExpected(15 /* LessThanToken */); + node.type = parseType(); + parseExpected(16 /* GreaterThanToken */); + node.operand = parseUnaryExpression(); + return finishNode(node); + } + function makeUnaryExpression(kind, pos, operator, operand) { + var node = createNode(kind, pos); + node.operator = operator; + node.operand = operand; + return finishNode(node); + } + function parseCallAndAccess(expr, inNewExpression) { + while (true) { + if (parseOptional(11 /* DotToken */)) { + var propertyAccess = createNode(130 /* PropertyAccess */, expr.pos); + propertyAccess.left = expr; + propertyAccess.right = parseIdentifierName(); + expr = finishNode(propertyAccess); + continue; + } + var bracketStart = scanner.getTokenPos(); + if (parseOptional(9 /* OpenBracketToken */)) { + var indexedAccess = createNode(131 /* IndexedAccess */, expr.pos); + indexedAccess.object = expr; + if (inNewExpression && parseOptional(10 /* CloseBracketToken */)) { + indexedAccess.index = createMissingNode(); + grammarErrorAtPos(bracketStart, scanner.getStartPos() - bracketStart, ts.Diagnostics.new_T_cannot_be_used_to_create_an_array_Use_new_Array_T_instead); + } + else { + indexedAccess.index = parseExpression(); + parseExpected(10 /* CloseBracketToken */); + } + expr = finishNode(indexedAccess); + continue; + } + if ((token === 7 /* OpenParenToken */ || token === 15 /* LessThanToken */) && !inNewExpression) { + var callExpr = createNode(132 /* CallExpression */, expr.pos); + callExpr.func = expr; + if (token === 15 /* LessThanToken */) { + if (!(callExpr.typeArguments = tryParse(parseTypeArgumentsAndOpenParen))) + return expr; + } + else { + parseExpected(7 /* OpenParenToken */); + } + callExpr.arguments = parseDelimitedList(10 /* ArgumentExpressions */, parseAssignmentExpression, false); + parseExpected(8 /* CloseParenToken */); + expr = finishNode(callExpr); + continue; + } + return expr; + } + } + function parseTypeArgumentsAndOpenParen() { + var result = parseTypeArguments(); + parseExpected(7 /* OpenParenToken */); + return result; + } + function parseTypeArguments() { + var typeArgumentListStart = scanner.getTokenPos(); + var errorCountBeforeTypeParameterList = file.syntacticErrors.length; + var result = parseBracketedList(15 /* TypeArguments */, parseType, 15 /* LessThanToken */, 16 /* GreaterThanToken */, false); + if (!result.length && file.syntacticErrors.length === errorCountBeforeTypeParameterList) { + grammarErrorAtPos(typeArgumentListStart, scanner.getStartPos() - typeArgumentListStart, ts.Diagnostics.Type_argument_list_cannot_be_empty); + } + return result; + } + function parsePrimaryExpression() { + switch (token) { + case 83 /* ThisKeyword */: + case 81 /* SuperKeyword */: + case 79 /* NullKeyword */: + case 85 /* TrueKeyword */: + case 70 /* FalseKeyword */: + return parseTokenNode(); + case 2 /* NumericLiteral */: + case 3 /* StringLiteral */: + return parseLiteralNode(); + case 7 /* OpenParenToken */: + return parseParenExpression(); + case 9 /* OpenBracketToken */: + return parseArrayLiteral(); + case 5 /* OpenBraceToken */: + return parseObjectLiteral(); + case 73 /* FunctionKeyword */: + return parseFunctionExpression(); + case 78 /* NewKeyword */: + return parseNewExpression(); + case 27 /* SlashToken */: + case 47 /* SlashEqualsToken */: + if (reScanSlashToken() === 4 /* RegularExpressionLiteral */) { + return parseLiteralNode(); + } + break; + default: + if (isIdentifier()) { + return parseIdentifier(); + } + } + error(ts.Diagnostics.Expression_expected); + return createMissingNode(); + } + function parseParenExpression() { + var node = createNode(135 /* ParenExpression */); + parseExpected(7 /* OpenParenToken */); + node.expression = parseExpression(); + parseExpected(8 /* CloseParenToken */); + return finishNode(node); + } + function parseArrayLiteralElement() { + return token === 14 /* CommaToken */ ? createNode(142 /* OmittedExpression */) : parseAssignmentExpression(); + } + function parseArrayLiteral() { + var node = createNode(127 /* ArrayLiteral */); + parseExpected(9 /* OpenBracketToken */); + if (scanner.hasPrecedingLineBreak()) + node.flags |= 128 /* MultiLine */; + node.elements = parseDelimitedList(12 /* ArrayLiteralMembers */, parseArrayLiteralElement, true); + parseExpected(10 /* CloseBracketToken */); + return finishNode(node); + } + function parsePropertyAssignment() { + var node = createNode(129 /* PropertyAssignment */); + node.name = parsePropertyName(); + if (token === 7 /* OpenParenToken */ || token === 15 /* LessThanToken */) { + var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); + var body = parseBody(); + node.initializer = makeFunctionExpression(136 /* FunctionExpression */, node.pos, node.name, sig, body); + } + else { + parseExpected(42 /* ColonToken */); + node.initializer = parseAssignmentExpression(false); + } + return finishNode(node); + } + function parseObjectLiteralMember() { + var initialPos = getNodePos(); + var initialToken = token; + if (parseContextualModifier(105 /* GetKeyword */) || parseContextualModifier(109 /* SetKeyword */)) { + var kind = initialToken === 105 /* GetKeyword */ ? 118 /* GetAccessor */ : 119 /* SetAccessor */; + return parseAndCheckMemberAccessorDeclaration(kind, initialPos, 0); + } + return parsePropertyAssignment(); + } + function parseObjectLiteral() { + var node = createNode(128 /* ObjectLiteral */); + parseExpected(5 /* OpenBraceToken */); + if (scanner.hasPrecedingLineBreak()) + node.flags |= 128 /* MultiLine */; + node.properties = parseDelimitedList(11 /* ObjectLiteralMembers */, parseObjectLiteralMember, true); + parseExpected(6 /* CloseBraceToken */); + return finishNode(node); + } + function parseFunctionExpression() { + var pos = getNodePos(); + parseExpected(73 /* FunctionKeyword */); + var name = isIdentifier() ? parseIdentifier() : undefined; + var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); + var body = parseBody(); + return makeFunctionExpression(136 /* FunctionExpression */, pos, name, sig, body); + } + function makeFunctionExpression(kind, pos, name, sig, body) { + var node = createNode(kind, pos); + node.name = name; + node.typeParameters = sig.typeParameters; + node.parameters = sig.parameters; + node.type = sig.type; + node.body = body; + return finishNode(node); + } + function parseNewExpression() { + var node = createNode(133 /* NewExpression */); + parseExpected(78 /* NewKeyword */); + node.func = parseCallAndAccess(parsePrimaryExpression(), true); + if (parseOptional(7 /* OpenParenToken */) || token === 15 /* LessThanToken */ && (node.typeArguments = tryParse(parseTypeArgumentsAndOpenParen))) { + node.arguments = parseDelimitedList(10 /* ArgumentExpressions */, parseAssignmentExpression, false); + parseExpected(8 /* CloseParenToken */); + } + return finishNode(node); + } + function parseBlock() { + var node = createNode(143 /* Block */); + if (parseExpected(5 /* OpenBraceToken */)) { + node.statements = parseList(2 /* BlockStatements */, parseStatement); + parseExpected(6 /* CloseBraceToken */); + } + else { + node.statements = createMissingList(); + } + return finishNode(node); + } + function parseBody() { + var block = parseBlock(); + block.kind = 168 /* FunctionBlock */; + return block; + } + function parseEmptyStatement() { + var node = createNode(145 /* EmptyStatement */); + parseExpected(13 /* SemicolonToken */); + return finishNode(node); + } + function parseIfStatement() { + var node = createNode(147 /* IfStatement */); + parseExpected(74 /* IfKeyword */); + parseExpected(7 /* OpenParenToken */); + node.expression = parseExpression(); + parseExpected(8 /* CloseParenToken */); + node.thenStatement = parseStatement(); + node.elseStatement = parseOptional(66 /* ElseKeyword */) ? parseStatement() : undefined; + return finishNode(node); + } + function parseDoStatement() { + var node = createNode(148 /* DoStatement */); + parseExpected(65 /* DoKeyword */); + node.statement = parseStatement(); + parseExpected(90 /* WhileKeyword */); + parseExpected(7 /* OpenParenToken */); + node.expression = parseExpression(); + parseExpected(8 /* CloseParenToken */); + parseOptional(13 /* SemicolonToken */); + return finishNode(node); + } + function parseWhileStatement() { + var node = createNode(149 /* WhileStatement */); + parseExpected(90 /* WhileKeyword */); + parseExpected(7 /* OpenParenToken */); + node.expression = parseExpression(); + parseExpected(8 /* CloseParenToken */); + node.statement = parseStatement(); + return finishNode(node); + } + function parseForOrForInStatement() { + var pos = getNodePos(); + parseExpected(72 /* ForKeyword */); + parseExpected(7 /* OpenParenToken */); + if (token !== 13 /* SemicolonToken */) { + if (parseOptional(88 /* VarKeyword */)) { + var declarations = parseVariableDeclarationList(0, true); + if (!declarations.length) { + error(ts.Diagnostics.variable_declaration_list_cannot_be_empty); + } + } + else { + var varOrInit = parseExpression(true); + } + } + if (parseOptional(76 /* InKeyword */)) { + var forInStat = createNode(151 /* ForInStatement */, pos); + if (declarations) { + if (declarations.length > 1) { + error(ts.Diagnostics.Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement); + } + forInStat.declaration = declarations[0]; + } + else { + forInStat.variable = varOrInit; + } + forInStat.expression = parseExpression(); + parseExpected(8 /* CloseParenToken */); + forInStat.statement = parseStatement(); + return finishNode(forInStat); + } + else { + var forStat = createNode(150 /* ForStatement */, pos); + if (declarations) + forStat.declarations = declarations; + if (varOrInit) + forStat.initializer = varOrInit; + parseExpected(13 /* SemicolonToken */); + if (token !== 13 /* SemicolonToken */ && token !== 8 /* CloseParenToken */) { + forStat.condition = parseExpression(); + } + parseExpected(13 /* SemicolonToken */); + if (token !== 8 /* CloseParenToken */) { + forStat.iterator = parseExpression(); + } + parseExpected(8 /* CloseParenToken */); + forStat.statement = parseStatement(); + return finishNode(forStat); + } + } + function parseBreakOrContinueStatement(kind) { + var node = createNode(kind); + parseExpected(kind === 153 /* BreakStatement */ ? 56 /* BreakKeyword */ : 61 /* ContinueKeyword */); + if (!isSemicolon()) + node.label = parseIdentifier(); + parseSemicolon(); + return finishNode(node); + } + function parseReturnStatement() { + var node = createNode(154 /* ReturnStatement */); + parseExpected(80 /* ReturnKeyword */); + if (!isSemicolon()) + node.expression = parseExpression(); + parseSemicolon(); + return finishNode(node); + } + function parseWithStatement() { + var node = createNode(155 /* WithStatement */); + parseExpected(91 /* WithKeyword */); + parseExpected(7 /* OpenParenToken */); + node.expression = parseExpression(); + parseExpected(8 /* CloseParenToken */); + node.statement = parseStatement(); + return finishNode(node); + } + function parseCaseClause() { + var node = createNode(157 /* CaseClause */); + parseExpected(57 /* CaseKeyword */); + node.expression = parseExpression(); + parseExpected(42 /* ColonToken */); + node.statements = parseList(4 /* SwitchClauseStatements */, parseStatement); + return finishNode(node); + } + function parseDefaultClause() { + var node = createNode(158 /* DefaultClause */); + parseExpected(63 /* DefaultKeyword */); + parseExpected(42 /* ColonToken */); + node.statements = parseList(4 /* SwitchClauseStatements */, parseStatement); + return finishNode(node); + } + function parseCaseOrDefaultClause() { + return token === 57 /* CaseKeyword */ ? parseCaseClause() : parseDefaultClause(); + } + function parseSwitchStatement() { + var node = createNode(156 /* SwitchStatement */); + parseExpected(82 /* SwitchKeyword */); + parseExpected(7 /* OpenParenToken */); + node.expression = parseExpression(); + parseExpected(8 /* CloseParenToken */); + parseExpected(5 /* OpenBraceToken */); + node.clauses = parseList(3 /* SwitchClauses */, parseCaseOrDefaultClause); + parseExpected(6 /* CloseBraceToken */); + return finishNode(node); + } + function parseThrowStatement() { + var node = createNode(160 /* ThrowStatement */); + parseExpected(84 /* ThrowKeyword */); + if (scanner.hasPrecedingLineBreak()) { + error(ts.Diagnostics.Line_break_not_permitted_here); + } + node.expression = parseExpression(); + parseSemicolon(); + return finishNode(node); + } + function parseTryStatement() { + var node = createNode(161 /* TryStatement */); + node.tryBlock = parseTokenAndBlock(86 /* TryKeyword */, 162 /* TryBlock */); + if (token === 58 /* CatchKeyword */) { + node.catchBlock = parseCatchBlock(); + } + if (token === 71 /* FinallyKeyword */) { + node.finallyBlock = parseTokenAndBlock(71 /* FinallyKeyword */, 164 /* FinallyBlock */); + } + if (!(node.catchBlock || node.finallyBlock)) { + error(ts.Diagnostics.catch_or_finally_expected); + } + return finishNode(node); + } + function parseTokenAndBlock(token, kind) { + var pos = getNodePos(); + parseExpected(token); + var result = parseBlock(); + result.kind = kind; + result.pos = pos; + return result; + } + function parseCatchBlock() { + var pos = getNodePos(); + parseExpected(58 /* CatchKeyword */); + parseExpected(7 /* OpenParenToken */); + var variable = parseIdentifier(); + var typeAnnotationColonStart = scanner.getTokenPos(); + var typeAnnotationColonLength = scanner.getTextPos() - typeAnnotationColonStart; + var typeAnnotation = parseTypeAnnotation(); + parseExpected(8 /* CloseParenToken */); + var result = parseBlock(); + result.kind = 163 /* CatchBlock */; + result.pos = pos; + result.variable = variable; + if (typeAnnotation) { + errorAtPos(typeAnnotationColonStart, typeAnnotationColonLength, ts.Diagnostics.Catch_clause_parameter_cannot_have_a_type_annotation); + } + return result; + } + function parseDebuggerStatement() { + var node = createNode(165 /* DebuggerStatement */); + parseExpected(62 /* DebuggerKeyword */); + parseSemicolon(); + return finishNode(node); + } + function parseLabelledStatement() { + var node = createNode(159 /* LabelledStatement */); + node.label = parseIdentifier(); + parseExpected(42 /* ColonToken */); + node.statement = parseStatement(); + return finishNode(node); + } + function parseExpressionStatement() { + var node = createNode(146 /* ExpressionStatement */); + node.expression = parseExpression(); + parseSemicolon(); + return finishNode(node); + } + function isStatement() { + switch (token) { + case 5 /* OpenBraceToken */: + case 88 /* VarKeyword */: + case 73 /* FunctionKeyword */: + case 13 /* SemicolonToken */: + case 74 /* IfKeyword */: + case 65 /* DoKeyword */: + case 90 /* WhileKeyword */: + case 72 /* ForKeyword */: + case 61 /* ContinueKeyword */: + case 56 /* BreakKeyword */: + case 80 /* ReturnKeyword */: + case 91 /* WithKeyword */: + case 82 /* SwitchKeyword */: + case 84 /* ThrowKeyword */: + case 86 /* TryKeyword */: + case 62 /* DebuggerKeyword */: + return true; + case 93 /* InterfaceKeyword */: + case 59 /* ClassKeyword */: + case 106 /* ModuleKeyword */: + case 67 /* EnumKeyword */: + if (isDeclaration()) + return false; + case 98 /* PublicKeyword */: + case 96 /* PrivateKeyword */: + case 99 /* StaticKeyword */: + if (lookAhead(function () { return nextToken() >= 55 /* Identifier */; })) + return false; + default: + return isExpression(); + } + } + function isStatementOrFunction() { + return token === 73 /* FunctionKeyword */ || isStatement(); + } + function parseStatement() { + switch (token) { + case 5 /* OpenBraceToken */: + return parseBlock(); + case 88 /* VarKeyword */: + return parseVariableStatement(); + case 73 /* FunctionKeyword */: + return parseFunctionDeclaration(); + case 13 /* SemicolonToken */: + return parseEmptyStatement(); + case 74 /* IfKeyword */: + return parseIfStatement(); + case 65 /* DoKeyword */: + return parseDoStatement(); + case 90 /* WhileKeyword */: + return parseWhileStatement(); + case 72 /* ForKeyword */: + return parseForOrForInStatement(); + case 61 /* ContinueKeyword */: + return parseBreakOrContinueStatement(152 /* ContinueStatement */); + case 56 /* BreakKeyword */: + return parseBreakOrContinueStatement(153 /* BreakStatement */); + case 80 /* ReturnKeyword */: + return parseReturnStatement(); + case 91 /* WithKeyword */: + return parseWithStatement(); + case 82 /* SwitchKeyword */: + return parseSwitchStatement(); + case 84 /* ThrowKeyword */: + return parseThrowStatement(); + case 86 /* TryKeyword */: + return parseTryStatement(); + case 62 /* DebuggerKeyword */: + return parseDebuggerStatement(); + default: + if (isIdentifier() && lookAhead(function () { return nextToken() === 42 /* ColonToken */; })) { + return parseLabelledStatement(); + } + return parseExpressionStatement(); + } + } + function parseStatementOrFunction() { + return token === 73 /* FunctionKeyword */ ? parseFunctionDeclaration() : parseStatement(); + } + function parseAndCheckFunctionBody(isConstructor) { + var initialPosition = scanner.getTokenPos(); + var errorCountBeforeBody = file.syntacticErrors.length; + if (token === 5 /* OpenBraceToken */) { + var body = parseBody(); + if (body && inAmbientContext && file.syntacticErrors.length === errorCountBeforeBody) { + var diagnostic = isConstructor ? ts.Diagnostics.A_constructor_implementation_cannot_be_declared_in_an_ambient_context : ts.Diagnostics.A_function_implementation_cannot_be_declared_in_an_ambient_context; + grammarErrorAtPos(initialPosition, 1, diagnostic); + } + return body; + } + if (isSemicolon()) { + parseSemicolon(); + return undefined; + } + error(ts.Diagnostics.Block_or_expected); + } + function parseVariableDeclaration(flags, noIn) { + var node = createNode(166 /* VariableDeclaration */); + node.flags = flags; + node.name = parseIdentifier(); + node.type = parseTypeAnnotation(); + node.initializer = parseInitializer(false, noIn); + return finishNode(node); + } + function parseVariableDeclarationList(flags, noIn) { + return parseDelimitedList(9 /* VariableDeclarations */, function () { return parseVariableDeclaration(flags, noIn); }, false); + } + function parseVariableStatement(pos, flags) { + var node = createNode(144 /* VariableStatement */, pos); + if (flags) + node.flags = flags; + var errorCountBeforeVarStatement = file.syntacticErrors.length; + parseExpected(88 /* VarKeyword */); + node.declarations = parseVariableDeclarationList(flags, false); + parseSemicolon(); + if (!node.declarations.length && file.syntacticErrors.length === errorCountBeforeVarStatement) { + grammarErrorOnNode(node, ts.Diagnostics.variable_declaration_list_cannot_be_empty); + } + return finishNode(node); + } + function parseFunctionDeclaration(pos, flags) { + var node = createNode(167 /* FunctionDeclaration */, pos); + if (flags) + node.flags = flags; + parseExpected(73 /* FunctionKeyword */); + node.name = parseIdentifier(); + var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); + node.typeParameters = sig.typeParameters; + node.parameters = sig.parameters; + node.type = sig.type; + node.body = parseAndCheckFunctionBody(false); + return finishNode(node); + } + function parseConstructorDeclaration(pos, flags) { + var node = createNode(117 /* Constructor */, pos); + node.flags = flags; + parseExpected(103 /* ConstructorKeyword */); + var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); + node.typeParameters = sig.typeParameters; + node.parameters = sig.parameters; + node.type = sig.type; + node.body = parseAndCheckFunctionBody(true); + if (node.typeParameters) { + grammarErrorAtPos(node.typeParameters.pos, node.typeParameters.end - node.typeParameters.pos, ts.Diagnostics.Type_parameters_cannot_appear_on_a_constructor_declaration); + } + if (node.type) { + grammarErrorOnNode(node.type, ts.Diagnostics.Type_annotation_cannot_appear_on_a_constructor_declaration); + } + return finishNode(node); + } + function parsePropertyMemberDeclaration(pos, flags) { + var name = parsePropertyName(); + if (token === 7 /* OpenParenToken */ || token === 15 /* LessThanToken */) { + var method = createNode(116 /* Method */, pos); + method.flags = flags; + method.name = name; + var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); + method.typeParameters = sig.typeParameters; + method.parameters = sig.parameters; + method.type = sig.type; + method.body = parseAndCheckFunctionBody(false); + return finishNode(method); + } + else { + var property = createNode(115 /* Property */, pos); + property.flags = flags; + property.name = name; + property.type = parseTypeAnnotation(); + property.initializer = parseInitializer(false); + parseSemicolon(); + return finishNode(property); + } + } + function parseAndCheckMemberAccessorDeclaration(kind, pos, flags) { + var errorCountBeforeAccessor = file.syntacticErrors.length; + var accessor = parseMemberAccessorDeclaration(kind, pos, flags); + if (errorCountBeforeAccessor === file.syntacticErrors.length) { + if (languageVersion < 1 /* ES5 */) { + grammarErrorOnNode(accessor.name, ts.Diagnostics.Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher); + } + else if (inAmbientContext) { + grammarErrorOnNode(accessor.name, ts.Diagnostics.An_accessor_cannot_be_declared_in_an_ambient_context); + } + else if (accessor.typeParameters) { + grammarErrorOnNode(accessor.name, ts.Diagnostics.An_accessor_cannot_have_type_parameters); + } + else if (kind === 118 /* GetAccessor */ && accessor.parameters.length) { + grammarErrorOnNode(accessor.name, ts.Diagnostics.A_get_accessor_cannot_have_parameters); + } + else if (kind === 119 /* SetAccessor */) { + if (accessor.type) { + grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_cannot_have_a_return_type_annotation); + } + else if (accessor.parameters.length !== 1) { + grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_must_have_exactly_one_parameter); + } + else { + var parameter = accessor.parameters[0]; + if (parameter.flags & 8 /* Rest */) { + grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_cannot_have_rest_parameter); + } + else if (parameter.flags & ts.NodeFlags.Modifier) { + grammarErrorOnNode(accessor.name, ts.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation); + } + else if (parameter.flags & 4 /* QuestionMark */) { + grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_cannot_have_an_optional_parameter); + } + else if (parameter.initializer) { + grammarErrorOnNode(accessor.name, ts.Diagnostics.A_set_accessor_parameter_cannot_have_an_initializer); + } + } + } + } + return accessor; + } + function parseMemberAccessorDeclaration(kind, pos, flags) { + var node = createNode(kind, pos); + node.flags = flags; + node.name = parsePropertyName(); + var sig = parseSignature(120 /* CallSignature */, 42 /* ColonToken */); + node.typeParameters = sig.typeParameters; + node.parameters = sig.parameters; + node.type = sig.type; + node.body = parseBody(); + return finishNode(node); + } + function isClassMemberStart() { + var idToken; + while (isModifier(token)) { + idToken = token; + nextToken(); + } + if (isPropertyName()) { + idToken = token; + nextToken(); + } + return idToken && (token === 7 /* OpenParenToken */ || token === 15 /* LessThanToken */ || token === 42 /* ColonToken */ || token === 43 /* EqualsToken */ || token === 13 /* SemicolonToken */ || token === 6 /* CloseBraceToken */ || token === 1 /* EndOfFileToken */ || (isPropertyName() && (idToken === 105 /* GetKeyword */ || idToken === 109 /* SetKeyword */))) || (isModifier(idToken) && token === 9 /* OpenBracketToken */); + } + function isClassMemberDeclaration() { + return token === 9 /* OpenBracketToken */ || lookAhead(isClassMemberStart); + } + function parseAndCheckModifiers(context) { + var flags = 0; + var lastStaticModifierStart; + var lastStaticModifierLength; + var lastDeclareModifierStart; + var lastDeclareModifierLength; + var lastPrivateModifierStart; + var lastPrivateModifierLength; + while (true) { + var modifierStart = scanner.getTokenPos(); + var modifierToken = token; + if (!parseAnyContextualModifier()) + break; + var modifierLength = scanner.getStartPos() - modifierStart; + switch (modifierToken) { + case 98 /* PublicKeyword */: + if (flags & 32 /* Private */ || flags & 16 /* Public */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics.Accessibility_modifier_already_seen); + } + else if (flags & 64 /* Static */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_must_precede_1_modifier, "public", "static"); + } + else if (context === 0 /* ModuleElements */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_element, "public"); + } + flags |= 16 /* Public */; + break; + case 96 /* PrivateKeyword */: + if (flags & 32 /* Private */ || flags & 16 /* Public */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics.Accessibility_modifier_already_seen); + } + else if (flags & 64 /* Static */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_must_precede_1_modifier, "private", "static"); + } + else if (context === 0 /* ModuleElements */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_element, "private"); + } + lastPrivateModifierStart = modifierStart; + lastPrivateModifierLength = modifierLength; + flags |= 32 /* Private */; + break; + case 99 /* StaticKeyword */: + if (flags & 64 /* Static */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_already_seen, "static"); + } + else if (context === 0 /* ModuleElements */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_module_element, "static"); + } + else if (context === 2 /* Parameters */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "static"); + } + lastStaticModifierStart = modifierStart; + lastStaticModifierLength = modifierLength; + flags |= 64 /* Static */; + break; + case 68 /* ExportKeyword */: + if (flags & 1 /* Export */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_already_seen, "export"); + } + else if (flags & 2 /* Ambient */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_must_precede_1_modifier, "export", "declare"); + } + else if (context === 1 /* ClassMembers */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_class_element, "export"); + } + else if (context === 2 /* Parameters */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "export"); + } + flags |= 1 /* Export */; + break; + case 104 /* DeclareKeyword */: + if (flags & 2 /* Ambient */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_already_seen, "declare"); + } + else if (context === 1 /* ClassMembers */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_class_element, "declare"); + } + else if (context === 2 /* Parameters */) { + grammarErrorAtPos(modifierStart, modifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_parameter, "declare"); + } + lastDeclareModifierStart = modifierStart; + lastDeclareModifierLength = modifierLength; + flags |= 2 /* Ambient */; + break; + } + } + if (token === 103 /* ConstructorKeyword */ && flags & 64 /* Static */) { + grammarErrorAtPos(lastStaticModifierStart, lastStaticModifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "static"); + } + else if (token === 103 /* ConstructorKeyword */ && flags & 32 /* Private */) { + grammarErrorAtPos(lastPrivateModifierStart, lastPrivateModifierLength, ts.Diagnostics._0_modifier_cannot_appear_on_a_constructor_declaration, "private"); + } + else if (token === 75 /* ImportKeyword */ && flags & 2 /* Ambient */) { + grammarErrorAtPos(lastDeclareModifierStart, lastDeclareModifierLength, ts.Diagnostics.A_declare_modifier_cannot_be_used_with_an_import_declaration, "declare"); + } + else if (token === 93 /* InterfaceKeyword */ && flags & 2 /* Ambient */) { + grammarErrorAtPos(lastDeclareModifierStart, lastDeclareModifierLength, ts.Diagnostics.A_declare_modifier_cannot_be_used_with_an_interface_declaration, "declare"); + } + return flags; + } + function parseClassMemberDeclaration() { + var pos = getNodePos(); + var flags = parseAndCheckModifiers(1 /* ClassMembers */); + if (parseContextualModifier(105 /* GetKeyword */)) { + return parseAndCheckMemberAccessorDeclaration(118 /* GetAccessor */, pos, flags); + } + if (parseContextualModifier(109 /* SetKeyword */)) { + return parseAndCheckMemberAccessorDeclaration(119 /* SetAccessor */, pos, flags); + } + if (token === 103 /* ConstructorKeyword */) { + return parseConstructorDeclaration(pos, flags); + } + if (token >= 55 /* Identifier */ || token === 3 /* StringLiteral */ || token === 2 /* NumericLiteral */) { + return parsePropertyMemberDeclaration(pos, flags); + } + if (token === 9 /* OpenBracketToken */) { + if (flags) { + var start = getTokenPos(pos); + var length = getNodePos() - start; + errorAtPos(start, length, ts.Diagnostics.Modifiers_not_permitted_on_index_signature_members); + } + return parseIndexSignatureMember(); + } + error(ts.Diagnostics.Class_member_declaration_expected); + } + function parseClassDeclaration(pos, flags) { + var node = createNode(169 /* ClassDeclaration */, pos); + node.flags = flags; + var errorCountBeforeClassDeclaration = file.syntacticErrors.length; + parseExpected(59 /* ClassKeyword */); + node.name = parseIdentifier(); + node.typeParameters = parseTypeParameters(); + node.baseType = parseOptional(69 /* ExtendsKeyword */) ? parseTypeReference() : undefined; + var implementsKeywordStart = scanner.getTokenPos(); + var implementsKeywordLength; + if (parseOptional(92 /* ImplementsKeyword */)) { + implementsKeywordLength = scanner.getStartPos() - implementsKeywordStart; + node.implementedTypes = parseDelimitedList(8 /* BaseTypeReferences */, parseTypeReference, false); + } + var errorCountBeforeClassBody = file.syntacticErrors.length; + if (parseExpected(5 /* OpenBraceToken */)) { + node.members = parseList(6 /* ClassMembers */, parseClassMemberDeclaration); + parseExpected(6 /* CloseBraceToken */); + } + else { + node.members = createMissingList(); + } + if (node.implementedTypes && !node.implementedTypes.length && errorCountBeforeClassBody === errorCountBeforeClassDeclaration) { + grammarErrorAtPos(implementsKeywordStart, implementsKeywordLength, ts.Diagnostics._0_list_cannot_be_empty, "implements"); + } + return finishNode(node); + } + function parseInterfaceDeclaration(pos, flags) { + var node = createNode(170 /* InterfaceDeclaration */, pos); + node.flags = flags; + var errorCountBeforeInterfaceDeclaration = file.syntacticErrors.length; + parseExpected(93 /* InterfaceKeyword */); + node.name = parseIdentifier(); + node.typeParameters = parseTypeParameters(); + var extendsKeywordStart = scanner.getTokenPos(); + var extendsKeywordLength; + if (parseOptional(69 /* ExtendsKeyword */)) { + extendsKeywordLength = scanner.getStartPos() - extendsKeywordStart; + node.baseTypes = parseDelimitedList(8 /* BaseTypeReferences */, parseTypeReference, false); + } + var errorCountBeforeInterfaceBody = file.syntacticErrors.length; + node.members = parseTypeLiteral().members; + if (node.baseTypes && !node.baseTypes.length && errorCountBeforeInterfaceBody === errorCountBeforeInterfaceDeclaration) { + grammarErrorAtPos(extendsKeywordStart, extendsKeywordLength, ts.Diagnostics._0_list_cannot_be_empty, "extends"); + } + return finishNode(node); + } + function parseEnumMember() { + var node = createNode(176 /* EnumMember */); + node.name = parsePropertyName(); + node.initializer = parseInitializer(false); + return finishNode(node); + } + function parseEnumDeclaration(pos, flags) { + var node = createNode(171 /* EnumDeclaration */, pos); + node.flags = flags; + parseExpected(67 /* EnumKeyword */); + node.name = parseIdentifier(); + if (parseExpected(5 /* OpenBraceToken */)) { + node.members = parseDelimitedList(7 /* EnumMembers */, parseEnumMember, true); + parseExpected(6 /* CloseBraceToken */); + } + else { + node.members = createMissingList(); + } + return finishNode(node); + } + function parseModuleBody() { + var node = createNode(173 /* ModuleBlock */); + if (parseExpected(5 /* OpenBraceToken */)) { + node.statements = parseList(1 /* ModuleElements */, parseSourceElement); + parseExpected(6 /* CloseBraceToken */); + } + else { + node.statements = createMissingList(); + } + return finishNode(node); + } + function parseInternalModuleTail(pos, flags) { + var node = createNode(172 /* ModuleDeclaration */, pos); + node.flags = flags; + node.name = parseIdentifier(); + if (parseOptional(11 /* DotToken */)) { + node.body = parseInternalModuleTail(getNodePos(), 1 /* Export */); + } + else { + node.body = parseModuleBody(); + ts.forEach(node.body.statements, function (s) { + if (s.kind === 175 /* ExportAssignment */) { + grammarErrorOnNode(s, ts.Diagnostics.An_export_assignment_cannot_be_used_in_an_internal_module); + } + else if (s.kind === 174 /* ImportDeclaration */ && s.externalModuleName) { + grammarErrorOnNode(s, ts.Diagnostics.Import_declarations_in_an_internal_module_cannot_reference_an_external_module); + } + }); + } + return finishNode(node); + } + function parseAmbientExternalModuleDeclaration(pos, flags) { + var node = createNode(172 /* ModuleDeclaration */, pos); + node.flags = flags; + node.name = parseStringLiteral(); + var saveInAmbientContext = inAmbientContext; + inAmbientContext = true; + node.body = parseModuleBody(); + inAmbientContext = saveInAmbientContext; + return finishNode(node); + } + function parseModuleDeclaration(pos, flags) { + parseExpected(106 /* ModuleKeyword */); + return token === 3 /* StringLiteral */ ? parseAmbientExternalModuleDeclaration(pos, flags) : parseInternalModuleTail(pos, flags); + } + function parseImportDeclaration(pos, flags) { + var node = createNode(174 /* ImportDeclaration */, pos); + node.flags = flags; + parseExpected(75 /* ImportKeyword */); + node.name = parseIdentifier(); + parseExpected(43 /* EqualsToken */); + var entityName = parseEntityName(); + if (entityName.kind === 55 /* Identifier */ && entityName.text === "require" && parseOptional(7 /* OpenParenToken */)) { + node.externalModuleName = parseStringLiteral(); + parseExpected(8 /* CloseParenToken */); + } + else { + node.entityName = entityName; + } + parseSemicolon(); + return finishNode(node); + } + function parseExportAssignmentTail(pos) { + var node = createNode(175 /* ExportAssignment */, pos); + node.exportName = parseIdentifier(); + parseSemicolon(); + return finishNode(node); + } + function isDeclaration() { + switch (token) { + case 88 /* VarKeyword */: + case 73 /* FunctionKeyword */: + return true; + case 59 /* ClassKeyword */: + case 93 /* InterfaceKeyword */: + case 67 /* EnumKeyword */: + case 75 /* ImportKeyword */: + return lookAhead(function () { return nextToken() >= 55 /* Identifier */; }); + case 106 /* ModuleKeyword */: + return lookAhead(function () { return nextToken() >= 55 /* Identifier */ || token === 3 /* StringLiteral */; }); + case 68 /* ExportKeyword */: + return lookAhead(function () { return nextToken() === 43 /* EqualsToken */ || isDeclaration(); }); + case 104 /* DeclareKeyword */: + case 98 /* PublicKeyword */: + case 96 /* PrivateKeyword */: + case 99 /* StaticKeyword */: + return lookAhead(function () { + nextToken(); + return isDeclaration(); + }); + } + } + function parseDeclaration() { + var pos = getNodePos(); + var flags = parseAndCheckModifiers(0 /* ModuleElements */); + if (token === 68 /* ExportKeyword */) { + nextToken(); + if (parseOptional(43 /* EqualsToken */)) { + return parseExportAssignmentTail(pos); + } + } + var saveInAmbientContext = inAmbientContext; + if (flags & 2 /* Ambient */) { + inAmbientContext = true; + } + var result; + switch (token) { + case 88 /* VarKeyword */: + result = parseVariableStatement(pos, flags); + break; + case 73 /* FunctionKeyword */: + result = parseFunctionDeclaration(pos, flags); + break; + case 59 /* ClassKeyword */: + result = parseClassDeclaration(pos, flags); + break; + case 93 /* InterfaceKeyword */: + result = parseInterfaceDeclaration(pos, flags); + break; + case 67 /* EnumKeyword */: + result = parseEnumDeclaration(pos, flags); + break; + case 106 /* ModuleKeyword */: + result = parseModuleDeclaration(pos, flags); + break; + case 75 /* ImportKeyword */: + result = parseImportDeclaration(pos, flags); + break; + default: + error(ts.Diagnostics.Declaration_expected); + } + inAmbientContext = saveInAmbientContext; + return result; + } + function isSourceElement() { + return isDeclaration() || isStatement(); + } + function parseSourceElement() { + return isDeclaration() ? parseDeclaration() : parseStatement(); + } + function processReferenceComments() { + var referencedFiles = []; + var amdDependencies = []; + commentRanges = []; + token = scanner.scan(); + for (var i = 0; i < commentRanges.length; i++) { + var range = commentRanges[i]; + var comment = sourceText.substring(range.pos, range.end); + var simpleReferenceRegEx = /^\/\/\/\s*/gim; + if (isNoDefaultLibRegEx.exec(comment)) { + file.hasNoDefaultLib = true; + } + else { + var fullReferenceRegEx = /^(\/\/\/\s*/; + var matchResult = fullReferenceRegEx.exec(comment); + if (!matchResult) { + var start = range.pos; + var length = range.end - start; + errorAtPos(start, length, ts.Diagnostics.Invalid_reference_comment); + } + else { + referencedFiles.push({ + pos: range.pos, + end: range.end, + filename: matchResult[3] + }); + } + } + } + else { + var amdDependencyRegEx = /^\/\/\/\s*= 0 ? filename : filename + extension; + } + function processRootFile(filename, isDefaultLib) { + processSourceFile(ts.normalizePath(addExtension(filename, ".ts")), isDefaultLib); + } + function processSourceFile(filename, isDefaultLib, refFile, refPos, refEnd) { + if (refEnd !== undefined && refPos !== undefined) { + var start = refPos; + var length = refEnd - refPos; + } + if (!ts.fileExtensionIs(filename, ".ts")) { + errors.push(ts.createFileDiagnostic(refFile, start, length, ts.Diagnostics.File_0_must_have_extension_ts_or_d_ts, filename)); + } + else if (!findSourceFile(filename, isDefaultLib)) { + errors.push(ts.createFileDiagnostic(refFile, start, length, ts.Diagnostics.File_0_not_found, filename)); + } + } + function findSourceFile(filename, isDefaultLib) { + var file = getSourceFile(filename); + if (!file) { + file = host.getSourceFile(filename, options.target); + if (file) { + filesByName[filename] = file; + seenNoDefaultLib = seenNoDefaultLib || file.hasNoDefaultLib; + if (!options.noResolve) { + var basePath = ts.getDirectoryPath(filename); + processReferencedFiles(file, basePath); + if (file.flags & 1024 /* ExternalModule */) { + processImportedModules(file, basePath); + } + } + if (isDefaultLib) { + files.unshift(file); + } + else { + files.push(file); + } + ts.forEach(file.syntacticErrors, function (e) { + errors.push(e); + }); + } + } + return file; + } + function processReferencedFiles(file, basePath) { + ts.forEach(file.referencedFiles, function (ref) { + processSourceFile(ts.normalizePath(ts.combinePaths(basePath, ref.filename)), false, file, ref.pos, ref.end); + }); + } + function processImportedModules(file, basePath) { + ts.forEach(file.statements, function (node) { + if (node.kind === 174 /* ImportDeclaration */ && node.externalModuleName) { + var moduleName = getTextOfLiteral(node.externalModuleName); + if (moduleName) { + var isRelative = moduleName.substr(0, 2) === "./" || moduleName.substr(0, 3) === "../"; + var searchPath = basePath; + while (true) { + var searchName = ts.normalizePath(ts.combinePaths(searchPath, moduleName)); + if (findSourceFile(searchName + ".ts", false) || findSourceFile(searchName + ".d.ts", false)) + break; + var parentPath = ts.getDirectoryPath(searchPath); + if (parentPath === searchPath) + break; + searchPath = parentPath; + } + } + } + }); + } + function verifyCompilerOptions() { + if (!options.sourceMap && (options.mapRoot || options.sourceRoot)) { + if (options.mapRoot) { + errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Option_mapRoot_cannot_be_specified_without_specifying_sourcemap_option)); + } + if (options.sourceRoot) { + errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Option_sourceRoot_cannot_be_specified_without_specifying_sourcemap_option)); + } + return; + } + if (options.outDir || options.sourceRoot || (options.mapRoot && (!options.out || !!ts.filter(files, function (sourceFile) { return !!(sourceFile.flags & 1024 /* ExternalModule */); }).length))) { + var commonPathComponents; + ts.forEach(files, function (sourceFile) { + if (!(sourceFile.flags & 512 /* DeclarationFile */) && !ts.fileExtensionIs(sourceFile.filename, ".js")) { + var sourcePathCompoments = ts.getNormalizedPathComponents(sourceFile.filename, host.getCurrentDirectory()); + sourcePathCompoments.pop(); + if (commonPathComponents) { + for (var i = 0; i < Math.min(commonPathComponents.length, sourcePathCompoments.length); i++) { + if (commonPathComponents[i] !== sourcePathCompoments[i]) { + if (i === 0) { + errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Cannot_find_the_common_subdirectory_path_for_the_input_files)); + return; + } + commonPathComponents.length = i; + break; + } + } + if (sourcePathCompoments.length < commonPathComponents.length) { + commonPathComponents.length = sourcePathCompoments.length; + } + } + else { + commonPathComponents = sourcePathCompoments; + } + } + }); + commonSourceDirectory = ts.getNormalizedPathFromPathCompoments(commonPathComponents); + if (commonSourceDirectory) { + commonSourceDirectory += ts.directorySeparator; + } + } + } + } + ts.createProgram = createProgram; +})(ts || (ts = {})); +var ts; +(function (ts) { + function isInstantiated(node) { + if (node.kind === 170 /* InterfaceDeclaration */) { + return false; + } + else if (node.kind === 174 /* ImportDeclaration */ && !(node.flags & 1 /* Export */)) { + return false; + } + else if (node.kind === 173 /* ModuleBlock */ && !ts.forEachChild(node, isInstantiated)) { + return false; + } + else if (node.kind === 172 /* ModuleDeclaration */ && !isInstantiated(node.body)) { + return false; + } + else { + return true; + } + } + ts.isInstantiated = isInstantiated; + function bindSourceFile(file) { + var parent; + var container; + var symbolCount = 0; + var Symbol = ts.objectAllocator.getSymbolConstructor(); + if (!file.locals) { + file.locals = {}; + container = file; + bind(file); + file.symbolCount = symbolCount; + } + function createSymbol(flags, name) { + symbolCount++; + return new Symbol(flags, name); + } + function addDeclarationToSymbol(symbol, node, symbolKind) { + symbol.flags |= symbolKind; + if (!symbol.declarations) + symbol.declarations = []; + symbol.declarations.push(node); + if (symbolKind & ts.SymbolFlags.HasExports && !symbol.exports) + symbol.exports = {}; + if (symbolKind & ts.SymbolFlags.HasMembers && !symbol.members) + symbol.members = {}; + node.symbol = symbol; + if (symbolKind & ts.SymbolFlags.Value && !symbol.valueDeclaration) + symbol.valueDeclaration = node; + } + function getDeclarationName(node) { + if (node.name) { + if (node.name.kind === 55 /* Identifier */) + return node.name.text; + if (node.kind === 172 /* ModuleDeclaration */) + return '"' + ts.getTextOfLiteral(node.name) + '"'; + return ts.getTextOfLiteral(node.name); + } + switch (node.kind) { + case 117 /* Constructor */: + return "__constructor"; + case 120 /* CallSignature */: + return "__call"; + case 121 /* ConstructSignature */: + return "__new"; + case 122 /* IndexSignature */: + return "__index"; + } + } + function getDisplayName(node) { + return node.name ? ts.identifierToString(node.name) : getDeclarationName(node); + } + function declareSymbol(symbols, parent, node, includes, excludes) { + var name = getDeclarationName(node); + if (name !== undefined) { + var symbol = ts.hasProperty(symbols, name) ? symbols[name] : (symbols[name] = createSymbol(0, name)); + if (symbol.flags & excludes) { + if (node.name) { + node.name.parent = node; + } + file.semanticErrors.push(ts.createDiagnosticForNode(node.name ? node.name : node, ts.Diagnostics.Duplicate_identifier_0, getDisplayName(node))); + symbol = createSymbol(0, name); + } + } + else { + symbol = createSymbol(0, "__missing"); + } + addDeclarationToSymbol(symbol, node, includes); + symbol.parent = parent; + if (node.kind === 169 /* ClassDeclaration */ && symbol.exports) { + var prototypeSymbol = createSymbol(2 /* Property */ | 67108864 /* Prototype */, "prototype"); + if (ts.hasProperty(symbol.exports, prototypeSymbol.name)) { + if (node.name) { + node.name.parent = node; + } + file.semanticErrors.push(ts.createDiagnosticForNode(symbol.exports[prototypeSymbol.name].declarations[0], ts.Diagnostics.Duplicate_identifier_0, prototypeSymbol.name)); + } + symbol.exports[prototypeSymbol.name] = prototypeSymbol; + prototypeSymbol.parent = symbol; + } + return symbol; + } + function isAmbientContext(node) { + while (node) { + if (node.flags & 2 /* Ambient */) + return true; + node = node.parent; + } + return false; + } + function declareModuleMember(node, symbolKind, symbolExcludes) { + var exportKind = 0; + var exportExcludes = 0; + if (symbolKind & ts.SymbolFlags.Value) { + exportKind |= 524288 /* ExportValue */; + exportExcludes |= ts.SymbolFlags.Value; + } + if (symbolKind & ts.SymbolFlags.Type) { + exportKind |= 1048576 /* ExportType */; + exportExcludes |= ts.SymbolFlags.Type; + } + if (symbolKind & ts.SymbolFlags.Namespace) { + exportKind |= 2097152 /* ExportNamespace */; + exportExcludes |= ts.SymbolFlags.Namespace; + } + if (node.flags & 1 /* Export */ || (node.kind !== 174 /* ImportDeclaration */ && isAmbientContext(container))) { + if (exportKind) { + var local = declareSymbol(container.locals, undefined, node, exportKind, exportExcludes); + local.exportSymbol = declareSymbol(container.symbol.exports, container.symbol, node, symbolKind, symbolExcludes); + } + else { + declareSymbol(container.symbol.exports, container.symbol, node, symbolKind, symbolExcludes); + } + } + else { + declareSymbol(container.locals, undefined, node, symbolKind, symbolExcludes | exportKind); + } + } + function bindDeclaration(node, symbolKind, symbolExcludes) { + switch (container.kind) { + case 172 /* ModuleDeclaration */: + declareModuleMember(node, symbolKind, symbolExcludes); + break; + case 177 /* SourceFile */: + if (container.flags & 1024 /* ExternalModule */) { + declareModuleMember(node, symbolKind, symbolExcludes); + break; + } + case 120 /* CallSignature */: + case 121 /* ConstructSignature */: + case 122 /* IndexSignature */: + case 116 /* Method */: + case 117 /* Constructor */: + case 118 /* GetAccessor */: + case 119 /* SetAccessor */: + case 167 /* FunctionDeclaration */: + case 136 /* FunctionExpression */: + case 137 /* ArrowFunction */: + declareSymbol(container.locals, undefined, node, symbolKind, symbolExcludes); + break; + case 169 /* ClassDeclaration */: + if (node.flags & 64 /* Static */) { + declareSymbol(container.symbol.exports, container.symbol, node, symbolKind, symbolExcludes); + break; + } + case 125 /* TypeLiteral */: + case 128 /* ObjectLiteral */: + case 170 /* InterfaceDeclaration */: + declareSymbol(container.symbol.members, container.symbol, node, symbolKind, symbolExcludes); + break; + case 171 /* EnumDeclaration */: + declareSymbol(container.symbol.exports, container.symbol, node, symbolKind, symbolExcludes); + break; + } + if (symbolKind & ts.SymbolFlags.HasLocals) + node.locals = {}; + var saveParent = parent; + var saveContainer = container; + parent = node; + if (symbolKind & ts.SymbolFlags.IsContainer) + container = node; + ts.forEachChild(node, bind); + container = saveContainer; + parent = saveParent; + } + function bindConstructorDeclaration(node) { + bindDeclaration(node, 4096 /* Constructor */, 0); + ts.forEach(node.parameters, function (p) { + if (p.flags & (16 /* Public */ | 32 /* Private */)) { + bindDeclaration(p, 2 /* Property */, ts.SymbolFlags.PropertyExcludes); + } + }); + } + function bindModuleDeclaration(node) { + if (node.name.kind === 3 /* StringLiteral */) { + bindDeclaration(node, 128 /* ValueModule */, ts.SymbolFlags.ValueModuleExcludes); + } + else if (isInstantiated(node)) { + bindDeclaration(node, 128 /* ValueModule */, ts.SymbolFlags.ValueModuleExcludes); + } + else { + bindDeclaration(node, 256 /* NamespaceModule */, 0 /* NamespaceModuleExcludes */); + } + } + function bindAnonymousDeclaration(node, symbolKind, name) { + var symbol = createSymbol(symbolKind, name); + addDeclarationToSymbol(symbol, node, symbolKind); + if (symbolKind & ts.SymbolFlags.HasLocals) + node.locals = {}; + var saveParent = parent; + var saveContainer = container; + parent = node; + container = node; + ts.forEachChild(node, bind); + container = saveContainer; + parent = saveParent; + } + function bindCatchVariableDeclaration(node) { + var symbol = createSymbol(1 /* Variable */, node.variable.text || "__missing"); + addDeclarationToSymbol(symbol, node.variable, 1 /* Variable */); + var saveParent = parent; + parent = node; + ts.forEachChild(node, bind); + parent = saveParent; + } + function bind(node) { + node.parent = parent; + switch (node.kind) { + case 113 /* TypeParameter */: + bindDeclaration(node, 262144 /* TypeParameter */, ts.SymbolFlags.TypeParameterExcludes); + break; + case 114 /* Parameter */: + bindDeclaration(node, 1 /* Variable */, ts.SymbolFlags.ParameterExcludes); + break; + case 166 /* VariableDeclaration */: + bindDeclaration(node, 1 /* Variable */, ts.SymbolFlags.VariableExcludes); + break; + case 115 /* Property */: + case 129 /* PropertyAssignment */: + bindDeclaration(node, 2 /* Property */, ts.SymbolFlags.PropertyExcludes); + break; + case 176 /* EnumMember */: + bindDeclaration(node, 4 /* EnumMember */, ts.SymbolFlags.EnumMemberExcludes); + break; + case 120 /* CallSignature */: + bindDeclaration(node, 32768 /* CallSignature */, 0); + break; + case 116 /* Method */: + bindDeclaration(node, 2048 /* Method */, ts.SymbolFlags.MethodExcludes); + break; + case 121 /* ConstructSignature */: + bindDeclaration(node, 65536 /* ConstructSignature */, 0); + break; + case 122 /* IndexSignature */: + bindDeclaration(node, 131072 /* IndexSignature */, 0); + break; + case 167 /* FunctionDeclaration */: + bindDeclaration(node, 8 /* Function */, ts.SymbolFlags.FunctionExcludes); + break; + case 117 /* Constructor */: + bindConstructorDeclaration(node); + break; + case 118 /* GetAccessor */: + bindDeclaration(node, 8192 /* GetAccessor */, ts.SymbolFlags.GetAccessorExcludes); + break; + case 119 /* SetAccessor */: + bindDeclaration(node, 16384 /* SetAccessor */, ts.SymbolFlags.SetAccessorExcludes); + break; + case 125 /* TypeLiteral */: + bindAnonymousDeclaration(node, 512 /* TypeLiteral */, "__type"); + break; + case 128 /* ObjectLiteral */: + bindAnonymousDeclaration(node, 1024 /* ObjectLiteral */, "__object"); + break; + case 136 /* FunctionExpression */: + case 137 /* ArrowFunction */: + bindAnonymousDeclaration(node, 8 /* Function */, "__function"); + break; + case 163 /* CatchBlock */: + bindCatchVariableDeclaration(node); + break; + case 169 /* ClassDeclaration */: + bindDeclaration(node, 16 /* Class */, ts.SymbolFlags.ClassExcludes); + break; + case 170 /* InterfaceDeclaration */: + bindDeclaration(node, 32 /* Interface */, ts.SymbolFlags.InterfaceExcludes); + break; + case 171 /* EnumDeclaration */: + bindDeclaration(node, 64 /* Enum */, ts.SymbolFlags.EnumExcludes); + break; + case 172 /* ModuleDeclaration */: + bindModuleDeclaration(node); + break; + case 174 /* ImportDeclaration */: + bindDeclaration(node, 4194304 /* Import */, ts.SymbolFlags.ImportExcludes); + break; + case 177 /* SourceFile */: + if (node.flags & 1024 /* ExternalModule */) { + bindAnonymousDeclaration(node, 128 /* ValueModule */, '"' + ts.getModuleNameFromFilename(node.filename) + '"'); + break; + } + default: + var saveParent = parent; + parent = node; + ts.forEachChild(node, bind); + parent = saveParent; + } + } + } + ts.bindSourceFile = bindSourceFile; +})(ts || (ts = {})); +var ts; +(function (ts) { + function getSourceFilePathInNewDir(newDirPath, sourceFile, program, compilerHost) { + var sourceFilePath = ts.getNormalizedPathFromPathCompoments(ts.getNormalizedPathComponents(sourceFile.filename, compilerHost.getCurrentDirectory())); + sourceFilePath = sourceFilePath.replace(program.getCommonSourceDirectory(), ""); + return ts.combinePaths(newDirPath, sourceFilePath); + } + function emitFiles(resolver) { + var program = resolver.getProgram(); + var compilerHost = program.getCompilerHost(); + var compilerOptions = program.getCompilerOptions(); + var sourceMapDataList = compilerOptions.sourceMap ? [] : undefined; + ts.forEach(program.getSourceFiles(), function (sourceFile) { + if (!(sourceFile.flags & 512 /* DeclarationFile */)) { + if ((sourceFile.flags & 1024 /* ExternalModule */ || !compilerOptions.out) && !ts.fileExtensionIs(sourceFile.filename, ".js")) { + emitJavaScript(resolver, (ts.getModuleNameFromFilename(compilerOptions.outDir ? getSourceFilePathInNewDir(compilerOptions.outDir, sourceFile, program, compilerHost) : sourceFile.filename)) + ".js", sourceMapDataList, sourceFile); + } + } + }); + if (compilerOptions.out) { + emitJavaScript(resolver, compilerOptions.out, sourceMapDataList); + } + return sourceMapDataList; + } + ts.emitFiles = emitFiles; + function emitJavaScript(resolver, jsFilePath, sourceMapDataList, root) { + var program = resolver.getProgram(); + var compilerHost = program.getCompilerHost(); + var compilerOptions = program.getCompilerOptions(); + var output = ""; + var indent = 0; + var lineStart = true; + var extendsEmitted = false; + var currentSourceFile; + var write; + var writeEmittedFiles; + var emitStart; + var emitEnd; + var emitToken; + var emitNewSourceFileStart; + var scopeEmitStart; + var scopeEmitEnd; + var sourceMapData; + function initializeEmitterWithoutSourceMaps() { + write = writeToOutput; + writeEmittedFiles = writeJavaScriptFile; + emitStart = function () { + }; + emitEnd = emitStart; + emitToken = emitTokenText; + emitNewSourceFileStart = emitStart; + scopeEmitStart = emitStart; + scopeEmitEnd = emitStart; + } + function initializeEmitterWithSourceMaps() { + var sourceMapDir; + var sourceMapCurrentSourceFile; + var sourceMapSourceIndex = -1; + var sourceMapNameIndexMap = {}; + var sourceMapNameIndices = []; + function getSourceMapNameIndex() { + return sourceMapNameIndices.length ? sourceMapNameIndices[sourceMapNameIndices.length - 1] : -1; + } + var emittedLine = 1; + var emittedColumn = 1; + var lastRecordedSourceMapSpan; + var lastEncodedSourceMapSpan = { + emittedLine: 1, + emittedColumn: 1, + sourceLine: 1, + sourceColumn: 1, + sourceIndex: 0 + }; + var lastEncodedNameIndex = 0; + function encodeLastRecordedSourceMapSpan() { + if (!lastRecordedSourceMapSpan || lastRecordedSourceMapSpan === lastEncodedSourceMapSpan) { + return; + } + var prevEncodedEmittedColumn = lastEncodedSourceMapSpan.emittedColumn; + if (lastEncodedSourceMapSpan.emittedLine == lastRecordedSourceMapSpan.emittedLine) { + if (sourceMapData.sourceMapMappings) { + sourceMapData.sourceMapMappings += ","; + } + } + else { + for (var encodedLine = lastEncodedSourceMapSpan.emittedLine; encodedLine < lastRecordedSourceMapSpan.emittedLine; encodedLine++) { + sourceMapData.sourceMapMappings += ";"; + } + prevEncodedEmittedColumn = 1; + } + sourceMapData.sourceMapMappings += base64VLQFormatEncode(lastRecordedSourceMapSpan.emittedColumn - prevEncodedEmittedColumn); + sourceMapData.sourceMapMappings += base64VLQFormatEncode(lastRecordedSourceMapSpan.sourceIndex - lastEncodedSourceMapSpan.sourceIndex); + sourceMapData.sourceMapMappings += base64VLQFormatEncode(lastRecordedSourceMapSpan.sourceLine - lastEncodedSourceMapSpan.sourceLine); + sourceMapData.sourceMapMappings += base64VLQFormatEncode(lastRecordedSourceMapSpan.sourceColumn - lastEncodedSourceMapSpan.sourceColumn); + if (lastRecordedSourceMapSpan.nameIndex >= 0) { + sourceMapData.sourceMapMappings += base64VLQFormatEncode(lastRecordedSourceMapSpan.nameIndex - lastEncodedNameIndex); + lastEncodedNameIndex = lastRecordedSourceMapSpan.nameIndex; + } + lastEncodedSourceMapSpan = lastRecordedSourceMapSpan; + sourceMapData.sourceMapDecodedMappings.push(lastEncodedSourceMapSpan); + function base64VLQFormatEncode(inValue) { + function base64FormatEncode(inValue) { + if (inValue < 64) { + return 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.charAt(inValue); + } + throw TypeError(inValue + ": not a 64 based value"); + } + if (inValue < 0) { + inValue = ((-inValue) << 1) + 1; + } + else { + inValue = inValue << 1; + } + var encodedStr = ""; + do { + var currentDigit = inValue & 31; + inValue = inValue >> 5; + if (inValue > 0) { + currentDigit = currentDigit | 32; + } + encodedStr = encodedStr + base64FormatEncode(currentDigit); + } while (inValue > 0); + return encodedStr; + } + } + function recordSourceMapSpan(pos) { + emitIndent(); + var sourceLinePos = sourceMapCurrentSourceFile.getLineAndCharacterFromPosition(pos); + if (!lastRecordedSourceMapSpan || lastRecordedSourceMapSpan.emittedLine != emittedLine || lastRecordedSourceMapSpan.emittedColumn != emittedColumn || lastRecordedSourceMapSpan.sourceLine > sourceLinePos.line || (lastRecordedSourceMapSpan.sourceLine === sourceLinePos.line && lastRecordedSourceMapSpan.sourceColumn > sourceLinePos.character)) { + encodeLastRecordedSourceMapSpan(); + lastRecordedSourceMapSpan = { + emittedLine: emittedLine, + emittedColumn: emittedColumn, + sourceLine: sourceLinePos.line, + sourceColumn: sourceLinePos.character, + nameIndex: getSourceMapNameIndex(), + sourceIndex: sourceMapSourceIndex + }; + } + else { + lastRecordedSourceMapSpan.sourceLine = sourceLinePos.line; + lastRecordedSourceMapSpan.sourceColumn = sourceLinePos.character; + } + } + function recordEmitNodeStartSpan(node) { + recordSourceMapSpan(ts.getTokenPosOfNode(node)); + } + function recordEmitNodeEndSpan(node) { + recordSourceMapSpan(node.end); + } + function writeTextWithSpanRecord(tokenKind, startPos, emitFn) { + var tokenStartPos = ts.skipTrivia(sourceMapCurrentSourceFile.text, startPos); + recordSourceMapSpan(tokenStartPos); + var tokenEndPos = emitTokenText(tokenKind, tokenStartPos, emitFn); + recordSourceMapSpan(tokenEndPos); + return tokenEndPos; + } + function recordNewSourceFileStart(node) { + sourceMapCurrentSourceFile = node; + var sourcesDirectoryPath = compilerOptions.sourceRoot ? program.getCommonSourceDirectory() : sourceMapDir; + sourceMapData.sourceMapSources.push(ts.getRelativePathToDirectoryOrUrl(sourcesDirectoryPath, sourceMapCurrentSourceFile.filename, compilerHost.getCurrentDirectory(), true)); + sourceMapSourceIndex = sourceMapData.sourceMapSources.length - 1; + sourceMapData.inputSourceFileNames.push(sourceMapCurrentSourceFile.filename); + } + function recordScopeNameOfNode(node, scopeName) { + function recordScopeNameIndex(scopeNameIndex) { + sourceMapNameIndices.push(scopeNameIndex); + } + function recordScopeNameStart(scopeName) { + var scopeNameIndex = -1; + if (scopeName) { + var parentIndex = getSourceMapNameIndex(); + if (parentIndex !== -1) { + scopeName = sourceMapData.sourceMapNames[parentIndex] + "." + scopeName; + } + scopeNameIndex = ts.getProperty(sourceMapNameIndexMap, scopeName); + if (scopeNameIndex === undefined) { + scopeNameIndex = sourceMapData.sourceMapNames.length; + sourceMapData.sourceMapNames.push(scopeName); + sourceMapNameIndexMap[scopeName] = scopeNameIndex; + } + } + recordScopeNameIndex(scopeNameIndex); + } + if (scopeName) { + recordScopeNameStart(scopeName); + } + else if (node.kind === 167 /* FunctionDeclaration */ || node.kind === 136 /* FunctionExpression */ || node.kind === 116 /* Method */ || node.kind === 118 /* GetAccessor */ || node.kind === 119 /* SetAccessor */ || node.kind === 172 /* ModuleDeclaration */ || node.kind === 169 /* ClassDeclaration */ || node.kind === 171 /* EnumDeclaration */) { + if (node.name) { + scopeName = node.name.text; + } + recordScopeNameStart(scopeName); + } + else { + recordScopeNameIndex(getSourceMapNameIndex()); + } + } + function recordScopeNameEnd() { + sourceMapNameIndices.pop(); + } + ; + function writeWithLineColumnTracking(s) { + writeToOutput(s); + if (s && s.length) { + var lineCol = ts.positionToLineAndCharacter(s, s.length); + if (lineCol.line == 1) { + emittedColumn += lineCol.character - 1; + } + else { + emittedLine += lineCol.line - 1; + emittedColumn = lineCol.character; + } + } + } + function writeJavaScriptAndSourceMapFile() { + encodeLastRecordedSourceMapSpan(); + output += "//# sourceMappingURL=" + sourceMapData.jsSourceMappingURL; + compilerHost.writeFile(sourceMapData.sourceMapFilePath, JSON.stringify({ + version: 3, + file: sourceMapData.sourceMapFile, + sourceRoot: sourceMapData.sourceMapSourceRoot, + sources: sourceMapData.sourceMapSources, + names: sourceMapData.sourceMapNames, + mappings: sourceMapData.sourceMapMappings + })); + sourceMapDataList.push(sourceMapData); + writeJavaScriptFile(); + } + var sourceMapJsFile = ts.getBaseFilename(ts.normalizeSlashes(jsFilePath)); + sourceMapData = { + sourceMapFilePath: jsFilePath + ".map", + jsSourceMappingURL: sourceMapJsFile + ".map", + sourceMapFile: sourceMapJsFile, + sourceMapSourceRoot: compilerOptions.sourceRoot || "", + sourceMapSources: [], + inputSourceFileNames: [], + sourceMapNames: [], + sourceMapMappings: "", + sourceMapDecodedMappings: [] + }; + sourceMapData.sourceMapSourceRoot = ts.normalizeSlashes(sourceMapData.sourceMapSourceRoot); + if (sourceMapData.sourceMapSourceRoot.length && sourceMapData.sourceMapSourceRoot.charCodeAt(sourceMapData.sourceMapSourceRoot.length - 1) !== 47 /* slash */) { + sourceMapData.sourceMapSourceRoot += ts.directorySeparator; + } + if (compilerOptions.mapRoot) { + sourceMapDir = ts.normalizeSlashes(compilerOptions.mapRoot); + if (root) { + sourceMapDir = ts.getDirectoryPath(getSourceFilePathInNewDir(sourceMapDir, root, program, compilerHost)); + } + if (!ts.isRootedDiskPath(sourceMapDir) && !ts.isUrl(sourceMapDir)) { + sourceMapDir = ts.combinePaths(program.getCommonSourceDirectory(), sourceMapDir); + sourceMapData.jsSourceMappingURL = ts.getRelativePathToDirectoryOrUrl(ts.getDirectoryPath(ts.normalizePath(jsFilePath)), ts.combinePaths(sourceMapDir, sourceMapData.jsSourceMappingURL), compilerHost.getCurrentDirectory(), true); + } + else { + sourceMapData.jsSourceMappingURL = ts.combinePaths(sourceMapDir, sourceMapData.jsSourceMappingURL); + } + } + else { + sourceMapDir = ts.getDirectoryPath(ts.normalizePath(jsFilePath)); + } + write = writeWithLineColumnTracking; + writeEmittedFiles = writeJavaScriptAndSourceMapFile; + emitStart = recordEmitNodeStartSpan; + emitEnd = recordEmitNodeEndSpan; + emitToken = writeTextWithSpanRecord; + emitNewSourceFileStart = recordNewSourceFileStart; + scopeEmitStart = recordScopeNameOfNode; + scopeEmitEnd = recordScopeNameEnd; + } + function emitTokenText(tokenKind, startPos, emitFn) { + var tokenString = ts.tokenToString(tokenKind); + if (emitFn) { + emitFn(); + } + else { + write(tokenString); + } + return startPos + tokenString.length; + } + function writeJavaScriptFile() { + compilerHost.writeFile(jsFilePath, output); + } + function emit(node) { + if (node && node.kind != 177 /* SourceFile */) { + emitStart(node); + emitNode(node); + emitEnd(node); + } + else { + emitNewSourceFileStart(node); + emitNode(node); + } + } + function emitIndent() { + if (lineStart) { + lineStart = false; + if (output.length) { + write("\r\n"); + } + for (var i = 0; i < indent; i++) { + write(" "); + } + } + } + function writeToOutput(s) { + if (s && s.length) { + emitIndent(); + output += s; + } + } + function writeLine() { + lineStart = true; + } + function emitOptional(prefix, node) { + if (node) { + write(prefix); + emit(node); + } + } + function emitCommaList(nodes, count) { + if (!(count >= 0)) + count = nodes.length; + if (nodes) { + for (var i = 0; i < count; i++) { + if (i) + write(", "); + emit(nodes[i]); + } + } + } + function emitMultiLineList(nodes) { + if (nodes) { + for (var i = 0; i < nodes.length; i++) { + if (i) + write(","); + writeLine(); + emit(nodes[i]); + } + } + } + function emitLines(nodes) { + for (var i = 0; i < nodes.length; i++) { + writeLine(); + emit(nodes[i]); + } + } + function emitIdentifierValue(node) { + if (node.kind === 3 /* StringLiteral */ || node.kind === 2 /* NumericLiteral */) { + write(node.text); + } + else { + write("\""); + write(ts.getSourceTextOfNode(node)); + write("\""); + } + } + function isNonExpressionIdentifier(node) { + var parent = node.parent; + switch (parent.kind) { + case 114 /* Parameter */: + case 166 /* VariableDeclaration */: + case 115 /* Property */: + case 129 /* PropertyAssignment */: + case 176 /* EnumMember */: + case 116 /* Method */: + case 167 /* FunctionDeclaration */: + case 118 /* GetAccessor */: + case 119 /* SetAccessor */: + case 136 /* FunctionExpression */: + case 169 /* ClassDeclaration */: + case 170 /* InterfaceDeclaration */: + case 171 /* EnumDeclaration */: + case 172 /* ModuleDeclaration */: + case 174 /* ImportDeclaration */: + return parent.name === node; + case 153 /* BreakStatement */: + case 152 /* ContinueStatement */: + case 175 /* ExportAssignment */: + return false; + case 159 /* LabelledStatement */: + return node.parent.label === node; + case 163 /* CatchBlock */: + return node.parent.variable === node; + } + } + function emitIdentifier(node) { + if (!isNonExpressionIdentifier(node)) { + var prefix = resolver.getExpressionNamePrefix(node); + if (prefix) { + write(prefix); + write("."); + } + } + write(ts.getSourceTextOfNode(node)); + } + function emitThis(node) { + if (resolver.getNodeCheckFlags(node) & 2 /* LexicalThis */) { + write("_this"); + } + else { + write("this"); + } + } + function emitSuper(node) { + var flags = resolver.getNodeCheckFlags(node); + if (flags & 16 /* SuperInstance */) { + write("_super.prototype"); + } + else if (flags & 32 /* SuperStatic */) { + write("_super"); + } + else { + write("super"); + } + } + function emitArrayLiteral(node) { + if (node.flags & 128 /* MultiLine */) { + write("["); + indent++; + emitMultiLineList(node.elements); + indent--; + writeLine(); + write("]"); + } + else { + write("["); + emitCommaList(node.elements); + write("]"); + } + } + function emitObjectLiteral(node) { + if (!node.properties.length) { + write("{}"); + } + else if (node.flags & 128 /* MultiLine */) { + write("{"); + indent++; + emitMultiLineList(node.properties); + indent--; + writeLine(); + write("}"); + } + else { + write("{ "); + emitCommaList(node.properties); + write(" }"); + } + } + function emitPropertyAssignment(node) { + emit(node.name); + write(": "); + emit(node.initializer); + } + function emitPropertyAccess(node) { + var text = resolver.getPropertyAccessSubstitution(node); + if (text) { + write(text); + return; + } + emit(node.left); + write("."); + emit(node.right); + } + function emitIndexedAccess(node) { + emit(node.object); + write("["); + emit(node.index); + write("]"); + } + function emitCallExpression(node) { + var superCall = false; + if (node.func.kind === 81 /* SuperKeyword */) { + write("_super"); + superCall = true; + } + else { + emit(node.func); + superCall = node.func.kind === 130 /* PropertyAccess */ && node.func.left.kind === 81 /* SuperKeyword */; + } + if (superCall) { + write(".call("); + emitThis(node.func); + if (node.arguments.length) { + write(", "); + emitCommaList(node.arguments); + } + write(")"); + } + else { + write("("); + emitCommaList(node.arguments); + write(")"); + } + } + function emitNewExpression(node) { + write("new "); + emit(node.func); + if (node.arguments) { + write("("); + emitCommaList(node.arguments); + write(")"); + } + } + function emitParenExpression(node) { + if (node.expression.kind === 134 /* TypeAssertion */) { + var operand = node.expression.operand; + while (operand.kind == 134 /* TypeAssertion */) { + operand = operand.operand; + } + if (operand.kind !== 138 /* PrefixOperator */ && operand.kind !== 139 /* PostfixOperator */ && operand.kind !== 133 /* NewExpression */ && !(operand.kind === 132 /* CallExpression */ && node.parent.kind === 133 /* NewExpression */) && !(operand.kind === 136 /* FunctionExpression */ && node.parent.kind === 132 /* CallExpression */)) { + emit(operand); + return; + } + } + write("("); + emit(node.expression); + write(")"); + } + function emitUnaryExpression(node) { + if (node.kind === 138 /* PrefixOperator */) { + write(ts.tokenToString(node.operator)); + } + if (node.operator >= 55 /* Identifier */) { + write(" "); + } + else if (node.kind === 138 /* PrefixOperator */ && node.operand.kind === 138 /* PrefixOperator */) { + var operand = node.operand; + if (node.operator === 24 /* PlusToken */ && (operand.operator === 24 /* PlusToken */ || operand.operator === 29 /* PlusPlusToken */)) { + write(" "); + } + else if (node.operator === 25 /* MinusToken */ && (operand.operator === 25 /* MinusToken */ || operand.operator === 30 /* MinusMinusToken */)) { + write(" "); + } + } + emit(node.operand); + if (node.kind === 139 /* PostfixOperator */) { + write(ts.tokenToString(node.operator)); + } + } + function emitBinaryExpression(node) { + emit(node.left); + if (node.operator !== 14 /* CommaToken */) + write(" "); + write(ts.tokenToString(node.operator)); + write(" "); + emit(node.right); + } + function emitConditionalExpression(node) { + emit(node.condition); + write(" ? "); + emit(node.whenTrue); + write(" : "); + emit(node.whenFalse); + } + function emitBlock(node) { + emitToken(5 /* OpenBraceToken */, node.pos); + indent++; + scopeEmitStart(node.parent); + if (node.kind === 173 /* ModuleBlock */) { + ts.Debug.assert(node.parent.kind === 172 /* ModuleDeclaration */); + emitCaptureThisForNodeIfNecessary(node.parent); + } + emitLines(node.statements); + indent--; + writeLine(); + emitToken(6 /* CloseBraceToken */, node.statements.end); + scopeEmitEnd(); + } + function emitEmbeddedStatement(node) { + if (node.kind === 143 /* Block */) { + write(" "); + emit(node); + } + else { + indent++; + writeLine(); + emit(node); + indent--; + } + } + function emitExpressionStatement(node) { + var isArrowExpression = node.expression.kind === 137 /* ArrowFunction */; + if (isArrowExpression) + write("("); + emit(node.expression); + if (isArrowExpression) + write(")"); + write(";"); + } + function emitIfStatement(node) { + var endPos = emitToken(74 /* IfKeyword */, node.pos); + write(" "); + endPos = emitToken(7 /* OpenParenToken */, endPos); + emit(node.expression); + emitToken(8 /* CloseParenToken */, node.expression.end); + emitEmbeddedStatement(node.thenStatement); + if (node.elseStatement) { + writeLine(); + emitToken(66 /* ElseKeyword */, node.thenStatement.end); + if (node.elseStatement.kind === 147 /* IfStatement */) { + write(" "); + emit(node.elseStatement); + } + else { + emitEmbeddedStatement(node.elseStatement); + } + } + } + function emitDoStatement(node) { + write("do"); + emitEmbeddedStatement(node.statement); + if (node.statement.kind === 143 /* Block */) { + write(" "); + } + else { + writeLine(); + } + write("while ("); + emit(node.expression); + write(");"); + } + function emitWhileStatement(node) { + write("while ("); + emit(node.expression); + write(")"); + emitEmbeddedStatement(node.statement); + } + function emitForStatement(node) { + var endPos = emitToken(72 /* ForKeyword */, node.pos); + write(" "); + endPos = emitToken(7 /* OpenParenToken */, endPos); + if (node.declarations) { + emitToken(88 /* VarKeyword */, endPos); + write(" "); + emitCommaList(node.declarations); + } + if (node.initializer) { + emit(node.initializer); + } + write(";"); + emitOptional(" ", node.condition); + write(";"); + emitOptional(" ", node.iterator); + write(")"); + emitEmbeddedStatement(node.statement); + } + function emitForInStatement(node) { + var endPos = emitToken(72 /* ForKeyword */, node.pos); + write(" "); + endPos = emitToken(7 /* OpenParenToken */, endPos); + if (node.declaration) { + emitToken(88 /* VarKeyword */, endPos); + write(" "); + emit(node.declaration); + } + else { + emit(node.variable); + } + write(" in "); + emit(node.expression); + emitToken(8 /* CloseParenToken */, node.expression.end); + emitEmbeddedStatement(node.statement); + } + function emitBreakOrContinueStatement(node) { + emitToken(node.kind === 153 /* BreakStatement */ ? 56 /* BreakKeyword */ : 61 /* ContinueKeyword */, node.pos); + emitOptional(" ", node.label); + write(";"); + } + function emitReturnStatement(node) { + emitToken(80 /* ReturnKeyword */, node.pos); + emitOptional(" ", node.expression); + write(";"); + } + function emitWithStatement(node) { + write("with ("); + emit(node.expression); + write(")"); + emitEmbeddedStatement(node.statement); + } + function emitSwitchStatement(node) { + var endPos = emitToken(82 /* SwitchKeyword */, node.pos); + write(" "); + emitToken(7 /* OpenParenToken */, endPos); + emit(node.expression); + endPos = emitToken(8 /* CloseParenToken */, node.expression.end); + write(" "); + emitToken(5 /* OpenBraceToken */, endPos); + indent++; + emitLines(node.clauses); + indent--; + writeLine(); + emitToken(6 /* CloseBraceToken */, node.clauses.end); + } + function emitCaseOrDefaultClause(node) { + if (node.kind === 157 /* CaseClause */) { + write("case "); + emit(node.expression); + write(":"); + } + else { + write("default:"); + } + indent++; + emitLines(node.statements); + indent--; + } + function emitThrowStatement(node) { + write("throw "); + emit(node.expression); + write(";"); + } + function emitTryStatement(node) { + write("try "); + emit(node.tryBlock); + emit(node.catchBlock); + if (node.finallyBlock) { + writeLine(); + write("finally "); + emit(node.finallyBlock); + } + } + function emitCatchBlock(node) { + writeLine(); + var endPos = emitToken(58 /* CatchKeyword */, node.pos); + write(" "); + emitToken(7 /* OpenParenToken */, endPos); + emit(node.variable); + emitToken(8 /* CloseParenToken */, node.variable.end); + write(" "); + emitBlock(node); + } + function emitDebuggerStatement(node) { + emitToken(62 /* DebuggerKeyword */, node.pos); + write(";"); + } + function emitLabelledStatement(node) { + emit(node.label); + write(": "); + emit(node.statement); + } + function getContainingModule(node) { + do { + node = node.parent; + } while (node && node.kind !== 172 /* ModuleDeclaration */); + return node; + } + function emitModuleMemberName(node) { + emitStart(node.name); + if (node.flags & 1 /* Export */) { + var container = getContainingModule(node); + write(container ? resolver.getModuleObjectName(container) : "exports"); + write("."); + } + emitNode(node.name); + emitEnd(node.name); + } + function emitVariableDeclaration(node) { + emitModuleMemberName(node); + emitOptional(" = ", node.initializer); + } + function emitVariableStatement(node) { + if (!(node.flags & 1 /* Export */)) + write("var "); + emitCommaList(node.declarations); + write(";"); + } + function emitParameter(node) { + emit(node.name); + } + function emitDefaultValueAssignments(node) { + ts.forEach(node.parameters, function (param) { + if (param.initializer) { + writeLine(); + emitStart(param); + write("if ("); + emitNode(param.name); + write(" === void 0)"); + emitEnd(param); + write(" { "); + emitStart(param); + emitNode(param.name); + write(" = "); + emitNode(param.initializer); + emitEnd(param); + write("; }"); + } + }); + } + function emitRestParameter(node) { + if (node.parameters.length && (node.parameters[node.parameters.length - 1].flags & 8 /* Rest */) !== 0) { + var restIndex = node.parameters.length - 1; + var restParam = node.parameters[restIndex]; + writeLine(); + emitStart(restParam); + write("var "); + emitNode(restParam.name); + write(" = [];"); + emitEnd(restParam); + writeLine(); + write("for ("); + emitStart(restParam); + write("var _i = " + restIndex + ";"); + emitEnd(restParam); + write(" "); + emitStart(restParam); + write("_i < arguments.length;"); + emitEnd(restParam); + write(" "); + emitStart(restParam); + write("_i++"); + emitEnd(restParam); + write(") {"); + indent++; + writeLine(); + emitStart(restParam); + emitNode(restParam.name); + write("[_i - " + restIndex + "] = arguments[_i];"); + emitEnd(restParam); + indent--; + writeLine(); + write("}"); + } + } + function emitAccessor(node) { + write(node.kind === 118 /* GetAccessor */ ? "get " : "set "); + emit(node.name); + emitSignatureAndBody(node); + } + function emitFunctionDeclaration(node) { + if (!node.body) + return; + write("function "); + if (node.kind === 167 /* FunctionDeclaration */ || (node.kind === 136 /* FunctionExpression */ && node.name)) { + emit(node.name); + } + emitSignatureAndBody(node); + } + function emitCaptureThisForNodeIfNecessary(node) { + if (resolver.getNodeCheckFlags(node) & 4 /* CaptureThis */) { + writeLine(); + emitStart(node); + write("var _this = this;"); + emitEnd(node); + } + } + function emitSignatureAndBody(node) { + var hasRestParameter = node.parameters.length && (node.parameters[node.parameters.length - 1].flags & 8 /* Rest */) !== 0; + write("("); + emitCommaList(node.parameters, node.parameters.length - (hasRestParameter ? 1 : 0)); + write(") {"); + scopeEmitStart(node); + indent++; + var outPos = output.length; + emitCaptureThisForNodeIfNecessary(node); + emitDefaultValueAssignments(node); + emitRestParameter(node); + if (node.body.kind !== 168 /* FunctionBlock */ && outPos === output.length) { + indent--; + write(" "); + emitStart(node.body); + write("return "); + emitNode(node.body); + emitEnd(node.body); + write("; "); + emitStart(node.body); + write("}"); + emitEnd(node.body); + } + else { + if (node.body.kind === 168 /* FunctionBlock */) { + emitLines(node.body.statements); + } + else { + writeLine(); + write("return "); + emit(node.body); + write(";"); + } + indent--; + writeLine(); + if (node.body.kind === 168 /* FunctionBlock */) { + emitToken(6 /* CloseBraceToken */, node.body.statements.end); + } + else { + emitStart(node.body); + write("}"); + emitEnd(node.body); + } + } + scopeEmitEnd(); + if (node.flags & 1 /* Export */) { + writeLine(); + emitStart(node); + emitModuleMemberName(node); + write(" = "); + emit(node.name); + emitEnd(node); + write(";"); + } + } + function findConstructor(node) { + return ts.forEach(node.members, function (member) { + if (member.kind === 117 /* Constructor */ && member.body) { + return member; + } + }); + } + function findInitialSuperCall(ctor) { + if (ctor.body) { + var statement = ctor.body.statements[0]; + if (statement && statement.kind === 146 /* ExpressionStatement */) { + var expr = statement.expression; + if (expr && expr.kind === 132 /* CallExpression */) { + var func = expr.func; + if (func && func.kind === 81 /* SuperKeyword */) { + return statement; + } + } + } + } + } + function emitParameterPropertyAssignments(node) { + ts.forEach(node.parameters, function (param) { + if (param.flags & (16 /* Public */ | 32 /* Private */)) { + writeLine(); + emitStart(param); + emitStart(param.name); + write("this."); + emitNode(param.name); + emitEnd(param.name); + write(" = "); + emit(param.name); + write(";"); + emitEnd(param); + } + }); + } + function emitMemberAccess(memberName) { + if (memberName.kind === 3 /* StringLiteral */ || memberName.kind === 2 /* NumericLiteral */) { + write("["); + emitNode(memberName); + write("]"); + } + else { + write("."); + emitNode(memberName); + } + } + function emitMemberAssignments(node, staticFlag) { + ts.forEach(node.members, function (member) { + if (member.kind === 115 /* Property */ && (member.flags & 64 /* Static */) === staticFlag && member.initializer) { + writeLine(); + emitStart(member); + emitStart(member.name); + if (staticFlag) { + emitNode(node.name); + } + else { + write("this"); + } + emitMemberAccess(member.name); + emitEnd(member.name); + write(" = "); + emit(member.initializer); + write(";"); + emitEnd(member); + } + }); + } + function getAccessorDeclarations(node, name, staticFlag) { + var firstAccessor; + var getAccessor; + var setAccessor; + ts.forEach(node.members, function (member) { + if ((member.kind === 118 /* GetAccessor */ || member.kind === 119 /* SetAccessor */) && member.name.text === name && (member.flags & 64 /* Static */) === staticFlag) { + if (!firstAccessor) + firstAccessor = member; + if (member.kind === 118 /* GetAccessor */ && !getAccessor) + getAccessor = member; + if (member.kind === 119 /* SetAccessor */ && !setAccessor) + setAccessor = member; + } + }); + return { + firstAccessor: firstAccessor, + getAccessor: getAccessor, + setAccessor: setAccessor + }; + } + function emitMemberFunctions(node) { + ts.forEach(node.members, function (member) { + if (member.kind === 116 /* Method */) { + if (!member.body) + return; + writeLine(); + emitStart(member); + emitStart(member.name); + emitNode(node.name); + if (!(member.flags & 64 /* Static */)) { + write(".prototype"); + } + emitMemberAccess(member.name); + emitEnd(member.name); + write(" = "); + emitStart(member); + emitFunctionDeclaration(member); + emitEnd(member); + emitEnd(member); + write(";"); + } + else if (member.kind === 118 /* GetAccessor */ || member.kind === 119 /* SetAccessor */) { + var accessors = getAccessorDeclarations(node, member.name.text, member.flags & 64 /* Static */); + if (member === accessors.firstAccessor) { + writeLine(); + emitStart(member); + write("Object.defineProperty("); + emitStart(member.name); + emitNode(node.name); + if (!(member.flags & 64 /* Static */)) { + write(".prototype"); + } + write(", "); + emitIdentifierValue(member.name); + emitEnd(member.name); + write(", {"); + indent++; + if (accessors.getAccessor) { + writeLine(); + write("get: "); + emitStart(accessors.getAccessor); + write("function "); + emitSignatureAndBody(accessors.getAccessor); + emitEnd(accessors.getAccessor); + write(","); + } + if (accessors.setAccessor) { + writeLine(); + write("set: "); + emitStart(accessors.setAccessor); + write("function "); + emitSignatureAndBody(accessors.setAccessor); + emitEnd(accessors.setAccessor); + write(","); + } + writeLine(); + write("enumerable: true,"); + writeLine(); + write("configurable: true"); + indent--; + writeLine(); + write("});"); + emitEnd(member); + } + } + }); + } + function emitClassDeclaration(node) { + var ctor = findConstructor(node); + write("var "); + emit(node.name); + write(" = (function ("); + if (node.baseType) + write("_super"); + write(") {"); + indent++; + scopeEmitStart(node); + if (node.baseType) { + writeLine(); + emitStart(node.baseType); + write("__extends("); + emit(node.name); + write(", _super);"); + emitEnd(node.baseType); + } + writeLine(); + emitStart(ctor || node); + write("function "); + emit(node.name); + write("("); + if (ctor) { + emitCommaList(ctor.parameters); + } + write(") {"); + scopeEmitStart(node, "constructor"); + indent++; + if (ctor) { + emitDefaultValueAssignments(ctor); + emitRestParameter(ctor); + if (node.baseType) { + var superCall = findInitialSuperCall(ctor); + if (superCall) { + writeLine(); + emit(superCall); + } + } + emitParameterPropertyAssignments(ctor); + } + else { + if (node.baseType) { + writeLine(); + emitStart(node.baseType); + write("_super.apply(this, arguments);"); + emitEnd(node.baseType); + } + } + emitCaptureThisForNodeIfNecessary(node); + emitMemberAssignments(node, 0); + if (ctor) { + var statements = ctor.body.statements; + if (superCall) + statements = statements.slice(1); + emitLines(statements); + } + indent--; + writeLine(); + emitToken(6 /* CloseBraceToken */, ctor ? ctor.body.statements.end : node.members.end); + scopeEmitEnd(); + emitEnd(ctor || node); + emitMemberFunctions(node); + emitMemberAssignments(node, 64 /* Static */); + writeLine(); + function emitClassReturnStatement() { + write("return "); + emitNode(node.name); + } + emitToken(6 /* CloseBraceToken */, node.members.end, emitClassReturnStatement); + write(";"); + indent--; + writeLine(); + emitToken(6 /* CloseBraceToken */, node.members.end); + scopeEmitEnd(); + emitStart(node); + write(")("); + if (node.baseType) { + emit(node.baseType.typeName); + } + write(");"); + emitEnd(node); + if (node.flags & 1 /* Export */) { + writeLine(); + emitStart(node); + emitModuleMemberName(node); + write(" = "); + emit(node.name); + emitEnd(node); + write(";"); + } + } + function emitEnumDeclaration(node) { + if (!(node.flags & 1 /* Export */)) { + emitStart(node); + write("var "); + emit(node.name); + emitEnd(node); + write(";"); + } + writeLine(); + emitStart(node); + write("(function ("); + emit(node.name); + write(") {"); + indent++; + scopeEmitStart(node); + ts.forEach(node.members, function (member) { + writeLine(); + emitStart(member); + emitNode(node.name); + write("["); + emitNode(node.name); + write("["); + emitIdentifierValue(member.name); + write("] = "); + if (member.initializer) { + emit(member.initializer); + } + else { + write(resolver.getEnumMemberValue(member).toString()); + } + write("] = "); + emitIdentifierValue(member.name); + emitEnd(member); + write(";"); + }); + indent--; + writeLine(); + emitToken(6 /* CloseBraceToken */, node.members.end); + scopeEmitEnd(); + write(")("); + emitModuleMemberName(node); + write(" || ("); + emitModuleMemberName(node); + write(" = {}));"); + emitEnd(node); + if (node.flags & 1 /* Export */) { + writeLine(); + emitStart(node); + write("var "); + emit(node.name); + write(" = "); + emitModuleMemberName(node); + emitEnd(node); + write(";"); + } + } + function getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration) { + if (moduleDeclaration.body.kind === 172 /* ModuleDeclaration */) { + var recursiveInnerModule = getInnerMostModuleDeclarationFromDottedModule(moduleDeclaration.body); + return recursiveInnerModule || moduleDeclaration.body; + } + } + function emitModuleDeclaration(node) { + if (!ts.isInstantiated(node)) + return; + if (!(node.flags & 1 /* Export */)) { + emitStart(node); + write("var "); + emit(node.name); + write(";"); + emitEnd(node); + writeLine(); + } + emitStart(node); + write("(function ("); + emit(node.name); + write(") "); + if (node.body.kind === 173 /* ModuleBlock */) { + emit(node.body); + } + else { + write("{"); + indent++; + scopeEmitStart(node); + emitCaptureThisForNodeIfNecessary(node); + writeLine(); + emit(node.body); + indent--; + writeLine(); + var moduleBlock = getInnerMostModuleDeclarationFromDottedModule(node).body; + emitToken(6 /* CloseBraceToken */, moduleBlock.statements.end); + scopeEmitEnd(); + } + write(")("); + emitModuleMemberName(node); + write(" || ("); + emitModuleMemberName(node); + write(" = {}));"); + emitEnd(node); + if (node.flags & 1 /* Export */) { + writeLine(); + emitStart(node); + write("var "); + emit(node.name); + write(" = "); + emitModuleMemberName(node); + emitEnd(node); + write(";"); + } + } + function emitImportDeclaration(node) { + var emitImportDeclaration = resolver.isReferencedImportDeclaration(node); + if (!emitImportDeclaration) { + emitImportDeclaration = !(currentSourceFile.flags & 1024 /* ExternalModule */) && resolver.isTopLevelValueImportedViaEntityName(node); + } + if (emitImportDeclaration) { + if (node.externalModuleName && node.parent.kind === 177 /* SourceFile */ && compilerOptions.module === 2 /* AMD */) { + if (node.flags & 1 /* Export */) { + writeLine(); + emitStart(node); + emitModuleMemberName(node); + write(" = "); + emit(node.name); + write(";"); + emitEnd(node); + } + } + else { + writeLine(); + emitStart(node); + if (!(node.flags & 1 /* Export */)) + write("var "); + emitModuleMemberName(node); + write(" = "); + if (node.entityName) { + emit(node.entityName); + } + else { + write("require("); + emitStart(node.externalModuleName); + write(node.externalModuleName.text); + emitEnd(node.externalModuleName); + emitToken(8 /* CloseParenToken */, node.externalModuleName.end); + } + write(";"); + emitEnd(node); + } + } + } + function getExternalImportDeclarations(node) { + var result = []; + ts.forEach(node.statements, function (stat) { + if (stat.kind === 174 /* ImportDeclaration */ && stat.externalModuleName && resolver.isReferencedImportDeclaration(stat)) { + result.push(stat); + } + }); + return result; + } + function getFirstExportAssignment(sourceFile) { + return ts.forEach(sourceFile.statements, function (node) { + if (node.kind === 175 /* ExportAssignment */) { + return node; + } + }); + } + function emitAMDModule(node) { + var imports = getExternalImportDeclarations(node); + writeLine(); + write("define([\"require\", \"exports\""); + ts.forEach(imports, function (imp) { + write(", "); + write(imp.externalModuleName.text); + }); + ts.forEach(node.amdDependencies, function (amdDependency) { + var text = "\"" + amdDependency + "\""; + write(", "); + write(text); + }); + write("], function (require, exports"); + ts.forEach(imports, function (imp) { + write(", "); + emit(imp.name); + }); + write(") {"); + indent++; + emitCaptureThisForNodeIfNecessary(node); + emitLines(node.statements); + var exportName = resolver.getExportAssignmentName(node); + if (exportName) { + writeLine(); + var exportAssignement = getFirstExportAssignment(node); + emitStart(exportAssignement); + write("return "); + emitStart(exportAssignement.exportName); + write(exportName); + emitEnd(exportAssignement.exportName); + write(";"); + emitEnd(exportAssignement); + } + indent--; + writeLine(); + write("});"); + } + function emitCommonJSModule(node) { + emitCaptureThisForNodeIfNecessary(node); + emitLines(node.statements); + var exportName = resolver.getExportAssignmentName(node); + if (exportName) { + writeLine(); + var exportAssignement = getFirstExportAssignment(node); + emitStart(exportAssignement); + write("module.exports = "); + emitStart(exportAssignement.exportName); + write(exportName); + emitEnd(exportAssignement.exportName); + write(";"); + emitEnd(exportAssignement); + } + } + function emitSourceFile(node) { + currentSourceFile = node; + if (!extendsEmitted && resolver.getNodeCheckFlags(node) & 8 /* EmitExtends */) { + writeLine(); + write("var __extends = this.__extends || function (d, b) {"); + indent++; + writeLine(); + write("for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];"); + writeLine(); + write("function __() { this.constructor = d; }"); + writeLine(); + write("__.prototype = b.prototype;"); + writeLine(); + write("d.prototype = new __();"); + indent--; + writeLine(); + write("};"); + extendsEmitted = true; + } + if (node.flags & 1024 /* ExternalModule */) { + if (compilerOptions.module === 2 /* AMD */) { + emitAMDModule(node); + } + else { + emitCommonJSModule(node); + } + } + else { + emitCaptureThisForNodeIfNecessary(node); + emitLines(node.statements); + } + } + function emitNode(node) { + if (!node || node.flags & 2 /* Ambient */) + return; + switch (node.kind) { + case 55 /* Identifier */: + return emitIdentifier(node); + case 114 /* Parameter */: + return emitParameter(node); + case 118 /* GetAccessor */: + case 119 /* SetAccessor */: + return emitAccessor(node); + case 83 /* ThisKeyword */: + return emitThis(node); + case 81 /* SuperKeyword */: + return emitSuper(node); + case 79 /* NullKeyword */: + return write("null"); + case 85 /* TrueKeyword */: + return write("true"); + case 70 /* FalseKeyword */: + return write("false"); + case 2 /* NumericLiteral */: + case 3 /* StringLiteral */: + case 4 /* RegularExpressionLiteral */: + return write(node.text); + case 112 /* QualifiedName */: + return emitPropertyAccess(node); + case 127 /* ArrayLiteral */: + return emitArrayLiteral(node); + case 128 /* ObjectLiteral */: + return emitObjectLiteral(node); + case 129 /* PropertyAssignment */: + return emitPropertyAssignment(node); + case 130 /* PropertyAccess */: + return emitPropertyAccess(node); + case 131 /* IndexedAccess */: + return emitIndexedAccess(node); + case 132 /* CallExpression */: + return emitCallExpression(node); + case 133 /* NewExpression */: + return emitNewExpression(node); + case 134 /* TypeAssertion */: + return emit(node.operand); + case 135 /* ParenExpression */: + return emitParenExpression(node); + case 167 /* FunctionDeclaration */: + case 136 /* FunctionExpression */: + case 137 /* ArrowFunction */: + return emitFunctionDeclaration(node); + case 138 /* PrefixOperator */: + case 139 /* PostfixOperator */: + return emitUnaryExpression(node); + case 140 /* BinaryExpression */: + return emitBinaryExpression(node); + case 141 /* ConditionalExpression */: + return emitConditionalExpression(node); + case 143 /* Block */: + case 162 /* TryBlock */: + case 164 /* FinallyBlock */: + case 168 /* FunctionBlock */: + case 173 /* ModuleBlock */: + return emitBlock(node); + case 144 /* VariableStatement */: + return emitVariableStatement(node); + case 145 /* EmptyStatement */: + return write(";"); + case 146 /* ExpressionStatement */: + return emitExpressionStatement(node); + case 147 /* IfStatement */: + return emitIfStatement(node); + case 148 /* DoStatement */: + return emitDoStatement(node); + case 149 /* WhileStatement */: + return emitWhileStatement(node); + case 150 /* ForStatement */: + return emitForStatement(node); + case 151 /* ForInStatement */: + return emitForInStatement(node); + case 152 /* ContinueStatement */: + case 153 /* BreakStatement */: + return emitBreakOrContinueStatement(node); + case 154 /* ReturnStatement */: + return emitReturnStatement(node); + case 155 /* WithStatement */: + return emitWithStatement(node); + case 156 /* SwitchStatement */: + return emitSwitchStatement(node); + case 157 /* CaseClause */: + case 158 /* DefaultClause */: + return emitCaseOrDefaultClause(node); + case 159 /* LabelledStatement */: + return emitLabelledStatement(node); + case 160 /* ThrowStatement */: + return emitThrowStatement(node); + case 161 /* TryStatement */: + return emitTryStatement(node); + case 163 /* CatchBlock */: + return emitCatchBlock(node); + case 165 /* DebuggerStatement */: + return emitDebuggerStatement(node); + case 166 /* VariableDeclaration */: + return emitVariableDeclaration(node); + case 169 /* ClassDeclaration */: + return emitClassDeclaration(node); + case 171 /* EnumDeclaration */: + return emitEnumDeclaration(node); + case 172 /* ModuleDeclaration */: + return emitModuleDeclaration(node); + case 174 /* ImportDeclaration */: + return emitImportDeclaration(node); + case 177 /* SourceFile */: + return emitSourceFile(node); + } + } + if (compilerOptions.sourceMap) { + initializeEmitterWithSourceMaps(); + } + else { + initializeEmitterWithoutSourceMaps(); + } + if (root) { + emit(root); + } + else { + ts.forEach(program.getSourceFiles(), function (sourceFile) { + if (!(sourceFile.flags & (1024 /* ExternalModule */ | 512 /* DeclarationFile */))) + emit(sourceFile); + }); + } + if (output.length) { + output += "\r\n"; + } + writeEmittedFiles(); + } +})(ts || (ts = {})); +var ts; +(function (ts) { + var nextSymbolId = 1; + var nextNodeId = 1; + var nextMergeId = 1; + function createTypeChecker(program) { + var Symbol = ts.objectAllocator.getSymbolConstructor(); + var Type = ts.objectAllocator.getTypeConstructor(); + var Signature = ts.objectAllocator.getSignatureConstructor(); + var typeCount = 0; + var emptyArray = []; + var emptySymbols = {}; + var undefinedSymbol = createSymbol(2 /* Property */ | 33554432 /* Transient */, "undefined"); + var argumentsSymbol = createSymbol(2 /* Property */ | 33554432 /* Transient */, "arguments"); + var unknownSymbol = createSymbol(2 /* Property */ | 33554432 /* Transient */, "unknown"); + var resolvingSymbol = createSymbol(33554432 /* Transient */, "__resolving__"); + var anyType = createIntrinsicType(1 /* Any */, "any"); + var stringType = createIntrinsicType(2 /* String */, "string"); + var numberType = createIntrinsicType(4 /* Number */, "number"); + var booleanType = createIntrinsicType(8 /* Boolean */, "boolean"); + var voidType = createIntrinsicType(16 /* Void */, "void"); + var undefinedType = createIntrinsicType(32 /* Undefined */, "undefined"); + var nullType = createIntrinsicType(64 /* Null */, "null"); + var unknownType = createIntrinsicType(1 /* Any */, "unknown"); + var resolvingType = createIntrinsicType(1 /* Any */, "__resolving__"); + var emptyObjectType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); + var anyFunctionType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); + var noConstraintType = createAnonymousType(undefined, emptySymbols, emptyArray, emptyArray, undefined, undefined); + var globals = {}; + var globalObjectType; + var globalFunctionType; + var globalArrayType; + var globalStringType; + var globalNumberType; + var globalBooleanType; + var globalRegExpType; + var stringLiteralTypes = {}; + var emitExtends = false; + var modulesVerified = false; + var mergedSymbols = []; + var symbolLinks = []; + var nodeLinks = []; + var diagnostics = []; + var diagnosticsModified = false; + var checker; + function addDiagnostic(diagnostic) { + diagnostics.push(diagnostic); + diagnosticsModified = true; + } + function error(location, message, arg0, arg1, arg2) { + var diagnostic = location ? ts.createDiagnosticForNode(location, message, arg0, arg1, arg2) : ts.createCompilerDiagnostic(message, arg0, arg1, arg2); + addDiagnostic(diagnostic); + } + function createSymbol(flags, name) { + return new Symbol(flags, name); + } + function getExcludedSymbolFlags(flags) { + var result = 0; + if (flags & 1 /* Variable */) + result |= ts.SymbolFlags.VariableExcludes; + if (flags & 2 /* Property */) + result |= ts.SymbolFlags.PropertyExcludes; + if (flags & 4 /* EnumMember */) + result |= ts.SymbolFlags.EnumMemberExcludes; + if (flags & 8 /* Function */) + result |= ts.SymbolFlags.FunctionExcludes; + if (flags & 16 /* Class */) + result |= ts.SymbolFlags.ClassExcludes; + if (flags & 32 /* Interface */) + result |= ts.SymbolFlags.InterfaceExcludes; + if (flags & 64 /* Enum */) + result |= ts.SymbolFlags.EnumExcludes; + if (flags & 128 /* ValueModule */) + result |= ts.SymbolFlags.ValueModuleExcludes; + if (flags & 2048 /* Method */) + result |= ts.SymbolFlags.MethodExcludes; + if (flags & 8192 /* GetAccessor */) + result |= ts.SymbolFlags.GetAccessorExcludes; + if (flags & 16384 /* SetAccessor */) + result |= ts.SymbolFlags.SetAccessorExcludes; + if (flags & 262144 /* TypeParameter */) + result |= ts.SymbolFlags.TypeParameterExcludes; + if (flags & 4194304 /* Import */) + result |= ts.SymbolFlags.ImportExcludes; + return result; + } + function recordMergedSymbol(target, source) { + if (!source.mergeId) + source.mergeId = nextMergeId++; + mergedSymbols[source.mergeId] = target; + } + function cloneSymbol(symbol) { + var result = createSymbol(symbol.flags | 16777216 /* Merged */, symbol.name); + result.declarations = symbol.declarations.slice(0); + result.parent = symbol.parent; + if (symbol.valueDeclaration) + result.valueDeclaration = symbol.valueDeclaration; + if (symbol.members) + result.members = cloneSymbolTable(symbol.members); + if (symbol.exports) + result.exports = cloneSymbolTable(symbol.exports); + recordMergedSymbol(result, symbol); + return result; + } + function extendSymbol(target, source) { + if (!(target.flags & getExcludedSymbolFlags(source.flags))) { + target.flags |= source.flags; + if (!target.valueDeclaration && source.valueDeclaration) + target.valueDeclaration = source.valueDeclaration; + ts.forEach(source.declarations, function (node) { + target.declarations.push(node); + }); + if (source.members) { + if (!target.members) + target.members = {}; + extendSymbolTable(target.members, source.members); + } + if (source.exports) { + if (!target.exports) + target.exports = {}; + extendSymbolTable(target.exports, source.exports); + } + } + else { + ts.forEach(source.declarations, function (node) { + error(node.name ? node.name : node, ts.Diagnostics.Duplicate_identifier_0, symbolToString(source)); + }); + } + recordMergedSymbol(target, source); + } + function cloneSymbolTable(symbolTable) { + var result = {}; + for (var id in symbolTable) { + if (ts.hasProperty(symbolTable, id)) { + result[id] = symbolTable[id]; + } + } + return result; + } + function extendSymbolTable(target, source) { + for (var id in source) { + if (ts.hasProperty(source, id)) { + if (!ts.hasProperty(target, id)) { + target[id] = source[id]; + } + else { + var symbol = target[id]; + if (!(symbol.flags & 16777216 /* Merged */)) { + target[id] = symbol = cloneSymbol(symbol); + } + extendSymbol(symbol, source[id]); + } + } + } + } + function getSymbolLinks(symbol) { + if (symbol.flags & 33554432 /* Transient */) + return symbol; + if (!symbol.id) + symbol.id = nextSymbolId++; + return symbolLinks[symbol.id] || (symbolLinks[symbol.id] = {}); + } + function getNodeLinks(node) { + if (!node.id) + node.id = nextNodeId++; + return nodeLinks[node.id] || (nodeLinks[node.id] = {}); + } + function getSourceFile(node) { + return getAncestor(node, 177 /* SourceFile */); + } + function getSymbol(symbols, name, meaning) { + if (meaning && ts.hasProperty(symbols, name)) { + var symbol = symbols[name]; + ts.Debug.assert((symbol.flags & 8388608 /* Instantiated */) === 0, "Should never get an instantiated symbol here."); + if (symbol.flags & meaning || (symbol.flags & 4194304 /* Import */ && resolveImport(symbol).flags & meaning)) { + return symbol; + } + } + } + function resolveName(location, name, meaning, nameNotFoundMessage, nameArg) { + var errorLocation = location; + var result; + var lastLocation; + var memberWithInitializerThatReferencesIdentifierFromConstructor; + function returnResolvedSymbol(s) { + if (s && memberWithInitializerThatReferencesIdentifierFromConstructor) { + var propertyName = memberWithInitializerThatReferencesIdentifierFromConstructor.name; + error(errorLocation, ts.Diagnostics.Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor, ts.identifierToString(propertyName), nameArg); + return undefined; + } + if (!s && nameNotFoundMessage) { + error(errorLocation, nameNotFoundMessage, nameArg); + } + return s; + } + while (location) { + if (location.locals && (location.kind !== 177 /* SourceFile */ || location.flags & 1024 /* ExternalModule */)) { + if (result = getSymbol(location.locals, name, meaning)) { + return returnResolvedSymbol(result); + } + } + switch (location.kind) { + case 177 /* SourceFile */: + if (!(location.flags & 1024 /* ExternalModule */)) + break; + case 172 /* ModuleDeclaration */: + if (result = getSymbol(getSymbolOfNode(location).exports, name, meaning & ts.SymbolFlags.ModuleMember)) { + return returnResolvedSymbol(result); + } + break; + case 171 /* EnumDeclaration */: + if (result = getSymbol(getSymbolOfNode(location).exports, name, meaning & 4 /* EnumMember */)) { + return returnResolvedSymbol(result); + } + break; + case 115 /* Property */: + if (location.parent.kind === 169 /* ClassDeclaration */ && !(location.flags & 64 /* Static */)) { + var ctor = findConstructorDeclaration(location.parent); + if (ctor && ctor.locals) { + if (getSymbol(ctor.locals, name, meaning & ts.SymbolFlags.Value)) { + memberWithInitializerThatReferencesIdentifierFromConstructor = location; + } + } + } + break; + case 169 /* ClassDeclaration */: + case 170 /* InterfaceDeclaration */: + if (result = getSymbol(getSymbolOfNode(location).members, name, meaning & ts.SymbolFlags.Type)) { + if (lastLocation && lastLocation.flags & 64 /* Static */) { + error(errorLocation, ts.Diagnostics.Static_members_cannot_reference_class_type_parameters); + return undefined; + } + else { + return returnResolvedSymbol(result); + } + } + break; + case 116 /* Method */: + case 117 /* Constructor */: + case 118 /* GetAccessor */: + case 119 /* SetAccessor */: + case 167 /* FunctionDeclaration */: + case 137 /* ArrowFunction */: + if (name === "arguments") { + return returnResolvedSymbol(argumentsSymbol); + } + break; + case 136 /* FunctionExpression */: + if (name === "arguments") { + return returnResolvedSymbol(argumentsSymbol); + } + var id = location.name; + if (id && name === id.text) { + return returnResolvedSymbol(location.symbol); + } + break; + case 163 /* CatchBlock */: + var id = location.variable; + if (name === id.text) { + return returnResolvedSymbol(location.variable.symbol); + } + break; + } + lastLocation = location; + location = location.parent; + } + if (result = getSymbol(globals, name, meaning)) { + return returnResolvedSymbol(result); + } + return returnResolvedSymbol(undefined); + } + function resolveImport(symbol) { + ts.Debug.assert((symbol.flags & 4194304 /* Import */) !== 0, "Should only get Imports here."); + var links = getSymbolLinks(symbol); + if (!links.target) { + links.target = resolvingSymbol; + var node = getDeclarationOfKind(symbol, 174 /* ImportDeclaration */); + var target = node.externalModuleName ? resolveExternalModuleName(node, node.externalModuleName) : resolveEntityName(node, node.entityName, node.entityName.kind === 112 /* QualifiedName */ ? ts.SymbolFlags.Value | ts.SymbolFlags.Type | ts.SymbolFlags.Namespace : ts.SymbolFlags.Namespace); + if (links.target === resolvingSymbol) { + links.target = target || unknownSymbol; + } + else { + error(node, ts.Diagnostics.Circular_definition_of_import_alias_0, symbolToString(symbol)); + } + } + else if (links.target === resolvingSymbol) { + links.target = unknownSymbol; + } + return links.target; + } + function getFullyQualifiedName(symbol) { + return symbol.parent ? getFullyQualifiedName(symbol.parent) + "." + symbolToString(symbol) : symbolToString(symbol); + } + function resolveEntityName(location, name, meaning) { + if (name.kind === 55 /* Identifier */) { + var symbol = resolveName(location, name.text, meaning, ts.Diagnostics.Cannot_find_name_0, ts.identifierToString(name)); + if (!symbol) { + return; + } + } + else if (name.kind === 112 /* QualifiedName */) { + var namespace = resolveEntityName(location, name.left, ts.SymbolFlags.Namespace); + if (!namespace || name.right.kind === 111 /* Missing */) + return; + var symbol = getSymbol(namespace.exports, name.right.text, meaning); + if (!symbol) { + error(location, ts.Diagnostics.Module_0_has_no_exported_member_1, getFullyQualifiedName(namespace), ts.identifierToString(name.right)); + return; + } + } + else { + return; + } + ts.Debug.assert((symbol.flags & 8388608 /* Instantiated */) === 0, "Should never get an instantiated symbol here."); + return symbol.flags & meaning ? symbol : resolveImport(symbol); + } + function isExternalModuleNameRelative(moduleName) { + var index = moduleName.charAt(0) === '"' ? 1 : 0; + return moduleName.substr(index, 2) === "./" || moduleName.substr(index, 3) === "../"; + } + function resolveExternalModuleName(location, moduleLiteral) { + var searchPath = ts.getDirectoryPath(getSourceFile(location).filename); + var moduleName = ts.getTextOfLiteral(moduleLiteral); + if (!moduleName) + return; + var isRelative = isExternalModuleNameRelative(moduleName); + if (!isRelative) { + var symbol = getSymbol(globals, '"' + moduleName + '"', 128 /* ValueModule */); + if (symbol) { + return getResolvedExportSymbol(symbol); + } + } + while (true) { + var filename = ts.normalizePath(ts.combinePaths(searchPath, moduleName)); + var sourceFile = program.getSourceFile(filename + ".ts") || program.getSourceFile(filename + ".d.ts"); + if (sourceFile || isRelative) + break; + var parentPath = ts.getDirectoryPath(searchPath); + if (parentPath === searchPath) + break; + searchPath = parentPath; + } + if (sourceFile) { + if (sourceFile.symbol) { + return getResolvedExportSymbol(sourceFile.symbol); + } + error(moduleLiteral, ts.Diagnostics.File_0_is_not_an_external_module, sourceFile.filename); + return; + } + error(moduleLiteral, ts.Diagnostics.Cannot_find_external_module_0, moduleName); + } + function getResolvedExportSymbol(moduleSymbol) { + var symbol = getExportAssignmentSymbol(moduleSymbol); + if (symbol) { + if (symbol.flags & (ts.SymbolFlags.Value | ts.SymbolFlags.Type | ts.SymbolFlags.Namespace)) { + return symbol; + } + if (symbol.flags & 4194304 /* Import */) { + return resolveImport(symbol); + } + } + return moduleSymbol; + } + function getExportAssignmentSymbol(symbol) { + if (!symbol.exportAssignSymbol) { + var exportInformation = collectExportInformationForSourceFileOrModule(symbol); + if (exportInformation.exportAssignments.length) { + if (exportInformation.exportAssignments.length > 1) { + ts.forEach(exportInformation.exportAssignments, function (node) { return error(node, ts.Diagnostics.A_module_cannot_have_more_than_one_export_assignment); }); + } + var node = exportInformation.exportAssignments[0]; + if (exportInformation.hasExportedMember) { + error(node, ts.Diagnostics.An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements); + } + if (node.exportName.text) { + var meaning = ts.SymbolFlags.Value | ts.SymbolFlags.Type | ts.SymbolFlags.Namespace; + var exportSymbol = resolveName(node, node.exportName.text, meaning, ts.Diagnostics.Cannot_find_name_0, ts.identifierToString(node.exportName)); + } + } + symbol.exportAssignSymbol = exportSymbol || unknownSymbol; + } + return symbol.exportAssignSymbol === unknownSymbol ? undefined : symbol.exportAssignSymbol; + } + function collectExportInformationForSourceFileOrModule(symbol) { + var seenExportedMember = false; + var result = []; + ts.forEach(symbol.declarations, function (declaration) { + var block = (declaration.kind === 177 /* SourceFile */ ? declaration : declaration.body); + ts.forEach(block.statements, function (node) { + if (node.kind === 175 /* ExportAssignment */) { + result.push(node); + } + else { + seenExportedMember = seenExportedMember || (node.flags & 1 /* Export */) !== 0; + } + }); + }); + return { + hasExportedMember: seenExportedMember, + exportAssignments: result + }; + } + function getMergedSymbol(symbol) { + var merged; + return symbol && symbol.mergeId && (merged = mergedSymbols[symbol.mergeId]) ? merged : symbol; + } + function getSymbolOfNode(node) { + return getMergedSymbol(node.symbol); + } + function getParentOfSymbol(symbol) { + return getMergedSymbol(symbol.parent); + } + function getExportSymbolOfValueSymbolIfExported(symbol) { + return symbol && (symbol.flags & 524288 /* ExportValue */) !== 0 ? getMergedSymbol(symbol.exportSymbol) : symbol; + } + function symbolIsValue(symbol) { + if (symbol.flags & ts.SymbolFlags.Value) { + return true; + } + if (symbol.flags & 4194304 /* Import */) { + return (resolveImport(symbol).flags & ts.SymbolFlags.Value) !== 0; + } + if (symbol.flags & 8388608 /* Instantiated */) { + return (getSymbolLinks(symbol).target.flags & ts.SymbolFlags.Value) !== 0; + } + return false; + } + function getDeclarationOfKind(symbol, kind) { + var declarations = symbol.declarations; + for (var i = 0; i < declarations.length; i++) { + var declaration = declarations[i]; + if (declaration.kind === kind) + return declaration; + } + } + function findConstructorDeclaration(node) { + var members = node.members; + for (var i = 0; i < members.length; i++) { + var member = members[i]; + if (member.kind === 117 /* Constructor */ && member.body) { + return member; + } + } + } + function createType(flags) { + var result = new Type(checker, flags); + result.id = typeCount++; + return result; + } + function createIntrinsicType(kind, intrinsicName) { + var type = createType(kind); + type.intrinsicName = intrinsicName; + return type; + } + function createObjectType(kind, symbol) { + var type = createType(kind); + type.symbol = symbol; + return type; + } + function isReservedMemberName(name) { + return name.charCodeAt(0) === 95 /* _ */ && name.charCodeAt(1) === 95 /* _ */ && name.charCodeAt(2) !== 95 /* _ */; + } + function getNamedMembers(members) { + var result; + for (var id in members) { + if (ts.hasProperty(members, id)) { + if (!isReservedMemberName(id)) { + if (!result) + result = []; + var symbol = members[id]; + if (symbolIsValue(symbol)) { + result.push(symbol); + } + } + } + } + return result || emptyArray; + } + function setObjectTypeMembers(type, members, callSignatures, constructSignatures, stringIndexType, numberIndexType) { + type.members = members; + type.properties = getNamedMembers(members); + type.callSignatures = callSignatures; + type.constructSignatures = constructSignatures; + if (stringIndexType) + type.stringIndexType = stringIndexType; + if (numberIndexType) + type.numberIndexType = numberIndexType; + return type; + } + function createAnonymousType(symbol, members, callSignatures, constructSignatures, stringIndexType, numberIndexType) { + return setObjectTypeMembers(createObjectType(8192 /* Anonymous */, symbol), members, callSignatures, constructSignatures, stringIndexType, numberIndexType); + } + function isOptionalProperty(propertySymbol) { + if (propertySymbol.flags & 67108864 /* Prototype */) { + return false; + } + return (propertySymbol.valueDeclaration.flags & 4 /* QuestionMark */) && propertySymbol.valueDeclaration.kind !== 114 /* Parameter */; + } + function symbolToString(symbol) { + if (symbol.declarations && symbol.declarations.length > 0) { + var declaration = symbol.declarations[0]; + if (declaration.name) { + return ts.identifierToString(declaration.name); + } + } + return symbol.name; + } + function typeToString(type, printArrayAsGenericType) { + var typeStack; + return typeToString(type); + function typeToString(type) { + if (type.flags & ts.TypeFlags.Intrinsic) { + return type.intrinsicName; + } + if (type.flags & 4096 /* Reference */) { + return typeReferenceToString(type); + } + if (type.flags & (1024 /* Class */ | 2048 /* Interface */ | 128 /* Enum */ | 512 /* TypeParameter */)) { + return symbolToString(type.symbol); + } + if (type.flags & 8192 /* Anonymous */) { + return anonymousTypeToString(type); + } + if (type.flags & 256 /* StringLiteral */) { + return type.text; + } + return "{ ... }"; + } + function typeReferenceToString(type) { + if (type.target === globalArrayType && !printArrayAsGenericType) { + return typeToString(type.typeArguments[0]) + "[]"; + } + var result = symbolToString(type.target.symbol); + result += "<"; + for (var i = 0; i < type.typeArguments.length; i++) { + if (i > 0) + result += ", "; + result += typeToString(type.typeArguments[i]); + } + result += ">"; + return result; + } + function anonymousTypeToString(type) { + if (type.symbol && type.symbol.flags & (16 /* Class */ | 64 /* Enum */ | 128 /* ValueModule */)) { + return symbolTypeToString(type); + } + if (type.symbol && type.symbol.flags & (8 /* Function */ | 2048 /* Method */)) { + if (typeStack && ts.contains(typeStack, type)) { + return symbolTypeToString(type); + } + } + if (!typeStack) + typeStack = []; + typeStack.push(type); + var result = literalTypeToString(type); + typeStack.pop(); + return result; + } + function symbolTypeToString(type) { + return "typeof " + symbolToString(type.symbol); + } + function literalTypeToString(type) { + var resolved = resolveObjectTypeMembers(type); + if (!resolved.properties.length && !resolved.stringIndexType && !resolved.numberIndexType) { + if (!resolved.callSignatures.length && !resolved.constructSignatures.length) { + return "{}"; + } + if (resolved.callSignatures.length === 1 && !resolved.constructSignatures.length) { + return signatureToString(resolved.callSignatures[0], true); + } + if (resolved.constructSignatures.length === 1 && !resolved.callSignatures.length) { + return "new " + signatureToString(resolved.constructSignatures[0], true); + } + } + var result = "{ "; + for (var i = 0; i < resolved.callSignatures.length; i++) { + result += signatureToString(resolved.callSignatures[i]); + result += "; "; + } + for (var i = 0; i < resolved.constructSignatures.length; i++) { + result += "new "; + result += signatureToString(resolved.constructSignatures[i]); + result += "; "; + } + if (resolved.stringIndexType) { + result += "[x: string]: "; + result += typeToString(resolved.stringIndexType); + result += "; "; + } + if (resolved.numberIndexType) { + result += "[x: number]: "; + result += typeToString(resolved.numberIndexType); + result += "; "; + } + for (var i = 0; i < resolved.properties.length; i++) { + var p = resolved.properties[i]; + var t = getTypeOfSymbol(p); + if (p.flags & (8 /* Function */ | 2048 /* Method */) && !getPropertiesOfType(t).length) { + var signatures = getSignaturesOfType(t, 0 /* Call */); + for (var j = 0; j < signatures.length; j++) { + result += symbolToString(p); + if (isOptionalProperty(p)) { + result += "?"; + } + result += signatureToString(signatures[j]); + result += "; "; + } + } + else { + result += symbolToString(p); + if (isOptionalProperty(p)) { + result += "?"; + } + result += ": "; + result += typeToString(t); + result += "; "; + } + } + result += "}"; + return result; + } + function signatureToString(signature, arrowStyle) { + var result = ""; + if (signature.typeParameters) { + result += "<"; + for (var i = 0; i < signature.typeParameters.length; i++) { + if (i > 0) + result += ", "; + var tp = signature.typeParameters[i]; + result += symbolToString(tp.symbol); + var constraint = getConstraintOfTypeParameter(tp); + if (constraint) { + result += " extends "; + result += typeToString(constraint); + } + } + result += ">"; + } + result += "("; + for (var i = 0; i < signature.parameters.length; i++) { + if (i > 0) + result += ", "; + var p = signature.parameters[i]; + if (getDeclarationFlagsFromSymbol(p) & 8 /* Rest */) { + result += "..."; + } + result += symbolToString(p); + if (p.valueDeclaration.flags & 4 /* QuestionMark */ || p.valueDeclaration.initializer) { + result += "?"; + } + result += ": "; + result += typeToString(getTypeOfSymbol(p)); + } + result += arrowStyle ? ") => " : "): "; + result += typeToString(getReturnTypeOfSignature(signature)); + return result; + } + } + function getApparentType(type) { + if (type.flags & 512 /* TypeParameter */) { + do { + type = getConstraintOfTypeParameter(type); + } while (type && type.flags & 512 /* TypeParameter */); + if (!type) + type = emptyObjectType; + } + if (type.flags & ts.TypeFlags.StringLike) { + type = globalStringType; + } + else if (type.flags & ts.TypeFlags.NumberLike) { + type = globalNumberType; + } + else if (type.flags & 8 /* Boolean */) { + type = globalBooleanType; + } + return type; + } + function getTypeOfPrototypeProperty(prototype) { + var classType = getDeclaredTypeOfSymbol(prototype.parent); + var classDecl = getDeclarationOfKind(prototype.parent, 169 /* ClassDeclaration */); + return classDecl.typeParameters ? createTypeReference(classType, ts.map(classDecl.typeParameters, function (_) { return anyType; })) : classType; + } + function getTypeOfVariableDeclaration(declaration) { + var type; + if (declaration.parent.kind === 163 /* CatchBlock */ || declaration.parent.kind === 151 /* ForInStatement */) { + type = anyType; + } + else if (declaration.type) { + type = getTypeFromTypeNode(declaration.type); + } + else { + if (declaration.kind === 114 /* Parameter */ && declaration.parent.kind === 119 /* SetAccessor */) { + var getter = getDeclarationOfKind(declaration.parent.symbol, 118 /* GetAccessor */); + if (getter) { + type = getReturnTypeOfSignature(getSignatureFromDeclaration(getter)); + } + } + var unwidenedType; + if (!type) { + if (declaration.initializer) { + unwidenedType = checkAndMarkExpression(declaration.initializer); + type = getWidenedType(unwidenedType); + } + else if (declaration.flags & 8 /* Rest */) { + type = createArrayType(anyType); + } + else { + type = anyType; + } + } + if (program.getCompilerOptions().noImplicitAny && shouldReportNoImplicitAnyOnVariableOrParameterOrProperty(declaration, type, unwidenedType)) { + reportNoImplicitAnyOnVariableOrParameterOrProperty(declaration, type); + } + } + return type; + function shouldReportNoImplicitAnyOnVariableOrParameterOrProperty(declaration, type, unwidenedType) { + if (type === unwidenedType) { + return false; + } + if (getInnermostTypeOfNestedArrayTypes(type) !== anyType) { + return false; + } + if (isPrivateWithinAmbient(declaration) || (declaration.kind === 114 /* Parameter */ && isPrivateWithinAmbient(declaration.parent))) { + return false; + } + return true; + } + function reportNoImplicitAnyOnVariableOrParameterOrProperty(declaration, type) { + var varName = ts.identifierToString(declaration.name); + var typeName = typeToString(type, false); + switch (declaration.kind) { + case 166 /* VariableDeclaration */: + error(declaration, ts.Diagnostics.Variable_0_implicitly_has_an_1_type, varName, typeName); + break; + case 115 /* Property */: + error(declaration, ts.Diagnostics.Member_0_implicitly_has_an_1_type, varName, typeName); + break; + case 114 /* Parameter */: + var funcDeclaration = declaration.parent; + if (declaration.flags & 8 /* Rest */) { + error(declaration, ts.Diagnostics.Rest_parameter_0_implicitly_has_an_any_type, varName); + } + else { + error(declaration, ts.Diagnostics.Parameter_0_implicitly_has_an_1_type, varName, typeName); + } + break; + default: + ts.Debug.fail("Received a '" + ts.SyntaxKind[declaration.kind] + "', but expected '" + ts.SyntaxKind[166 /* VariableDeclaration */] + "', '" + ts.SyntaxKind[115 /* Property */] + "', or '" + ts.SyntaxKind[114 /* Parameter */] + "'.\r\n"); + } + } + } + function getTypeOfVariableOrParameterOrProperty(symbol) { + var links = getSymbolLinks(symbol); + if (!links.type) { + if (symbol.flags & 67108864 /* Prototype */) { + links.type = getTypeOfPrototypeProperty(symbol); + } + else { + links.type = resolvingType; + var type = getTypeOfVariableDeclaration(symbol.valueDeclaration); + if (links.type === resolvingType) { + links.type = type; + } + } + } + else if (links.type === resolvingType) { + links.type = anyType; + } + return links.type; + } + function getSetAccessorTypeAnnotationNode(accessor) { + return accessor && accessor.parameters.length > 0 && accessor.parameters[0].type; + } + function getAnnotatedAccessorType(accessor) { + if (accessor) { + if (accessor.kind === 118 /* GetAccessor */) { + return accessor.type && getTypeFromTypeNode(accessor.type); + } + else { + var setterTypeAnnotation = getSetAccessorTypeAnnotationNode(accessor); + return setterTypeAnnotation && getTypeFromTypeNode(setterTypeAnnotation); + } + } + return undefined; + } + function getTypeOfAccessors(symbol) { + var links = getSymbolLinks(symbol); + if (!links.type) { + links.type = resolvingType; + var getter = getDeclarationOfKind(symbol, 118 /* GetAccessor */); + var setter = getDeclarationOfKind(symbol, 119 /* SetAccessor */); + var type; + var getterReturnType = getAnnotatedAccessorType(getter); + if (getterReturnType) { + type = getterReturnType; + } + else { + var setterParameterType = getAnnotatedAccessorType(setter); + if (setterParameterType) { + type = setterParameterType; + } + else { + if (getter) { + type = getReturnTypeFromBody(getter); + } + else { + if (program.getCompilerOptions().noImplicitAny) { + error(setter, ts.Diagnostics.Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_type_annotation, symbol.name); + } + type = anyType; + } + } + } + if (links.type === resolvingType) { + links.type = type; + } + } + else if (links.type === resolvingType) { + links.type = anyType; + } + return links.type; + } + function getTypeOfFuncClassEnumModule(symbol) { + var links = getSymbolLinks(symbol); + if (!links.type) { + var type = links.type = createObjectType(8192 /* Anonymous */, symbol); + } + return links.type; + } + function getTypeOfEnumMember(symbol) { + var links = getSymbolLinks(symbol); + if (!links.type) { + links.type = getDeclaredTypeOfEnum(getParentOfSymbol(symbol)); + } + return links.type; + } + function getTypeOfImport(symbol) { + var links = getSymbolLinks(symbol); + if (!links.type) { + links.type = getTypeOfSymbol(resolveImport(symbol)); + } + return links.type; + } + function getTypeOfInstantiatedSymbol(symbol) { + var links = getSymbolLinks(symbol); + if (!links.type) { + links.type = instantiateType(getTypeOfSymbol(links.target), links.mapper); + } + return links.type; + } + function getTypeOfSymbol(symbol) { + if (symbol.flags & (1 /* Variable */ | 2 /* Property */)) { + return getTypeOfVariableOrParameterOrProperty(symbol); + } + if (symbol.flags & (8 /* Function */ | 2048 /* Method */ | 16 /* Class */ | 64 /* Enum */ | 128 /* ValueModule */)) { + return getTypeOfFuncClassEnumModule(symbol); + } + if (symbol.flags & 4 /* EnumMember */) { + return getTypeOfEnumMember(symbol); + } + if (symbol.flags & ts.SymbolFlags.Accessor) { + return getTypeOfAccessors(symbol); + } + if (symbol.flags & 4194304 /* Import */) { + return getTypeOfImport(symbol); + } + if (symbol.flags & 8388608 /* Instantiated */) { + return getTypeOfInstantiatedSymbol(symbol); + } + return unknownType; + } + function getTargetType(type) { + return type.flags & 4096 /* Reference */ ? type.target : type; + } + function hasBaseType(type, checkBase) { + return check(type); + function check(type) { + var target = getTargetType(type); + return target === checkBase || ts.forEach(target.baseTypes, check); + } + } + function getDeclaredTypeOfClass(symbol) { + var links = getSymbolLinks(symbol); + if (!links.declaredType) { + var declaration = getDeclarationOfKind(symbol, 169 /* ClassDeclaration */); + var type = links.declaredType = createObjectType(1024 /* Class */, symbol); + if (declaration.typeParameters && declaration.typeParameters.length) { + type.flags |= 4096 /* Reference */; + type.typeParameters = ts.map(declaration.typeParameters, function (node) { return getDeclaredTypeOfTypeParameter(getSymbolOfNode(node)); }); + type.instantiations = {}; + type.instantiations[getTypeListId(type.typeParameters)] = type; + type.target = type; + type.typeArguments = type.typeParameters; + } + type.baseTypes = []; + if (declaration.baseType) { + var baseType = getTypeFromTypeReferenceNode(declaration.baseType); + if (baseType !== unknownType) { + if (getTargetType(baseType).flags & 1024 /* Class */) { + if (type !== baseType && !hasBaseType(baseType, type)) { + type.baseTypes.push(baseType); + } + else { + error(declaration, ts.Diagnostics.Type_0_recursively_references_itself_as_a_base_type, typeToString(type, false)); + } + } + else { + error(declaration.baseType, ts.Diagnostics.A_class_may_only_extend_another_class); + } + } + } + type.declaredProperties = getNamedMembers(symbol.members); + type.declaredCallSignatures = emptyArray; + type.declaredConstructSignatures = emptyArray; + type.declaredStringIndexType = getIndexTypeOfSymbol(symbol, 0 /* String */); + type.declaredNumberIndexType = getIndexTypeOfSymbol(symbol, 1 /* Number */); + } + return links.declaredType; + } + function getDeclaredTypeOfInterface(symbol) { + var links = getSymbolLinks(symbol); + if (!links.declaredType) { + var firstDeclaration = getDeclarationOfKind(symbol, 170 /* InterfaceDeclaration */); + var type = links.declaredType = createObjectType(2048 /* Interface */, symbol); + if (firstDeclaration.typeParameters && firstDeclaration.typeParameters.length) { + type.flags |= 4096 /* Reference */; + type.typeParameters = ts.map(firstDeclaration.typeParameters, function (node) { return getDeclaredTypeOfTypeParameter(getSymbolOfNode(node)); }); + type.instantiations = {}; + type.instantiations[getTypeListId(type.typeParameters)] = type; + type.target = type; + type.typeArguments = type.typeParameters; + } + type.baseTypes = []; + ts.forEach(symbol.declarations, function (declaration) { + if (declaration.kind === 170 /* InterfaceDeclaration */ && declaration.baseTypes) { + ts.forEach(declaration.baseTypes, function (node) { + var baseType = getTypeFromTypeReferenceNode(node); + if (baseType !== unknownType) { + if (getTargetType(baseType).flags & (1024 /* Class */ | 2048 /* Interface */)) { + if (type !== baseType && !hasBaseType(baseType, type)) { + type.baseTypes.push(baseType); + } + else { + error(declaration, ts.Diagnostics.Type_0_recursively_references_itself_as_a_base_type, typeToString(type, false)); + } + } + else { + error(node, ts.Diagnostics.An_interface_may_only_extend_a_class_or_another_interface); + } + } + }); + } + }); + type.declaredProperties = getNamedMembers(symbol.members); + type.declaredCallSignatures = getSignaturesOfSymbol(symbol.members["__call"]); + type.declaredConstructSignatures = getSignaturesOfSymbol(symbol.members["__new"]); + type.declaredStringIndexType = getIndexTypeOfSymbol(symbol, 0 /* String */); + type.declaredNumberIndexType = getIndexTypeOfSymbol(symbol, 1 /* Number */); + } + return links.declaredType; + } + function getDeclaredTypeOfEnum(symbol) { + var links = getSymbolLinks(symbol); + if (!links.declaredType) { + var type = createType(128 /* Enum */); + type.symbol = symbol; + links.declaredType = type; + } + return links.declaredType; + } + function getDeclaredTypeOfTypeParameter(symbol) { + var links = getSymbolLinks(symbol); + if (!links.declaredType) { + var type = createType(512 /* TypeParameter */); + type.symbol = symbol; + if (!getDeclarationOfKind(symbol, 113 /* TypeParameter */).constraint) { + type.constraint = noConstraintType; + } + links.declaredType = type; + } + return links.declaredType; + } + function getDeclaredTypeOfImport(symbol) { + var links = getSymbolLinks(symbol); + if (!links.declaredType) { + links.declaredType = getDeclaredTypeOfSymbol(resolveImport(symbol)); + } + return links.declaredType; + } + function getDeclaredTypeOfSymbol(symbol) { + if (symbol.flags & 16 /* Class */) { + return getDeclaredTypeOfClass(symbol); + } + if (symbol.flags & 32 /* Interface */) { + return getDeclaredTypeOfInterface(symbol); + } + if (symbol.flags & 64 /* Enum */) { + return getDeclaredTypeOfEnum(symbol); + } + if (symbol.flags & 262144 /* TypeParameter */) { + return getDeclaredTypeOfTypeParameter(symbol); + } + if (symbol.flags & 4194304 /* Import */) { + return getDeclaredTypeOfImport(symbol); + } + ts.Debug.assert((symbol.flags & 8388608 /* Instantiated */) === 0); + return unknownType; + } + function createSymbolTable(symbols) { + var result = {}; + for (var i = 0; i < symbols.length; i++) { + var symbol = symbols[i]; + result[symbol.name] = symbol; + } + return result; + } + function createInstantiatedSymbolTable(symbols, mapper) { + var result = {}; + for (var i = 0; i < symbols.length; i++) { + var symbol = symbols[i]; + result[symbol.name] = instantiateSymbol(symbol, mapper); + } + return result; + } + function addInheritedMembers(symbols, baseSymbols) { + for (var i = 0; i < baseSymbols.length; i++) { + var s = baseSymbols[i]; + if (!ts.hasProperty(symbols, s.name)) { + symbols[s.name] = s; + } + } + } + function addInheritedSignatures(signatures, baseSignatures) { + if (baseSignatures) { + for (var i = 0; i < baseSignatures.length; i++) { + signatures.push(baseSignatures[i]); + } + } + } + function concatenateSignaturesWithIdentityCheckIgnoringReturnType(derived, base) { + var signatures = []; + for (var i = 0, len = base.length; i < len; ++i) { + var baseSignature = base[i]; + if (!ts.forEach(derived, function (s) { return isSignatureIdenticalToIgnoringReturnType(s, baseSignature); })) { + signatures.push(baseSignature); + } + } + return ts.concatenate(derived, signatures); + } + function resolveClassOrInterfaceMembers(type) { + var members = type.symbol.members; + var callSignatures = type.declaredCallSignatures; + var constructSignatures = type.declaredConstructSignatures; + var stringIndexType = type.declaredStringIndexType; + var numberIndexType = type.declaredNumberIndexType; + if (type.baseTypes.length) { + members = createSymbolTable(type.declaredProperties); + ts.forEach(type.baseTypes, function (baseType) { + addInheritedMembers(members, getPropertiesOfType(baseType)); + callSignatures = concatenateSignaturesWithIdentityCheckIgnoringReturnType(callSignatures, getSignaturesOfType(baseType, 0 /* Call */)); + constructSignatures = concatenateSignaturesWithIdentityCheckIgnoringReturnType(constructSignatures, getSignaturesOfType(baseType, 1 /* Construct */)); + stringIndexType = stringIndexType || getIndexTypeOfType(baseType, 0 /* String */); + numberIndexType = numberIndexType || getIndexTypeOfType(baseType, 1 /* Number */); + }); + } + setObjectTypeMembers(type, members, callSignatures, constructSignatures, stringIndexType, numberIndexType); + } + function resolveTypeReferenceMembers(type) { + var target = type.target; + var mapper = createTypeMapper(target.typeParameters, type.typeArguments); + var members = createInstantiatedSymbolTable(target.declaredProperties, mapper); + var callSignatures = instantiateList(target.declaredCallSignatures, mapper, instantiateSignature); + var constructSignatures = instantiateList(target.declaredConstructSignatures, mapper, instantiateSignature); + var stringIndexType = target.declaredStringIndexType ? instantiateType(target.declaredStringIndexType, mapper) : undefined; + var numberIndexType = target.declaredNumberIndexType ? instantiateType(target.declaredNumberIndexType, mapper) : undefined; + ts.forEach(target.baseTypes, function (baseType) { + var instantiatedBaseType = instantiateType(baseType, mapper); + addInheritedMembers(members, getPropertiesOfType(instantiatedBaseType)); + callSignatures = concatenateSignaturesWithIdentityCheckIgnoringReturnType(callSignatures, getSignaturesOfType(instantiatedBaseType, 0 /* Call */)); + constructSignatures = concatenateSignaturesWithIdentityCheckIgnoringReturnType(constructSignatures, getSignaturesOfType(instantiatedBaseType, 1 /* Construct */)); + stringIndexType = stringIndexType || getIndexTypeOfType(instantiatedBaseType, 0 /* String */); + numberIndexType = numberIndexType || getIndexTypeOfType(instantiatedBaseType, 1 /* Number */); + }); + setObjectTypeMembers(type, members, callSignatures, constructSignatures, stringIndexType, numberIndexType); + } + function createSignature(declaration, typeParameters, parameters, resolvedReturnType, minArgumentCount, hasRestParameter, hasStringLiterals) { + var sig = new Signature(checker); + sig.declaration = declaration; + sig.typeParameters = typeParameters; + sig.parameters = parameters; + sig.resolvedReturnType = resolvedReturnType; + sig.minArgumentCount = minArgumentCount; + sig.hasRestParameter = hasRestParameter; + sig.hasStringLiterals = hasStringLiterals; + return sig; + } + function cloneSignature(sig) { + return createSignature(sig.declaration, sig.typeParameters, sig.parameters, sig.resolvedReturnType, sig.minArgumentCount, sig.hasRestParameter, sig.hasStringLiterals); + } + function getDefaultConstructSignatures(classType) { + if (classType.baseTypes.length) { + var baseType = classType.baseTypes[0]; + var baseSignatures = getSignaturesOfType(getTypeOfSymbol(baseType.symbol), 1 /* Construct */); + return ts.map(baseSignatures, function (baseSignature) { + var signature = baseType.flags & 4096 /* Reference */ ? getSignatureInstantiation(baseSignature, baseType.typeArguments) : cloneSignature(baseSignature); + signature.typeParameters = classType.typeParameters; + signature.resolvedReturnType = classType; + return signature; + }); + } + return [createSignature(undefined, classType.typeParameters, emptyArray, classType, 0, false, false)]; + } + function resolveAnonymousTypeMembers(type) { + var symbol = type.symbol; + var members = emptySymbols; + var callSignatures = emptyArray; + var constructSignatures = emptyArray; + if (symbol.flags & ts.SymbolFlags.HasExports) { + members = symbol.exports; + } + if (symbol.flags & (8 /* Function */ | 2048 /* Method */)) { + callSignatures = getSignaturesOfSymbol(symbol); + } + if (symbol.flags & 16 /* Class */) { + var classType = getDeclaredTypeOfClass(symbol); + constructSignatures = getSignaturesOfSymbol(symbol.members["__constructor"]); + if (!constructSignatures.length) + constructSignatures = getDefaultConstructSignatures(classType); + if (classType.baseTypes.length) { + var members = createSymbolTable(getNamedMembers(members)); + addInheritedMembers(members, getPropertiesOfType(getTypeOfSymbol(classType.baseTypes[0].symbol))); + } + } + var numberIndexType = (symbol.flags & 64 /* Enum */) ? stringType : undefined; + setObjectTypeMembers(type, members, callSignatures, constructSignatures, undefined, numberIndexType); + } + function resolveObjectTypeMembers(type) { + if (!type.members) { + if (type.flags & (1024 /* Class */ | 2048 /* Interface */)) { + resolveClassOrInterfaceMembers(type); + } + else if (type.flags & 8192 /* Anonymous */) { + resolveAnonymousTypeMembers(type); + } + else { + resolveTypeReferenceMembers(type); + } + } + return type; + } + function getPropertiesOfType(type) { + if (type.flags & ts.TypeFlags.ObjectType) { + return resolveObjectTypeMembers(type).properties; + } + return emptyArray; + } + function getPropertyOfType(type, name) { + if (type.flags & ts.TypeFlags.ObjectType) { + var resolved = resolveObjectTypeMembers(type); + if (ts.hasProperty(resolved.members, name)) { + var symbol = resolved.members[name]; + if (symbolIsValue(symbol)) { + return symbol; + } + } + } + } + function getPropertyOfApparentType(type, name) { + if (type.flags & ts.TypeFlags.ObjectType) { + var resolved = resolveObjectTypeMembers(type); + if (ts.hasProperty(resolved.members, name)) { + var symbol = resolved.members[name]; + if (symbolIsValue(symbol)) { + return symbol; + } + } + if (resolved === anyFunctionType || resolved.callSignatures.length || resolved.constructSignatures.length) { + var symbol = getPropertyOfType(globalFunctionType, name); + if (symbol) + return symbol; + } + return getPropertyOfType(globalObjectType, name); + } + } + function getSignaturesOfType(type, kind) { + if (type.flags & ts.TypeFlags.ObjectType) { + var resolved = resolveObjectTypeMembers(type); + return kind === 0 /* Call */ ? resolved.callSignatures : resolved.constructSignatures; + } + return emptyArray; + } + function getIndexTypeOfType(type, kind) { + if (type.flags & ts.TypeFlags.ObjectType) { + var resolved = resolveObjectTypeMembers(type); + return kind === 0 /* String */ ? resolved.stringIndexType : resolved.numberIndexType; + } + } + function getSignatureFromDeclaration(declaration) { + var links = getNodeLinks(declaration); + if (!links.resolvedSignature) { + var classType = declaration.kind === 117 /* Constructor */ ? getDeclaredTypeOfClass(declaration.parent.symbol) : undefined; + var typeParameters = classType ? classType.typeParameters : declaration.typeParameters ? ts.map(declaration.typeParameters, function (tp) { return getDeclaredTypeOfTypeParameter(tp.symbol); }) : undefined; + var parameters = []; + var hasStringLiterals = false; + var minArgumentCount = -1; + for (var i = 0, n = declaration.parameters.length; i < n; i++) { + var param = declaration.parameters[i]; + parameters.push(param.symbol); + if (param.type && param.type.kind === 3 /* StringLiteral */) { + hasStringLiterals = true; + } + if (minArgumentCount < 0) { + if (param.initializer || param.flags & (4 /* QuestionMark */ | 8 /* Rest */)) { + minArgumentCount = i; + } + } + } + if (minArgumentCount < 0) { + minArgumentCount = declaration.parameters.length; + } + var returnType; + if (classType) { + returnType = classType; + } + else if (declaration.type) { + returnType = getTypeFromTypeNode(declaration.type); + } + else { + if (declaration.kind === 118 /* GetAccessor */) { + var setter = getDeclarationOfKind(declaration.symbol, 119 /* SetAccessor */); + returnType = getAnnotatedAccessorType(setter); + } + if (!returnType && !declaration.body) { + returnType = anyType; + } + } + links.resolvedSignature = createSignature(declaration, typeParameters, parameters, returnType, minArgumentCount, hasRestParameters(declaration), hasStringLiterals); + } + return links.resolvedSignature; + } + function hasRestParameters(s) { + return s.parameters.length > 0 && (s.parameters[s.parameters.length - 1].flags & 8 /* Rest */) !== 0; + } + function getSignaturesOfSymbol(symbol) { + if (!symbol) + return emptyArray; + var result = []; + for (var i = 0, len = symbol.declarations.length; i < len; i++) { + var node = symbol.declarations[i]; + switch (node.kind) { + case 167 /* FunctionDeclaration */: + case 116 /* Method */: + case 117 /* Constructor */: + case 120 /* CallSignature */: + case 121 /* ConstructSignature */: + case 122 /* IndexSignature */: + case 118 /* GetAccessor */: + case 119 /* SetAccessor */: + case 136 /* FunctionExpression */: + case 137 /* ArrowFunction */: + if (i > 0 && node.body) { + var previous = symbol.declarations[i - 1]; + if (node.parent === previous.parent && node.kind === previous.kind && node.pos === previous.end) { + break; + } + } + result.push(getSignatureFromDeclaration(node)); + } + } + return result; + } + function getReturnTypeOfSignature(signature) { + if (!signature.resolvedReturnType) { + signature.resolvedReturnType = resolvingType; + if (signature.target) { + var type = instantiateType(getReturnTypeOfSignature(signature.target), signature.mapper); + } + else { + var type = getReturnTypeFromBody(signature.declaration); + } + if (signature.resolvedReturnType === resolvingType) { + signature.resolvedReturnType = type; + } + } + else if (signature.resolvedReturnType === resolvingType) { + signature.resolvedReturnType = anyType; + } + return signature.resolvedReturnType; + } + function getRestTypeOfSignature(signature) { + if (signature.hasRestParameter) { + var type = getTypeOfSymbol(signature.parameters[signature.parameters.length - 1]); + if (type.flags & 4096 /* Reference */ && type.target === globalArrayType) { + return type.typeArguments[0]; + } + } + return anyType; + } + function getSignatureInstantiation(signature, typeArguments) { + return instantiateSignature(signature, createTypeMapper(signature.typeParameters, typeArguments), true); + } + function getErasedSignature(signature) { + if (!signature.typeParameters) + return signature; + if (!signature.erasedSignatureCache) { + if (signature.target) { + signature.erasedSignatureCache = instantiateSignature(getErasedSignature(signature.target), signature.mapper); + } + else { + signature.erasedSignatureCache = instantiateSignature(signature, createTypeEraser(signature.typeParameters), true); + } + } + return signature.erasedSignatureCache; + } + function getOrCreateTypeFromSignature(signature) { + if (!signature.isolatedSignatureType) { + var isConstructor = signature.declaration.kind === 117 /* Constructor */ || signature.declaration.kind === 121 /* ConstructSignature */; + var type = createObjectType(8192 /* Anonymous */ | 16384 /* FromSignature */); + type.members = emptySymbols; + type.properties = emptyArray; + type.callSignatures = !isConstructor ? [signature] : emptyArray; + type.constructSignatures = isConstructor ? [signature] : emptyArray; + signature.isolatedSignatureType = type; + } + return signature.isolatedSignatureType; + } + function getIndexSymbol(symbol) { + return symbol.members["__index"]; + } + function getIndexDeclarationOfSymbol(symbol, kind) { + var syntaxKind = kind === 1 /* Number */ ? 108 /* NumberKeyword */ : 110 /* StringKeyword */; + var indexSymbol = getIndexSymbol(symbol); + if (indexSymbol) { + var len = indexSymbol.declarations.length; + for (var i = 0; i < len; i++) { + var node = indexSymbol.declarations[i]; + if (node.parameters.length === 1) { + var parameter = node.parameters[0]; + if (parameter && parameter.type && parameter.type.kind === syntaxKind) { + return node; + } + } + } + } + return undefined; + } + function getIndexTypeOfSymbol(symbol, kind) { + var declaration = getIndexDeclarationOfSymbol(symbol, kind); + return declaration ? declaration.type ? getTypeFromTypeNode(declaration.type) : anyType : undefined; + } + function getConstraintOfTypeParameter(type) { + if (!type.constraint) { + if (type.target) { + var targetConstraint = getConstraintOfTypeParameter(type.target); + type.constraint = targetConstraint ? instantiateType(targetConstraint, type.mapper) : noConstraintType; + } + else { + type.constraint = getTypeFromTypeNode(getDeclarationOfKind(type.symbol, 113 /* TypeParameter */).constraint); + } + } + return type.constraint === noConstraintType ? undefined : type.constraint; + } + function getTypeListId(types) { + switch (types.length) { + case 1: + return "" + types[0].id; + case 2: + return types[0].id + "," + types[1].id; + default: + var result = ""; + for (var i = 0; i < types.length; i++) { + if (i > 0) + result += ","; + result += types[i].id; + } + return result; + } + } + function createTypeReference(target, typeArguments) { + var id = getTypeListId(typeArguments); + var type = target.instantiations[id]; + if (!type) { + type = target.instantiations[id] = createObjectType(4096 /* Reference */, target.symbol); + type.target = target; + type.typeArguments = typeArguments; + } + return type; + } + function isTypeParameterReferenceIllegalInConstraint(typeReferenceNode, typeParameterSymbol) { + var links = getNodeLinks(typeReferenceNode); + if (links.isIllegalTypeReferenceInConstraint !== undefined) { + return links.isIllegalTypeReferenceInConstraint; + } + var currentNode = typeReferenceNode; + while (!ts.forEach(typeParameterSymbol.declarations, function (d) { return d.parent === currentNode.parent; })) { + currentNode = currentNode.parent; + } + links.isIllegalTypeReferenceInConstraint = currentNode.kind === 113 /* TypeParameter */; + return links.isIllegalTypeReferenceInConstraint; + } + function checkTypeParameterHasIllegalReferencesInConstraint(typeParameter) { + var typeParameterSymbol; + function check(n) { + if (n.kind === 123 /* TypeReference */ && n.typeName.kind === 55 /* Identifier */) { + var links = getNodeLinks(n); + if (links.isIllegalTypeReferenceInConstraint === undefined) { + var symbol = resolveName(typeParameter, n.typeName.text, ts.SymbolFlags.Type, undefined, undefined); + if (symbol && (symbol.flags & 262144 /* TypeParameter */)) { + links.isIllegalTypeReferenceInConstraint = ts.forEach(symbol.declarations, function (d) { return d.parent == typeParameter.parent; }); + } + } + if (links.isIllegalTypeReferenceInConstraint) { + error(typeParameter, ts.Diagnostics.Constraint_of_a_type_parameter_cannot_reference_any_type_parameter_from_the_same_type_parameter_list); + } + } + ts.forEachChild(n, check); + } + if (typeParameter.constraint) { + typeParameterSymbol = getSymbolOfNode(typeParameter); + check(typeParameter.constraint); + } + } + function getTypeFromTypeReferenceNode(node) { + var links = getNodeLinks(node); + if (!links.resolvedType) { + var symbol = resolveEntityName(node, node.typeName, ts.SymbolFlags.Type); + if (symbol) { + var type; + if ((symbol.flags & 262144 /* TypeParameter */) && isTypeParameterReferenceIllegalInConstraint(node, symbol)) { + type = unknownType; + } + else { + type = getDeclaredTypeOfSymbol(symbol); + if (type.flags & (1024 /* Class */ | 2048 /* Interface */) && type.flags & 4096 /* Reference */) { + var typeParameters = type.typeParameters; + if (node.typeArguments && node.typeArguments.length === typeParameters.length) { + type = createTypeReference(type, ts.map(node.typeArguments, function (t) { return getTypeFromTypeNode(t); })); + } + else { + error(node, ts.Diagnostics.Generic_type_0_requires_1_type_argument_s, typeToString(type, true), typeParameters.length); + type = undefined; + } + } + else { + if (node.typeArguments) { + error(node, ts.Diagnostics.Type_0_is_not_generic, typeToString(type, false)); + type = undefined; + } + } + } + } + links.resolvedType = type || unknownType; + } + return links.resolvedType; + } + function getTypeFromTypeQueryNode(node) { + var links = getNodeLinks(node); + if (!links.resolvedType) { + links.resolvedType = getWidenedType(checkExpression(node.exprName)); + } + return links.resolvedType; + } + function getGlobalType(name, arity) { + if (arity === void 0) { arity = 0; } + function getTypeDeclaration(symbol) { + var declarations = symbol.declarations; + for (var i = 0; i < declarations.length; i++) { + var declaration = declarations[i]; + switch (declaration.kind) { + case 169 /* ClassDeclaration */: + case 170 /* InterfaceDeclaration */: + case 171 /* EnumDeclaration */: + case 125 /* TypeLiteral */: + case 167 /* FunctionDeclaration */: + return declaration; + } + } + } + var symbol = resolveName(undefined, name, ts.SymbolFlags.Type, ts.Diagnostics.Cannot_find_global_type_0, name); + if (!symbol) { + return emptyObjectType; + } + var type = getDeclaredTypeOfSymbol(symbol); + if (!(type.flags & ts.TypeFlags.ObjectType)) { + error(getTypeDeclaration(symbol), ts.Diagnostics.Global_type_0_must_be_a_class_or_interface_type, name); + return emptyObjectType; + } + if ((type.typeParameters ? type.typeParameters.length : 0) !== arity) { + error(getTypeDeclaration(symbol), ts.Diagnostics.Global_type_0_must_have_1_type_parameter_s, name, arity); + return emptyObjectType; + } + return type; + } + function createArrayType(elementType) { + return globalArrayType !== emptyObjectType ? createTypeReference(globalArrayType, [elementType]) : emptyObjectType; + } + function getTypeFromArrayTypeNode(node) { + var links = getNodeLinks(node); + if (!links.resolvedType) { + links.resolvedType = createArrayType(getTypeFromTypeNode(node.elementType)); + } + return links.resolvedType; + } + function getTypeFromTypeLiteralNode(node) { + var links = getNodeLinks(node); + if (!links.resolvedType) { + var symbol = node.symbol; + var members = symbol.members; + var callSignatures = getSignaturesOfSymbol(members["__call"]); + var constructSignatures = getSignaturesOfSymbol(members["__new"]); + var stringIndexType = getIndexTypeOfSymbol(symbol, 0 /* String */); + var numberIndexType = getIndexTypeOfSymbol(symbol, 1 /* Number */); + links.resolvedType = createAnonymousType(symbol, members, callSignatures, constructSignatures, stringIndexType, numberIndexType); + } + return links.resolvedType; + } + function getStringLiteralType(node) { + var stringText = ts.getTextOfLiteral(node); + if (ts.hasProperty(stringLiteralTypes, stringText)) + return stringLiteralTypes[stringText]; + var type = stringLiteralTypes[stringText] = createType(256 /* StringLiteral */); + type.text = node.text; + return type; + } + function getTypeFromStringLiteral(node) { + var links = getNodeLinks(node); + if (!links.resolvedType) { + links.resolvedType = getStringLiteralType(node); + } + return links.resolvedType; + } + function getTypeFromTypeNode(node) { + switch (node.kind) { + case 101 /* AnyKeyword */: + return anyType; + case 110 /* StringKeyword */: + return stringType; + case 108 /* NumberKeyword */: + return numberType; + case 102 /* BooleanKeyword */: + return booleanType; + case 89 /* VoidKeyword */: + return voidType; + case 3 /* StringLiteral */: + return getTypeFromStringLiteral(node); + case 123 /* TypeReference */: + return getTypeFromTypeReferenceNode(node); + case 124 /* TypeQuery */: + return getTypeFromTypeQueryNode(node); + case 126 /* ArrayType */: + return getTypeFromArrayTypeNode(node); + case 125 /* TypeLiteral */: + return getTypeFromTypeLiteralNode(node); + default: + return unknownType; + } + } + function instantiateList(items, mapper, instantiator) { + if (items && items.length) { + var result = []; + for (var i = 0; i < items.length; i++) { + result.push(instantiator(items[i], mapper)); + } + return result; + } + return items; + } + function createUnaryTypeMapper(source, target) { + return function (t) { return t === source ? target : t; }; + } + function createBinaryTypeMapper(source1, target1, source2, target2) { + return function (t) { return t === source1 ? target1 : t === source2 ? target2 : t; }; + } + function createTypeMapper(sources, targets) { + switch (sources.length) { + case 1: + return createUnaryTypeMapper(sources[0], targets[0]); + case 2: + return createBinaryTypeMapper(sources[0], targets[0], sources[1], targets[1]); + } + return function (t) { + for (var i = 0; i < sources.length; i++) { + if (t === sources[i]) + return targets[i]; + } + return t; + }; + } + function createUnaryTypeEraser(source) { + return function (t) { return t === source ? anyType : t; }; + } + function createBinaryTypeEraser(source1, source2) { + return function (t) { return t === source1 || t === source2 ? anyType : t; }; + } + function createTypeEraser(sources) { + switch (sources.length) { + case 1: + return createUnaryTypeEraser(sources[0]); + case 2: + return createBinaryTypeEraser(sources[0], sources[1]); + } + return function (t) { + for (var i = 0; i < sources.length; i++) { + if (t === sources[i]) + return anyType; + } + return t; + }; + } + function createInferenceMapper(context) { + return function (t) { + for (var i = 0; i < context.typeParameters.length; i++) { + if (t === context.typeParameters[i]) { + return getInferredType(context, i); + } + } + return t; + }; + } + function identityMapper(type) { + return type; + } + function combineTypeMappers(mapper1, mapper2) { + return function (t) { return mapper2(mapper1(t)); }; + } + function instantiateTypeParameter(typeParameter, mapper) { + var result = createType(512 /* TypeParameter */); + result.symbol = typeParameter.symbol; + if (typeParameter.constraint) { + result.constraint = instantiateType(typeParameter.constraint, mapper); + } + else { + result.target = typeParameter; + result.mapper = mapper; + } + return result; + } + function instantiateSignature(signature, mapper, eraseTypeParameters) { + if (signature.typeParameters && !eraseTypeParameters) { + var freshTypeParameters = instantiateList(signature.typeParameters, mapper, instantiateTypeParameter); + mapper = combineTypeMappers(createTypeMapper(signature.typeParameters, freshTypeParameters), mapper); + } + var result = createSignature(signature.declaration, freshTypeParameters, instantiateList(signature.parameters, mapper, instantiateSymbol), signature.resolvedReturnType ? instantiateType(signature.resolvedReturnType, mapper) : undefined, signature.minArgumentCount, signature.hasRestParameter, signature.hasStringLiterals); + result.target = signature; + result.mapper = mapper; + return result; + } + function instantiateSymbol(symbol, mapper) { + if (symbol.flags & 8388608 /* Instantiated */) { + var links = getSymbolLinks(symbol); + symbol = links.target; + mapper = combineTypeMappers(links.mapper, mapper); + } + var result = createSymbol(8388608 /* Instantiated */ | 33554432 /* Transient */, symbol.name); + result.declarations = symbol.declarations; + result.parent = symbol.parent; + result.target = symbol; + result.mapper = mapper; + if (symbol.valueDeclaration) { + result.valueDeclaration = symbol.valueDeclaration; + } + return result; + } + function instantiateAnonymousType(type, mapper) { + var result = createObjectType(8192 /* Anonymous */, type.symbol); + result.properties = instantiateList(getPropertiesOfType(type), mapper, instantiateSymbol); + result.members = createSymbolTable(result.properties); + result.callSignatures = instantiateList(getSignaturesOfType(type, 0 /* Call */), mapper, instantiateSignature); + result.constructSignatures = instantiateList(getSignaturesOfType(type, 1 /* Construct */), mapper, instantiateSignature); + var stringIndexType = getIndexTypeOfType(type, 0 /* String */); + var numberIndexType = getIndexTypeOfType(type, 1 /* Number */); + if (stringIndexType) + result.stringIndexType = instantiateType(stringIndexType, mapper); + if (numberIndexType) + result.numberIndexType = instantiateType(numberIndexType, mapper); + return result; + } + function instantiateType(type, mapper) { + if (type.flags & 512 /* TypeParameter */) { + return mapper(type); + } + if (type.flags & 8192 /* Anonymous */) { + return type.symbol && type.symbol.flags & (8 /* Function */ | 2048 /* Method */ | 512 /* TypeLiteral */ | 1024 /* ObjectLiteral */) ? instantiateAnonymousType(type, mapper) : type; + } + if (type.flags & 4096 /* Reference */) { + return createTypeReference(type.target, instantiateList(type.typeArguments, mapper, instantiateType)); + } + return type; + } + function isContextSensitiveExpression(node) { + switch (node.kind) { + case 136 /* FunctionExpression */: + case 137 /* ArrowFunction */: + return !node.typeParameters && !ts.forEach(node.parameters, function (p) { return p.type; }); + case 128 /* ObjectLiteral */: + return ts.forEach(node.properties, function (p) { return p.kind === 129 /* PropertyAssignment */ && isContextSensitiveExpression(p.initializer); }); + case 127 /* ArrayLiteral */: + return ts.forEach(node.elements, function (e) { return isContextSensitiveExpression(e); }); + case 141 /* ConditionalExpression */: + return isContextSensitiveExpression(node.whenTrue) || isContextSensitiveExpression(node.whenFalse); + case 140 /* BinaryExpression */: + return node.operator === 40 /* BarBarToken */ && (isContextSensitiveExpression(node.left) || isContextSensitiveExpression(node.right)); + } + return false; + } + function getTypeWithoutConstructors(type) { + if (type.flags & ts.TypeFlags.ObjectType) { + var resolved = resolveObjectTypeMembers(type); + if (resolved.constructSignatures.length) { + var result = createObjectType(8192 /* Anonymous */, type.symbol); + result.members = resolved.members; + result.properties = resolved.properties; + result.callSignatures = resolved.callSignatures; + result.constructSignatures = emptyArray; + type = result; + } + } + return type; + } + var subtypeRelation = {}; + var assignableRelation = {}; + function isTypeSubtypeOf(source, target) { + return checkTypeSubtypeOf(source, target, undefined, undefined, undefined); + } + function checkTypeSubtypeOf(source, target, errorNode, chainedMessage, terminalMessage) { + return checkTypeRelatedTo(source, target, subtypeRelation, errorNode, chainedMessage, terminalMessage); + } + function isTypeAssignableTo(source, target) { + return checkTypeAssignableTo(source, target, undefined, undefined, undefined); + } + function checkTypeAssignableTo(source, target, errorNode, chainedMessage, terminalMessage) { + return checkTypeRelatedTo(source, target, assignableRelation, errorNode, chainedMessage, terminalMessage); + } + function isTypeRelatedTo(source, target, relation) { + return checkTypeRelatedTo(source, target, relation, undefined, undefined, undefined); + } + function isSignatureAssignableTo(source, target) { + var sourceType = getOrCreateTypeFromSignature(source); + var targetType = getOrCreateTypeFromSignature(target); + return checkTypeRelatedTo(sourceType, targetType, assignableRelation, undefined, undefined, undefined); + } + function checkTypeRelatedTo(source, target, relation, errorNode, chainedMessage, terminalMessage) { + var errorInfo; + var sourceStack; + var targetStack; + var expandingFlags; + var depth = 0; + var overflow = false; + var result = isRelatedToWithCustomErrors(source, target, errorNode !== undefined, chainedMessage, terminalMessage); + if (overflow) { + error(errorNode, ts.Diagnostics.Excessive_stack_depth_comparing_types_0_and_1, typeToString(source, false), typeToString(target, false)); + } + else if (errorInfo) { + addDiagnostic(ts.createDiagnosticForNodeFromMessageChain(errorNode, errorInfo)); + } + return result; + function reportError(message, arg0, arg1) { + errorInfo = ts.chainDiagnosticMessages(errorInfo, message, arg0, arg1); + } + function isRelatedTo(source, target, reportErrors) { + return isRelatedToWithCustomErrors(source, target, reportErrors, undefined, undefined); + } + function isRelatedToWithCustomErrors(source, target, reportErrors, chainedMessage, terminalMessage) { + if (source === target) + return true; + if (target.flags & 1 /* Any */) + return true; + if (source === undefinedType) + return true; + if (source === nullType && target !== undefinedType) + return true; + if (source.flags & 128 /* Enum */ && target === numberType) + return true; + if (source.flags & 256 /* StringLiteral */ && target === stringType) + return true; + if (relation === assignableRelation) { + if (source.flags & 1 /* Any */) + return true; + if (source === numberType && target.flags & 128 /* Enum */) + return true; + } + if (source.flags & 512 /* TypeParameter */ && target.flags & 512 /* TypeParameter */) { + if (typeParameterRelatedTo(source, target)) { + return true; + } + } + else { + var saveErrorInfo = errorInfo; + if (source.flags & 4096 /* Reference */ && target.flags & 4096 /* Reference */ && source.target === target.target) { + if (typesRelatedTo(source.typeArguments, target.typeArguments, reportErrors)) { + return true; + } + } + var reportStructuralErrors = reportErrors && errorInfo === saveErrorInfo; + var apparent = getApparentType(source); + if (apparent.flags & ts.TypeFlags.ObjectType && target.flags & ts.TypeFlags.ObjectType && objectTypeRelatedTo(apparent, target, reportStructuralErrors)) { + errorInfo = saveErrorInfo; + return true; + } + } + if (reportErrors) { + chainedMessage = chainedMessage || ts.Diagnostics.Type_0_is_not_assignable_to_type_1_Colon; + terminalMessage = terminalMessage || ts.Diagnostics.Type_0_is_not_assignable_to_type_1; + var diagnosticKey = errorInfo ? chainedMessage : terminalMessage; + reportError(diagnosticKey, typeToString(source, false), typeToString(target, false)); + } + return false; + } + function typesRelatedTo(sources, targets, reportErrors) { + for (var i = 0, len = sources.length; i < len; i++) { + if (!isRelatedTo(sources[i], targets[i], reportErrors)) + return false; + } + return true; + } + function typeParameterRelatedTo(source, target) { + while (true) { + var constraint = getConstraintOfTypeParameter(source); + if (constraint === target) + return true; + if (!(constraint && constraint.flags & 512 /* TypeParameter */)) + break; + source = constraint; + } + return false; + } + function objectTypeRelatedTo(source, target, reportErrors) { + if (overflow) + return false; + var result; + var id = source.id + "," + target.id; + if ((result = relation[id]) !== undefined) + return result; + if (depth > 0) { + for (var i = 0; i < depth; i++) { + if (source === sourceStack[i] && target === targetStack[i]) + return true; + } + if (depth === 100) { + overflow = true; + return false; + } + } + else { + sourceStack = []; + targetStack = []; + expandingFlags = 0; + } + sourceStack[depth] = source; + targetStack[depth] = target; + depth++; + var saveExpandingFlags = expandingFlags; + if (!(expandingFlags & 1) && isDeeplyNestedGeneric(source, sourceStack)) + expandingFlags |= 1; + if (!(expandingFlags & 2) && isDeeplyNestedGeneric(target, targetStack)) + expandingFlags |= 2; + result = expandingFlags === 3 || propertiesRelatedTo(source, target, reportErrors) && signaturesRelatedTo(source, target, 0 /* Call */, reportErrors) && signaturesRelatedTo(source, target, 1 /* Construct */, reportErrors) && stringIndexTypesRelatedTo(source, target, reportErrors) && numberIndexTypesRelatedTo(source, target, reportErrors); + expandingFlags = saveExpandingFlags; + depth--; + if (depth === 0) { + relation[id] = result; + } + return result; + } + function isDeeplyNestedGeneric(type, stack) { + if (type.flags & 4096 /* Reference */ && depth >= 10) { + var target = type.target; + var count = 0; + for (var i = 0; i < depth; i++) { + var t = stack[i]; + if (t.flags & 4096 /* Reference */ && t.target === target) { + count++; + if (count >= 10) + return true; + } + } + } + return false; + } + function propertiesRelatedTo(source, target, reportErrors) { + var properties = getPropertiesOfType(target); + for (var i = 0; i < properties.length; i++) { + var targetProp = properties[i]; + var sourceProp = getPropertyOfApparentType(source, targetProp.name); + if (sourceProp === targetProp) { + continue; + } + var targetPropIsOptional = isOptionalProperty(targetProp); + if (!sourceProp) { + if (!targetPropIsOptional) { + if (reportErrors) { + reportError(ts.Diagnostics.Property_0_is_missing_in_type_1, symbolToString(targetProp), typeToString(source, false)); + } + return false; + } + } + else if (sourceProp !== targetProp) { + if (targetProp.flags & 67108864 /* Prototype */) { + continue; + } + if (getDeclarationFlagsFromSymbol(sourceProp) & 32 /* Private */ || getDeclarationFlagsFromSymbol(targetProp) & 32 /* Private */) { + if (reportErrors) { + reportError(ts.Diagnostics.Private_property_0_cannot_be_reimplemented, symbolToString(targetProp)); + } + return false; + } + if (!isRelatedTo(getTypeOfSymbol(sourceProp), getTypeOfSymbol(targetProp), reportErrors)) { + if (reportErrors) { + reportError(ts.Diagnostics.Types_of_property_0_are_incompatible_Colon, symbolToString(targetProp)); + } + return false; + } + else if (isOptionalProperty(sourceProp) && !targetPropIsOptional) { + if (reportErrors) { + reportError(ts.Diagnostics.Required_property_0_cannot_be_reimplemented_with_optional_property_in_1, targetProp.name, typeToString(source, false)); + } + return false; + } + } + } + return true; + } + function signaturesRelatedTo(source, target, kind, reportErrors) { + if (target === anyFunctionType || source === anyFunctionType) + return true; + var sourceSignatures = getSignaturesOfType(source, kind); + var targetSignatures = getSignaturesOfType(target, kind); + var saveErrorInfo = errorInfo; + outer: for (var i = 0; i < targetSignatures.length; i++) { + var t = targetSignatures[i]; + if (!t.hasStringLiterals || target.flags & 16384 /* FromSignature */) { + var localErrors = reportErrors; + for (var j = 0; j < sourceSignatures.length; j++) { + var s = sourceSignatures[j]; + if (!s.hasStringLiterals || source.flags & 16384 /* FromSignature */) { + if (signatureRelatedTo(s, t, localErrors)) { + errorInfo = saveErrorInfo; + continue outer; + } + localErrors = false; + } + } + return false; + } + } + return true; + } + function signatureRelatedTo(source, target, reportErrors) { + if (source === target) { + return true; + } + if (!target.hasRestParameter && source.minArgumentCount > target.parameters.length) { + return false; + } + var sourceMax = source.parameters.length; + var targetMax = target.parameters.length; + var checkCount; + if (source.hasRestParameter && target.hasRestParameter) { + checkCount = sourceMax > targetMax ? sourceMax : targetMax; + sourceMax--; + targetMax--; + } + else if (source.hasRestParameter) { + sourceMax--; + checkCount = targetMax; + } + else if (target.hasRestParameter) { + targetMax--; + checkCount = sourceMax; + } + else { + checkCount = sourceMax < targetMax ? sourceMax : targetMax; + } + source = getErasedSignature(source); + target = getErasedSignature(target); + for (var i = 0; i < checkCount; i++) { + var s = i < sourceMax ? getTypeOfSymbol(source.parameters[i]) : getRestTypeOfSignature(source); + var t = i < targetMax ? getTypeOfSymbol(target.parameters[i]) : getRestTypeOfSignature(target); + var saveErrorInfo = errorInfo; + if (!isRelatedTo(s, t, reportErrors)) { + if (!isRelatedTo(t, s, false)) { + if (reportErrors) { + reportError(ts.Diagnostics.Types_of_parameters_0_and_1_are_incompatible_Colon, source.parameters[i < sourceMax ? i : sourceMax].name, target.parameters[i < targetMax ? i : targetMax].name); + } + return false; + } + errorInfo = saveErrorInfo; + } + } + var t = getReturnTypeOfSignature(target); + if (t === voidType) + return true; + var s = getReturnTypeOfSignature(source); + return isRelatedTo(s, t, reportErrors); + } + function stringIndexTypesRelatedTo(source, target, reportErrors) { + var targetType = getIndexTypeOfType(target, 0 /* String */); + if (targetType) { + var sourceType = getIndexTypeOfType(source, 0 /* String */); + if (!sourceType) { + if (reportErrors) { + reportError(ts.Diagnostics.Index_signature_is_missing_in_type_0, typeToString(source, false)); + } + return false; + } + if (!isRelatedTo(sourceType, targetType, reportErrors)) { + if (reportErrors) { + reportError(ts.Diagnostics.Index_signatures_are_incompatible_Colon); + } + return false; + } + } + return true; + } + function numberIndexTypesRelatedTo(source, target, reportErrors) { + var targetType = getIndexTypeOfType(target, 1 /* Number */); + if (targetType) { + var sourceStringType = getIndexTypeOfType(source, 0 /* String */); + var sourceNumberType = getIndexTypeOfType(source, 1 /* Number */); + if (!(sourceStringType || sourceNumberType)) { + if (reportErrors) { + reportError(ts.Diagnostics.Index_signature_is_missing_in_type_0, typeToString(source, false)); + } + return false; + } + if (sourceStringType && sourceNumberType) { + var compatible = isRelatedTo(sourceStringType, targetType, false) || isRelatedTo(sourceNumberType, targetType, reportErrors); + } + else { + var compatible = isRelatedTo(sourceStringType || sourceNumberType, targetType, reportErrors); + } + if (!compatible) { + if (reportErrors) { + reportError(ts.Diagnostics.Index_signatures_are_incompatible_Colon); + } + return false; + } + } + return true; + } + } + function isSupertypeOfEach(candidate, types) { + for (var i = 0, len = types.length; i < len; i++) { + if (candidate !== types[i] && !isTypeSubtypeOf(types[i], candidate)) + return false; + } + return true; + } + function getBestCommonType(types, contextualType, candidatesOnly) { + if (contextualType && isSupertypeOfEach(contextualType, types)) + return contextualType; + return ts.forEach(types, function (t) { return isSupertypeOfEach(t, types) ? t : undefined; }) || (candidatesOnly ? undefined : emptyObjectType); + } + function isTypeOfObjectLiteral(type) { + return (type.flags & 8192 /* Anonymous */) && type.symbol && (type.symbol.flags & 1024 /* ObjectLiteral */) ? true : false; + } + function getWidenedTypeOfObjectLiteral(type) { + var properties = getPropertiesOfType(type); + if (properties.length) { + var widenedTypes = []; + var propTypeWasWidened = false; + ts.forEach(properties, function (p) { + var propType = getTypeOfSymbol(p); + var widenedType = getWidenedType(propType); + if (propType !== widenedType) { + propTypeWasWidened = true; + if (program.getCompilerOptions().noImplicitAny && getInnermostTypeOfNestedArrayTypes(widenedType) === anyType) { + error(p.valueDeclaration, ts.Diagnostics.Object_literal_s_property_0_implicitly_has_an_1_type, p.name, typeToString(widenedType, false)); + } + } + widenedTypes.push(widenedType); + }); + if (propTypeWasWidened) { + var members = {}; + var index = 0; + ts.forEach(properties, function (p) { + var symbol = createSymbol(2 /* Property */ | 33554432 /* Transient */, p.name); + symbol.declarations = p.declarations; + symbol.parent = p.parent; + symbol.type = widenedTypes[index++]; + if (p.valueDeclaration) + symbol.valueDeclaration = p.valueDeclaration; + members[symbol.name] = symbol; + }); + var stringIndexType = getIndexTypeOfType(type, 0 /* String */); + var numberIndexType = getIndexTypeOfType(type, 1 /* Number */); + if (stringIndexType) + stringIndexType = getWidenedType(stringIndexType); + if (numberIndexType) + numberIndexType = getWidenedType(numberIndexType); + type = createAnonymousType(type.symbol, members, emptyArray, emptyArray, stringIndexType, numberIndexType); + } + } + return type; + } + function isArrayType(type) { + return type.flags & 4096 /* Reference */ && type.target === globalArrayType; + } + function getInnermostTypeOfNestedArrayTypes(type) { + while (isArrayType(type)) { + type = type.typeArguments[0]; + } + return type; + } + function getWidenedTypeOfArrayLiteral(type) { + var elementType = type.typeArguments[0]; + var widenedType = getWidenedType(elementType); + type = elementType !== widenedType ? createArrayType(widenedType) : type; + return type; + } + function getWidenedType(type) { + if (type.flags & (32 /* Undefined */ | 64 /* Null */)) { + return anyType; + } + if (isTypeOfObjectLiteral(type)) { + return getWidenedTypeOfObjectLiteral(type); + } + if (isArrayType(type)) { + return getWidenedTypeOfArrayLiteral(type); + } + return type; + } + function createInferenceContext(typeParameters) { + var inferences = []; + for (var i = 0; i < typeParameters.length; i++) + inferences.push([]); + return { + typeParameters: typeParameters, + inferences: inferences, + inferredTypes: new Array(typeParameters.length) + }; + } + function inferTypes(context, source, target) { + var sourceStack; + var targetStack; + var depth = 0; + inferFromTypes(source, target); + function isInProcess(source, target) { + for (var i = 0; i < depth; i++) { + if (source === sourceStack[i] && target === targetStack[i]) + return true; + } + return false; + } + function isWithinDepthLimit(type, stack) { + if (depth >= 5) { + var target = type.target; + var count = 0; + for (var i = 0; i < depth; i++) { + var t = stack[i]; + if (t.flags & 4096 /* Reference */ && t.target === target) + count++; + } + return count < 5; + } + return true; + } + function inferFromTypes(source, target) { + if (target.flags & 512 /* TypeParameter */) { + var typeParameters = context.typeParameters; + for (var i = 0; i < typeParameters.length; i++) { + if (target === typeParameters[i]) { + var inferences = context.inferences[i]; + if (!ts.contains(inferences, source)) + inferences.push(source); + break; + } + } + } + else if (source.flags & 4096 /* Reference */ && target.flags & 4096 /* Reference */ && source.target === target.target) { + var sourceTypes = source.typeArguments; + var targetTypes = target.typeArguments; + for (var i = 0; i < sourceTypes.length; i++) { + inferFromTypes(sourceTypes[i], targetTypes[i]); + } + } + else if (source.flags & ts.TypeFlags.ObjectType && (target.flags & 4096 /* Reference */ || (target.flags & 8192 /* Anonymous */) && target.symbol && target.symbol.flags & (2048 /* Method */ | 512 /* TypeLiteral */))) { + if (!isInProcess(source, target) && isWithinDepthLimit(source, sourceStack) && isWithinDepthLimit(target, targetStack)) { + if (depth === 0) { + sourceStack = []; + targetStack = []; + } + sourceStack[depth] = source; + targetStack[depth] = target; + depth++; + inferFromProperties(source, target); + inferFromSignatures(source, target, 0 /* Call */); + inferFromSignatures(source, target, 1 /* Construct */); + inferFromIndexTypes(source, target, 0 /* String */); + inferFromIndexTypes(source, target, 1 /* Number */); + depth--; + } + } + } + function inferFromProperties(source, target) { + var properties = getPropertiesOfType(target); + for (var i = 0; i < properties.length; i++) { + var targetProp = properties[i]; + var sourceProp = getPropertyOfType(source, targetProp.name); + if (sourceProp) { + inferFromTypes(getTypeOfSymbol(sourceProp), getTypeOfSymbol(targetProp)); + } + } + } + function inferFromSignatures(source, target, kind) { + var sourceSignatures = getSignaturesOfType(source, kind); + var targetSignatures = getSignaturesOfType(target, kind); + var sourceLen = sourceSignatures.length; + var targetLen = targetSignatures.length; + var len = sourceLen < targetLen ? sourceLen : targetLen; + for (var i = 0; i < len; i++) { + inferFromParameters(getErasedSignature(sourceSignatures[sourceLen - len + i]), getErasedSignature(targetSignatures[targetLen - len + i])); + } + } + function inferFromParameters(source, target) { + var sourceMax = source.parameters.length; + var targetMax = target.parameters.length; + var checkCount; + if (!source.hasRestParameter && !target.hasRestParameter) { + checkCount = sourceMax < targetMax ? sourceMax : targetMax; + } + else if (source.hasRestParameter) { + sourceMax--; + checkCount = targetMax; + } + else if (target.hasRestParameter) { + targetMax--; + checkCount = sourceMax; + } + else { + checkCount = sourceMax > targetMax ? sourceMax : targetMax; + sourceMax--; + targetMax--; + } + for (var i = 0; i < checkCount; i++) { + var s = i < sourceMax ? getTypeOfSymbol(source.parameters[i]) : getRestTypeOfSignature(source); + var t = i < targetMax ? getTypeOfSymbol(target.parameters[i]) : getRestTypeOfSignature(target); + inferFromTypes(s, t); + } + inferFromTypes(getReturnTypeOfSignature(source), getReturnTypeOfSignature(target)); + } + function inferFromIndexTypes(source, target, kind) { + var targetIndexType = getIndexTypeOfType(target, kind); + if (targetIndexType) { + var sourceIndexType = getIndexTypeOfType(source, kind); + if (sourceIndexType) { + inferFromTypes(sourceIndexType, targetIndexType); + } + } + } + } + function getInferredType(context, index) { + var result = context.inferredTypes[index]; + if (!result) { + var commonType = getWidenedType(getBestCommonType(context.inferences[index])); + var constraint = getConstraintOfTypeParameter(context.typeParameters[index]); + var result = constraint && !isTypeAssignableTo(commonType, constraint) ? constraint : commonType; + context.inferredTypes[index] = result; + } + return result; + } + function getInferredTypes(context) { + for (var i = 0; i < context.inferredTypes.length; i++) { + getInferredType(context, i); + } + context.inferences = undefined; + return context.inferredTypes; + } + function hasAncestor(node, kind) { + return getAncestor(node, kind) !== undefined; + } + function getAncestor(node, kind) { + switch (kind) { + case 169 /* ClassDeclaration */: + while (node) { + switch (node.kind) { + case 169 /* ClassDeclaration */: + return node; + case 171 /* EnumDeclaration */: + case 170 /* InterfaceDeclaration */: + case 172 /* ModuleDeclaration */: + case 174 /* ImportDeclaration */: + return undefined; + default: + node = node.parent; + continue; + } + } + break; + default: + while (node) { + if (node.kind === kind) { + return node; + } + else { + node = node.parent; + } + } + break; + } + return undefined; + } + function checkIdentifier(node) { + function isInTypeQuery(node) { + while (node) { + switch (node.kind) { + case 124 /* TypeQuery */: + return true; + case 55 /* Identifier */: + case 112 /* QualifiedName */: + node = node.parent; + continue; + default: + return false; + } + } + ts.Debug.fail("should not get here"); + } + var symbol = resolveName(node, node.text, ts.SymbolFlags.Value | 524288 /* ExportValue */, ts.Diagnostics.Cannot_find_name_0, ts.identifierToString(node)); + if (!symbol) { + symbol = unknownSymbol; + } + if (symbol.flags & 4194304 /* Import */) { + getSymbolLinks(symbol).referenced = !isInTypeQuery(node); + } + getNodeLinks(node).resolvedSymbol = symbol; + checkCollisionWithCapturedSuperVariable(node, node); + checkCollisionWithIndexVariableInGeneratedCode(node, node); + return getTypeOfSymbol(getExportSymbolOfValueSymbolIfExported(symbol)); + } + function getThisContainer(node) { + while (true) { + node = node.parent; + if (!node) { + return node; + } + switch (node.kind) { + case 167 /* FunctionDeclaration */: + case 136 /* FunctionExpression */: + case 172 /* ModuleDeclaration */: + case 115 /* Property */: + case 116 /* Method */: + case 117 /* Constructor */: + case 118 /* GetAccessor */: + case 119 /* SetAccessor */: + case 171 /* EnumDeclaration */: + case 177 /* SourceFile */: + case 137 /* ArrowFunction */: + return node; + } + } + } + function captureLexicalThis(node, container) { + var classNode = container.parent && container.parent.kind === 169 /* ClassDeclaration */ ? container.parent : undefined; + getNodeLinks(node).flags |= 2 /* LexicalThis */; + if (container.kind === 115 /* Property */ || container.kind === 117 /* Constructor */) { + getNodeLinks(classNode).flags |= 4 /* CaptureThis */; + } + else { + getNodeLinks(container).flags |= 4 /* CaptureThis */; + } + } + function checkThisExpression(node) { + var container = getThisContainer(node); + var needToCaptureLexicalThis = false; + while (container.kind === 137 /* ArrowFunction */) { + container = getThisContainer(container); + needToCaptureLexicalThis = true; + } + switch (container.kind) { + case 172 /* ModuleDeclaration */: + error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_module_body); + break; + case 171 /* EnumDeclaration */: + error(node, ts.Diagnostics.this_cannot_be_referenced_in_current_location); + break; + case 117 /* Constructor */: + if (isInConstructorArgumentInitializer(node, container)) { + error(node, ts.Diagnostics.this_cannot_be_referenced_in_constructor_arguments); + } + break; + case 115 /* Property */: + if (container.flags & 64 /* Static */) { + error(node, ts.Diagnostics.this_cannot_be_referenced_in_a_static_property_initializer); + } + break; + } + if (needToCaptureLexicalThis) { + captureLexicalThis(node, container); + } + var classNode = container.parent && container.parent.kind === 169 /* ClassDeclaration */ ? container.parent : undefined; + if (classNode) { + var symbol = getSymbolOfNode(classNode); + return container.flags & 64 /* Static */ ? getTypeOfSymbol(symbol) : getDeclaredTypeOfSymbol(symbol); + } + return anyType; + } + function getSuperContainer(node) { + while (true) { + node = node.parent; + if (!node) + return node; + switch (node.kind) { + case 167 /* FunctionDeclaration */: + case 136 /* FunctionExpression */: + case 137 /* ArrowFunction */: + case 115 /* Property */: + case 116 /* Method */: + case 117 /* Constructor */: + case 118 /* GetAccessor */: + case 119 /* SetAccessor */: + return node; + } + } + } + function isInConstructorArgumentInitializer(node, constructorDecl) { + for (var n = node; n && n !== constructorDecl; n = n.parent) { + if (n.kind === 114 /* Parameter */) { + return true; + } + } + return false; + } + function checkSuperExpression(node, isCallExpression) { + var enclosingClass = getAncestor(node, 169 /* ClassDeclaration */); + var baseClass; + if (enclosingClass && enclosingClass.baseType) { + var classType = getDeclaredTypeOfSymbol(getSymbolOfNode(enclosingClass)); + baseClass = classType.baseTypes.length && classType.baseTypes[0]; + } + if (!baseClass) { + error(node, ts.Diagnostics.super_can_only_be_referenced_in_a_derived_class); + return unknownType; + } + var container = getSuperContainer(node); + if (container) { + var canUseSuperExpression = false; + if (isCallExpression) { + canUseSuperExpression = container.kind === 117 /* Constructor */; + } + else { + var needToCaptureLexicalThis = false; + while (container && container.kind === 137 /* ArrowFunction */) { + container = getSuperContainer(container); + needToCaptureLexicalThis = true; + } + if (container && container.parent && container.parent.kind === 169 /* ClassDeclaration */) { + if (container.flags & 64 /* Static */) { + canUseSuperExpression = container.kind === 116 /* Method */ || container.kind === 118 /* GetAccessor */ || container.kind === 119 /* SetAccessor */; + } + else { + canUseSuperExpression = container.kind === 116 /* Method */ || container.kind === 118 /* GetAccessor */ || container.kind === 119 /* SetAccessor */ || container.kind === 115 /* Property */ || container.kind === 117 /* Constructor */; + } + } + } + if (canUseSuperExpression) { + var returnType; + if ((container.flags & 64 /* Static */) || isCallExpression) { + getNodeLinks(node).flags |= 32 /* SuperStatic */; + returnType = getTypeOfSymbol(baseClass.symbol); + } + else { + getNodeLinks(node).flags |= 16 /* SuperInstance */; + returnType = baseClass; + } + if (container.kind === 117 /* Constructor */ && isInConstructorArgumentInitializer(node, container)) { + error(node, ts.Diagnostics.super_cannot_be_referenced_in_constructor_arguments); + returnType = unknownType; + } + if (!isCallExpression && needToCaptureLexicalThis) { + captureLexicalThis(node.parent, container); + } + return returnType; + } + } + if (isCallExpression) { + error(node, ts.Diagnostics.Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors); + } + else { + error(node, ts.Diagnostics.super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class); + } + return unknownType; + } + function isInferentialContext(mapper) { + return mapper && mapper !== identityMapper; + } + function checkArrayLiteral(node, contextualType, contextualMapper) { + var contextualElementType = contextualType && getIndexTypeOfType(contextualType, 1 /* Number */); + var elementTypes = []; + ts.forEach(node.elements, function (element) { + if (element.kind !== 142 /* OmittedExpression */) { + var type = checkExpression(element, contextualElementType, contextualMapper); + if (!ts.contains(elementTypes, type)) + elementTypes.push(type); + } + }); + var elementType = getBestCommonType(elementTypes, isInferentialContext(contextualMapper) ? undefined : contextualElementType, true); + if (!elementType) + elementType = elementTypes.length ? emptyObjectType : undefinedType; + return createArrayType(elementType); + } + function isNumericName(name) { + return !isNaN(name); + } + function getContextualTypeForProperty(type, name) { + var prop = getPropertyOfType(type, name); + if (prop) + return getTypeOfSymbol(prop); + return isNumericName(name) && getIndexTypeOfType(type, 1 /* Number */) || getIndexTypeOfType(type, 0 /* String */); + } + function checkObjectLiteral(node, contextualType, contextualMapper) { + var members = node.symbol.members; + var properties = {}; + for (var id in members) { + if (ts.hasProperty(members, id)) { + var member = members[id]; + if (member.flags & 2 /* Property */) { + var contextualPropType = contextualType && getContextualTypeForProperty(contextualType, member.name); + var type = checkExpression(member.declarations[0].initializer, contextualPropType, contextualMapper); + var prop = createSymbol(2 /* Property */ | 33554432 /* Transient */, member.name); + prop.declarations = member.declarations; + prop.parent = member.parent; + if (member.valueDeclaration) + prop.valueDeclaration = member.valueDeclaration; + prop.type = type; + member = prop; + } + else { + var getAccessor = getDeclarationOfKind(member, 118 /* GetAccessor */); + if (getAccessor) { + checkAccessorDeclaration(getAccessor); + } + var setAccessor = getDeclarationOfKind(member, 119 /* SetAccessor */); + if (setAccessor) { + checkAccessorDeclaration(setAccessor); + } + } + properties[member.name] = member; + } + } + var stringIndexType = getIndexType(properties, 0 /* String */); + var numberIndexType = getIndexType(properties, 1 /* Number */); + return createAnonymousType(node.symbol, properties, emptyArray, emptyArray, stringIndexType, numberIndexType); + function getIndexType(properties, kind) { + if (contextualType) { + var indexType = getIndexTypeOfType(contextualType, kind); + if (indexType) { + var propTypes = []; + for (var id in properties) { + if (ts.hasProperty(properties, id)) { + if (kind === 0 /* String */ || isNumericName(id)) { + var type = getTypeOfSymbol(properties[id]); + if (!ts.contains(propTypes, type)) + propTypes.push(type); + } + } + } + return getBestCommonType(propTypes, isInferentialContext(contextualMapper) ? undefined : indexType); + } + } + } + } + function getDeclarationKindFromSymbol(s) { + return s.flags & 67108864 /* Prototype */ ? 115 /* Property */ : s.valueDeclaration.kind; + } + function getDeclarationFlagsFromSymbol(s) { + return s.flags & 67108864 /* Prototype */ ? 16 /* Public */ | 64 /* Static */ : s.valueDeclaration.flags; + } + function checkPropertyAccess(node) { + var type = checkExpression(node.left); + if (type === unknownType) + return type; + if (type !== anyType) { + var apparentType = getApparentType(getWidenedType(type)); + if (apparentType === unknownType) { + return unknownType; + } + var prop = getPropertyOfApparentType(apparentType, node.right.text); + if (!prop) { + if (node.right.text) { + error(node.right, ts.Diagnostics.Property_0_does_not_exist_on_type_1, ts.identifierToString(node.right), typeToString(type, false)); + } + return unknownType; + } + getNodeLinks(node).resolvedSymbol = prop; + if (prop.parent && prop.parent.flags & 16 /* Class */) { + if (node.left.kind === 81 /* SuperKeyword */ && getDeclarationKindFromSymbol(prop) !== 116 /* Method */) { + error(node.right, ts.Diagnostics.Only_public_methods_of_the_base_class_are_accessible_via_the_super_keyword); + } + else if (getDeclarationFlagsFromSymbol(prop) & 32 /* Private */) { + var classDeclaration = getAncestor(node, 169 /* ClassDeclaration */); + if (!classDeclaration || !ts.contains(prop.parent.declarations, classDeclaration)) { + error(node, ts.Diagnostics.Property_0_is_inaccessible, getFullyQualifiedName(prop)); + } + } + } + return getTypeOfSymbol(prop); + } + return anyType; + } + function checkIndexedAccess(node) { + var objectType = checkExpression(node.object); + var indexType = checkExpression(node.index); + if (objectType === unknownType) + return unknownType; + var apparentType = getApparentType(objectType); + if (apparentType === unknownType) { + return unknownType; + } + if (node.index.kind === 3 /* StringLiteral */ || node.index.kind === 2 /* NumericLiteral */) { + var name = ts.getTextOfLiteral(node.index); + var prop = getPropertyOfApparentType(apparentType, name); + if (prop) { + return getTypeOfSymbol(prop); + } + } + if (indexType.flags & (1 /* Any */ | ts.TypeFlags.StringLike | ts.TypeFlags.NumberLike)) { + if (indexType.flags & (1 /* Any */ | ts.TypeFlags.NumberLike)) { + var numberIndexType = getIndexTypeOfType(apparentType, 1 /* Number */); + if (numberIndexType) { + return numberIndexType; + } + } + var stringIndexType = getIndexTypeOfType(apparentType, 0 /* String */); + if (stringIndexType) { + return stringIndexType; + } + if (program.getCompilerOptions().noImplicitAny && objectType !== anyType) { + error(node, ts.Diagnostics.Index_signature_of_object_type_implicitly_has_an_any_type); + } + return anyType; + } + error(node, ts.Diagnostics.An_index_expression_argument_must_be_of_type_string_number_or_any); + return unknownType; + } + function checkUntypedCall(node) { + ts.forEach(node.arguments, function (argument) { + checkExpression(argument); + }); + return anyType; + } + function checkErrorCall(node) { + checkUntypedCall(node); + return unknownType; + } + function isCandidateSignature(node, signature) { + var args = node.arguments || emptyArray; + return args.length >= signature.minArgumentCount && (signature.hasRestParameter || args.length <= signature.parameters.length) && (!node.typeArguments || signature.typeParameters && node.typeArguments.length === signature.typeParameters.length); + } + function collectCandidates(node, signatures) { + var result = []; + var lastParent; + var pos; + for (var i = 0; i < signatures.length; i++) { + var signature = signatures[i]; + if (isCandidateSignature(node, signature)) { + var parent = signature.declaration ? signature.declaration.parent : undefined; + if (lastParent && parent === lastParent) { + pos++; + } + else { + lastParent = parent; + pos = 0; + } + for (var j = result.length; j > pos; j--) { + result[j] = result[j - 1]; + } + result[pos] = signature; + } + } + return result; + } + function inferTypeArguments(signature, args, excludeArgument) { + var typeParameters = signature.typeParameters; + var context = createInferenceContext(typeParameters); + var mapper = createInferenceMapper(context); + for (var i = 0; i < args.length; i++) { + if (!excludeArgument || excludeArgument[i] === undefined) { + var parameterType = getTypeAtPosition(signature, i); + inferTypes(context, checkExpression(args[i], parameterType, mapper), parameterType); + } + } + if (excludeArgument) { + for (var i = 0; i < args.length; i++) { + if (excludeArgument[i] === false) { + var parameterType = getTypeAtPosition(signature, i); + inferTypes(context, checkExpression(args[i], parameterType, mapper), parameterType); + } + } + } + return getInferredTypes(context); + } + function checkTypeArguments(signature, typeArguments) { + var typeParameters = signature.typeParameters; + var result = []; + for (var i = 0; i < typeParameters.length; i++) { + var typeArgNode = typeArguments[i]; + var typeArgument = getTypeFromTypeNode(typeArgNode); + var constraint = getConstraintOfTypeParameter(typeParameters[i]); + if (constraint) { + checkTypeAssignableTo(typeArgument, constraint, typeArgNode, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1_Colon, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1); + } + result.push(typeArgument); + } + return result; + } + function isApplicableSignature(node, signature, relation, excludeArgument) { + if (node.arguments) { + for (var i = 0; i < node.arguments.length; i++) { + var arg = node.arguments[i]; + var paramType = getTypeAtPosition(signature, i); + var argType = arg.kind === 3 /* StringLiteral */ ? getStringLiteralType(arg) : checkExpression(arg, paramType, excludeArgument && excludeArgument[i] ? identityMapper : undefined); + if (!isTypeRelatedTo(argType, paramType, relation)) + return false; + } + } + return true; + } + function checkCall(node, signatures) { + ts.forEach(node.typeArguments, checkSourceElement); + var candidates = collectCandidates(node, signatures); + if (!candidates.length) { + error(node, ts.Diagnostics.Supplied_parameters_do_not_match_any_signature_of_call_target); + return checkErrorCall(node); + } + var args = node.arguments || emptyArray; + var excludeArgument; + for (var i = 0; i < args.length; i++) { + if (isContextSensitiveExpression(args[i])) { + if (!excludeArgument) + excludeArgument = new Array(args.length); + excludeArgument[i] = true; + } + } + var relation = candidates.length === 1 ? assignableRelation : subtypeRelation; + while (true) { + for (var i = 0; i < candidates.length; i++) { + while (true) { + var candidate = candidates[i]; + if (candidate.typeParameters) { + var typeArguments = node.typeArguments ? checkTypeArguments(candidate, node.typeArguments) : inferTypeArguments(candidate, args, excludeArgument); + candidate = getSignatureInstantiation(candidate, typeArguments); + } + if (!isApplicableSignature(node, candidate, relation, excludeArgument)) + break; + var index = excludeArgument ? ts.indexOf(excludeArgument, true) : -1; + if (index < 0) { + return getReturnTypeOfSignature(candidate); + } + excludeArgument[index] = false; + } + } + if (relation === assignableRelation) + break; + relation = assignableRelation; + } + error(node, ts.Diagnostics.Supplied_parameters_do_not_match_any_signature_of_call_target); + return checkErrorCall(node); + } + function checkCallExpression(node) { + if (node.func.kind === 81 /* SuperKeyword */) { + var superType = checkSuperExpression(node.func, true); + if (superType !== unknownType) { + checkCall(node, getSignaturesOfType(superType, 1 /* Construct */)); + } + else { + checkUntypedCall(node); + } + return voidType; + } + var funcType = checkExpression(node.func); + if (funcType === unknownType) { + return checkErrorCall(node); + } + var apparentType = getApparentType(funcType); + if (apparentType === unknownType) { + return checkErrorCall(node); + } + var signatures = getSignaturesOfType(apparentType, 0 /* Call */); + if (funcType === anyType || !signatures.length && isTypeAssignableTo(funcType, globalFunctionType)) { + if (node.typeArguments) { + error(node, ts.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments); + } + return checkUntypedCall(node); + } + if (!signatures.length) { + error(node, ts.Diagnostics.Cannot_invoke_an_expression_whose_type_lacks_a_call_signature); + return checkErrorCall(node); + } + return checkCall(node, signatures); + } + function checkNewExpression(node) { + var expressionType = checkExpression(node.func); + if (expressionType === unknownType) { + return checkErrorCall(node); + } + if (expressionType === anyType) { + if (node.typeArguments) { + error(node, ts.Diagnostics.Untyped_function_calls_may_not_accept_type_arguments); + } + return checkUntypedCall(node); + } + expressionType = getApparentType(expressionType); + if (expressionType === unknownType) { + return checkErrorCall(node); + } + var constructSignatures = getSignaturesOfType(expressionType, 1 /* Construct */); + if (constructSignatures.length) { + return checkCall(node, constructSignatures); + } + var callSignatures = getSignaturesOfType(expressionType, 0 /* Call */); + if (callSignatures.length) { + var type = checkCall(node, callSignatures); + if (type !== voidType) { + error(node, ts.Diagnostics.Only_a_void_function_can_be_called_with_the_new_keyword); + } + if (program.getCompilerOptions().noImplicitAny) { + error(node, ts.Diagnostics.new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type); + } + return anyType; + } + error(node, ts.Diagnostics.Cannot_use_new_with_an_expression_whose_type_lacks_a_call_or_construct_signature); + return checkErrorCall(node); + } + function checkTypeAssertion(node) { + var targetType = getTypeFromTypeNode(node.type); + if (targetType === unknownType) + return unknownType; + var exprType = checkExpression(node.operand, targetType); + var widenedType = getWidenedType(exprType); + if (!(isTypeAssignableTo(exprType, targetType) || isTypeAssignableTo(targetType, widenedType))) { + checkTypeAssignableTo(targetType, widenedType, node, ts.Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other_Colon, ts.Diagnostics.Neither_type_0_nor_type_1_is_assignable_to_the_other); + } + return targetType; + } + function getContextualSignature(contextualType) { + if (contextualType) { + var signatures = getSignaturesOfType(contextualType, 0 /* Call */); + if (signatures.length === 1) { + var signature = signatures[0]; + if (!signature.typeParameters) { + return signature; + } + } + } + } + function getTypeAtPosition(signature, pos) { + return signature.hasRestParameter ? pos < signature.parameters.length - 1 ? getTypeOfSymbol(signature.parameters[pos]) : getRestTypeOfSignature(signature) : pos < signature.parameters.length ? getTypeOfSymbol(signature.parameters[pos]) : anyType; + } + function assignContextualParameterTypes(signature, context, mapper) { + var len = signature.parameters.length - (signature.hasRestParameter ? 1 : 0); + for (var i = 0; i < len; i++) { + var parameter = signature.parameters[i]; + var links = getSymbolLinks(parameter); + if (!links.type) { + links.type = instantiateType(getTypeAtPosition(context, i), mapper); + } + } + if (signature.hasRestParameter && context.hasRestParameter && signature.parameters.length >= context.parameters.length) { + var parameter = signature.parameters[signature.parameters.length - 1]; + var links = getSymbolLinks(parameter); + if (!links.type) { + links.type = instantiateType(getTypeOfSymbol(context.parameters[context.parameters.length - 1]), mapper); + } + } + } + function getReturnTypeFromBody(func, contextualType, contextualMapper) { + if (func.body.kind !== 168 /* FunctionBlock */) { + var unwidenedType = checkAndMarkExpression(func.body, contextualType, contextualMapper); + var widenedType = getWidenedType(unwidenedType); + if (program.getCompilerOptions().noImplicitAny && widenedType !== unwidenedType && getInnermostTypeOfNestedArrayTypes(widenedType) === anyType) { + error(func, ts.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, typeToString(widenedType, false)); + } + return widenedType; + } + var types = []; + checkAndAggregateReturnExpressionTypes(func.body); + if (types.length) { + var commonType = getBestCommonType(types, undefined, true); + if (!commonType) { + error(func, ts.Diagnostics.No_best_common_type_exists_among_return_expressions); + return unknownType; + } + var widenedType = getWidenedType(commonType); + if (program.getCompilerOptions().noImplicitAny && widenedType !== commonType && getInnermostTypeOfNestedArrayTypes(widenedType) === anyType) { + var typeName = typeToString(widenedType, false); + if (func.name) { + error(func, ts.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type, ts.identifierToString(func.name), typeName); + } + else { + error(func, ts.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, typeName); + } + } + return widenedType; + } + return voidType; + function checkAndAggregateReturnExpressionTypes(node) { + switch (node.kind) { + case 154 /* ReturnStatement */: + var expr = node.expression; + if (expr) { + var type = checkAndMarkExpression(expr, contextualType, contextualMapper); + if (!ts.contains(types, type)) + types.push(type); + } + break; + case 143 /* Block */: + case 168 /* FunctionBlock */: + case 147 /* IfStatement */: + case 148 /* DoStatement */: + case 149 /* WhileStatement */: + case 150 /* ForStatement */: + case 151 /* ForInStatement */: + case 155 /* WithStatement */: + case 156 /* SwitchStatement */: + case 157 /* CaseClause */: + case 158 /* DefaultClause */: + case 159 /* LabelledStatement */: + case 161 /* TryStatement */: + case 162 /* TryBlock */: + case 163 /* CatchBlock */: + case 164 /* FinallyBlock */: + ts.forEachChild(node, checkAndAggregateReturnExpressionTypes); + break; + } + } + } + function checkFunctionExpression(node, contextualType, contextualMapper) { + if (contextualMapper === identityMapper) + return anyFunctionType; + var type = getTypeOfSymbol(node.symbol); + var links = getNodeLinks(node); + if (!(links.flags & 1 /* TypeChecked */)) { + var signature = getSignaturesOfType(type, 0 /* Call */)[0]; + var contextualSignature = getContextualSignature(contextualType); + if (contextualSignature) { + if (!node.typeParameters && !ts.forEach(node.parameters, function (p) { return p.type; })) { + assignContextualParameterTypes(signature, contextualSignature, contextualMapper || identityMapper); + } + if (!node.type) { + signature.resolvedReturnType = resolvingType; + var returnType = getReturnTypeFromBody(node, getReturnTypeOfSignature(contextualSignature), contextualMapper); + if (signature.resolvedReturnType === resolvingType) { + signature.resolvedReturnType = returnType; + } + } + } + checkSignatureDeclaration(node); + if (node.body.kind === 168 /* FunctionBlock */) { + checkSourceElement(node.body); + } + else { + var returnType = getReturnTypeOfSignature(signature); + if (node.type) { + checkTypeAssignableTo(checkExpression(node.body, returnType), returnType, node.body, undefined, undefined); + } + } + links.flags |= 1 /* TypeChecked */; + } + return type; + } + function checkArithmeticOperandType(operand, type, diagnostic) { + if (!(type.flags & (1 /* Any */ | ts.TypeFlags.NumberLike))) { + error(operand, diagnostic); + return false; + } + return true; + } + function checkReferenceExpression(n, message) { + function testSymbol(n, flags) { + var symbol = getNodeLinks(n).resolvedSymbol; + if (!symbol || symbol === unknownSymbol) { + return undefined; + } + return (getExportSymbolOfValueSymbolIfExported(symbol).flags & flags) !== 0; + } + function isReferenceExpression(n) { + switch (n.kind) { + case 55 /* Identifier */: + return testSymbol(n, 1 /* Variable */); + case 130 /* PropertyAccess */: + return testSymbol(n, ~4 /* EnumMember */); + case 131 /* IndexedAccess */: + return true; + case 135 /* ParenExpression */: + return isReferenceExpression(n.expression); + default: + return false; + } + } + if (isReferenceExpression(n) === false) { + error(n, message); + return false; + } + return true; + } + function checkPrefixExpression(node) { + var operandType = checkExpression(node.operand); + switch (node.operator) { + case 24 /* PlusToken */: + case 25 /* MinusToken */: + case 38 /* TildeToken */: + return numberType; + case 37 /* ExclamationToken */: + case 64 /* DeleteKeyword */: + return booleanType; + case 87 /* TypeOfKeyword */: + return stringType; + case 89 /* VoidKeyword */: + return undefinedType; + case 29 /* PlusPlusToken */: + case 30 /* MinusMinusToken */: + var ok = checkArithmeticOperandType(node.operand, operandType, ts.Diagnostics.An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type); + if (ok) { + checkReferenceExpression(node.operand, ts.Diagnostics.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_property_or_indexer); + } + return numberType; + } + return unknownType; + } + function checkPostfixExpression(node) { + var operandType = checkExpression(node.operand); + var ok = checkArithmeticOperandType(node.operand, operandType, ts.Diagnostics.An_arithmetic_operand_must_be_of_type_any_number_or_an_enum_type); + if (ok) { + checkReferenceExpression(node.operand, ts.Diagnostics.The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_property_or_indexer); + } + return numberType; + } + function isTypeAnyTypeObjectTypeOrTypeParameter(type) { + return type === anyType || ((type.flags & (ts.TypeFlags.ObjectType | 512 /* TypeParameter */)) !== 0); + } + function checkInstanceOfExpression(node, leftType, rightType) { + if (!isTypeAnyTypeObjectTypeOrTypeParameter(leftType)) { + error(node.left, ts.Diagnostics.The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter); + } + if (rightType !== anyType && !isTypeSubtypeOf(rightType, globalFunctionType)) { + error(node.right, ts.Diagnostics.The_right_hand_side_of_an_instanceof_expression_must_be_of_type_any_or_of_a_type_assignable_to_the_Function_interface_type); + } + return booleanType; + } + function checkInExpression(node, leftType, rightType) { + if (leftType !== anyType && leftType !== stringType && leftType !== numberType) { + error(node.left, ts.Diagnostics.The_left_hand_side_of_an_in_expression_must_be_of_types_any_string_or_number); + } + if (!isTypeAnyTypeObjectTypeOrTypeParameter(rightType)) { + error(node.right, ts.Diagnostics.The_right_hand_side_of_an_in_expression_must_be_of_type_any_an_object_type_or_a_type_parameter); + } + return booleanType; + } + function checkBinaryExpression(node, contextualType, contextualMapper) { + var operator = node.operator; + var leftContextualType = operator === 40 /* BarBarToken */ ? contextualType : undefined; + var leftType = checkExpression(node.left, leftContextualType, contextualMapper); + var rightContextualType = operator >= ts.SyntaxKind.FirstAssignment && operator <= ts.SyntaxKind.LastAssignment ? leftType : operator === 40 /* BarBarToken */ ? contextualType || leftType : undefined; + var rightType = checkExpression(node.right, rightContextualType, contextualMapper); + switch (operator) { + case 26 /* AsteriskToken */: + case 46 /* AsteriskEqualsToken */: + case 27 /* SlashToken */: + case 47 /* SlashEqualsToken */: + case 28 /* PercentToken */: + case 48 /* PercentEqualsToken */: + case 25 /* MinusToken */: + case 45 /* MinusEqualsToken */: + case 31 /* LessThanLessThanToken */: + case 49 /* LessThanLessThanEqualsToken */: + case 32 /* GreaterThanGreaterThanToken */: + case 50 /* GreaterThanGreaterThanEqualsToken */: + case 33 /* GreaterThanGreaterThanGreaterThanToken */: + case 51 /* GreaterThanGreaterThanGreaterThanEqualsToken */: + case 35 /* BarToken */: + case 53 /* BarEqualsToken */: + case 36 /* CaretToken */: + case 54 /* CaretEqualsToken */: + case 34 /* AmpersandToken */: + case 52 /* AmpersandEqualsToken */: + if (leftType.flags & (32 /* Undefined */ | 64 /* Null */)) + leftType = rightType; + if (rightType.flags & (32 /* Undefined */ | 64 /* Null */)) + rightType = leftType; + var leftOk = checkArithmeticOperandType(node.left, leftType, ts.Diagnostics.The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type); + var rightOk = checkArithmeticOperandType(node.right, rightType, ts.Diagnostics.The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_or_an_enum_type); + if (leftOk && rightOk) { + checkAssignmentOperator(numberType); + } + return numberType; + case 24 /* PlusToken */: + case 44 /* PlusEqualsToken */: + if (leftType.flags & (32 /* Undefined */ | 64 /* Null */)) + leftType = rightType; + if (rightType.flags & (32 /* Undefined */ | 64 /* Null */)) + rightType = leftType; + var resultType; + if (leftType.flags & ts.TypeFlags.NumberLike && rightType.flags & ts.TypeFlags.NumberLike) { + resultType = numberType; + } + else if (leftType.flags & ts.TypeFlags.StringLike || rightType.flags & ts.TypeFlags.StringLike) { + resultType = stringType; + } + else if (leftType.flags & 1 /* Any */ || leftType === unknownType || rightType.flags & 1 /* Any */ || rightType === unknownType) { + resultType = anyType; + } + if (!resultType) { + reportOperatorError(); + return anyType; + } + if (operator === 44 /* PlusEqualsToken */) { + checkAssignmentOperator(resultType); + } + return resultType; + case 19 /* EqualsEqualsToken */: + case 20 /* ExclamationEqualsToken */: + case 21 /* EqualsEqualsEqualsToken */: + case 22 /* ExclamationEqualsEqualsToken */: + case 15 /* LessThanToken */: + case 16 /* GreaterThanToken */: + case 17 /* LessThanEqualsToken */: + case 18 /* GreaterThanEqualsToken */: + if (!isTypeSubtypeOf(leftType, rightType) && !isTypeSubtypeOf(rightType, leftType)) { + reportOperatorError(); + } + return booleanType; + case 77 /* InstanceOfKeyword */: + return checkInstanceOfExpression(node, leftType, rightType); + case 76 /* InKeyword */: + return checkInExpression(node, leftType, rightType); + case 39 /* AmpersandAmpersandToken */: + return rightType; + case 40 /* BarBarToken */: + return getBestCommonType([leftType, rightType], isInferentialContext(contextualMapper) ? undefined : contextualType); + case 43 /* EqualsToken */: + checkAssignmentOperator(rightType); + return rightType; + case 14 /* CommaToken */: + return rightType; + } + function checkAssignmentOperator(valueType) { + if (operator >= ts.SyntaxKind.FirstAssignment && operator <= ts.SyntaxKind.LastAssignment) { + var ok = checkReferenceExpression(node.left, ts.Diagnostics.Invalid_left_hand_side_of_assignment_expression); + if (ok) { + checkTypeAssignableTo(valueType, leftType, node.left, undefined, undefined); + } + } + } + function reportOperatorError() { + error(node, ts.Diagnostics.Operator_0_cannot_be_applied_to_types_1_and_2, ts.tokenToString(node.operator), typeToString(leftType, false), typeToString(rightType, false)); + } + } + function checkConditionalExpression(node, contextualType, contextualMapper) { + checkExpression(node.condition); + var type1 = checkExpression(node.whenTrue, contextualType, contextualMapper); + var type2 = checkExpression(node.whenFalse, contextualType, contextualMapper); + var resultType = getBestCommonType([type1, type2], isInferentialContext(contextualMapper) ? undefined : contextualType, true); + if (!resultType) { + if (contextualType && !isInferentialContext(contextualMapper)) { + error(node, ts.Diagnostics.No_best_common_type_exists_between_0_1_and_2, typeToString(contextualType, false), typeToString(type1, false), typeToString(type2, false)); + } + else { + error(node, ts.Diagnostics.No_best_common_type_exists_between_0_and_1, typeToString(type1, false), typeToString(type2, false)); + } + resultType = emptyObjectType; + } + return resultType; + } + function checkAndMarkExpression(node, contextualType, contextualMapper) { + var result = checkExpression(node, contextualType, contextualMapper); + getNodeLinks(node).flags |= 1 /* TypeChecked */; + return result; + } + function checkExpression(node, contextualType, contextualMapper) { + switch (node.kind) { + case 55 /* Identifier */: + return checkIdentifier(node); + case 83 /* ThisKeyword */: + return checkThisExpression(node); + case 81 /* SuperKeyword */: + return checkSuperExpression(node, false); + case 79 /* NullKeyword */: + return nullType; + case 85 /* TrueKeyword */: + case 70 /* FalseKeyword */: + return booleanType; + case 2 /* NumericLiteral */: + return numberType; + case 3 /* StringLiteral */: + return stringType; + case 4 /* RegularExpressionLiteral */: + return globalRegExpType; + case 112 /* QualifiedName */: + return checkPropertyAccess(node); + case 127 /* ArrayLiteral */: + return checkArrayLiteral(node, contextualType, contextualMapper); + case 128 /* ObjectLiteral */: + return checkObjectLiteral(node, contextualType, contextualMapper); + case 130 /* PropertyAccess */: + return checkPropertyAccess(node); + case 131 /* IndexedAccess */: + return checkIndexedAccess(node); + case 132 /* CallExpression */: + return checkCallExpression(node); + case 133 /* NewExpression */: + return checkNewExpression(node); + case 134 /* TypeAssertion */: + return checkTypeAssertion(node); + case 135 /* ParenExpression */: + return checkExpression(node.expression); + case 136 /* FunctionExpression */: + case 137 /* ArrowFunction */: + return checkFunctionExpression(node, contextualType, contextualMapper); + case 138 /* PrefixOperator */: + return checkPrefixExpression(node); + case 139 /* PostfixOperator */: + return checkPostfixExpression(node); + case 140 /* BinaryExpression */: + return checkBinaryExpression(node, contextualType, contextualMapper); + case 141 /* ConditionalExpression */: + return checkConditionalExpression(node, contextualType, contextualMapper); + } + return unknownType; + } + function checkTypeParameter(node) { + checkNameIsReserved(node.name, ts.Diagnostics.Type_parameter_name_cannot_be_0); + checkSourceElement(node.constraint); + checkTypeParameterHasIllegalReferencesInConstraint(node); + } + function checkParameter(parameterDeclaration) { + checkVariableDeclaration(parameterDeclaration); + checkCollisionWithIndexVariableInGeneratedCode(parameterDeclaration, parameterDeclaration.name); + if (parameterDeclaration.flags & (16 /* Public */ | 32 /* Private */) && !(parameterDeclaration.parent.kind === 117 /* Constructor */ && parameterDeclaration.parent.body)) { + error(parameterDeclaration, ts.Diagnostics.A_parameter_property_is_only_allowed_in_a_constructor_implementation); + } + if (parameterDeclaration.flags & 8 /* Rest */) { + if (!isArrayType(getTypeOfSymbol(parameterDeclaration.symbol))) { + error(parameterDeclaration, ts.Diagnostics.A_rest_parameter_must_be_of_an_array_type); + } + } + else { + if (parameterDeclaration.initializer && !parameterDeclaration.parent.body) { + error(parameterDeclaration, ts.Diagnostics.A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation); + } + } + function checkReferencesInInitializer(n) { + if (n.kind === 55 /* Identifier */) { + var referencedSymbol = getNodeLinks(n).resolvedSymbol; + if (referencedSymbol && referencedSymbol !== unknownSymbol && getSymbol(parameterDeclaration.parent.locals, referencedSymbol.name, ts.SymbolFlags.Value) === referencedSymbol) { + if (referencedSymbol.valueDeclaration.kind === 114 /* Parameter */) { + if (referencedSymbol.valueDeclaration === parameterDeclaration) { + error(n, ts.Diagnostics.Parameter_0_cannot_be_referenced_in_its_initializer, ts.identifierToString(parameterDeclaration.name)); + return; + } + var enclosingOrReferencedParameter = ts.forEach(parameterDeclaration.parent.parameters, function (p) { return p === parameterDeclaration || p === referencedSymbol.valueDeclaration ? p : undefined; }); + if (enclosingOrReferencedParameter === referencedSymbol.valueDeclaration) { + return; + } + } + error(n, ts.Diagnostics.Initializer_of_parameter_0_cannot_reference_identifier_1_declared_after_it, ts.identifierToString(parameterDeclaration.name), ts.identifierToString(n)); + } + } + else { + ts.forEachChild(n, checkReferencesInInitializer); + } + } + if (parameterDeclaration.initializer) { + checkReferencesInInitializer(parameterDeclaration.initializer); + } + } + function isTypeIdenticalTo(source, target) { + return isTypeSubtypeOf(source, target) && isTypeSubtypeOf(target, source); + } + function isSignatureIdenticalToIgnoringReturnType(source, target) { + if (source === target) { + return true; + } + if (source.hasRestParameter !== target.hasRestParameter) { + return false; + } + if (source.parameters.length !== target.parameters.length) { + return false; + } + if (source.minArgumentCount !== target.minArgumentCount) { + return false; + } + if (source.typeParameters && target.typeParameters) { + if (source.typeParameters.length !== target.typeParameters.length) { + return false; + } + for (var i = 0, len = source.typeParameters.length; i < len; ++i) { + var sourceConstraint = getConstraintOfTypeParameter(source.typeParameters[i]); + var targetConstraint = getConstraintOfTypeParameter(target.typeParameters[i]); + if (sourceConstraint === targetConstraint) { + continue; + } + if (sourceConstraint === noConstraintType || targetConstraint === noConstraintType) { + return false; + } + if (!isTypeIdenticalTo(sourceConstraint, targetConstraint)) { + return false; + } + } + } + else if (source.typeParameters || source.typeParameters) { + return false; + } + source = getErasedSignature(source); + target = getErasedSignature(target); + for (var i = 0, len = source.parameters.length; i < len; i++) { + var s = source.hasRestParameter && i === len - 1 ? getRestTypeOfSignature(source) : getTypeOfSymbol(source.parameters[i]); + var t = target.hasRestParameter && i === len - 1 ? getRestTypeOfSignature(target) : getTypeOfSymbol(target.parameters[i]); + if (!isTypeIdenticalTo(s, t)) { + return false; + } + } + return true; + } + function checkSignatureDeclaration(node) { + ts.forEach(node.typeParameters, checkTypeParameter); + ts.forEach(node.parameters, checkParameter); + if (node.type) { + checkSourceElement(node.type); + } + checkCollisionWithCapturedSuperVariable(node, node.name); + checkCollisionWithArgumentsInGeneratedCode(node); + if (program.getCompilerOptions().noImplicitAny && !node.type) { + switch (node.kind) { + case 121 /* ConstructSignature */: + error(node, ts.Diagnostics.Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); + break; + case 120 /* CallSignature */: + error(node, ts.Diagnostics.Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type); + break; + } + } + checkSpecializedSignatureDeclaration(node); + } + function checkTypeForDuplicateIndexSignatures(node) { + if (node.kind === 170 /* InterfaceDeclaration */) { + var nodeSymbol = getSymbolOfNode(node); + if (nodeSymbol.declarations.length > 0 && nodeSymbol.declarations[0] !== node) { + return; + } + } + var indexSymbol = getIndexSymbol(getSymbolOfNode(node)); + if (indexSymbol) { + var seenNumericIndexer = false; + var seenStringIndexer = false; + for (var i = 0, len = indexSymbol.declarations.length; i < len; ++i) { + var declaration = indexSymbol.declarations[i]; + if (declaration.parameters.length == 1 && declaration.parameters[0].type) { + switch (declaration.parameters[0].type.kind) { + case 110 /* StringKeyword */: + if (!seenStringIndexer) { + seenStringIndexer = true; + } + else { + error(declaration, ts.Diagnostics.Duplicate_string_index_signature); + } + break; + case 108 /* NumberKeyword */: + if (!seenNumericIndexer) { + seenNumericIndexer = true; + } + else { + error(declaration, ts.Diagnostics.Duplicate_number_index_signature); + } + break; + } + } + } + } + } + function checkPropertyDeclaration(node) { + checkVariableDeclaration(node); + } + function checkMethodDeclaration(node) { + checkFunctionDeclaration(node); + } + function checkConstructorDeclaration(node) { + checkDeclarationModifiers(node); + checkSignatureDeclaration(node); + checkSourceElement(node.body); + var symbol = getSymbolOfNode(node); + var symbolLinks = getSymbolLinks(symbol); + var type = getTypeOfSymbol(symbol.parent); + if (!(symbolLinks.typeChecked || type.flags & ts.TypeFlags.Intrinsic)) { + checkFunctionOrConstructorSymbol(symbol); + symbolLinks.typeChecked = true; + } + if (!node.body) { + return; + } + function isSuperCallExpression(n) { + return n.kind === 132 /* CallExpression */ && n.func.kind === 81 /* SuperKeyword */; + } + function containsSuperCall(n) { + if (isSuperCallExpression(n)) { + return true; + } + switch (n.kind) { + case 136 /* FunctionExpression */: + case 167 /* FunctionDeclaration */: + case 137 /* ArrowFunction */: + case 128 /* ObjectLiteral */: + return false; + default: + return ts.forEachChild(n, containsSuperCall); + } + } + function markThisReferencesAsErrors(n) { + if (n.kind === 83 /* ThisKeyword */) { + error(n, ts.Diagnostics.this_cannot_be_referenced_in_current_location); + } + else if (n.kind !== 136 /* FunctionExpression */ && n.kind !== 167 /* FunctionDeclaration */) { + ts.forEachChild(n, markThisReferencesAsErrors); + } + } + function isInstancePropertyWithInitializer(n) { + return n.kind === 115 /* Property */ && !(n.flags & 64 /* Static */) && !!n.initializer; + } + if (node.parent.baseType) { + if (containsSuperCall(node.body)) { + var superCallShouldBeFirst = ts.forEach(node.parent.members, isInstancePropertyWithInitializer) || ts.forEach(node.parameters, function (p) { return p.flags & (16 /* Public */ | 32 /* Private */); }); + if (superCallShouldBeFirst) { + var statements = node.body.statements; + if (!statements.length || statements[0].kind !== 146 /* ExpressionStatement */ || !isSuperCallExpression(statements[0].expression)) { + error(node, ts.Diagnostics.A_super_call_must_be_the_first_statement_in_the_constructor_when_a_class_contains_initialized_properties_or_has_parameter_properties); + } + else { + markThisReferencesAsErrors(statements[0].expression); + } + } + } + else { + error(node, ts.Diagnostics.Constructors_for_derived_classes_must_contain_a_super_call); + } + } + } + function checkAccessorDeclaration(node) { + function checkGetterContainsSingleThrowStatement(node) { + var block = node.body; + return block.statements.length === 1 && block.statements[0].kind === 160 /* ThrowStatement */; + } + function checkGetterReturnsValue(n) { + switch (n.kind) { + case 154 /* ReturnStatement */: + return true; + case 136 /* FunctionExpression */: + case 167 /* FunctionDeclaration */: + case 137 /* ArrowFunction */: + case 128 /* ObjectLiteral */: + return false; + default: + return ts.forEachChild(n, checkGetterReturnsValue); + } + } + if (node.kind === 118 /* GetAccessor */) { + if (!isDeclarationContext(node) && node.body && !(checkGetterContainsSingleThrowStatement(node) || checkGetterReturnsValue(node))) { + error(node.name, ts.Diagnostics.Getters_must_return_a_value); + } + } + var otherKind = node.kind === 118 /* GetAccessor */ ? 119 /* SetAccessor */ : 118 /* GetAccessor */; + var otherAccessor = getDeclarationOfKind(node.symbol, otherKind); + if (otherAccessor) { + var visibilityFlags = 32 /* Private */ | 16 /* Public */; + if (((node.flags & visibilityFlags) !== (otherAccessor.flags & visibilityFlags))) { + error(node.name, ts.Diagnostics.Getter_and_setter_accessors_do_not_agree_in_visibility); + } + var thisType = getAnnotatedAccessorType(node); + var otherType = getAnnotatedAccessorType(otherAccessor); + if (thisType && otherType) { + if (!isTypeIdenticalTo(thisType, otherType)) { + error(node, ts.Diagnostics.get_and_set_accessor_must_have_the_same_type); + } + } + } + checkFunctionDeclaration(node); + } + function checkTypeReference(node) { + var type = getTypeFromTypeReferenceNode(node); + if (type !== unknownType && node.typeArguments) { + var len = node.typeArguments.length; + for (var i = 0; i < len; i++) { + checkSourceElement(node.typeArguments[i]); + var constraint = getConstraintOfTypeParameter(type.target.typeParameters[i]); + if (constraint) { + var typeArgument = type.typeArguments[i]; + checkTypeAssignableTo(typeArgument, constraint, node, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1_Colon, ts.Diagnostics.Type_0_does_not_satisfy_the_constraint_1); + } + } + } + } + function checkTypeQuery(node) { + getTypeFromTypeQueryNode(node); + } + function checkTypeLiteral(node) { + ts.forEach(node.members, checkSourceElement); + var type = getTypeFromTypeLiteralNode(node); + checkIndexConstraints(type); + checkTypeForDuplicateIndexSignatures(node); + } + function checkArrayType(node) { + getTypeFromArrayTypeNode(node); + } + function isPrivateWithinAmbient(node) { + return (node.flags & 32 /* Private */) && isAmbientContext(node); + } + function isAmbientContext(node) { + while (node) { + if (node.flags & 2 /* Ambient */) + return true; + node = node.parent; + } + return false; + } + function isDeclarationContext(node) { + while (node) { + if (node.flags & (2 /* Ambient */ | 512 /* DeclarationFile */)) + return true; + node = node.parent; + } + return false; + } + function checkDeclarationModifiers(node) { + if (node.flags & 1 /* Export */ && node.parent.kind === 177 /* SourceFile */) { + checkModulesEnabled(node); + } + if (node.kind === 170 /* InterfaceDeclaration */ || node.kind === 174 /* ImportDeclaration */) { + if (node.flags & 2 /* Ambient */) { + if (node.kind === 170 /* InterfaceDeclaration */) { + error(node, ts.Diagnostics.A_declare_modifier_cannot_be_used_with_an_interface_declaration); + } + else { + error(node, ts.Diagnostics.A_declare_modifier_cannot_be_used_with_an_import_declaration); + } + } + } + else { + if (node.parent.kind === 177 /* SourceFile */) { + if (node.parent.flags & 512 /* DeclarationFile */ && !(node.flags & 2 /* Ambient */)) { + error(node, ts.Diagnostics.A_declare_modifier_is_required_for_a_top_level_declaration_in_a_d_ts_file); + } + } + else { + if (isAmbientContext(node.parent) && node.flags & 2 /* Ambient */) { + error(node, ts.Diagnostics.A_declare_modifier_cannot_be_used_in_an_already_ambient_context); + } + } + } + } + function checkSpecializedSignatureDeclaration(signatureDeclarationNode) { + var signature = getSignatureFromDeclaration(signatureDeclarationNode); + if (!signature.hasStringLiterals) { + return; + } + if (signatureDeclarationNode.body) { + error(signatureDeclarationNode, ts.Diagnostics.A_signature_with_an_implementation_cannot_use_a_string_literal_type); + return; + } + var signaturesOfSymbol = getSignaturesOfSymbol(getSymbolOfNode(signatureDeclarationNode)); + for (var i = 0; i < signaturesOfSymbol.length; i++) { + var otherSignature = signaturesOfSymbol[i]; + if (!otherSignature.hasStringLiterals && isSignatureAssignableTo(signature, otherSignature)) { + return; + } + } + error(signatureDeclarationNode, ts.Diagnostics.Specialized_overload_signature_is_not_assignable_to_any_non_specialized_signature); + } + function checkFunctionOrConstructorSymbol(symbol) { + function getEffectiveFlagsForFunctionCheck(n) { + var flags = n.flags; + if (n.parent.kind !== 170 /* InterfaceDeclaration */ && isDeclarationContext(n)) { + if (!(flags & 2 /* Ambient */)) { + flags |= 1 /* Export */; + } + flags |= 2 /* Ambient */; + } + return flags & flagsToCheck; + } + function checkFlagAgreementBetweenOverloads(overloads, implementation, flagsToCheck, someOverloadFlags, allOverloadFlags) { + var someButNotAllOverloadFlags = someOverloadFlags ^ allOverloadFlags; + if (someButNotAllOverloadFlags !== 0) { + var implementationSharesContainerWithFirstOverload = implementation !== undefined && implementation.parent === overloads[0].parent; + var canonicalFlags = implementationSharesContainerWithFirstOverload ? getEffectiveFlagsForFunctionCheck(implementation) : getEffectiveFlagsForFunctionCheck(overloads[0]); + ts.forEach(overloads, function (o) { + var deviation = getEffectiveFlagsForFunctionCheck(o) ^ canonicalFlags; + if (deviation & 1 /* Export */) { + error(o.name, ts.Diagnostics.Overload_signatures_must_all_be_exported_or_not_exported); + } + else if (deviation & 2 /* Ambient */) { + error(o.name, ts.Diagnostics.Overload_signatures_must_all_be_ambient_or_non_ambient); + } + else if (deviation & 32 /* Private */) { + error(o.name, ts.Diagnostics.Overload_signatures_must_all_be_public_or_private); + } + else if (deviation & 4 /* QuestionMark */) { + error(o.name, ts.Diagnostics.Overload_signatures_must_all_be_optional_or_required); + } + }); + } + } + var flagsToCheck = 1 /* Export */ | 2 /* Ambient */ | 32 /* Private */ | 4 /* QuestionMark */; + var someNodeFlags = 0; + var allNodeFlags = flagsToCheck; + var hasOverloads = false; + var bodyDeclaration; + var lastSeenNonAmbientDeclaration; + var declarations = symbol.declarations; + var isConstructor = (symbol.flags & 4096 /* Constructor */) !== 0; + for (var i = 0; i < declarations.length; i++) { + var node = declarations[i]; + if (node.kind === 167 /* FunctionDeclaration */ || node.kind === 116 /* Method */ || node.kind === 117 /* Constructor */) { + var currentNodeFlags = getEffectiveFlagsForFunctionCheck(node); + someNodeFlags |= currentNodeFlags; + allNodeFlags &= currentNodeFlags; + var inAmbientContext = isDeclarationContext(node); + var inAmbientContextOrInterface = node.parent.kind === 170 /* InterfaceDeclaration */ || node.parent.kind === 125 /* TypeLiteral */ || inAmbientContext; + if (!inAmbientContextOrInterface) { + lastSeenNonAmbientDeclaration = node; + } + if (node.body) { + if (bodyDeclaration) { + if (isConstructor) { + error(node, ts.Diagnostics.Multiple_constructor_implementations_are_not_allowed); + } + else { + error(node, ts.Diagnostics.Duplicate_function_implementation); + } + } + else { + bodyDeclaration = node; + } + } + else { + hasOverloads = true; + } + } + } + if (lastSeenNonAmbientDeclaration && !lastSeenNonAmbientDeclaration.body) { + if (isConstructor) { + error(lastSeenNonAmbientDeclaration, ts.Diagnostics.Constructor_implementation_expected); + } + else { + error(lastSeenNonAmbientDeclaration, ts.Diagnostics.Function_implementation_expected); + } + } + if (hasOverloads) { + checkFlagAgreementBetweenOverloads(declarations, bodyDeclaration, flagsToCheck, someNodeFlags, allNodeFlags); + if (bodyDeclaration) { + var signatures = getSignaturesOfSymbol(symbol); + var bodySignature = getSignatureFromDeclaration(bodyDeclaration); + if (!bodySignature.hasStringLiterals) { + for (var i = 0, len = signatures.length; i < len; ++i) { + if (!signatures[i].hasStringLiterals && !isSignatureAssignableTo(bodySignature, signatures[i])) { + error(signatures[i].declaration, ts.Diagnostics.Overload_signature_is_not_compatible_with_function_implementation); + break; + } + } + } + } + } + } + function checkFunctionDeclaration(node) { + checkDeclarationModifiers(node); + checkSignatureDeclaration(node); + var symbol = getSymbolOfNode(node); + var symbolLinks = getSymbolLinks(symbol); + var type = getTypeOfSymbol(symbol); + if (!(symbolLinks.typeChecked || type.flags & ts.TypeFlags.Intrinsic)) { + checkFunctionOrConstructorSymbol(symbol); + symbolLinks.typeChecked = true; + } + checkSourceElement(node.body); + if (program.getCompilerOptions().noImplicitAny && !node.body && !node.type) { + if (!isPrivateWithinAmbient(node)) { + var typeName = typeToString(anyType, false); + if (node.name) { + error(node, ts.Diagnostics._0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type, ts.identifierToString(node.name), typeName); + } + else { + error(node, ts.Diagnostics.Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type, typeName); + } + } + } + } + function checkStatementContext(node) { + var parent = node.parent; + if ((parent.kind === 177 /* SourceFile */ || parent.kind === 173 /* ModuleBlock */) && isDeclarationContext(parent)) { + error(node, ts.Diagnostics.Statements_are_not_allowed_in_declaration_contexts); + } + } + function checkBlock(node) { + checkStatementContext(node); + ts.forEach(node.statements, checkSourceElement); + } + function checkCollisionWithArgumentsInGeneratedCode(node) { + if (!hasRestParameters(node) || isDeclarationContext(node) || !node.body) { + return; + } + ts.forEach(node.parameters, function (p) { + if (p.name && p.name.text === argumentsSymbol.name) { + error(p, ts.Diagnostics.Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters); + } + }); + } + function checkCollisionWithIndexVariableInGeneratedCode(node, name) { + if (!(name && name.text === "_i")) { + return; + } + if (node.kind === 114 /* Parameter */) { + if (node.parent.body && hasRestParameters(node.parent) && !isDeclarationContext(node)) { + error(node, ts.Diagnostics.Duplicate_identifier_i_Compiler_uses_i_to_initialize_rest_parameter); + } + return; + } + var symbol = getNodeLinks(node).resolvedSymbol; + if (symbol === unknownSymbol) { + return; + } + var current = node; + while (current) { + var definedOnCurrentLevel = ts.forEach(symbol.declarations, function (d) { return d.parent === current ? d : undefined; }); + if (definedOnCurrentLevel) { + return; + } + switch (current.kind) { + case 167 /* FunctionDeclaration */: + case 136 /* FunctionExpression */: + case 116 /* Method */: + case 137 /* ArrowFunction */: + case 117 /* Constructor */: + if (hasRestParameters(current)) { + error(node, ts.Diagnostics.Expression_resolves_to_variable_declaration_i_that_compiler_uses_to_initialize_rest_parameter); + return; + } + break; + } + current = current.parent; + } + } + function checkCollisionWithCapturedSuperVariable(node, name) { + if (!(name && name.text === "_super")) { + return; + } + if (node.kind === 115 /* Property */ || node.kind === 116 /* Method */ || node.kind === 118 /* GetAccessor */ || node.kind === 119 /* SetAccessor */) { + return; + } + if (node.kind === 114 /* Parameter */ && !node.parent.body) { + return; + } + var enclosingClass = getAncestor(node, 169 /* ClassDeclaration */); + if (!enclosingClass || isDeclarationContext(enclosingClass)) { + return; + } + if (enclosingClass.baseType) { + var isDeclaration = node.kind !== 55 /* Identifier */; + if (isDeclaration) { + error(node, ts.Diagnostics.Duplicate_identifier_super_Compiler_uses_super_to_capture_base_class_reference); + } + else { + error(node, ts.Diagnostics.Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference); + } + } + } + function checkVariableDeclaration(node) { + checkSourceElement(node.type); + var symbol = getSymbolOfNode(node); + var typeOfValueDeclaration = getTypeOfVariableOrParameterOrProperty(symbol); + var type; + var useTypeFromValueDeclaration = node === symbol.valueDeclaration; + if (useTypeFromValueDeclaration) { + type = typeOfValueDeclaration; + } + else { + type = getTypeOfVariableDeclaration(node); + } + if (node.initializer) { + if (isDeclarationContext(node)) { + error(node.initializer, ts.Diagnostics.Initializers_are_not_allowed_in_declaration_contexts); + } + if (!(getNodeLinks(node.initializer).flags & 1 /* TypeChecked */)) { + checkTypeAssignableTo(checkAndMarkExpression(node.initializer, type), type, node, undefined, undefined); + } + } + checkCollisionWithCapturedSuperVariable(node, node.name); + if (!useTypeFromValueDeclaration) { + if (typeOfValueDeclaration !== unknownType && type !== unknownType && !isTypeIdenticalTo(typeOfValueDeclaration, type)) { + error(node.name, ts.Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2, ts.identifierToString(node.name), typeToString(typeOfValueDeclaration, false), typeToString(type, false)); + } + } + } + function checkVariableStatement(node) { + checkDeclarationModifiers(node); + ts.forEach(node.declarations, checkVariableDeclaration); + } + function checkExpressionStatement(node) { + checkStatementContext(node); + checkExpression(node.expression); + } + function checkIfStatement(node) { + checkStatementContext(node); + checkExpression(node.expression); + checkSourceElement(node.thenStatement); + checkSourceElement(node.elseStatement); + } + function checkDoStatement(node) { + checkStatementContext(node); + checkSourceElement(node.statement); + checkExpression(node.expression); + } + function checkWhileStatement(node) { + checkStatementContext(node); + checkExpression(node.expression); + checkSourceElement(node.statement); + } + function checkForStatement(node) { + checkStatementContext(node); + if (node.declarations) + ts.forEach(node.declarations, checkVariableDeclaration); + if (node.initializer) + checkExpression(node.initializer); + if (node.condition) + checkExpression(node.condition); + if (node.iterator) + checkExpression(node.iterator); + checkSourceElement(node.statement); + } + function checkForInStatement(node) { + checkStatementContext(node); + if (node.declaration) { + checkVariableDeclaration(node.declaration); + if (node.declaration.type) { + error(node.declaration, ts.Diagnostics.Variable_declarations_of_a_for_statement_cannot_use_a_type_annotation); + } + } + if (node.variable) { + var exprType = checkExpression(node.variable); + if (exprType !== anyType && exprType !== stringType) { + error(node.variable, ts.Diagnostics.Variable_declarations_of_a_for_statement_must_be_of_types_string_or_any); + } + else { + checkReferenceExpression(node.variable, ts.Diagnostics.Invalid_left_hand_side_in_for_in_statement); + } + } + var exprType = checkExpression(node.expression); + if (!isTypeAnyTypeObjectTypeOrTypeParameter(exprType) && exprType !== unknownType) { + error(node.expression, ts.Diagnostics.The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter); + } + checkSourceElement(node.statement); + } + function checkBreakOrContinueStatement(node) { + checkStatementContext(node); + } + function getContainingFunction(node) { + while (true) { + node = node.parent; + if (!node || node.kind === 167 /* FunctionDeclaration */ || node.kind === 136 /* FunctionExpression */ || node.kind === 137 /* ArrowFunction */ || node.kind === 116 /* Method */ || node.kind === 117 /* Constructor */ || node.kind === 118 /* GetAccessor */ || node.kind === 119 /* SetAccessor */) { + return node; + } + } + } + function checkReturnStatement(node) { + checkStatementContext(node); + if (node.expression && !(getNodeLinks(node.expression).flags & 1 /* TypeChecked */)) { + var func = getContainingFunction(node); + if (func) { + if (func.kind === 119 /* SetAccessor */) { + if (node.expression) { + error(node.expression, ts.Diagnostics.Setters_cannot_return_a_value); + } + } + else { + var returnType = getReturnTypeOfSignature(getSignatureFromDeclaration(func)); + var checkAssignability = func.type || (func.kind === 118 /* GetAccessor */ && getSetAccessorTypeAnnotationNode(getDeclarationOfKind(func.symbol, 119 /* SetAccessor */))); + if (checkAssignability) { + checkTypeAssignableTo(checkExpression(node.expression, returnType), returnType, node.expression, undefined, undefined); + } + else if (func.kind == 117 /* Constructor */) { + if (!isTypeAssignableTo(checkExpression(node.expression, returnType), returnType)) { + error(node.expression, ts.Diagnostics.Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class); + } + } + } + } + else { + error(node, ts.Diagnostics.return_statement_has_no_containing_function); + } + } + } + function checkWithStatement(node) { + checkStatementContext(node); + checkExpression(node.expression); + checkSourceElement(node.statement); + } + function checkSwitchStatement(node) { + checkStatementContext(node); + var expressionType = checkExpression(node.expression); + ts.forEach(node.clauses, function (clause) { + if (clause.expression) { + var caseType = checkExpression(clause.expression); + if (!isTypeAssignableTo(expressionType, caseType)) { + checkTypeAssignableTo(caseType, expressionType, clause.expression, undefined, undefined); + } + } + checkBlock(clause); + }); + } + function checkLabelledStatement(node) { + checkStatementContext(node); + checkSourceElement(node.statement); + } + function checkThrowStatement(node) { + checkStatementContext(node); + checkExpression(node.expression); + } + function checkTryStatement(node) { + checkStatementContext(node); + checkBlock(node.tryBlock); + if (node.catchBlock) + checkBlock(node.catchBlock); + if (node.finallyBlock) + checkBlock(node.finallyBlock); + } + function checkIndexConstraints(type) { + function checkIndexConstraintForProperty(prop, propertyType, indexDeclaration, indexType, indexKind) { + if (!indexType) { + return; + } + if (indexKind === 1 /* Number */ && !isNumericName(prop.name)) { + return; + } + var errorNode; + if (prop.parent === type.symbol) { + errorNode = prop.valueDeclaration; + } + else if (indexDeclaration) { + errorNode = indexDeclaration; + } + else if (type.flags & 2048 /* Interface */) { + var someBaseClassHasBothPropertyAndIndexer = ts.forEach(type.baseTypes, function (base) { return getPropertyOfType(base, prop.name) && getIndexTypeOfType(base, indexKind); }); + errorNode = someBaseClassHasBothPropertyAndIndexer ? undefined : type.symbol.declarations[0]; + } + if (errorNode && !isTypeAssignableTo(propertyType, indexType)) { + var errorMessage = indexKind === 0 /* String */ ? ts.Diagnostics.Property_0_of_type_1_is_not_assignable_to_string_index_type_2 : ts.Diagnostics.Property_0_of_type_1_is_not_assignable_to_numeric_index_type_2; + error(errorNode, errorMessage, symbolToString(prop), typeToString(propertyType, false), typeToString(indexType, false)); + } + } + var declaredNumberIndexer = getIndexDeclarationOfSymbol(type.symbol, 1 /* Number */); + var declaredStringIndexer = getIndexDeclarationOfSymbol(type.symbol, 0 /* String */); + var stringIndexType = getIndexTypeOfType(type, 0 /* String */); + var numberIndexType = getIndexTypeOfType(type, 1 /* Number */); + if (stringIndexType || numberIndexType) { + ts.forEach(getPropertiesOfType(type), function (prop) { + var propType = getTypeOfSymbol(prop); + checkIndexConstraintForProperty(prop, propType, declaredStringIndexer, stringIndexType, 0 /* String */); + checkIndexConstraintForProperty(prop, propType, declaredNumberIndexer, numberIndexType, 1 /* Number */); + }); + } + var errorNode; + if (stringIndexType && numberIndexType) { + errorNode = declaredNumberIndexer || declaredStringIndexer; + if (!errorNode && (type.flags & 2048 /* Interface */)) { + var someBaseTypeHasBothIndexers = ts.forEach(type.baseTypes, function (base) { return getIndexTypeOfType(base, 0 /* String */) && getIndexTypeOfType(base, 1 /* Number */); }); + errorNode = someBaseTypeHasBothIndexers ? undefined : type.symbol.declarations[0]; + } + } + if (errorNode && !isTypeAssignableTo(numberIndexType, stringIndexType)) { + error(errorNode, ts.Diagnostics.Numeric_index_type_0_is_not_assignable_to_string_index_type_1, typeToString(numberIndexType, false), typeToString(stringIndexType, false)); + } + } + function checkNameIsReserved(name, message) { + switch (name.text) { + case "any": + case "number": + case "boolean": + case "string": + case "void": + error(name, message, name.text); + return true; + } + } + function checkClassDeclaration(node) { + checkDeclarationModifiers(node); + checkNameIsReserved(node.name, ts.Diagnostics.Class_name_cannot_be_0); + ts.forEach(node.typeParameters, checkTypeParameter); + var symbol = getSymbolOfNode(node); + var type = getDeclaredTypeOfSymbol(symbol); + var staticType = getTypeOfSymbol(symbol); + if (node.baseType) { + emitExtends = emitExtends || !isDeclarationContext(node); + checkTypeReference(node.baseType); + } + if (type.baseTypes.length) { + var baseType = type.baseTypes[0]; + checkTypeAssignableTo(type, baseType, node.name, ts.Diagnostics.Class_0_incorrectly_extends_base_class_1_Colon, ts.Diagnostics.Class_0_incorrectly_extends_base_class_1); + var staticBaseType = getTypeOfSymbol(baseType.symbol); + checkTypeAssignableTo(staticType, getTypeWithoutConstructors(staticBaseType), node.name, ts.Diagnostics.Class_static_side_0_incorrectly_extends_base_class_static_side_1_Colon, ts.Diagnostics.Class_static_side_0_incorrectly_extends_base_class_static_side_1); + if (baseType.symbol !== resolveEntityName(node, node.baseType.typeName, ts.SymbolFlags.Value)) { + error(node.baseType, ts.Diagnostics.Type_name_0_in_extends_clause_does_not_reference_constructor_function_for_0, typeToString(baseType, false)); + } + checkExpression(node.baseType.typeName); + checkKindsOfPropertyMemberOverrides(type, baseType); + } + if (node.implementedTypes) { + ts.forEach(node.implementedTypes, function (typeRefNode) { + checkTypeReference(typeRefNode); + var t = getTypeFromTypeReferenceNode(typeRefNode); + if (t !== unknownType) { + var declaredType = (t.flags & 4096 /* Reference */) ? t.target : t; + if (declaredType.flags & (1024 /* Class */ | 2048 /* Interface */)) { + checkTypeAssignableTo(type, t, node.name, ts.Diagnostics.Class_0_incorrectly_implements_interface_1_Colon, ts.Diagnostics.Class_0_incorrectly_implements_interface_1); + } + else { + error(typeRefNode, ts.Diagnostics.A_class_may_only_implement_another_class_or_interface); + } + } + }); + } + checkIndexConstraints(type); + ts.forEach(node.members, checkSourceElement); + checkTypeForDuplicateIndexSignatures(node); + } + function checkKindsOfPropertyMemberOverrides(type, baseType) { + function getTargetSymbol(s) { + return s.flags & 8388608 /* Instantiated */ ? getSymbolLinks(s).target : s; + } + var baseProperties = getPropertiesOfType(baseType); + for (var i = 0, len = baseProperties.length; i < len; ++i) { + var base = getTargetSymbol(baseProperties[i]); + if (base.flags & 67108864 /* Prototype */) { + continue; + } + var derived = getTargetSymbol(getPropertyOfType(type, base.name)); + if (derived) { + var baseDeclarationFlags = getDeclarationFlagsFromSymbol(base); + var derivedDeclarationFlags = getDeclarationFlagsFromSymbol(derived); + if ((baseDeclarationFlags & 32 /* Private */) || (derivedDeclarationFlags & 32 /* Private */)) { + continue; + } + if ((baseDeclarationFlags & 64 /* Static */) !== (derivedDeclarationFlags & 64 /* Static */)) { + continue; + } + if ((base.flags & derived.flags & 2048 /* Method */) || ((base.flags & ts.SymbolFlags.PropertyOrAccessor) && (derived.flags & ts.SymbolFlags.PropertyOrAccessor))) { + continue; + } + var errorMessage; + if (base.flags & 2048 /* Method */) { + if (derived.flags & ts.SymbolFlags.Accessor) { + errorMessage = ts.Diagnostics.Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor; + } + else { + ts.Debug.assert(derived.flags & 2 /* Property */); + errorMessage = ts.Diagnostics.Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_property; + } + } + else if (base.flags & 2 /* Property */) { + ts.Debug.assert(derived.flags & 2048 /* Method */); + errorMessage = ts.Diagnostics.Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function; + } + else { + ts.Debug.assert(base.flags & ts.SymbolFlags.Accessor); + ts.Debug.assert(derived.flags & 2048 /* Method */); + errorMessage = ts.Diagnostics.Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function; + } + error(derived.valueDeclaration.name, errorMessage, typeToString(baseType, false), symbolToString(base), typeToString(type, false)); + } + } + } + function isAccessor(kind) { + return kind === 118 /* GetAccessor */ || kind === 119 /* SetAccessor */; + } + function areTypeParameterDeclarationsPairwiseIdentical(list1, list2) { + if (!list1 && !list2) { + return true; + } + if (!list1 || !list2 || list1.length !== list2.length) { + return false; + } + for (var i = 0, len = list1.length; i < len; ++i) { + if (list1[i].name.text !== list2[i].name.text) { + return false; + } + if (!list1[i].constraint && !list2[i].constraint) { + continue; + } + if (!list1[i].constraint || !list2[i].constraint) { + return false; + } + var t1 = getTypeFromTypeNode(list1[i].constraint); + var t2 = getTypeFromTypeNode(list2[i].constraint); + if (!isTypeIdenticalTo(t1, t2)) { + return false; + } + } + return true; + } + function checkInterfaceDeclaration(node) { + checkDeclarationModifiers(node); + checkNameIsReserved(node.name, ts.Diagnostics.Interface_name_cannot_be_0); + ts.forEach(node.typeParameters, checkTypeParameter); + var declarations = node.symbol.declarations; + if (declarations.length > 1) { + var firstInterfaceDecl; + for (var i = 0, len = declarations.length; i < len; ++i) { + if (declarations[i].kind === 170 /* InterfaceDeclaration */) { + firstInterfaceDecl = declarations[i]; + break; + } + } + if (node !== firstInterfaceDecl && !areTypeParameterDeclarationsPairwiseIdentical(firstInterfaceDecl.typeParameters, node.typeParameters)) { + error(node.name, ts.Diagnostics.All_declarations_of_an_interface_must_have_identical_type_parameters); + } + } + var symbol = getSymbolOfNode(node); + var links = getSymbolLinks(symbol); + if (!links.typeChecked) { + var type = getDeclaredTypeOfSymbol(symbol); + ts.forEach(type.baseTypes, function (baseType) { + checkTypeAssignableTo(type, baseType, node.name, ts.Diagnostics.Interface_0_incorrectly_extends_interface_1_Colon, ts.Diagnostics.Interface_0_incorrectly_extends_interface_1); + }); + checkIndexConstraints(type); + links.typeChecked = true; + } + ts.forEach(node.baseTypes, checkTypeReference); + ts.forEach(node.members, checkSourceElement); + checkTypeForDuplicateIndexSignatures(node); + } + function getConstantValue(node) { + if (node.kind === 2 /* NumericLiteral */) + return +node.text; + if (node.kind === 138 /* PrefixOperator */ && node.operator === 25 /* MinusToken */) { + node = node.operand; + if (node.kind === 2 /* NumericLiteral */) + return -node.text; + } + } + function checkEnumDeclaration(node) { + checkDeclarationModifiers(node); + checkNameIsReserved(node.name, ts.Diagnostics.Enum_name_cannot_be_0); + var enumType = getDeclaredTypeOfSymbol(getSymbolOfNode(node)); + var autoValue = 0; + var ambient = isDeclarationContext(node); + ts.forEach(node.members, function (member) { + var initializer = member.initializer; + if (initializer) { + checkTypeAssignableTo(checkExpression(initializer), enumType, initializer, undefined, undefined); + } + if (ambient) { + if (initializer) { + var value = getConstantValue(initializer); + if (value !== undefined) { + getNodeLinks(member).enumMemberValue = value; + } + else { + error(initializer, ts.Diagnostics.In_an_enum_declaration_context_initializer_must_be_a_number_literal); + } + } + } + else { + if (initializer) { + autoValue = initializer.kind === 2 /* NumericLiteral */ ? +initializer.text : undefined; + } + else if (autoValue === undefined) { + error(member, ts.Diagnostics.Enum_member_must_have_initializer); + autoValue = 0; + } + if (!initializer || initializer.kind === 2 /* NumericLiteral */) { + getNodeLinks(member).enumMemberValue = autoValue++; + } + } + }); + } + function checkModuleDeclaration(node) { + checkDeclarationModifiers(node); + if (node.name.kind === 3 /* StringLiteral */) { + if (!isDeclarationContext(node)) { + error(node, ts.Diagnostics.Ambient_external_modules_require_a_declare_modifier); + } + if (node.parent.kind !== 177 /* SourceFile */ || node.parent.flags & 1024 /* ExternalModule */) { + error(node, ts.Diagnostics.Ambient_external_modules_cannot_be_nested_in_other_modules); + } + if (isExternalModuleNameRelative(node.name.text)) { + error(node, ts.Diagnostics.Ambient_external_module_declaration_cannot_specify_relative_module_name); + } + var symbol = getSymbolOfNode(node); + var links = getSymbolLinks(symbol); + if (!links.typeChecked) { + getExportAssignmentSymbol(symbol); + links.typeChecked = true; + } + } + checkSourceElement(node.body); + } + function checkImportDeclaration(node) { + checkDeclarationModifiers(node); + checkNameIsReserved(node.name, ts.Diagnostics.Import_name_cannot_be_0); + var symbol = getSymbolOfNode(node); + var target; + if (node.entityName) { + target = resolveImport(symbol); + if (target !== unknownSymbol && target.flags & ts.SymbolFlags.Value) { + checkExpression(node.entityName); + } + } + else { + if (node.parent.kind === 177 /* SourceFile */) { + checkModulesEnabled(node); + target = resolveImport(symbol); + } + else if (node.parent.kind === 173 /* ModuleBlock */ && node.parent.parent.name.kind === 3 /* StringLiteral */) { + if (isExternalModuleNameRelative(node.externalModuleName.text)) { + error(node, ts.Diagnostics.Import_declaration_in_an_ambient_external_module_declaration_cannot_reference_external_module_through_relative_external_module_name); + target = unknownSymbol; + } + else { + target = resolveImport(symbol); + } + } + else { + target = unknownSymbol; + } + } + if (target !== unknownSymbol) { + var excludedMeanings = (symbol.flags & ts.SymbolFlags.Value ? ts.SymbolFlags.Value : 0) | (symbol.flags & ts.SymbolFlags.Type ? ts.SymbolFlags.Type : 0) | (symbol.flags & ts.SymbolFlags.Namespace ? ts.SymbolFlags.Namespace : 0); + if (target.flags & excludedMeanings) { + error(node, ts.Diagnostics.Import_declaration_conflicts_with_local_declaration_of_0, symbolToString(symbol)); + } + } + } + function checkModulesEnabled(node) { + if (!modulesVerified) { + if (!program.getCompilerOptions().module) { + error(node, ts.Diagnostics.Cannot_compile_external_modules_unless_the_module_flag_is_provided); + } + modulesVerified = true; + } + } + function checkExportAssignment(node) { + var container = node.parent; + if (container.kind === 177 /* SourceFile */) { + checkModulesEnabled(node); + } + } + function checkSourceElement(node) { + if (!node) + return; + switch (node.kind) { + case 113 /* TypeParameter */: + return checkTypeParameter(node); + case 114 /* Parameter */: + return checkParameter(node); + case 115 /* Property */: + return checkPropertyDeclaration(node); + case 120 /* CallSignature */: + case 121 /* ConstructSignature */: + case 122 /* IndexSignature */: + return checkSignatureDeclaration(node); + case 116 /* Method */: + return checkMethodDeclaration(node); + case 117 /* Constructor */: + return checkConstructorDeclaration(node); + case 118 /* GetAccessor */: + case 119 /* SetAccessor */: + return checkAccessorDeclaration(node); + case 123 /* TypeReference */: + return checkTypeReference(node); + case 124 /* TypeQuery */: + return checkTypeQuery(node); + case 125 /* TypeLiteral */: + return checkTypeLiteral(node); + case 126 /* ArrayType */: + return checkArrayType(node); + case 167 /* FunctionDeclaration */: + return checkFunctionDeclaration(node); + case 143 /* Block */: + case 168 /* FunctionBlock */: + case 173 /* ModuleBlock */: + return checkBlock(node); + case 144 /* VariableStatement */: + return checkVariableStatement(node); + case 146 /* ExpressionStatement */: + return checkExpressionStatement(node); + case 147 /* IfStatement */: + return checkIfStatement(node); + case 148 /* DoStatement */: + return checkDoStatement(node); + case 149 /* WhileStatement */: + return checkWhileStatement(node); + case 150 /* ForStatement */: + return checkForStatement(node); + case 151 /* ForInStatement */: + return checkForInStatement(node); + case 152 /* ContinueStatement */: + case 153 /* BreakStatement */: + return checkBreakOrContinueStatement(node); + case 154 /* ReturnStatement */: + return checkReturnStatement(node); + case 155 /* WithStatement */: + return checkWithStatement(node); + case 156 /* SwitchStatement */: + return checkSwitchStatement(node); + case 159 /* LabelledStatement */: + return checkLabelledStatement(node); + case 160 /* ThrowStatement */: + return checkThrowStatement(node); + case 161 /* TryStatement */: + return checkTryStatement(node); + case 166 /* VariableDeclaration */: + return checkVariableDeclaration(node); + case 169 /* ClassDeclaration */: + return checkClassDeclaration(node); + case 170 /* InterfaceDeclaration */: + return checkInterfaceDeclaration(node); + case 171 /* EnumDeclaration */: + return checkEnumDeclaration(node); + case 172 /* ModuleDeclaration */: + return checkModuleDeclaration(node); + case 174 /* ImportDeclaration */: + return checkImportDeclaration(node); + case 175 /* ExportAssignment */: + return checkExportAssignment(node); + } + } + function checkSourceFile(node) { + var links = getNodeLinks(node); + if (!(links.flags & 1 /* TypeChecked */)) { + emitExtends = false; + ts.forEach(node.statements, checkSourceElement); + if (node.flags & 1024 /* ExternalModule */) { + var symbol = getExportAssignmentSymbol(node.symbol); + if (symbol && symbol.flags & 4194304 /* Import */) { + getSymbolLinks(symbol).referenced = true; + } + } + if (emitExtends) + links.flags |= 8 /* EmitExtends */; + links.flags |= 1 /* TypeChecked */; + } + } + function checkProgram() { + ts.forEach(program.getSourceFiles(), checkSourceFile); + } + function getSortedDiagnostics() { + if (diagnosticsModified) { + diagnostics.sort(ts.compareDiagnostics); + diagnostics = ts.deduplicateSortedDiagnostics(diagnostics); + diagnosticsModified = false; + } + return diagnostics; + } + function getDiagnostics(sourceFile) { + if (sourceFile) { + checkSourceFile(sourceFile); + return ts.filter(getSortedDiagnostics(), function (d) { return d.file === sourceFile; }); + } + checkProgram(); + return getSortedDiagnostics(); + } + function getGlobalDiagnostics() { + return ts.filter(getSortedDiagnostics(), function (d) { return !d.file; }); + } + function getNodeAtPosition(sourceFile, position) { + function findChildAtPosition(parent) { + var child = ts.forEachChild(parent, function (node) { + if (position >= node.pos && position <= node.end && position >= ts.getTokenPosOfNode(node)) { + return findChildAtPosition(node); + } + }); + return child || parent; + } + if (position < sourceFile.pos) + position = sourceFile.pos; + if (position > sourceFile.end) + position = sourceFile.end; + return findChildAtPosition(sourceFile); + } + function getSymbolsInScope(location, meaning) { + var symbols = {}; + var memberFlags = 0; + function copySymbol(symbol, meaning) { + if (symbol.flags & meaning) { + var id = symbol.name; + if (!isReservedMemberName(id) && !ts.hasProperty(symbols, id)) { + symbols[id] = symbol; + } + } + } + function copySymbols(source, meaning) { + if (meaning) { + for (var id in source) { + if (ts.hasProperty(source, id)) { + copySymbol(source[id], meaning); + } + } + } + } + while (location) { + if (location.locals && (location.kind !== 177 /* SourceFile */ || location.flags & 1024 /* ExternalModule */)) { + copySymbols(location.locals, meaning); + } + switch (location.kind) { + case 177 /* SourceFile */: + if (!(location.flags & 1024 /* ExternalModule */)) + break; + case 172 /* ModuleDeclaration */: + copySymbols(getSymbolOfNode(location).exports, meaning & ts.SymbolFlags.ModuleMember); + break; + case 171 /* EnumDeclaration */: + copySymbols(getSymbolOfNode(location).exports, meaning & 4 /* EnumMember */); + break; + case 169 /* ClassDeclaration */: + case 170 /* InterfaceDeclaration */: + if (!(memberFlags & 64 /* Static */)) { + copySymbols(getSymbolOfNode(location).members, meaning & ts.SymbolFlags.Type); + } + break; + case 136 /* FunctionExpression */: + if (location.name) { + copySymbol(location.symbol, meaning); + } + break; + case 163 /* CatchBlock */: + if (location.variable.text) { + copySymbol(location.symbol, meaning); + } + break; + } + memberFlags = location.flags; + location = location.parent; + } + copySymbols(globals, meaning); + return ts.mapToArray(symbols); + } + function isDeclarationIdentifier(identifier) { + if (identifier.parent) { + switch (identifier.parent.kind) { + case 113 /* TypeParameter */: + case 114 /* Parameter */: + case 166 /* VariableDeclaration */: + case 115 /* Property */: + case 129 /* PropertyAssignment */: + case 176 /* EnumMember */: + case 116 /* Method */: + case 167 /* FunctionDeclaration */: + case 136 /* FunctionExpression */: + case 118 /* GetAccessor */: + case 119 /* SetAccessor */: + case 169 /* ClassDeclaration */: + case 170 /* InterfaceDeclaration */: + case 171 /* EnumDeclaration */: + case 172 /* ModuleDeclaration */: + case 174 /* ImportDeclaration */: + return identifier.parent.name === identifier; + case 163 /* CatchBlock */: + return identifier.parent.variable === identifier; + } + } + return false; + } + function isTypeReferenceIdentifier(identifier) { + var node = identifier; + while (node.parent && node.parent.kind === 112 /* QualifiedName */) + node = node.parent; + return node.parent && node.parent.kind === 123 /* TypeReference */; + } + function isExpression(node) { + switch (node.kind) { + case 83 /* ThisKeyword */: + case 81 /* SuperKeyword */: + case 79 /* NullKeyword */: + case 85 /* TrueKeyword */: + case 70 /* FalseKeyword */: + case 4 /* RegularExpressionLiteral */: + case 127 /* ArrayLiteral */: + case 128 /* ObjectLiteral */: + case 130 /* PropertyAccess */: + case 131 /* IndexedAccess */: + case 132 /* CallExpression */: + case 133 /* NewExpression */: + case 134 /* TypeAssertion */: + case 135 /* ParenExpression */: + case 136 /* FunctionExpression */: + case 137 /* ArrowFunction */: + case 138 /* PrefixOperator */: + case 139 /* PostfixOperator */: + case 140 /* BinaryExpression */: + case 141 /* ConditionalExpression */: + return true; + case 112 /* QualifiedName */: + while (node.parent && node.parent.kind === 112 /* QualifiedName */) + node = node.parent; + return node.parent && node.parent.kind === 124 /* TypeQuery */; + case 55 /* Identifier */: + case 2 /* NumericLiteral */: + case 3 /* StringLiteral */: + var parent = node.parent; + if (parent) { + if (isExpression(parent)) + return true; + switch (parent.kind) { + case 166 /* VariableDeclaration */: + case 114 /* Parameter */: + case 115 /* Property */: + case 176 /* EnumMember */: + return parent.initializer === node; + case 146 /* ExpressionStatement */: + case 147 /* IfStatement */: + case 148 /* DoStatement */: + case 149 /* WhileStatement */: + case 154 /* ReturnStatement */: + case 155 /* WithStatement */: + case 156 /* SwitchStatement */: + case 157 /* CaseClause */: + case 160 /* ThrowStatement */: + case 156 /* SwitchStatement */: + return parent.expression === node; + case 150 /* ForStatement */: + return parent.initializer === node || parent.condition === node || parent.iterator === node; + case 151 /* ForInStatement */: + return parent.variable === node || parent.expression === node; + } + } + } + return false; + } + function getSymbolOfIdentifier(identifier) { + if (isExpression(identifier)) { + if (isRightSideOfQualifiedName()) { + } + return resolveEntityName(identifier, identifier, ts.SymbolFlags.Value); + } + if (isDeclarationIdentifier(identifier)) { + return getSymbolOfNode(identifier.parent); + } + if (isTypeReferenceIdentifier(identifier)) { + var entityName = isRightSideOfQualifiedName() ? identifier.parent : identifier; + var meaning = entityName.parent.kind === 123 /* TypeReference */ ? ts.SymbolFlags.Type : ts.SymbolFlags.Namespace; + return resolveEntityName(entityName, entityName, meaning); + } + function isRightSideOfQualifiedName() { + return (identifier.parent.kind === 112 /* QualifiedName */ || identifier.parent.kind === 130 /* PropertyAccess */) && identifier.parent.right === identifier; + } + } + function getModuleObjectName(node) { + return ts.getSourceTextOfNode(node.name); + } + function isExternalModule(symbol) { + return symbol.flags & 128 /* ValueModule */ && symbol.declarations.length === 1 && symbol.declarations[0].kind === 177 /* SourceFile */; + } + function getExpressionNamePrefix(node) { + var symbol = getNodeLinks(node).resolvedSymbol; + if (symbol) { + var exportSymbol = getExportSymbolOfValueSymbolIfExported(symbol); + var isExportedSymbolFoundInLocalScope = exportSymbol !== symbol; + var shouldEmitExportWithoutPrefix = (exportSymbol.flags & ts.SymbolFlags.ExportHasLocal) !== 0; + if (isExportedSymbolFoundInLocalScope && !shouldEmitExportWithoutPrefix) { + symbol = exportSymbol; + } + if (symbol.parent) { + return isExternalModule(symbol.parent) ? "exports" : symbolToString(symbol.parent); + } + } + } + function getPropertyAccessSubstitution(node) { + var symbol = getNodeLinks(node).resolvedSymbol; + if (symbol && (symbol.flags & 4 /* EnumMember */)) { + var declaration = symbol.valueDeclaration; + var constantValue; + if (declaration.kind === 176 /* EnumMember */ && (constantValue = getNodeLinks(declaration).enumMemberValue) !== undefined) { + return constantValue.toString() + " /* " + ts.identifierToString(declaration.name) + " */"; + } + } + } + function getExportAssignmentName(node) { + var symbol = getExportAssignmentSymbol(getSymbolOfNode(node)); + return symbol && symbolIsValue(symbol) ? symbolToString(symbol) : undefined; + } + function isTopLevelValueImportedViaEntityName(node) { + if (node.parent.kind !== 177 /* SourceFile */ || !node.entityName) { + return false; + } + var symbol = getSymbolOfNode(node); + var target = resolveImport(symbol); + return target !== unknownSymbol && ((target.flags & ts.SymbolFlags.Value) !== 0); + } + function isReferencedImportDeclaration(node) { + var symbol = getSymbolOfNode(node); + if (getSymbolLinks(symbol).referenced) { + return true; + } + if (node.flags & 1 /* Export */) { + var target = resolveImport(symbol); + if (target !== unknownSymbol && target.flags & ts.SymbolFlags.Value) { + return true; + } + } + return false; + } + function getNodeCheckFlags(node) { + return getNodeLinks(node).flags; + } + function getEnumMemberValue(node) { + return getNodeLinks(node).enumMemberValue; + } + function invokeEmitter() { + var resolver = { + getProgram: function () { return program; }, + getModuleObjectName: getModuleObjectName, + getExpressionNamePrefix: getExpressionNamePrefix, + getPropertyAccessSubstitution: getPropertyAccessSubstitution, + getExportAssignmentName: getExportAssignmentName, + isReferencedImportDeclaration: isReferencedImportDeclaration, + getNodeCheckFlags: getNodeCheckFlags, + getEnumMemberValue: getEnumMemberValue, + isTopLevelValueImportedViaEntityName: isTopLevelValueImportedViaEntityName + }; + checkProgram(); + return ts.emitFiles(resolver); + } + function initializeTypeChecker() { + ts.forEach(program.getSourceFiles(), function (file) { + ts.bindSourceFile(file); + ts.forEach(file.semanticErrors, addDiagnostic); + }); + ts.forEach(program.getSourceFiles(), function (file) { + if (!(file.flags & 1024 /* ExternalModule */)) { + extendSymbolTable(globals, file.locals); + } + }); + getSymbolLinks(undefinedSymbol).type = undefinedType; + getSymbolLinks(argumentsSymbol).type = anyType; + getSymbolLinks(unknownSymbol).type = unknownType; + globals[undefinedSymbol.name] = undefinedSymbol; + globalObjectType = getGlobalType("Object"); + globalFunctionType = getGlobalType("Function"); + globalArrayType = getGlobalType("Array", 1); + globalStringType = getGlobalType("String"); + globalNumberType = getGlobalType("Number"); + globalBooleanType = getGlobalType("Boolean"); + globalRegExpType = getGlobalType("RegExp"); + } + initializeTypeChecker(); + checker = { + getProgram: function () { return program; }, + getDiagnostics: getDiagnostics, + getGlobalDiagnostics: getGlobalDiagnostics, + getNodeCount: function () { return ts.sum(program.getSourceFiles(), "nodeCount"); }, + getIdentifierCount: function () { return ts.sum(program.getSourceFiles(), "identifierCount"); }, + getSymbolCount: function () { return ts.sum(program.getSourceFiles(), "symbolCount"); }, + getTypeCount: function () { return typeCount; }, + checkProgram: checkProgram, + emitFiles: invokeEmitter, + getSymbolOfNode: getSymbolOfNode, + getParentOfSymbol: getParentOfSymbol, + getTypeOfSymbol: getTypeOfSymbol, + getDeclaredTypeOfSymbol: getDeclaredTypeOfSymbol, + getPropertiesOfType: getPropertiesOfType, + getSignaturesOfType: getSignaturesOfType, + getIndexTypeOfType: getIndexTypeOfType, + getReturnTypeOfSignature: getReturnTypeOfSignature, + resolveEntityName: resolveEntityName, + getSymbolsInScope: getSymbolsInScope, + getSymbolOfIdentifier: getSymbolOfIdentifier + }; + return checker; + } + ts.createTypeChecker = createTypeChecker; +})(ts || (ts = {})); +var ts; +(function (ts) { + var shortOptionNames = { + "d": "declaration", + "h": "help", + "m": "module", + "o": "out", + "t": "target", + "v": "version" + }; + var options = [ + { name: "codepage", type: "number" }, + { name: "declaration", type: "boolean" }, + { name: "diagnostics", type: "boolean" }, + { name: "help", type: "boolean" }, + { name: "locale", type: "string" }, + { name: "mapRoot", type: "string" }, + { name: "module", type: { "commonjs": 1 /* CommonJS */, "amd": 2 /* AMD */ }, error: ts.Diagnostics.Argument_for_module_option_must_be_commonjs_or_amd }, + { name: "noImplicitAny", type: "boolean" }, + { name: "noLib", type: "boolean" }, + { name: "noLibCheck", type: "boolean" }, + { name: "noResolve", type: "boolean" }, + { name: "out", type: "string" }, + { name: "outDir", type: "string" }, + { name: "removeComments", type: "boolean" }, + { name: "sourceMap", type: "boolean" }, + { name: "sourceRoot", type: "string" }, + { name: "target", type: { "es3": 0 /* ES3 */, "es5": 1 /* ES5 */ }, error: ts.Diagnostics.Argument_for_target_option_must_be_es3_or_es5 }, + { name: "version", type: "boolean" } + ]; + var optionDeclarations = {}; + ts.forEach(options, function (option) { + optionDeclarations[option.name.toLowerCase()] = option; + }); + function parseCommandLine(commandLine) { + var options = { + target: 0 /* ES3 */ + }; + var filenames = []; + var errors = []; + parseStrings(commandLine); + return { + options: options, + filenames: filenames, + errors: errors + }; + function parseStrings(args) { + var i = 0; + while (i < args.length) { + var s = args[i++]; + if (s.charCodeAt(0) === 64 /* at */) { + parseResponseFile(s.slice(1)); + } + else if (s.charCodeAt(0) === 45 /* minus */) { + s = s.slice(s.charCodeAt(1) === 45 /* minus */ ? 2 : 1).toLowerCase(); + if (ts.hasProperty(shortOptionNames, s)) { + s = shortOptionNames[s]; + } + if (ts.hasProperty(optionDeclarations, s)) { + var opt = optionDeclarations[s]; + if (!args[i] && opt.type !== "boolean") { + errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Compiler_option_0_expects_an_argument, opt.name)); + } + switch (opt.type) { + case "number": + options[opt.name] = parseInt(args[i++]); + break; + case "boolean": + options[opt.name] = true; + break; + case "string": + options[opt.name] = args[i++] || ""; + break; + default: + var value = (args[i++] || "").toLowerCase(); + if (ts.hasProperty(opt.type, value)) { + options[opt.name] = opt.type[value]; + } + else { + errors.push(ts.createCompilerDiagnostic(opt.error)); + } + } + } + else { + errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Unknown_compiler_option_0, s)); + } + } + else { + filenames.push(s); + } + } + } + function parseResponseFile(filename) { + var text = sys.readFile(filename); + if (!text) { + errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.File_0_not_found, filename)); + return; + } + var args = []; + var pos = 0; + while (true) { + while (pos < text.length && text.charCodeAt(pos) <= 32 /* space */) + pos++; + if (pos >= text.length) + break; + var start = pos; + if (text.charCodeAt(start) === 34 /* doubleQuote */) { + pos++; + while (pos < text.length && text.charCodeAt(pos) !== 34 /* doubleQuote */) + pos++; + if (pos < text.length) { + args.push(text.substring(start + 1, pos)); + pos++; + } + else { + errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Unterminated_quoted_string_in_response_file_0, filename)); + } + } + else { + while (text.charCodeAt(pos) > 32 /* space */) + pos++; + args.push(text.substring(start, pos)); + } + } + parseStrings(args); + } + } + ts.parseCommandLine = parseCommandLine; +})(ts || (ts = {})); +var ts; +(function (ts) { + function validateLocaleAndSetLanguage(locale, errors) { + var matchResult = /^([a-z]+)([_\-]([a-z]+))?$/.exec(locale.toLowerCase()); + if (!matchResult) { + errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1, 'en', 'ja-jp')); + return false; + } + var language = matchResult[1]; + var territory = matchResult[3]; + if (!trySetLanguageAndTerritory(language, territory, errors) && !trySetLanguageAndTerritory(language, undefined, errors)) { + errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Unsupported_locale_0, locale)); + return false; + } + return true; + } + function trySetLanguageAndTerritory(language, territory, errors) { + var compilerFilePath = sys.getExecutingFilePath(); + var containingDirectoryPath = ts.getDirectoryPath(compilerFilePath); + var filePath = ts.combinePaths(containingDirectoryPath, language); + if (territory) { + filePath = filePath + "-" + territory; + } + filePath = sys.resolvePath(ts.combinePaths(filePath, "diagnosticMessages.generated.json")); + if (!sys.fileExists(filePath)) { + return false; + } + try { + var fileContents = sys.readFile(filePath); + } + catch (e) { + errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Unable_to_open_file_0, filePath)); + return false; + } + try { + ts.localizedDiagnosticMessages = JSON.parse(fileContents); + } + catch (e) { + errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.Corrupted_locale_file_0, filePath)); + return false; + } + return true; + } + function countLines(program) { + var count = 0; + ts.forEach(program.getSourceFiles(), function (file) { + count += file.getLineAndCharacterFromPosition(file.end).line; + }); + return count; + } + var hasReportedErrors = false; + function reportErrors(errors) { + for (var i = 0; i < errors.length; i++) { + var error = errors[i]; + ts.Debug.assert(error.messageText.indexOf("{NL}") < 0); + if (error.file) { + var loc = error.file.getLineAndCharacterFromPosition(error.start); + sys.writeErr(error.file.filename + "(" + loc.line + "," + loc.character + "): " + error.messageText + sys.newLine); + } + else { + sys.writeErr(error.messageText + sys.newLine); + } + hasReportedErrors = true; + } + } + function padLeft(s, length) { + while (s.length < length) + s = " " + s; + return s; + } + function padRight(s, length) { + while (s.length < length) + s = s + " "; + return s; + } + function reportDiagnostic(name, value) { + sys.writeErr(padRight(name + ":", 12) + padLeft(value.toString(), 10) + sys.newLine); + } + function reportDiagnosticCount(name, count) { + reportDiagnostic(name, "" + count); + } + function reportDiagnosticTime(name, time) { + reportDiagnostic(name, (time / 1000).toFixed(2) + "s"); + } + function getSourceFile(filename, languageVersion) { + var text = sys.readFile(filename); + return text !== undefined ? ts.createSourceFile(filename, text, languageVersion) : undefined; + } + function writeFile(fileName, data) { + function ensureDirectoryStructure(directoryName) { + if (directoryName) { + if (!sys.directoryExists(directoryName)) { + var parentDirectory = ts.getDirectoryPath(directoryName); + if (parentDirectory !== directoryName) { + if (ensureDirectoryStructure(parentDirectory)) { + try { + sys.createDirectory(directoryName); + } + catch (e) { + reportErrors([ts.createCompilerDiagnostic(ts.Diagnostics.Could_not_create_directory_0, [directoryName])]); + return false; + } + } + } + } + } + return true; + } + if (ensureDirectoryStructure(ts.getDirectoryPath(ts.normalizePath(fileName)))) { + try { + sys.writeFile(fileName, data); + } + catch (e) { + reportErrors([ts.createCompilerDiagnostic(ts.Diagnostics.Could_not_write_file_0, [fileName])]); + } + } + } + var currentDirectory; + function getCurrentDictory() { + currentDirectory = currentDirectory || sys.getCurrentDirectory(); + return currentDirectory; + } + function createCompilerHost() { + return { + getSourceFile: getSourceFile, + getDefaultLibFilename: function () { return ts.combinePaths(ts.getDirectoryPath(ts.normalizePath(sys.getExecutingFilePath())), "lib.d.ts"); }, + writeFile: writeFile, + getCurrentDirectory: getCurrentDictory + }; + } + function executeCommandLine(args) { + var cmds = ts.parseCommandLine(args); + if (cmds.filenames.length === 0 && !(cmds.options.help || cmds.options.version)) { + cmds.errors.push(ts.createCompilerDiagnostic(ts.Diagnostics.No_input_files_specified)); + } + if (cmds.options.version) { + } + if (cmds.filenames.length === 0 || cmds.options.help) { + } + if (cmds.options.locale) { + validateLocaleAndSetLanguage(cmds.options.locale, cmds.errors); + } + if (cmds.errors.length) { + reportErrors(cmds.errors); + return 1; + } + var parseStart = new Date().getTime(); + var program = ts.createProgram(cmds.filenames, cmds.options, createCompilerHost()); + var bindStart = new Date().getTime(); + var errors = program.getDiagnostics(); + if (errors.length) { + var checkStart = bindStart; + var emitStart = bindStart; + var reportStart = bindStart; + } + else { + var checker = program.getTypeChecker(); + var checkStart = new Date().getTime(); + errors = checker.getDiagnostics(); + var emitStart = new Date().getTime(); + checker.emitFiles(); + var reportStart = new Date().getTime(); + } + reportErrors(errors); + if (cmds.options.diagnostics) { + reportDiagnosticCount("Files", program.getSourceFiles().length); + reportDiagnosticCount("Lines", countLines(program)); + reportDiagnosticCount("Nodes", checker.getNodeCount()); + reportDiagnosticCount("Identifiers", checker.getIdentifierCount()); + reportDiagnosticCount("Symbols", checker.getSymbolCount()); + reportDiagnosticCount("Types", checker.getTypeCount()); + reportDiagnosticTime("Parse time", bindStart - parseStart); + reportDiagnosticTime("Bind time", checkStart - bindStart); + reportDiagnosticTime("Check time", emitStart - checkStart); + reportDiagnosticTime("Emit time", reportStart - emitStart); + reportDiagnosticTime("Total time", reportStart - parseStart); + } + return hasReportedErrors ? 1 : 0; + } + ts.executeCommandLine = executeCommandLine; +})(ts || (ts = {})); +ts.executeCommandLine(sys.args); diff --git a/bin/tsc b/bin/tsc new file mode 100644 index 0000000000000..3c0dab574f297 --- /dev/null +++ b/bin/tsc @@ -0,0 +1,2 @@ +#!/usr/bin/env node +require('./tsc.js') diff --git a/doc/TypeScript Language Specification.docx b/doc/TypeScript Language Specification.docx new file mode 100644 index 0000000000000000000000000000000000000000..7d4948d33f8cd98193c1524e129a973e31d1eb80 GIT binary patch literal 335375 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�_4vfcT4-zPt{HGA|gK#vk#FmNnG1PkC* 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

X5@s@g3{!aD?%0KVjjlf1*je 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
r@a!(XR41vIZ~M%)ma@Wto>dOdmRFH zh2lN-o4jILTsiE%ek;4r_T;HDaq#YqdHCxCLWV2`1*(W7%~=gNMFdEkpDDHwuaI5N zwZ943Rlbd=>?#+16=DKs?PNIBMGQ!KA&Sa#Q-p8`lnPLH=Zh_pa`zA0&9&Fg4@qIf zSI}LWxHPxq!LLsyrXx?Kw^Er`#yv7xd^(}WQyMx}GD~3YDb$B_RAOa`JM?rEwU2&9 zGCG%1er4lr<69KCC>B6fJ) z#%3ak*{UwM}N6mHfb-pENn9v`>2B9{<1x+-VmT2L7lB2)qU3GZJ>wZlvsF~Dhf zlZTC)t+=*r0QVj&7#Y;@zg#8&a<1Svq+=2$>`zl{{p6tYu=UvbTrh>e9NBp#>0riH zyS_xdf$oeAcpt*l_b0WQRX5^Cfw)ghOSm)dp(m`HVs z;i8umANu{P|NU{hNCrv2m$W-v_|J$zU8=5!;!+2A4>0)o?`3}(VHlL?UZ)|n%V2>w%bkPulF-JcVk}hBIETV ziz0kEADsLL?_F;-ai~D35j(VQ)_RjpN1G`Dj}H|ABmt4<3Y+{pj=i(zC3cJ`3D?)5G{z}q z*w21OrTptX{vGKVuJ&+=+>U`2<$T7%Ht!7BD=n=vK_5JYWLiTxd}&^d-ae)3lJv0i zvkoPEh*&8Tj>F&k({{IS6(F+JwNQ~HKQE1vW=U}6pqmW)=4P1D?W3!F*MznnQPaDt zw;TrT!kUD{Bo3y}p4s!La2k^Jh&S15mK~7#mL@`ZYL!H3v2rgIrtRK%kjLf=rPY4I zP|!coM75#d(pq7UG^)KJvuni}4#l{`gpMvS_2cf{CSC4skkd+l{S(y9a+prK{i(mM z_Eo3d$t$BVO!dpO`xq6N#8=f+ce7YOlIXD3f6f{?-EULFs!Ok1CeKHUg?rWx9jaElq$(w z0D0k}up5qeMAB(Bni+d`+$Tb-Cr8OT@1<%Fg5^agR8SVBHr5vl5 z8PAxX@il#3z(L)qqjDl7-2LM|rOF_C_)zvJse4W9&N*#JI_?^%K)Kv~Sz+%KmUaKI zS}*@4U1596-3~sS?E(!F_O`j=HKm4w)@3&fGmz$cYu2AkvOX8QvvD_RO_ZO*Yf6!& zLB)V^$M$fi3YH+^RO#KT_2)H?n5+EigabT#N6vcwt<4qIu}1v`tyXL71jI-fv7f!8 zsp12I(QxsiM3>F3jelNM>~YZ6D`=&j!KdnSdx`UV z%L;r}W0yH2;n=aCFgFsY_|)7e9U0e#2wF8I1>ZKV0c%e504H8;%wKOc(?P>7dGo=} z5fy(1uyMzGIuMpsV)To~yN%-djW6-uRAZEt>+9O8qiY<3i#Rb7Q`C#*u%PDfMi_^3 zwVyB)_S$lN^A?zOJKtTiY$gSTl;rvD_K|MDo$EKRJhJ7flt;5>dos)D_m`GO0fPOA zle6L}vMPcu^I}&=Ks_#M@pNQ0RQ3UG(p!TPm7T^6ETFD_-Yx3qk(>%_JRhB;x#2u^=^14s{83jf)@8WiR|Pak1hRX9;c=@utyKj9MbJ5#Eene;qn|09Ty1rmk&bRwJLl4@1f)CkKWNN9Z9l`+xqV#2j$bxD zueNK_ge#cgHZ-K#V?SXy>7PiNX~lQ`m~KB%-{Q*|h)3Gk`I8@DY$U@v>Jp6tHV2ZJBYf)|K6AvlMc?h?s`!7=QE#mfwcfT`n^*Y z#%uG~B>qDD%>2E?BYit(J>`06=xu-F-M}|Q{a4#>O3%CGdLZ@Rx14u{rvNHxZl9jD<_1#@W~HMrKO?{vG&gPkosHJ(9J}FEPU87V zl}kR00MSz9TI8a~d*O-*gYkd==RYY;-8uDwT=SWEftAFJ`f4|PF%OuZ{Jrb7#c*J? z+7s5G0ICguk;;3x%+-^*T13Z6at|5^z9#4Ia*iNP@x2PQT5r)i0eKs{6?=vB7jG&! zYI+^yqhz=J(gtY_`gjez8lXfgs_H*zH%>|3-eZ z3LWGeyi*uHQsAa=4EK3x_)#IthIE+FnJcGI<*^aM;=UUj-T0U&*p3?$nG1M$qINq@ z)#3JLJM`$>Ss7PWbj)f)K_u{)kuwpQsU~)&0_HdgAd2doABEq~eo_aWexUdQzAgQ< zTyQ9`1E>OF7W8|0qRA9J*36aBM|e9waO3GpV^*W~JGuc!3rFfc`?%BXq#FCLpx%1~ zNE**>#tb$~bwiIUb2J55QKi5=mC{g~2DRrNdDZ(*2l@Z^fBqL9?jLWEZ;A_K%Hblu zsGPgF-`~@BU&)0_{aX1M!pe5r2e1i@u5-wojn^cu?9$U6CW5>g11}on(RIHwN2T!T zm}uG@YVI77wHa0ozH1H&5YxGDppM1ee6!l$Q}_hj@MvSs?O)(|H5qegFP0yI2EAg^ z4(vG-*j<^~eKpP&2fpdnioV5<2qwX*RNxqJhA?!qZ7gqY5U+qfh+@g)|F1y(m#t(r z%eop#xnVzHLhlUPE!{B48?jM6f4mKK2{0<=k8>26*41<(U&GS^s+cWKBL=g@FME1I z7B`y3**{7aXFX9YPW?m(7gMZ=5ER*dq9*Y%tQbsN&7O(!AQ^^>LP90?n;4F}?@Fxe zjGN6%J-*)}{>O5+Md2hRSYks-(X7QSI3m6*#<9d!tJsAs6X)DOIT}IIX%0|9DK;eh ziKtVr(16nM8rPM0k?+Lz zkDvA|mcW< z+f}9dQKJW160peIhbA5Uc}Y!#A~PA-kQf)^X6XHHbG`gIK8p7|G;=n?3(#K<+Ef)reso23#Yq-YskG^YL$6iY_JC@A)mV#qp2CN_3=(CPG>uVPHU;^%?br+A2# zn7(p|R=eM84_dumjSwv{O<kqomrSw*U%;76QFriDM3C0gE*uAK69KQ9;uIjEobG_`U|=w1#Le*sei1Vw%7* z>k>{hvax)+7~#kR_n#gcoe1Pv{;cuo1SctG4S* zlHC|3l}}goB&(?Iy(Yr9GoPzeHSH(N0`*VClf0^xwyN94yj9AvUw7xC8bzymVCn9P z!@6A63^?PsGGz*6bMoROXF_3&X1D4Nr?bwmsWJ`CEVjwP32egTX!l!?3(bzTY%;C| z*EMb(Z95xAY~FxBc(=WNq@M2S-ERAMd*>xF?N3v>5^GMTB2_*RXYpa2o81-;Bdj9N zoQR>^6p48~JdUmIY?$rh1jXhHv-sV_|M z!Re6{lpLW zQHBpu1!jEJAM}jRgmo2V78v5vQS(fG-ktalnDdg{_YE}3M3M6bhNzUWFUAQ-skkr| z-&YoA<}_fL^GL>z_6g}_|hF6c^w9CDh_ z$c^nDbcD(-8h-)3gQ*L%c8@T4Gn~S^hG~okU7Q}p z_m%0fGpv-37uarKnf2%~x$tD@)tfLzj{+)0kEKlc{Nlw=4O;Cm!h=k8ZK7YpW~Ve4 z($3CDB}($T<44#L?pCf*@EH0Bu^C#gS-XL;@SPc^R4UvCLl_tFi;+siB*qC~X`GnE z_mznWNjgyXI^7z=O-vJ5W<6pWT(mEuwqp5&F=7&5gP3X{OD4N41uvIXj6?P_XLP@y z0oCkMDQZT)B|+tYXeYVmwAUWvUQ0=DUF<4Akg;J}DD;NdD>Y0(TM15B!6fX#1RCe} zHo_$Aw^~!Dx=VZ3X%2ODRJE2V-vHQGV~&T>nL%k1`o{=kgI3mf!1c`i5-}|C+F5e2 zkt$3;$#pwZE|iqL7<3O@q3x%&{Av{dKOMGF*7%h8> z6T*LMyShq`GL%PSR!&!+R_j&aI?N0Ul@uc>*N?vL^*!Pm|6XH0 znYGae#0NI*f71X}VCyFR{+P)|uhHDr#hv2Q{JVfIsSQo8xK(2RlX9vDG>5HdV9@U* z15HiZE6) zH}l7JN^y@0g!U9F*vVaVWK_sLzUhquvV3vcKomEj>IxMBmQ?)~!DQ~5%&8D2Irx9P zT~>}=Dhg9tFLAQDFq-&hn7ty~+5`8-@GTyB%w`NS(__E7?&Y1$Yd!qCO<$keFN z#=PYj?V97&sbFByvCpB$@C#88Eh~E~E8^jzG2WoGQ;LAH2gH6NE|eh&ihqh->LAa? z_Ay07{89vR@}-2mc5;>p4h3Cm4_3;hr*JD$s3v$6MRcd_Nk6-l@KeO-y^A!4w1jw# z;E~26i;PJyEH{XSrW+hSRYc@kd#f;~S%zZ7vq|f6s4ryvL`+sXf`LCH3R^|ia?m}1 zzk%@;#d5C>(Q3EHy56F`LMUD+TtF@; zw7r?_NJXJHzJKK=Cm9rRF?9rPP-U##jT;)tk7{hq>pg47mC-#E+z`n6wF2cfTitPM z>{GezCrr8eCnCk8EftRAk(Nr*>a{z4zUf1L_jdc!{e1TmJ0AcUWmNDzU(r%&S>B0v z8@_Pmdp07-A5|tyG2PJ2A;y>T9i;0$&EK2VO zQ~^_!-oe4xl7o%uKUt~|69qP6z4H|!YS3j~_` zZbV#&`*&hZc{ZLqhP`!pc^tFoOy-q4T4Y7>z^~Q}KF??5l8Qf3{Vz@>WzwcRy}O78@Jsh&@WaAs3{# zZIg@Rwbq0Z0WIewvQ7vtND5=7L`3ECiS|>zKCSDSJfs+mt(upJk)Zm0p5mwyp5^nu z)Jx4W&jox>a=(~doV;FYy|X>4glfI1m@yeLBPNy0yQiiz%{ShXyE9Lc_4z||cLkfn zcnt&1mkdmVqtF)BUV)sBCe%4ct8Pw+k-6;mC<@d{wn2qKd*~dx=BEuZt@TOTV zP#&q#0xRs&-ixJnSPDsemoXOB?6g%Sch z*g0;%iyB|~LFU_b_F)-|HuRo9e9&x)GS$zAmfCjIWa&pszg{CKQmIQ(F4gQcuWGWY_&zJQHteYw z?3rPpo++z973U&BhyttdAS{egAk}&~m<=dL+15I-0g>_}l`G0o$}0c-Ba{iFSlIfz zTzHnqAHyA?;02s*xmKO&#nI)95d$h?JaSHaUp;c}SJ?@`U=^_z0Tl{EEtdC}FPCFb zOgEJ{bW)A6Kj_bp^kY^k_{k(mCP`Llh51QYQhl9zD(p5A?s$_$pj_+5A8xthTmBj> z=n2P>E-_!PiY$u~U7jI;v~*(F&f8{5(tGcOIf+MDtIEZBAc68=;7e!|2D$E}qhDr_ z>z8Q|vj7_={^}QfJA-cQ?8Q>obfcS?;8Qk%yu#IS%#dnazKaeLzA(DesuapA<~)cY ziSH{jq|UI9{I+hVMkueCCa}zUp}dHTuXqxH>6Veacd^)j*mwh-f4#;*nOsCVu%eS) zBI~f%OIoVRNnlW&z(RsuB(d;yp=PyOPV|_T}>_Hg3H5dFK;-O=nlc@w%bH63%|Y60X@nK!Cb-@ZRws)8x}!q5FG$ z2H-uW02CFQNu>?BTT%@E!^>vtN(ZF*P2S9VjVo?Kb?v zS)n+2X=6WmraFOffM(t3xa@JMZqS(|SG{QDLR>fS^FHMba*smt-12$-{8RZ*M!yw# zHyR@v4SwtxC^dR2L@!*AvdbgW7ojdnPhDZ$m`%wc^As{h_fXMU3*=Dsp5VcKONJ~UboXEZr5=5CwDj9x@`{xV}nsF7Q1JqIEz69k| z-=oCO{zfI*D9J-L_HlJfL5L7HxN#;Qg>^pB(gBj5l0mO|8Qlk63gPm0LFx09B3b}T z1O~d!r1z760bTUh)A*HrVTjJ_z^pGTWk+KM7EsrM?-vWSL`HYbbp~FQG7h$ZDaDNa z#C5J}#`jK@B-c$oEw*sHsijvyd+}PjB*l%_SOxrM>X7z&CG8%{9n%0h7`o8+vR=O- zc5zs{bnemyvsQBwm0#%E=nkL`%iGJ%RHF6EHPi_%3?`{?GJ`bD<4qM%^pB?lN_h^W zm@?o)C~Sja;@|bp#l}fy(`P#Na2v~Xn_d*Kg3u>OXuK{hNV-Z}R~(zkTiL z*Lr5;Mc{^ag~i$>W+CL%uRyZ@ULab}0OqGN@t)lhom)2U{>-EmH}Z%GkDJwIdF^(C z1#>4pbT}rTi65zGAa~ahmf6@pInPuvD&955d1jTSX|`@sU2Az3YD6TFW8_sZVh3An z&uEbUOt|Ooxt1wjL~<`mkY*efR4Q;(FSYoUps!C(&@W0*K&ThQV1!<8Uwhhq8j2;_ zX^ngRp4BDgNRtIoFl%HSdQs~|1>j-;uSSiV`Fg)B5&vfuOuLdacE+g@95T*97A|lo z|GnA;Oy;3tpB&sn&d?V3>QI9eo$NM3-%9sgwZ3TFlrzLXy+io99g0O*Z`brK%-YFt zI(en(%ynfPrWEKgY2T;uEl_cY-OYUAp0M(?1mIG1CP-!?94P6i;9m&5S+4Cy3~*v$ zj&gP;J;X1L0(47)PcYpI;14i%nzq?I;AElV50mJ9*st}SN*xD(9a0?(rOxdSH z1CMnZ+P`fE`Swa84(`CYF?Oe7i653rNO& z`o7$)Qsa5o!Y>^iB)`Jut6(8Yw|J3X-=!nMPgV#lC3rg>2Vuu<$6R5}J?#JIM!uqK!=+Mf~BAbVu-X*FjnK?z2f~{trw4_Rw=XI)p1q2;SG zuBz>!4CQ*yP}ZRv^uCNAI*B2E>+IbU7e^^F#Xt>%ltjYL&;d8W+0-mkSxDs@>yWLi zq?Bs#RRc1C| zRcw<|aa7t`kQLF&Rhe$@%)Buqw7BC-O0Tdhn*NY<7+pNk%qGy=e!@pH?j|i=gVl@P z$E3p~raxk>e3*APLSm96<$A=Z%_?CnkCDoKQTh;G$!i3}i#m5Yy;djMM!DDk8Xcig zSqk^%@${&6r`3;#?r|VG7MsPWqsF zFoGma`7&A6PyqreT2eIn6{M?Fn+lPldPcJdftEHe`Nh$4RDyxALz0L!dR(N4&=sf} z`*J$$G~3Cmi1yA0LWn*Wcpe+lS_}$+pmsAteQ$C?%27JXt12w5@-i6tGwgK{mjZIJ zKzg2&a=uxk(Ga;DSC??g*`lAIx{Rs2f7T zzE%XTvub`dYvU4Is-#5}2ZHc1{2&9AyC7W>Mwu1F08dD$y;d@9XT>z7Xt$p{S3;$l zW+*4NE0CW$MsQxzbJyGXHT5^lU(Tr^c32gNfpFX%B1YGA${8gz)~h{HsXKt-o5Z{; ztbxXqV4$${B_S=s*0+W0Y&p1tjao9jU?MvYPoT*NjI*VKLQe}fBMdvLD@X(x9gmJ# zDWz<2$6;q&IkOP(g&FEggTs_*Uvjzj#>9^BYMLa&Xl1u(KG(@o%WZ-4j75>(TPL6o zrDAR?FL_4a`41%1nuIb+Nkc3p*mFs3R4OR(-^zhRf<#M?DwK47#$zftW=raFI<)Km zyqa(JSd199+gB~GwrD?LZBhRebf!JMw?UAoDlLHEEPylJlE#e&Dt6%@+}tkisPzs? z?kNv^iiX_eY|~at?&sGw0~r!!r{(rsQGTd#A@QJa%+-U{_Ky!LEs@Pf%ZkbQkZojC z;0D8Sw>{-XCw$8%OnUptFK;PON@*2~QeH-6nW4vJ$acqQ=E0p^Tp-y`6oKSL@s+34 z&#h)KV9@c0IrscA-QEKU$!Uq-jKd7pKI!@kv!k!N;<2uvQ4P(t6+tdI@&Ty{l?nfB z5L;XB$b!uncWp#&CoMGR@ZAsEPxy@VPei4{n_W4F(;iXkH1-pBF0XsGG>5Y@MdIy% z-5{rlvt%4_I9d!<8}H|<-S5`v??1NQHa@mF?ynGwLa;0ky>MqWR;voKIQ>p@FM>O> z;?S?%pU=D?f2Js}#m^?t{%3jL`mRBs|0dSj##-B@DUns8@oZX>R5qS9$4)e}py+Rv z%07PCj(5BH*FBS3G`jXo@H*Sx8%@?WEa zwv;;X+LC`N57gj(y95E@1k7SH@E$;8LO`f?+Y+uMaepqMP47bGf0*BL<85c)+-2Zg z_UJh9tZ`ZB#R^{6&Q*IdZu^{7_7gUA^iPCQUei{GubN0b{f>zR{gBRgDNa{K)OKi2 z5x&~)_u7LN+Id*wcnf6s=rS_5HyL7xpyeD2{ zGnTl+Vz+uoH8`@gz3oHl4o(maxi=aOvAlQTn4Dkecp2=GyHhW4YafRXVA11)H6_4i zPSqNw3c%E9PsXiIa#kWKBClC;7*tq4f0m&p$#qwzrRYmK=ayvMiFOK-31&3&G z=lGFcFL!sV&0_7--}RA0_!CrFPP^Tim_n3>)YF!eyAp^m;wMPDyCn)&(8agEehXm@ zp!|x?$fU|HB@H+){bA$4@!xjgVaS+|goBIh2_=iRM|>6Yz;s5k~Z+h1I&b$-28l939k^IABg)lUpcOF%U3n_Go>9J zjxQjvegu~zudng*Y~J|u&&yk6#KLlH_6H@pCbI1ZmRYWN{P3c4(Mde~z=X?4-^6~if7RDj z)el}Gvq;g#2(W-<6zx6D%;*r4}zU;YQEhd2F-lJL@p**F1Gvo?d|{v8!g2ScO3)uXg;{I z{UFCjRez6sr~SkFKrzgqp5<=0-MOqq1m&pRZ(WIDUWOAIAj_bXQ5QTVwgKm~7yg?u z1(<=)@fn$;K~9GCZs-`*?5}tm76q&&?eopX;a*G=uByDGZ&&Z(VYP)SjzB(oFm>sL zAe+;S8foeMOD#-7R9<5H7Fn~^0|7n6J?7)yJwWQb$pzZFe0VhI^|a!67_)}fUPOe^ zIzu~9F`)#ti^d;8OS=!N{ZfNJvQX6PSgvo6$KtvBj^{!-<>2`UCA>Zm9l<(8|J1d9 z{{zVKc*e#JO_Zqnf3WNV9?~6bk4vZ*;9hyIPA@03aQN{?gI4#^ntk*y+7e;~Hs`Zu zt+l*N;2xKwW_vV|R4eyM8Se2K{Mg=*Hz)@q&yGn6AaXts;{=rg(MWSK8J{Z3S0(oC zFB;%QIuDfn8s$#IQFGWf{Wiurne`LU?;hNBPY!rOZRF(o;I*=dl!U=mXFfIJOy-b$ zz~t4)L!}TpU(lHN9H`a5NznGUJO{Q6jW>16V-TYMZj7t@?{ZM~u6oUhE?!)~qWD+n zGTj@-dj*ly_b1kP@7(VBuaum{$P}et`$Os35{S&~#!k(&9ruY$WMiTyCDe#_D$knA zU0gKYE;q{^qT#jnPu!D~;A=EqRmzCfX%M(ZDuttkGj^J=f%dSEZbuTA5N_wp%LJX+ z?VP&gB8?_?38PXB*dO0LK?G8xAgKO$qw$6NNq~wBG}KXpk5~c(uA);YyNt zuVvL>j7rlb!ios~Z%B)w>=FJ>Cc~*cI&e@m@%ogbPrj?(V34)^MYFuy1*yKcmwH%o z-s&HYqPYN%qf`l8U4h3h*2mm)h!B5}&@$w4e}G0#^(n5mclWFH@;8Uo9hOMixk}F1 zKOlQ5xPAig@lHNrA$DzA|D3ivv!QWjXgYDdO|hnxMLpX20mwVgLr#HzJjd2m+s2F` z>BO*{DPT84q*Oee3q>DRdTLei135rSJJ3??804UJO7|=XDS(k%qifjc34e6EQVsUj zpgW1Tqt4-!ULFv|m@=w=9g))S7w;FZ)HSQ-*E+%itMcj0(qRHWM!WLvl^8A2Yjyhw zUNGBH9KkRNTA=0#aEN6G7lH$wn3+ZGOhyo`*m+~*V#jlNpBC6`68n>eKbu)}i2tOD zU=gMJS7+0sspsB4BrOvBm<9x(?0RU4ohy{EiyMLDUVyCz9rJee5h|@pCoAZzt4FmH zRi}43lg5spxDnu`2Pp{@cF-CYU3~F7=ykiJxH4}2HOAHi6`E>i@gp!JySri28QgoL zP-3N{Ys_zlaYjPq&eW~$nNk%4BAX$kRFI7IhsZe0{v8}n@8}g`ZhBJ6WQ1SKu0*FZ zg8S^DFsgJ6TSV))Y#IP5kVy7jul`EkuMic5DldvLX+dnX-|QQgHI*k5c}q&1d|XiA zh;}=K;3)dPT#m7n+|4l%j5GGdr*~EpFef-o8W3%sUDgQ$aJiI@d=PR&iJJ zUBwP9qP=19lt`KNQ%YWGID+S=EfP#bgex<6zMX_(rKy0do-H}+(fMlKSI=7Y7>?3J zLfulp$wg7{<1`}1{-pUTlRNcbRVfKkW^)1Uz=v7U_KJxOC_Mh?4_gw;0z5b0Jd2H6 z5s&1?By9Yooy$-TXTdU&Uj+Gz`+ID}61!JcN7(0&0%PP6S44jslqh2puKCrU$Rr-F z44X~kj!8n|@o#_2;~tfNI5Jtvn8iDCV+@QPR03b@3@Q0FuGaChF=#sdep4(e;&Og% zuxaa#*h9{ilFO=it*`>$9jzN0I=}{VT7YF8#7&s`bQmxH@_?YtHOlXiljFkkF=Dtgpp_i@y*}j$=VyFR6!0eKsJ>X@B}c6r_T#X&$MZY16WD zVj<0xh_d=hyz9kREaHYr3I&BYc0u=^=YmCymzNN|1s&>68&t`2NGENvm&NO_<`m*! zMhSSv=Bd1=Zv+O#pyg?TaFWio`!org$1>w#<0lOxul!r7rxhFeSuFj@w0Xyt@}jL`6j-!Ir`75Y zI@UcPf1|?s^U)e6|C+nh)7ZwV2i(Oprid|2h{wQ+)!mL=8jHthhg&U;M(t@|EPgq^ z>Y-7PbNgyuCWWuRbaZ<$Pp zWa6WnhVI4iqUGau^%Dvp!!nXzaT>e=2II?|zEcmqQUKxuMQ&3-FBotx!o^%CAIp`X zE(&Ut5W`mQQ$!hZhE;SUMaTTI{PbbF%io0CBhZYiY>d>0?~-`LSS`#y{dypUi~IF@ z`vIV$E^dg;G|hK(pOoe1dW`^O6+wincQ{zzE%(cP^zwbw@3%%yN!+AO%8anVZsgsp zT@pzIf_r-eN}TAq?N3ZKF{?69lxo5jDyk;W`UbwH)1PkFD8+MAcICG-7@Tnr8g>+^b(B8OQKW8}MYhLKemxmw#fueFf@>)-m7 zchVf5%n`=GT=5ud(H6$ve1zlj<@udDk9i?Jy6jH}S?^qa;p^I=+H)~Qfdw6F`-tYU ztOl`IVx^L*t6bDI^Lc?)d`K5!P0Grc8u9{EG$va6B}{17U{vB`-%YcMc-la!N}Qlk z7yuNlrwUU`00*P%q?yJzTbM4fk^5Ke%dW0lRsCdhM_PKp6mgC$oY;y_^ytXANa;Q* zMe}H{Az=u0EO$$^-^t~>m)_4Y(o)fyt|=MY-HDVo&Q+Z#yVL-DVr#uRac!dp_HLIUpY(*CBg-oj;(jYerdxi?*dT{N8yVpwj; zOy@zj(?#V0^W+I-D>(9GMJCbB0?rIT^{NE$PmtbqId*L>V0x^?FZzYQ!e%b3D*cshJ%%{ zPpXL@P2;^NiLkc9vAcN3#;i_gKiIs+ ztdXe$0l28_j72r93^l0!_P7==ea<=su zw|!XrLQ-eFxTX?xcgq`e&RwF)6)Yc^8_?n2t~RR6sI4P&G;_613$2b`RGLU|;e?}| zZmZe6~Dj*j2KI)@ACc;^~Am@^;+3W`vHvm;oJN-J&JRc_A`|7C5BTJ~X8r zEmkrC>poGOmeqk2m2e)(b<~V)Jd+!qr3yyy@GMi7(v5*~zv++#nh(z!=xS!KQf@YuPdOk@}+tQvX+U;W45v? zl@HN1V5sKj!}TFcyjKDSRY^8M>U9>#6umdf^z_RLh(%LXpgo$S9SCid8|2S@JRs!9 zClg08DPB2A4mhrJWh^5A3nHq2IAgG6AM-4M(YuU{0&qQ+0QSd;tq&G@Mr1~OWl9x@ z5M?Xip+o75JCbbvzqOXb*h%v50v$o3{n~2 zN%Z+EaP~3nbVeg3`vd!k8kT`?JeBQO3k1evBNz)wkO>5^<)azt<@9(&h@ zLKGxQ-WqYt-!qPGaIp`I-Hj=pt70a%kP@adPZ#x~-f6@1 zjyk8&1uqx-<&>_iE*AIq>rcU|Ct53l-8&gNmUqQ4jF7wJ0P?dgp1l`fAwtVl8%scI zx82^(b|l8BX6N@Wq>TMo!Z_rcbCz(iNJB!6<~q1cjf6^8OuStX|x^LS<~#r;l3RDecv~Ow3C}=@MN7+xf16tr611JbT79 zr2<_8O-az0Lj991>lK3`+umXP^msy1W!|I zO__YrFWdd*mF>?FRq(q*HHQ_$nkkweBT_a>#r*RzRb$0XqOa?PDy(^q(Qfiaidjd2 zW}pF~_H5Zmc2!^dYB`8x&Z%5i25R0>=h$(yz9pY(tSd5a{d_5T#3P5d=%EZW1}J&y z^=?jM;H93p&2-%{Wn=PPV(y(nW2^ zV1PwL=3bK+E_yu9O)iQi=pSPnrO=HKow3H+AiC8;wscsrofcdb;6V} z=B=xh#s(QqT9d3pOiqqF=v@pw=)JgLfWe?Lim-zX0E0k$zb-2bYrA1`9IY1McTrFM zwMBLV-UV+Adgl1wSfCTr;)}H0olk98mTp3g(dgFRME+>^UZ!`FP92+xLrzAfuxo>_ zn2nR{?Ff9I>;P#GdQG%O?H4#e0@DPRS=J}gzUU^xH!z{^CJ8LJz;iN#$m#0qu7D{* zKKGl3iZ_G+zFyrT9u~!J$;!d)o61Gptp0*(@{7AI*~~DQGc59VSQWpES8M1^IWKJ& z2OFdEiA(Gw;_GR;m+G)=Yq`*Q}gzf)mY5YVnWBELWN-BY~|@>lX4dwe)w-OC3vC z4xLNrL~z#hFY{2q5gUxZ!MO1i(ijN1IML!z7AC+gh)N$1okbYkA+nR8bWz`w6(#Im zA+s&MWPyUlgT2a?5mdy{sNZn}q(ut(dMH@c2PN^4p+Zh#f$Z&)q%5;I}n)A^;f zrtP%)?e3sk!scMp1eR%$j5JHQ6O=aL2!2SJ=F~crh8OL4Yue%oeGw7CG>h_deV_Gk zTHvtQeJ7EDrd`Ux@X?rqyn+~TG?+}a&lFrmP`|98&3}_I3DJG?`ZUQFwAk|sRR@}62i`RP@%R4)Cpv6N!~4hI|1Wlomou~} zj0RZ5z1O`-vpv-wuYejtER7aI={qQ2fG~B6NZc4kiyka048=x?DoCo=HDb_*-uiO} zoqx~hpebA5c(U=!=Zj;>?&sp2QdsBxdW8c}II4DGZ(bFTRh`4s&-d06_V(uRipiig zwa#Z5{Q_;u3@0+pX6b!>T+ zMZ~4aF@YV8TD<| z4|{;d+tIay}J16NrtdLQF12@9umJV{~B71QXAc4ZVv5(!3=rGPj z+bB|rwn8HPOuvAZW)E+`2|a9$QCdT&4{cB7OqdWZ^AkAtyyQMNP$Ko%A0H@GTBngK z_hJu8nGMGt8w%qyjlCF7iJ8-<64116Hc}qJZ%~hruEf5%|4uWIKm(p)UQt|Uy7uiN zJG2Zj-%!PE{{xFD8gnPZR)3~*!s}t|;dnjN|Nc$m{z9$*{zZVB3V1&saDP(ZmJ5nM zOK|U&hlgFxN2PS90K@rlad;O3xW@?*=d%CH?(hw0;-4G%$G~yXi5Oq($Vziy)12uLC+uaIDk%g#VJ2TuYKa^Rf(iU_2ls#+B4F|))eBu;cb<|v{ zg>Q?WrzLAPORO-j*F4GM#$GVBG0lpx-`}dc`r41bJfa>&f6K`JZyWdRqZ&}aySta2 ze%FMZMm6w6C2Cxr-`%$^j+`A)tr635wp} zro;V%4pi5+vuF91v~6eY&S-jRy$ik%;WXRUj9Hg*97_d2Q(h#x;oiunl^B1O&0I@e zB&6862$pZ)O^YP~(F)NMu?5+zc6iM}*;4A!CuQ@{PRiDyKp5{(#uit+`-suUX0;3X z(sqAjGnPN*YM9!sGiW>(_Yu8id50VPe;%QUA08d!F)}2FKTl-M0#3Xs9A7u%Er+qs z6c_pe;d;B7SY~rTs}COzjGipdZ^AJ(3MrA5vvvyE~hUjCU~a zUk&??Qfpo&Rxc{GWvaxek-aK0l$P)2=_%=nQ&`=6|DxSisd)J+F{;R;y{j`hi4B`N z6XSSnKLHXgnSt0gd5%(=p-N5^C1QKhMINbzG#7rt8JM5w3}RO%6B{iH(WFv{xa_tU z(D54M%n5rKFJf>s8;IyBHUa?=T(N-wh~A|Mkg!p=b_22RiWfj7qT(?&&fMCJ_hFd2 zgp~43!*+XiDRy^rpD1h6{1ha-Sn}GBDy_+q!__ep$JNz5hsyXTbxHR}m`muse#n`I z9%pQJhJ7c$9-%si$$Is6gBQ`g{reaDhc^_bcCRj<>F&qg25#?j)ovq*RCpVDHR*P) zbpD!|!mUaFnyM~u7Hb>tph>HT2n!OcZF2*J~{rhKWYsI!~UQ|{3)9zu*`Dt zr@ed?AWI(}Py^G6(Wm2=3DHk3=5YmMGC^EaCWQhxIbqV=pjuj_W7)h zsAJs}<1mK1a<{#CK$v^%lY|-L`hYX1-gd?L!l|Yz3KxQKwS{CtfZ(ytD224bJ*0DA zx5tA}A^ytwL&0X0Q@cWR=X&*5s;Y&FvS_o&fnjW*hQtF#!|)E!caes z;zW#60Gs*}<&PoT(KwL&Ls$mH{T==W$NJVTS{25=jq(EzJB^iFA$wZ7?B}GGfExCw zj;UNOnL&TyBMz>bow=%EsoYn33+Bg|G803n;?I9TM@Ks8?BprN6i&N6&`2GmdJ4sc zWnx>x4PWaiW+d&WYy(WLF2xUVq=of!E(U@ko9%D+ur3^t>Qmp6tRF7s5YNE_c$kC zW2_7vW;30WTr@f?pMy37Ssr2v+R#i@%@7pAqs*`XV=FlH1YAV#^zKA-x6B6J={&3R zrEoFP-STQhND+fB-KV_c%5#rGJxvakJER}tB2Vsos@9}G=yzW*J-Q<7 z5Hp4@<{N)|Y=We{;f8Pj$`~ypb|idL5e9_k_s-2j55xSq$0bMZiLzBNxV)b zyo<0?<;;8fTs$pb)^QuYUYP1#I|_d$zL?MSw8x-hC39-^z{o6vK$I(!P?8&2E}P=x znT$HqNov-`w1>)>I^0scIxLfQp+YcB2F1_I+fJv|8nk;|lR;tA7L?Zryi#Xfj3_g~ zeDivH-5GWUeX5w_R1y18H_xzrMtm*SGG3*mANLay*(^%kcURdp!b6p<(Db&F9;uy) z*SB8S8FM_D=?4}s z*ulor4>Ug6&;E#rM2a=?ks%Ah(~4Yw)NMDNurCQ$$$5LZtEnWt}LoCce@LBs#i~XuV0R0ay96V+z`>x3|$Cya!M8}ey7!8tB^TqRtN*e zoh#B;_DQK);uyAXx({BvV$!qQbNp|jJk%kGCw?ACNQ$RvvFRzYHK|QNzuz0RJN+`9 zWY{!;WtL0R>Q{q_pQObP1ZGqJ(zGLx?ND@)(M`8>a}NZrW@&#J8pPITX0VeQUEqwV zG{svA%2z_s(Y)Ck*nDrQ$hBzvve|w>@&R%>VjDFCs<=r?wzZ*A3m7JA-6u+I6bKq! z-L~(eD;l>u%LsT9}-MRlOSj3XE1f2D44QrI>jU-k;XD#g@R1`A$a)(b?=EGo2tR zQx8v=C>yVn~=v(@u?z>$NKJ#HLAVJsttGPr6@ZBHT@ zxrrYrpn(VY$Za>K@paJcb$e5#;fW?2C6&x~i?`&L^6OoM?%x8aLHO#W%Vb9!S|n|E zGU;9o<4R~^{^qEU#JH@;ri1X#6D`6=gUg}rofXu{sb{^;I3w9k{kU$B_V{M8r{bZp zJ+;l;=A zUqnVv!Oqa4|0Sp9)d%g6kx(7hXuFfX@Dt$O`1Gp<`1nHZu2bUBiaDWsiDDymwK|xB z&31;AXsJ>faI@dEDFA62aPewCJ4JW8U2k{G8@WY8ecWOB@c>&W7?VR*X1#fCg&Qh9 zOVXmhS^$It0eK>oSFaCc>e2Q>`t@g^sD_pvQ4So{44ly>shJ?GP%IVaz>^1t0|U-OV7d-E6)#=bG|Ae$#{9e4DIt; zH;V86iY*+qe>cYRbQ?rIOky&RY2~zrovZ1U6m#Z2QTJQsClW8#2cK$t$<|B~$;*I3 z%mJ>voZ_hVzBcdjtagE!>VQ6<-vT8-sl=|Xa*T^w=8@0tL$eqTG(UK^x_+lFPJICR z9LNHOtft`|U5N*NR%C5BqO%YS)N`rgD$y0Y>GX zy)_{yWqUi@QCv9P(SHAe3c$W%6=iBz^O%mx?|&*zjD#PPaa6~&FR2IQ-Qp8&Tn`VX z<~9KbK)G2WLJFaoI$Veyup28a298cg?b%$cE$Ti|L~MRyM1241@Cn6FP0Nhp%ewTo zuZ-#~_)N@;UU7Yjs#qs7HhlUff;iroG-5`5&Vnj4rS(+F%#WnRqA>N8owQN2oh6m` zZ?-&ARY3*P(4-%g+3g`(Kf+mc*`bR8>2K=Hn5tQ_Kk2zq^?J8NJ?et1m@@;Ku-4!A znSotsEmYcaz?t>fn-rQGo*SJW`4|f{t7?acViz%;zS7{u+$W~&*D`g=U5BeC@F+L; z$yWtJw-qZZghGts^08S(;PT|$?BYokr8keSDCJ`PY6I~36{Qq@VN69)c-tRYX2!3E ziJ%vUFBxk)`G6(x5!gMsu}U;Qx^WWzip7cKKbTl`X znHxq(DnSwnK0r%R@=K|9J34G%dX<_YHMYoIfFBF}58?N^ez(}XRbB1jz~i}NNVtF} z?2=qVUP4#(!!jpJAW4f$si1N`ma`|4#3z?P4s$@#<4SPA08)L`;t0YOFy~m%B>>?< z#{t9hkUy$i3l!#n_1I61PA}gBO+Ihl%1<-j82XmmRN)>orl8ANISQu6S?jK2dg;`AIR52(%`)W4nia@`m$fm(ESD6<*xf z(f7OGr6!QxU%%((Rjx#!+}qEV>bo?Q-K1nK#Ah_tv{>@2>rG~2^i zQ=z3MMgnepg7Mv0!T7Z*8;LRb%GdH>t$XDQAD*!|p@+%uU zqJs4N>+yr%8^hxBKK@s^@>BZ!<>MEn+|{T(?~C3=_lYm%auQ3_5oMj>cT4orM)j9H z{_P=XZrFhT(F#Ie#LM5OX%6H+#P`uEe5h&z*=Pzfp^VmYw^%oV#Wm|jl{Dz( z^s*V9b{BQJM~(m7HU9IRf@1cq(r2_IB(i|AH8OhMNvR0}n_KF*JR&n%f%-?l0pXRm zL;T@(bHGI?0`PRj8x)z@K=t1>7Vj6U^};j)&uZX#tCG+Eu@xz|QX2GgDQeOnrA(D` z)C5vR)|tntH}AABMTPXrd0mmJ`H8@vn>|NUuCO!n(5Hv76(nT|Ej*;m6B@Tr>&R-` zQ=@qAR5KAs#@SW7GnnhznuoD2vlDtz~p55G|E=tvu0toYR!~PeZA0{a$9hb zB?TRrT^K+47~xHxvx+YpC0Y3-YTvHRe%v-t2s2c;&9$kJRaCvtK_6|Y`?wtg8zMVF zPsqDM1;vy?eT@&R!#jNR7P1Z)UW3T<5KE?RPvUvT3RtpBpNv}s_;ijW6?>4$372bh zIw_Ud_-V+4LEL&fjvY^i3z{+bpUS{`Z1GT(0x_+*I&0*pD%Tt|2WZiWvnI`_%@Zw@ zj;uR&hk1X#iQ}J*j<7XsZ zFT1Vb$P`r`+dL%ygBVeKp3H-`US}!EM`lBW-Ton2wvszlb_1Nb_G2H<=H1y_VNZaEhORXAtUyPu6m=p0r<<}Tj)(Xqhaesgq!UFvK0hO;wS-= zKJTvxtRizm$m(3<=h?jRXVqt{JsdR$y+MHsBQQ;1ndQ71!;Ah!E^VsZgubgI@b$sd zz(q5!hgQYCp2S4lCyI%fpXlIY*MDvIzQA6ADU}y%Rqfn5%Kyh&!1b|=L3c3F*MIUi zsuf25%23T``P%pg+=YHL-JTlkTEe%u>=YnVwkX`pA^2#!{RP(^zwk%drqu2okPo}< z(eVb=H~`!q8FTJAPc&ThPc(9j{+0Pmn=`rsw^&!3!)|-?07s&}NTb*GS$m-v9k$x7 zD^tBWz#W3VMh*owOn^?}Y#nV_1C44B3Z?bW>y;n_cz0JyElr z51ON9#%pEfIiAG!HE6e+m(e=>CgYy%miDGMjDYaF?H+Em4ZOyxm?@O9081vI(0d3z zL_GO*@WqS91mzF>H7hEX(J*s3`QLDUT)a{ol3o}lLH9|31b;Y?myh_t{g&GQpqd2CHBC}J#$>lJx^~Ncb%P{~Tezwe zDkiWCBP1>M8wJdfNjwh5eO=rDXyEWOz`3OIm5aB_OC-zxqC`$W3LleOR%++_<@yF8 zfp^Qr2Elr_530P$YID7Qz~;z3w4)e4%{q>18YsjP;G3lmOvG^7?*P(+Y9}xXyKOQq z4SPI=cWAA_@PrlANbdZ*X#Csu1Ko&z>v6Me?PQdrYsC`HCzfWrbgR1CV&~uyOWl=L zJ0w5E_}2WgJ8Jc{aXEg6@JkC3;1kAHY=mUXZnyaK8-F0ZiS-HvRM3tcR&oONj9R@G zT7y_HGPTBiq7cRWMDtX(fI2j1-kRxX3&==nD!$VAoi_MkQF|Mf3>Edgs5G>Di1s?R z6V!C#{m8cOK2h5@KhgGMhRSOc)5&kD+Pf-*Hd6eaN-Jvmhm$WH1V_{>Dt#A8t(76iS}FRDV+zuH5Nh zKp{Qq8LQ!59Uot^%eJ`W8#J4(qo=}WXc|;;?KuG)T7guzMKBLy;1Dsm$_+rEm;ncl zIA`$9 zn!Tc&m`n$ky`x0boW=W*aTXWf6jqs+6>3V>zbz@oOm(|0JzEFDpr>8T#&phQqJj4* zjV!5T;5d-m9XPKj(0k2xAD!IX1)Cpf$D*xIJO1IYSg)=P-I})!<9}KoT!SAYR2e(9 zI3d{8e*XsqA^BKoCnxq-_g>%T_ZlGrB*zzIMAnWcHfP5NN^F&(B3d@+S=MD@33+EC zf>So<1LB<6Q8OigyJS@MT(F&kZ$9g{CZ;K2z7H0Evu-ks0Gg=YP?cSQ#>Ue*+%$wk zRR=zXy!^C4rb=iU+R}VB==Jq&a7q5WM8I`uPGOrK%&tYlv^nTB+oqenappU|^SC@U+R2|NKXRhFB~t?B{+|T# zW2f~%P<>mEOtbx~&Zwo$pppo#Xos-eMmI2sg%JN~@$<7g979_c*Q&A&eV6s8#coBp z3D5qxO5vkATaw&Lm9`M`s57Lt6RW|W$HdwKQCjoK)0L?5fo*s2zZ{l|tv%*;>*S!h zf(87vnN40y?lB0Mf$Z3t_Sop9uv43Bn*Qbwx~BQ@AZnE_u{}MqY-!Ist+`VO9@ytq z2$zjpg3anWww2RQ;`#AEVp*pntH#XQE!uF!;}92(9oHjbUR5diTueUYI`D!zjC`}m zGXC33zfO(lnVVfTuSS^@|7Q&$??>jDbDt>BocW2?lztoH%%kLTIh8zg67mY*0OvOV z0q+TJn8>e5*9Z18=$brQ2{$Lkda)9L0cgXtGcr8{P3yPCZLfz&Wva{RPYd+l)4_M*e ziOB0oW&(s0e|cC^E+(+yW_i1KSR?Ah#x?;GD3JudfLK_iECZ2t=$v!E-Q1`$N_0K4 z#odg(aJf-g!3&fFefzLp?6OP`6TGsB-WGN`&B@gGP-MP^JN$gGeM(pq8#)kg6c3AH z-zSGfbr3G!Mo@N%_*yniV40SL?LCN+Cl=+1(uNb24trf*!QgVZlRiQSbmD(M{Cp>jG9WzDXGLg&7}$*hrwxkmRb`z{RZk8Tyxv4u-z$9 zB&!LL4i!&;t*2v<5>YYaJkPxx1G0tt7mPxlZ$V`A9zik7!+oN(875J3ii22lYy1Iq z?fpO!@zXTD-ou#ONI{i~4*s*lR*jlWlPJli1@0z8EDiXcX9cAuGIJWks+5rg``1M) zu35NG3K1@N)>XlldW%*Omac&+YQIXU^>E(RuKP&go@z&hEHHvOLE7GNRY6(z(QoQh zFNDjfyT#1vrEG4B>GW3_lVJ$cUu{;06{6n$N~r_>x0W>%(K750=+V%kV*~j5vr)NA zY0|}u$ZtYJt(4O35!RA?MdF1lC^JKqJ)-ZRTXVcD7$VFaFvX&bY-I8|$m$Yd1kKHfF2U zz8acL#4$Xn{<|?5Mn}ERVzb=*ca1Yy2$w3JkbnTj11@l1qxG66Y4-@1r8j;w$U*THPyiP<-@ z1B8W@y0^emVxJcS*MP+vL`DYbdYcfH&oZ_J-jhZ=N}2P(-&xtW-jY;sY`{*o7g+kr z2^`10NlIWhhDPkZn6l?40s8DluPUBE+8Q=zs4}jl;-<{D{CDm0=otB^GOoq_Bl0&M z-9;(6ec7Mc`k(S>jP9Z%Id@hzDnYR%D^$u|@wsQlwFg0XFoq=7Hz>T~V{Vv|`fV%^ zl98%Cc5RNGK3ym#E#vT2CnyRAcFy?%Z0oS4HnJ{#GEZIQ^_+4gc{+Tf-Vwvx>N-nh zw+LSFCpk-*`U@`f3^KR?VHjd)sp55ciUz?Z4GEZnoZQoKricZI4!qN+BOTP2Dop=O zjd7<+r~WYZAc=9+yy_>sQmuI>evIgokn33NT^~aIXiwMvtl61q+rkER2be)Yj*=P3 zB9Z3&Z1fW(t5M=oG9rltPGA4I#gxb?p9K#H+NWp5>+H11c30fXq7CsL&dtYvbGVe~ z=QWD79fGO;?h~c@v%zy#m+a?-N6}e>kc2=V9&IbyP>2@E$%3+qzLw7Q>>AW(ci&un zcAqGSn4f6Xr>W1UUmKC^%ye2w_f(+tN54SsC8}McIYVSb*$3_n!k}^( zTMs}fhjMI*d~{iW)^LlQ7qO|fxx^OunVrtfV^)7iF-TptD9!k?&l5FWb=kf>Uxs*? zs0!%&xzIa#_|Q#H%{Fzwp7uyZUZTuCI0VL}=(7@q5uZ7o3W&al5`r?b2m%q_#xgZ^ z70cSvG&!hcriCq?mZr&u4&*<^(=^%l=S9bjwrIG+k|n+vg^`+we_a z4^qY{dJTIN>xj$m|gz6j+p<<+2% zI0^LVj;c__%eh~yc66g!Z7I}im-w*IZ1-1+2pq9w^o@d?AKaMv^n4}5fo{T_sxY;R z(W1&B8~o$jEcd^{Eqj;^xlepHlI1oeg+IA#xcRMzl?u(#6pFZq9t765gWwf}` z>0XLFzX)xC9aUYss+Bdl7X#+T{~)`IidoZAwI-w*!jI0OP{h`+7ho*%6WJ`fjoq%^ zKJ1>=ZtM|^|CW$rXM6+}@7Rrw`$U-#%%PC8_a7nlV!<6BdnXXXBdy%(a`!r#C!QF5 zuRac#m&|H3o&sy@b8G!GSUq~;BK2OCrP|kOwYrGKooDWo9LgnTqSNWbGKtFBvsL9w zVu(z{2&-cS9(|lENal2D84Z#d{|YQA!9XHJw#+=hZO9bDAOCnQJFf$El1-nq<^F0d znmW$HKW75@Ic$~6YZVL=TI*r_Y|&h>15SW$y3&6x5EnCyQz`JP;%;fJqNgonhS;M^ zQryGo*}@eht7e*0jb+9CgitI+-~l=1F|OPqa{9R|!C1}glI$+%5|)>6jFO1$Mu@07 z^;T4K#ro}#s(~xIv6FiW42w#hf~Z3z;l%Mk>{`fM!d4Op+zF~g>hojHOyF~K!d~@; zGDU-BLQr>rHl;S+W|f669LB3?vR48)Xks!zlYkz&w&(NU+FrTCsrG%+peLWC4Ifm6 zD=Omkd3?M@yrd-R3hYI=;g=^(JUV@L=RLQ3Tfq@QO$bs*nyg^?7LZzbV(3_sA3@nG z)YN47o{Yub_MIC^m(<0=F~oX2=1~hzI1geyGE*o>UuW7wfZhAZslCE73x5qx`j5Z= zFPJHIdF=TBqFrsS*AF*n6SCc`KQ&gjh!Q%9<(^9?pdvHcJ&83ENfJU~E5Lz-t(=4@ zkFgc^^u-KAuN@ona=TBI%aPR)l6e4UQnW$CeEe!dcnzt7#SO#cNsf$0!BECUw`>pv zll>u6#H>WiQcb z>tY@dq0aezfx$2>HKbn~KmI^d~w3)Laam%l*%oT%n6B4ZRo1X@Fc_XEU&AmhH9Pj^!(OQn01!-8g3HNuATRr^;e7tWG7Tm=hXb@s%K8GD+dB0!VS^ZB`ftkxHNfha=1At9 zH{0zmcZ=OG5SY6ICR*Km|DxUL)0}ji-@o|t&&%6Rr#(V9brfAh$w1tTh~Es@H?OzX zondFt@3i~o8*|sM64pJyXPled1H*QIW=rgi^9|Z)`j8&^?{sAv8{2?WjWM2mJS;ai z`vz9@u+K#%SdizIjK#_<3yU=52S_lC~aP6))oKmPsV{o>X2ZgqcXppD%M?dp~}|B}YggHD24qCeew zz5M{%{mz+1*0vpFaU`kpM6nD;Y$D4jEdFNd1JQboB3{uw4|(D25#vU1umEFDZyyv3 zSJc>8ZtM@=y<5F~x5od8$Es$HAKtAFOCL`adlZE8|Fie)y=^4NzF%daKMw2*N8y{| z1|EQtsJ*_3H^%Os=VlR56eaO2MJnXbk8A?uL)<^_`EvOr_gB^3!|I;yo*6!D*>M&K zWX?=?b-k;)x;kg4T_%^^HiBN7UntSUELdi&Ksh)En2ci`HhA`@^#<3Jc=k7?h8^N) z^_ebr%G;)OJp&GF-47o#{{cswpsb3dX7j3ZqF?50 zf{c6A6t5P^_~r%|0;0J}h$6&>;>(Z$pgd}9h|6a8@}hUb^ZI!Lo2_|JM_aD3(Jltv z_ElevmbcJ~eNaAqay>;7CpJa}EMOCP`Y_8f+CxTq2sq*9GK+XQf&?zTGZ}i3h*~c< zs|oT}gyByt*`6#N(KYx{>G0@{|ie?S-x!Lrmf8MT^4+;t3c)YW{ zX2&EElI8V(PbYaI4Ogt}~pOo2~DGLSi8Z1|F-+2&`HJy_Hh| zYxZVrO;utm8CR9;mY5W>q@A4OBqsIXm9l#Q;mDOzZ|w%SeAr_L}FN?nw2kth3tm+0BdO+8wwq&O#?KYCuvRfVe=~TKnL<6u304 z#*#v&zr7QWU9+cfpOho%?gera&ZUbuqfMG{QM|;{;}26 z>^4NC!?W45>(l%3`Va3GCad-A@%i)Q=BLM>VRf#5+M5g0pY3SEq;=H>Y!&lp=Rt%N z>}RD7viXqs3a8!yS`WLN6SKmSz0KC96gsFh$e1;9NkG)KvOJQ`6!`4}P zDjo5ciF;K9?+j$=?~+0;jTXJT1td5ms?!2e!w~15GRe)hk5_^F10$3J?MH&28@BV8 z`i=+Z=fyM{%u4+FflmrpXI4(1If)5p53@?E^lrD?Kf5%^30VYTKjB!Tg(|v6gQGAI zcX>NnQ9MOAv%NeiIU1)&6UwUU?wpmQaWs)1ifVN!`uK{f=HYrgEMYRcogwN)R9ZGu zje4C}LPn|3Cs?pkAx<5j&aE}@@s9n(;)oClLzz!#irArDchQB!PH}$C=s><5wVb)`ael2i53o6X{+d!ihOg_s=kXTp0+8x0+MCT@zujmge_SPhRAtHew<)cf)w6{+ zF--u>dM(<|PTQxgiUg}m#AUk3LaSv`^7vg zm`Yz2;j5~zXkRebSwmw0BAbI2-_*1WCB$r$BIbh*PL5p*h2<8ZME#S_ zHYq-P&<$E(>GWgi@%l@png?AX4uZ~?0gpM1B>;04_Cz9sAw4M{d_GQH8h zo9Fb*qdCTIw*6f2q(T}FI~O>jqTC$p560dtw^4jZ_kpj8iVY+u^$T@^eDaK%RO+UF z;xy2nAf868UT4&5U+Nw4^oQ6Q%8`+~4spwGO*x&fr#>OJY+m`)6t+74PHZg_gaAFv z9ihp3_Ar}|;S()ya3{d^rqH3o0#%fb2Hcu587zm5MIg332}EiZa)T2hEBJSldzLEV zGsxC;^iWedED3}!GsOZ9On&dy7ax*x&~q7CRkln3P}BFm*lzS=MpcsPN|GNyzxyp9 z2@uwJnYIe_TE)&~uiMTK=E=~qdDXq>H%~McT$e^G+M#yS0YAL;?1O`Miy`$?F}tC9 z8+kH6)drhXVk(v5hXtPSu-kzu~t-*jco>JHWrK+^~~WjsQsWSUMqp6-&Ph~ zr&BE09WO*8Ck35UO^YqH{!eV(B*v)$F_OkyA{&EHD*;+j&5_?!&KU}QkPkiiF zI_6s@DoE|qjylL}o)3D%wki)hFs~>JygQeBPAC@eyI=c&)%13{n!=LYB-dQr=RKZm z7~R2EMzZfUpGuQN6@up4`Vtz@#xZShbAHFZBHfnws0ktJ`Up#O)v>Z9EI4TK92m#xRC2-uu~^MFkl!}EgkZ$ zk|u}gpq{d=`VOQNzv{Vcj3O_$N03*~eRYPZ44Tt#xnsDOGrTiLe=g3j&z-emZd;QX zf7Eh1`<-@s;H|T@pRmo;KXH!E8fDP#3`Y4;VyQgrCvp^0es-R)${7PH7J8HWMU*wN zXZQin#jmVkQ3nhUg*E>NGeViNCvN_*<>EP@gaqH_OSls~N=(^VwqhW|mFvU!Jsk{1IrXFp`qRWORDT-0QS^XJ@p+ z)p~X#31mNE0u6ipVfTV_T3(k|x1r=1#>^UODamt^?bU54d%bSIfu5%d!6r1~&;h`y z)|DIs>2E|E%3kCfMH(?ryWQ>gyZw$Pq$|>es&HbI*n!{?uHAHZC=K)?uxp>$K*~ph z7%bYC*`Iitp0pm7T=DxN!$Q5C-^VHjb##x>0o^mI(kCBnoS>vILl1aV#cZzmSM9BR zw|Tfm*&_}=$Be<%Dmq`rqzgl!v@Iu=Bzj9w6zZK!`2nB30VXuruiP;UO|@Rno~jQDAYT@#`RiZs&L^c-V2ts_jXg zMQ^L@vN0+Y7kA0S@@C`qgYnAlLCwjxtMLQ+k&{x|S`)p|LyA&pH@h3M_E_v=#5Nms zTkUpFHJ>!;x*xI+u;tpn|8cr{m@US0J-L3z%fB)22xp65-Qc7Kow{3<9yHz+s9)<) zH%SP0=gXUDLD^ZSbJp3mo7V|h^`l_Kw#}pHBQz((@tB(7uyLV7oERVcxXYO(#?LMqGlp39d3U-8>?q*qrc5pa z8)2mgyfy5#8@iU;uh#QpkJle|($=2Y%ukB(1qfbk@n!`D$%l_zws-WDvrfNT2sep_ zffh4RR6_$U=ELc(`!Pi};5Tw$lRLyYiv)O~U!2)}!Tf6WD1rL6ssg zd$M*^<6xpm>NvDPe-}&O_eW?)xL!!#Ryq)xF2!kJi8Wq%?g?lEPIW$6afHOK?EEgXhmK!7- zbVobNeBcbI_SW{pC~fDf^at3Qwy|(}28G`^M6hdm;}fErnEwS(v%-1V$K`_VyfGJP zsGLmy?z8hI8u82gFJ{qO7;=Uk?IkgHMu;i)7&QG)TGKt&fmhO+wE7#d40*ioYh`Pti*A+tqZsc#)iA zFU9Hdbx>3(fKqL`N%>aVCZakS>;^%9GSJi&CubZ0Z9Q^x7w>r;l=os^Z8UjxI2yKf&EMCCHLlPY~$I8;DCmm?bT|4qVjwc`M+ zJN6rb^iGu#(!bd-dZp~5*E?(E_cY3FRqY3A8nGVNFB7V?aw40tgG(p|3JC-%7U!sJ zA#L@KzyH706bW23WO_htAiIJ81BHUF3>0>5P>n*R+t7O-@@i@B97i90aJjDBLo#eh zN>4(%ue&bC^2>-0lo7_##p{%xzJ@AC=%d{vmzO1^{YGoli1*>F_<6uFDf(T3>8rb9 zoqoI1?bYcwBvu&!vz~W0IPL6*71v#pI4LLiX+jd@a5wc0c{`&HBV)>zATK(j9$N3< zSHqAluPJ@P_Eaf2d=BTD+H7&wQ72!VRXu60=M=|jas?NwvIDAdYtSuXJo|~OxOQ_7 z1SLO-doV$-R5m-Out2t208T)$zt_4rZo8=Q+7cV1^X1($9_OdY&(D8Xws%#!>N9FW z$~yp6DjBo%x4%vPu*n`bQ0pgH$ce?Ie*2_yTRt*dPZXKAi7+pjbs1l!vLAVyv?!C& z)o$hDq}&YJRk0R{lEsy;U+Z=&g+C0K2X&EEl?oXy9rR)}yz{M7aT?c*QBg=0i;qZ& znatd-RS4cK>wS3e{)udjJneCyse)CHLKb+!el#`kANHF-@THPrny{*opVh}K27 zd9Kq)DYwN!&9Wn6mOzV91HmF$S#264rAs`yg3ti1iwCw4c@y`c607L-a2o2enf9tn zGJ}hik=px;`z;>^I0kI8Wg0p`Lxsn#qPMwl%Ot@uqg<@MHzYeI=T)2OXq-pYvqj`q zzzw@s0gE3FRfJCY5|Hcl*&Ssff?cgm^~(1&09me&xAa>VG=8pPh|q8J5#sOQuev0* zUi{)UeVluPc&bZp%Yf}o?=78;5{#3(@P3Tueo-zAu`aXO)%2O&d#19@j+3nbthL@J zM!Puai~z=$R z&BjI99qZqzLLGM;X7}{>Gn~R57dn(lh5f}Y-oG%7k)si`5G%y>j!QP<*$8JxQPPNj z`+<78m0CMz=vQ1mJ$uo^&N1gg-DA`q&qGL9&CruP4_DEAHnJHfYLPY3(_iPu0@1S-9T0GM=pLJJs;dH$wb|4?LNTEp-=1WK zz+3G>F%%sllyQ3os`RF8F_(Jitso`vkpr2y3@&3 zbUMxMNZn6ZXBB>a%$rwnA(=aE-Boh4c-9Z@NOA%FQM+@le5^VPNL3$M+QISmbEUfy z+-YksfH+Rcj?Hm;w}@Gc6yL*%Nqhc(&3k#JzIK+YD3DnAhPAS+_&)1?gyA7$=glc#VRfP$)pB&DF@)l_= zcCj~3UCuC|tNd=id0C$!1K4+FD!2Uy0A=4Tt=8EgF(7teSV^N53pYl={uWLEgCmRK zk%a^0EZ3FYqmaYrw+mNXGo+m#K@=+vf>!l#jHL_373Kb&g~Njq6g;d~1obhWFW*6r z@G)DQMo{Mgi#DsA?*)O6gFu~#s3eefkw_gy6X3g|qgRd*LqX*U7LCGT(BuY#HSuGB zJiO-Ive~+V4eH_|q07AIi!86z+Drq=Hb~&o#AH^hhu=d-y+M~8+ye1=pG;H#%~v3q1X5u9BkR8$WR#Ilrzn zAB%;jK08|)>MM`GJYj3UdOJNypDd5>>4Y9e1K2j)$%B}C(v?QfA9CD-vlM2(p#r-$ zyZtNwT^x;3vvbZJEolqrQ)Wv>F_SfH(&Z&5he3Ldxnfb+VJ6rr7Rq(ygfsrwM_cH_ z20gXi+3GHlt}a9DUC3-2HAf!BLCNDnTri4o9v?y#**ij#vW(gLsGfWW&Ag4%kB0$x z@qE^LxcHy~CT#c@n+EeOq%L_SP|eFmf1qx2s}sXf5JW>?fbn5WQ08FDoBbv>`89 zlYW_$us5_Z-7;!y#s^b4y-}yvv6|FQxYLEnB;kDD)s;#oRS9BZCkUp)!0Fl7 zH3eIt!Lc6NAU&QDJU{OYnuX8U17lHHZeFYu-QbV21T=!xSt~y(W}0Q ziOxQ&=1!wdz+54}q1nUWUhtC5W$addB3`QNR)*JPKMAbq(b`=+q+8iNYjm4d(|XH5 zl6kD-R(e|l)GoFOFtS3zL3}c=H`8r4`#Ti$1)zmD^BtwQqXz_v=&z)b15<_sSsC5p zTo$S8`$ADis5o1tl@)DnO)XgN^n|cPN`6NcNY9t^n=hEsg|3)JIWx`*D&(n9`W4@B zc?5a~0>aqUE@^<>5M7*LNM9?=VB=57X9 znS&jb{!U5&9gT;UyH!b72Bu=G^VeXkP0IOl&>OT>$N9=Z799vus?Ez&j-V+E4e{=Vw zLh0^gO=mRo?7n&D*zQBtogu)6x3d+ti*J`36xd8@yAl1Md`Sq(0Z^eC?FS^;yQO~1 zKD2TgRWY5bW^1Hwx2dIKzQcXP+#A;AvIC*OWFFk%r4HK>_5jiqruB7)v1z-zDFT!~ za`&4Fjy~jvZW7$kG%a+nmWyni_j|4S1PUzDSyzFbqg%YYF5I&v<)3&fND>1(PFoEF zmM^g*u2U_f4sxxb54#A;J}x&|^5@NXj;jPG%v!POcU+ktho{MKzFxk-%@dRH2Hm2a ziT$(ZhQeQ(I;KyD_(~N27(%4>MQNLt$t_F?mCwy+uxjt zZ$$rGeFb*yh<fh6*po$gt?uaW213{of2$f}`QU9G}jM)U&u>O+zjznLO=ar2MA z{||57I7qDu-wviU2A(*bxmGo+uX z0cl1yC>e0k>|f#r-pKbi+=+qX!s9CTG=N%4#WG@~|9serQr zxUK9O9TOB+?z(J7=`L%G&_Z7^QNc1bu38;rl??91j_GBi4JBrtxN0zlnO7MO`Y*6~ zoh6S;w8FUtH&6jIZD~0OF6WA)phsvP<;*1*BK?zJHKI=x(}}e8^v|2=LUqKz zg_n43rS`zz-Qzx6xJOT8SzIej{hJ>)^K6DIzH~gPVn37#FK~GZQ9-U>^<;RMWz_nE zuAac3kYaV%fXGHjQ8@t>X;k1U`+6{$ezBi0SLvUK&>zv?={AJ#^8NG{o{qYwL={4M z&3v~hzS;UaeSH>}WujIdgSO+7Z>J0LwB3$TTUSH+I@+}|;E6|AP{<7e+{y?P-5~qY zxbM|=uk)i&3icBwpZ-aZuQCeuD9Q1AJi{F&u`T<53vs)gJ@piy51+ zED%>=?=vrXsyQa_Dq}KBtK!_=L?Z6X(r0mAI5?-? zZWi2(+?|%83CMmBM!{1DL;RCt;R7x55L|sAP|6rxapv>LWsx)jYfnRV0a=Wbu)XOr zo@WH}lTsf2%jSjdMq5E?S!+8eFUgTf<-O(&s%`g8H+zz6b%C3Mt*p9w@+qCaJ^w1w zwmbR#r!rJQ=GemvC}ECKqu0`%-m>(se~q$&e%I#P;Rq#%*3R6a925asO<9jQA%x=t zFNA!Lf2o7#m%sk)c?H#{Rj>P|`q}m~ppS}v^q|{5zvNJnQ_G60N0%t5@ivLFU+0)g z|3ouZ%a9z9P!_lZLCvu}9-)5?h+S308p|b7%Sei2I1Nn4q4Bpv82{+S?D~#zTUO;f zt4%{0I@wP?0(E1@Gq)zw!C`JE_oaT=6#L0knF)|rmPxq0-!?WdDWgS+s_9PmxGAyT zl{o_5y2_NjpjNue6{<#wZ$I!ptxCPo4fC3t0r`VPjVd}tq-07MO!xivo&uqn)N_aa zy|eaZ*XmDP$G8xeg>eHqLs3PPK8yTA@0S`2{amYATLbUE8UqV!LfwVQbR%Tx5K0KPmV$vGAvcUJ?4p&@kku9%mQx z0EA$5XZw$a<*TY?eeH0CJu~4~YS8z@OK8u`ki&6S4uG#`j4;m*%>GlBpEc#Ve^USN zm?z5#&;g$TNi$`mf6;5P;q@WE{&D@2@25A>2uZ}9bugcLL)1DW1e8u`G<#?aHC!Uq z)X4$2g+fzzQOaC+EoX zeHEpcD79SE@%b7hFR|+`r&uIba|B~=QWS5nZ{{LcnzZ6RdX?Cks{y=Y*Mv1ovE6+P z_zGL-wE=r>t1k+!XpBdRy%zfX4KIC}Ci@9TeEKIIL~m$S4QWhd_ep_x_YGxc-dLW! zy-d1!gZ!jHyE7Q6UcOxIuf>0PbMt0=$CuRtk9R-(1*m-Y@}${nb-2#`9)EYw@Hdx; zKi<6_(_Go|5x;lTD=WJCcKgrkWtJ@;w*Q__Z^hI5=@`43FHia{9{v_bvBW>`HaJXx zr+T`{a*p#|->e^Tr>Odbp}1L2zFp1e7$5c2c{9rJ4hZcAmDwWFrTh_V(=dr z{9sta(SQPhNC<{EsVXM>RM_u^ClNs`@d43#KLW>?n5I&E! zg$flRrZq_nK)EPCdDMwM0a%(WEctm#41B%3!J)fbIwk0;z{zq&ZFQH68@}{8avj#W zdmuPY?_98~VOWaNVP%2Y%1G>!^Im($z_l?aLlT;>xE{Z?*czbF zNMw$81)Z2WHg2Qcx*TbDCjcLe;)|#Ou)GUYE^=MM7~No4d+j;9vVPeNt`w9ryMWOa zftS7J`H1_A)T40-%&KG@M^PlvtQ#*e-9xkPLvlj_5A z5ZNgsuidbDNV){}le*khU>TbTVSXVZZ{PKy)Fkfws&V^mC1NAi@3wc~LtAh)!-s-0 z$%593yd=?j$;gWkc-x*cNra_TvKhdN9k9bhq6_2{z28vIZb2lx>VlTlf_lw)h?&q2 zL^Ej<+!15qiCQlAb+ht%04$b^-;@I3oc|E3h3NN(2mP;}qa~k#MCmx~U-J;m0!#YXh*L_IRk|#Dlz;(-wQL_;%avPRE;aJ8yQIJr0G) z4Px=tFB4+4Y5jNZLK9n=B)MPO4d!OK;Va0PB1OC*c7=)Z_M^!D5ON*3%d0OX$@F~Y zCnf$GX^bJg9blb*dBZoE61Pf^g*1{fu-_G(Z9i1iO5C5t$}R)tgL`%*>$IEwUT4s( zP#_rqpicc_mbOoOr{3Mh!05hO!+<4>_a&43mZEVHxEEUy#8!E>m%U6UAky~B9Ir5FQlfOxZuJ_6?66cnkbWKMUjlpU zM?Yd)*D1)|$Rn*xZ5ucWBNiNeYyk5Zpbm_0l3$be-+XLParzgR2GoG_cgcsR1Z4WV z#7=@}KRcd7_{y}~vo6Z#&eED4*~X>C&i%9g)li)%)6M~EOOOrFRWS7n+r7o6o@QcX zEDZgt+&^NgbD1KupFB}TUz2c;-z2Y3-~5h5Apf5$|F&uBU3IT6!zUDQItu6W$+%VQ z*yT4Qzx{1c_mLw%YPQ=KR+j^dn`#4*zD_nDciAbmOb;_cqC(l9eo5Vt=W64AxR|@~hmCxtTK`n65!>8n+6qf1- zBpq3opL%oPPg#lo`5U0`liGhm;ApjS`Ys$a26sZxQLi;1rg0zG4zxr>`r3V0u^!-b zAA|=9VN>&~I}p#{|7O2UodTU}@>|dq_OtwU2d6%2{JRY{hw&ke7@O53^&2lCFi4Qp z6zPZ!u>e07Q=W>4sDc$+yQm}Oi;s0plJ2BJ+6*!_CB>WH#|GAY(3*~Jkyy>fbpMCi zpT$jL*q))w#KblP#vH2~Sg6RY!fvU(Cn|$$`-vM|vs_0`Soqobm1;UEiw3cwWc2x% zG=FkGzCo$(WWKpUJVsgQybL)lH@Ns6s0eQ_lahcs+rDXVjpqJ20`mb6 zA$NjNYRX-i7g#2Kiro%PeYu{9%Hkpj`*@0^H{5g_F1I^2-XBF!vu-|_<3GAKaX0=@2A`*i)MXt}w6Mqv)aq^{1 zhtUAlR9LpO#_~pgJFiRaY1qeEK8GFH;a6R77+p|*^ZR^P)YB%4#mb`Q^q+MDygvGO zwt{94>njOTLV*^a+S|FGi8b^`eTD~itOSUDR%HYEs@=vxyc3g@5C#4A6OM89PvqWv z{Z@HnG+D)1V*~${&V6ndkQW@QBuhdEQ5+%hom-4t!rbgN2HsV+ttaj(V;MTiSX|Qy z83(dFMMnt{fw3&*<87WQd>qbo$B0Bw@*J=GnIU6g>iB_QcbLfRbl)FW;E(6Czo?5$ zmB!3#;46gIHfzaX$$sLJ!^?Ey*w~im6ybE4HL;IfH0M;>==Vl*)qTN5hry~ciDzBP zbDa>5w8naiL+``+>~4V<(d+o-$$E3W=8F<_*<7yKmXDb=xYu>Gad33(m{r%nkhO+5 zE}`F)5bJ5IPrb_@3>#<_RA&wge7SNgg?TQQ{t&a+ z2^imrMmithuM<2TBWmaaNm~%{-*kdioU8n&#l@ArR`Dw?lH>w;?)6th;1nh0AnEYj zS7am!-OTe9561L;#RSCTf%@fyFyVCsuA1%snb&EzpC~U;z06)&#C;vn)m_?QW#^r4 zu^-C~gG4ofqP|3`uZ`JRTPM$E3)*_44hhDe#z|5&8vdA&Dx~9JI6t$QWEeoaMO$o+ z!7Sg*;f3sar$fk=t4f9SbDTemuA4SVP4}y3ytXM8nV%29-_Cm2|Eaz0xhG=W@)kc* zoxE;Ji|3|bH`}H;1;P^om>EF%{E(m8h}xp&`DrqO|Np^4$E4bzj0eBcJa+wYY=PN)RV0g>C78{(``iODKwPo^xI9{Z_@bLsnUman>Gz>Jc6wS z7FE-OVxL8u@{SjBJ{8VE3PD`Rh@P*fQV3NUAEk9`_EWH)4^5Cnwor$*Ok_SzAwm+r6;TMi&b z#19|7gT6T$L={>H+x#OrtBq!I4Q}F=cU90Y)4GnySzFA6S&I1JHFx?U47!*%1a(fZ z`0IoDB`K|H+=^ocSgwSw0x$!sV!qCx(`=}c*;+DTD-p=G8CJ{`=f`c;jJ0yVjXrO8 zug-mWt~l4kG%)Imtck&6?ml_poh7*D{FtK)d2cTzEvlb_GlHbF9L$1s@u5k(0QluJ-gs2_?l(w z>HJoOPgMA(+O-s3x24l7Qr%|%QuJ#SZtqu-LM*X*J3UDqk&0E~9aOG**l9aIXJ4+S zV%b@)VnU?uhXb#n%WX^`1lR#9MS`*IWyB?%6qv+4Tg|BqVJhOj{XogX%;=J=xs691 zn|N^6>z%1qDFGZnHN*xeM zAm~Fo;0QO7n&k`$)YpU?9>+(tD4-(!t;R%!H+!{|3aCOIiHvv)IXP{>-aZ?ylZWvF zSICp%#wAk84Vz!|ILmQGA>HE=SJzU#J>|(D0UBgt{D1uY|1$s6Eez-+jp96&Y*B|3 zP7AksNb}Qg^tuvk3A+{9X^u z{{0^_senVEx!}InvD+c{`af}&ZOA=!Tm$0)#{8s^(rfmbU8{ww17XePUew$Jb-V~D zxg9!%wkqUEh818t6rz}Wpx#wrbEr{6=>PaJMmgtIVD>|B-bbWqmj0JJ+p!4?sX8tC zPey=9z&{e2qq#^sRr39Dqo+%%b%?!< zir0qT=nj#VZM`X|$S+(fU`nn~I3ig}Z- z<$zfbu#&>0V#dclN%v-jO18;IyK9F|GvHnyb!DYXxsSKDQCq+(}VJ zIrwG2qttIeV$|NSLsD(7D(@KE5-ZK7{e)#%h*va49n3rTMvcB*-{T}>>h?qm@Aih& zYG9{!_jH^NM-RQS@Gfg;WiBTeb~+M(L7yPz_Eg&4JUEwxcQ-@0EF^qsQHDpV><8J> z^O?z2j&m^uu?O`oA2svIT3 z#81$3@(u-H?(&U7rM##W9<4VxFv>-pdJ^hCyQK0?_TR}Lur4%x!4+|)Z!L;T^E0FF zlrb7rbM7Ue0frQ3u>c7NQ=U+YK}nTYrx+^1!c@l#{TW5HiE2VyY!eHVjB&_I7qmU1 z?s84OvBB8(BG=rrNK=X z1*jmKFI9d|VaxQULUm(n*c=VLH^tgd6kb&mDO#=9d8~1QwAUqyQ3+;#g0ykgL0PDM z@{zMRcu}1o?fJfG_qZPvZ2NNg3odN@#r}qMmo-nb+iSFS|0(}BvS$^a2JO=~XVDX+ z@ zIPwvna`j5P&3n@7*iV=%^-si=8qGrv(jWrXscNMol}5+4m(vxFxS%$8JeiOlqatUm zm2?GjND7tYU$mRui}ndien2U^14Q2SLkvT4$gARoL!n*jw$9F7($sOLmTh%7(92QE$j?=OuXxIMRc$uGT34pyZbeQ}$2uiI{Z`L}tOYXt2< zA@X=A5KYp&+iMSpeHIDLa5G0SzCQiY;i=qLB&KO!b*?Ve0D+7}VC%v!Rp>l|gD#;7 zLqbx3*&QIp)38QlhHf$OVuB!G$-bxVm_jFawfQWoYbZx$0g)wOkq@k#Zzwjdttg)D z5w1ItLjVyVNAmmGFVlCkH63eOCy!%z6JVA-m6@K_aF(KzfaT*WGckFF(9qS3F31&9 zA~Wk<!uS%oN%eZ?J{;->-=H@q&=dq zFkgM6wga^p&C_KxW463goyKrA4(`92ttnY)0#>B#!sn0`r}l<8+-zMCbj>*hSCH~a z$%=ZHmQp(iaO!43HddQkI%`evsMGfB3ry+K_O;!V=Af~@Hv{#1oML`6M(Da4Ki(^* z!$AXeY;`t&I|pI8bF)76if6AVnZm!Bw&MB&0@iBcG&HpOpmM*|VlekQjFdJ{3GP*#yTa>t;TKLGHi_G+wj1Sokl0DEON>ty-dibz!cbADU`-z(f``G;9SGq!C zh-vcMGXn^6^i8=r+1YkPT#}js>^SrypXJF^3b*Y`AdnT`inRp-DrH;rE}BDY%Niey z1U7M4Mg*8ojs!)OAsr1E*m1UvzbP0uM&}T&*?zJF#|S3CqHtyJb=d5+M^(3=3f^m) zr_SMw=!;QrrjOIb4IS?SlAh@vCb;wO;W7L092X68B)@fE(D!wXMkCnDbh%Rcfg;!o zFnBPGAvaQdUOA~3n4ZvFEzdXTw|l*AC;8(l`Qtr1sMx-J9-bj{pSs5kq%? zJyiHoC1`1$cUrh`)d;9C`}Py2lf6rcM#tMtF(U%1(tqD(XCrulZ&Vul^Pl1Obh_&!!Zb^;i(1a|7Y*( zcH2mjbYF$=#li;MYO?s>4HrOB^K4#d--v9j+lO{J_Oe)Zi0f7O z+?*OkHe$@0#&h2xH)GS%#K<9N^K(zPxT2bzoRqpfLjW^e7A2^WcnmNZ2Q}rIr(BF9 zzbf2`N%z1Vf{v7ztrB2)eQGEG=bXpw5Bves6r^VpM0r8u`Wf;iJCsK*x7mO*q7gE zQ8`UqiUxgO)gA1jCc;d8c<__F&vST;%V6KzHL@t7rm(oeS7~-@y4W#WEOuRSghDQP zY)bYE7B#g`hs(d5{|&mlN7nO$kaMuus`9HAh>Rhw-AkH%U9LHWV(7jbn}k||RZtvl zwk0h#(_Vix%Jl!w&d}143BL02Ez+7Dt5+3!RsS>@AY#oBt6=9}*y{av`Y1>}iihY$ z5Si>Dq1T}{_g#ZgI{q5T5n{#F>uZbks8=gCY?+CGc~7Uy+a`k4!Qg(A;uwxB3KUp7zK#`zs>K_{qh5h2c>`4HWY z%3yMd=_hx97%?rbthc>B9s8J;9NLPwZ8) zBWqE0;aaNQYsQ&Q-3-kk$`)}yT({!A{knTKdR^Ov1~la*yy>`$xLbXI4lFVhG{q1f z(o>X!7IqMzBvIpIu>z(T{lEo;>)+IYKK-#_m&G}pw+br!qA5U0MeflS8+6F_|J3;B zfg{&1I3qwmkhYX<=)eVpM2N_+2ZH_BXBtJ1=uD$%y?tiDFa++akj>NPqS{W)z6GIj zr8Q9>BFnMb+|#Gc4LZFa@8lYPZe)fk$11e9SL^ljiys=}7ue(9e*NF09p5VTvTPZt zL@$wdr`x~TU&9y{8V6|wOB8)r&DDbHOF$JBd@>tiqB2z+DVc+0u&A!q^pXlbaphyS z4B?M4#z0Xn2+x~K#1cS_RaXkVsAo_;99MIywKCg0&^xo`R=%hzPr=lr2UM*o=MRlM z=2lgtq5{a#DBo;W)wvjdR>7IHpA(bWrEWKnDyU8go!QMqn*D6Kna?g!!X+4$oWV;u zfm~oqVM`aR;mAjhr4z~u)D(qT^zr0O^EF*^xmpTZLEOb}zy3EeLRa6xf;7MU z?brX|L&g-9zln32Eqt3-|Jee?jlbU`FO}PC6UJf3rC4W#bJK}KQ|Q}U;EL^p&*5M- z!Ou{9bqYj5`y~np7`c9b7QFNY_0>kF#q;}}M(Gwrm(`9sX-r|5(PaTup}jmOcK2az zZyXLWENrUg@EQZ657FZKhPfLxszn7ivQ!u|Wn;U(-=Ofu)nYlX;=i@&vO2};B zrz0yV#Zoz`e@?9iQ)$b&U1H3gd!11YT>PK=nT^cev^zy7IHB2CU^bg|8~vc=(Vy42 zK}>-bg)NgU=mJwdFNj>zFw+hF$sf^wg@~_o)ki-dVKYVuMi&$Iwj3S6nlwH`bz5oA|%sx(LE|Q+e#gP9alS_SuzgVpxL+r`$%lXvN55%{2Vn5=vDJwaP8jCc*O=CdkhnFD3N&ms$-Kgq(&SI>~loadS= zzhET2BT&yNaweXn>|r%$WM2!mbL=)(>VVkq~vpV7oVi$Cn?z| z&5kx-*A@D$Ny!hNUP?~BE-CrJ$4!j5>klF&?d`Kk$;u3tj<(zTTM9(xIC2=frNNqg z8wj}L+Dr5TJ1bz^C4Z%|lo#yd9~S6}g5YLY+VO!M{|M&=eq3xUmj*?u^GA4u0QNQ9 zDYm&jn^;@jRmG|c)Oe;R<}a1|3hTV8q{Abg&%Xc@Gt05*o(le~7@zjYvIat8kz4K~ z=3V-u@8@zFKmQgM!MgAdhZt%+v4&sYUJ}oG_!jo_Ur}PNVxKsLk-t45m$&Phx1X?g zS^vZ$rs4?F4}Pos;0@}=#m%B;cho@!?qB5w;Ht%Vbb+u0@-R~GGSvV}I+g8k0)S;e zqx8LLuQyEMy>BQOgqU!H+R<#$YGp^U5EQzh%kj+>W2fNk!tCtw&OD<6EH1p8@o@HU zs|+`0-+ZHJ#$GYQw>L^UXWn3E`-va#{;Sxx89LTw2d6&nt+k2}IkG>W6VFW~PgbLQ zpY%~hRCBOzhe?cBRk6ju}G3BCN5|>iE=R^ozOur``uV`GCmzL8V%<<>j_nm zYUn$4OgLz3eszU3el@ha4RS;KYQ^~LdtBknK6YNFa=8>ZDRl0kAW(fR`m?Xf=U^Id~xSNSJo21xRBKJY!9&`c5tdP5r^166SR-dwU9O4??uHjL&N%JtBn{#zjS%a*$!>; zBFFNxIo2EKI?s=#YD40`r4M2WUlUr)jvk$3=`ArkE;v@wYByUP_e}~db1bocF*(hV zh^ZI&46+c#zB@R#u8i@t-9r1&2rI}%0~ihALoO*V)ocygqu6*-FRcn$%It_6oSQ{C zq1~~OfYK6}Vk(u{B|4Yo*i!mH5odDMrry+jG~(96}}vW zk(lx|puo&mRCk>0yU3Z~_ihjvj~XOe#XAw2Klg9J^xS?2N*dAh7 z6}X5+7GSo_bb%$#E@{1)*iOG>{Y_?96w6Izw-`QTCwL7Y_~v%@3zw4DOGE5GX(;IM zH0Q{F9)~c1nuNQP7uG7gYCyl!I~^s@%vOs7scA<)@gKaQvC;XbpnMy-ih%rviIxvT0X5Xwa zi{C6<3oBJZs!A=$N5^2;8&Gp`0p~%@QObP{rMBtc3yP{(u*00ke)4T_19LAvA~U!n zX7K!LKBj&l{bjk&=Sx0U_9g5%Mv8#jZ80co$ajrVw&@QIX8(^!QC`3C(YdC(fJeTU zRaXgjQj#-jt}I}nS9JnDGSxmb{GPs=Gnt#`iLIK>PD*^*MWT0WqByjf%v3*-gyquY zBOe51^Kd6U;z4kSe&qE8vZanh2K_f1;j?yMKF}n{p!g z421INQp{cJ1leg|cM1OY-(cbSk^ifK-w}_?zdwAMBj}A%-SePVk)X6p?mg+|#}YeP zZg%xXjhI>hxyU(1jR@4`_~Byv>e+a`+OA<(l(NpJGh03GEqd2_xT zJxy{igGCgU#t8Xub(P*`TR#Zf)05Mxu1t?pDA+U&kzEF z>Rk$fTm=s z-K?d{twQ)ox83e^ynVRsCv3shKQU=2?cMh0)F}_fl%&gpiBeyEx-m5?+NE^KHvTY2 zfddXQbdcq%<(23gw@APCdZg#de&ViFxvi<=xa-`!R)E22`KQ_Y+1rcF;%1*G&7R;<0?r5AoM9R+QI``0M z(rkA7?3oXWjjwkIbH9)x7nxZ9ZMpmLCl1v5Ga|D7?Rw|E5(4feqc^0_DH zR|d`FBP*bl8FcNdiys4U)EC=v3)5|AuML#xzh0DV>oMSoQ{8|5=Vu4u)j$9BqKW{} zYPNf$EVN#-BTfDK?qUY2U*@Z#+Fk#FviF=*cECknHc}xFQQo``=T)*!uh|~;t-@kO zKaZaUtR8E<@z+uAmLiavhp-!Y5g&S3x2uEeJ(--ceFF!w*m0-(};DIbA5^22f zJ#231%RGlD;|?YsNsDX6+#yIIa%!>tp(~6cX(}x)gm^uNnf9~ModJNP&wVIkSgk3Qi|?9DxGe&7o4q&NH2ss;ZKs1R3KPR+t| zsKU6|-RK~)Y)0NT7wOi%2~M<2ZAl$+8QQa(Vw@ze-7a<%(?*&BdOjlz@!@uTzs(bF zj9|C8y`5h!aM2*iZvJt8fjXX-zCbpWeFvR)LE&Ah)~i|ql9<;YR%omCae?SBtor?8 zvtCgrD}=bgbVOiWZPvGp2!zIM*1#C$StDqFhYm0&jS-bnMsl4{Jp{dH>HsnVSI|-* znR4zQhs!Fhlnk>@f*&~R)yj{SDDhZ)f_PY zxBD%XF`cin2t9YVD9-JL4^NJ0jTkx#$LHBq3o_0ttf0@>S5e6&rP;htI7rG@nTc4V z5+fQ0sQ`*(dy|8;-q?w9UZuGfI6{d0Iz@OAwH^MK9Yw{<#1d>7_b`vja~_dueYyFR{(QUbwVx|bX#!(=-0c2~8ZxFQrUG!m!k7ZEtFmT6Y7w)F}u zYoYSZ6sd#JxQmkfe>~}TJ4*A~A)24?;J#jR9cNty6=QX0D+qZ((M-|M!*wuQK=;G50j7Io++AE{T=77@D6Li~{Al1OZw+x6|7MOY(O(9L9+g+erOZzXLY z1rt@E4X^o>8^GI7*PFBS?3}XUNo={FwD#XaF}|TPwXK5AysRO-t<){kb2Q6#(@ZZQ zifypdWX;&9j*Xu~Y5XyCjh7^5K=it%=zA?A`EGGa@uKqbNVK5Pecb*e@i})pU+oYL z1y|VJK)SiU$xj6OCxF}20Fc3yFk)BDS7zGP+NDE_jN7N3UQ4yR+@+iQ)pxrE=}Jgq zzCm*a_W&qHUO~jrglfn~xDg>L54*i*`iYl`?@~^6nKg_|$SBn{n_ptx%N#K*4wH_T zzpGLxBx}*?3pEkg%=a7SBIckx1~}EI*+NPw1ea^2C*~?jEuF+hs66-f z6BpITKKFVyLhk1|_xl4-MIET5kvuL46*Lli%Ox>*E&&NGp9%lDV|L^mvg~43@{Qp6 zJCq@~TNHe}inaMC01wNg2jf^X2WAB>SIXilFr?m~ebybDyWB#I^+er{>LA{@`0xWY0(z5e5{tyv+;8!mejTu$hqMP#2mZ}h&(@chZ)VqXWlO%he)|tR`0(mkD@i(>4}61vcL(@4dw1`yf11%; zyY(G@@2FQ0n|p&P%%A7$-EMuG|E+q`n5QJb%{Q-}^%EW*U9n(3%>KN-hZPTh>gnLe zq`0i@9fTwG4nuLdzWBoi4Y)u2utd?7H;df`pv;@zD2${;$GoTB4N8W+_O$EUAUx>z zvM0Pjqh5amk`f!_b)RSLsFaJ{c)8hT3}98KEcU~Y?H}E>g!_D;t@$)Z#9olTRb7Rs zYfr(bf;qSz8EyCJ87gI+F~}jKx5wLH(UItP7Z_p!J0Ew%3h@krL}Qv3wo8?g<3esQ z1%=(<$xxi<5!xMt47|HKg(tkjy~y0cZ1xl0Rs9q1YDGzc6jl{3;H=m$ic~W|Wc8Th zDel7N8Q2aoyLz{Saqs8IN`xeN6WQCOi(D+%TarYf$X&0rN`j~Ok;PB^uky)MLI9J# zpzK{b8UHjoItF`?uPz(g`@6gKhSIpn+N+Jf)N2mTvg`SdwBS8~9&;bIKfSH=d9_U^ zfJZ-_8R>HSu!YgON}n*BkbhRUvh$VFpMSn&;Ln5XciSyK^7>8nzH z77Td$^IzUg3dJM+r$!QuVQCfTPWL{bH7D{Prp5)_J&mf?z$mi}hLmtstwGNTHq zq~Eb8l#jYWsif6!pANm9TzmcY^lW7C$=o>^b`!kJ{FOoUvzpQVR7yfwd)!UhJtZFQ z&om?Ox!`5YOmXr_yE{2k618S$=PcSgcS#CnMIpit3sZaNM+~{yw{UnfM-_1k?hrQb z(Ob07f(V_?4y!fFF;i7HCj^;jPGaF10NbLVRL6IZFluee43{ z>k63`awJLlzgOyE3_TXK)SWi=a!UZ5M)z$x=rzyc3MZFYy-Fr0{~9 zeqd;ouq{DKYj>&*j)a&T2W4KUay>wfB(d+`!67_B7=bm(iuj_eH2=F+l% z>Ha;ek60UMB@XaiLzP^2v&D*()2#_yQiYBMCvt(chAXG2lj^XS0B2yuCl)&biS~L}ar;@fu&@cA2!iYL5Mc)g1j3F+s0; z@(+;u5%OhpDt(nGo|%(|or?uRq8G9(k*YU}^^w3?K99xXKJVf~i>iZ)$x`LnSj!Tk zs=CU%%`T)>CNO1b;!Ix$5E!7JHGX~s6rqoEcNI> zrXwOOWXP9+7(UY(=Tlf1bm8Gry0Ta9dpF;pwb^XxlBK`Gi$P{+?ET4JLm$%T8x7+@ z1Ga$>!FztU7#XSR(IHfLPl|oNNSD9;I2EDMy z;hr_7JBXp0(<0_0stEJg*A#(FwV(wyEs_A24h+hof&;h3^2WVp&zOo+9h0mFf-S3HevI+k*fi38p*>=LpH^%F z3Q_`W7f1v{DAI0?&>r})V$;gi`7I@J3#qjCrcn#2wZO1Bm-1sS7YO^OU=hnQ<1QnH z2+Fj*oZrn6NkmTk*~N`&;)%LYYiL&IlrD&{^Tx$ub8(Nv9<-&{-oWuPV-kl| zq#I*)VRzh5 zNtCg$zxq-oWaTJm&>ai=G~JFUcc2R_IOwm32n~uka!LmkjL&Q6dJ}Y~nhdwF(&Gou z@A53iQ{y?s-Q#+3kYEusqW&RhL=S$&&##u3V^kjjw)DR!^7GZR^Ev8-8>=5te`tEj zncKX><_0dgpC{AC|D#B=-mum04|@H^UpI}v-Y}=nzD)^O+dfG`o>*l7%J;B+6jnx^tsYwUCEY;{>J-xiz^q4|y*PE2Pgj*X(-$Q7>k1KQQcvN&=<9Zfc2bXu zy~ectIdlcPlpj7ni`LLZuKbKeN6A=>6QGYc8H?{LlX22*4ugqOo z!)~`bETOKzGyyQ{5!|pyaP_8hX)y5hBar2xoJvI)9ES>pU=mnqBUs^;srVE@2uVzr z(F#%YwjJc71c;-^4z2ylzpqZiNx#$S_F8plIG-i}W<45iHA{%NbiNo7%dJfdEdV2Y z=YUI?NJ3xpW`7j5i@U!j$1MvA`MpSo-F^o;PCuzZuL9}EqSv;g0b7=Z^7&%)D!vY| zqC><(hgsDm!pt8TTmHD+>W=dY(}%M8l3=Jhbgvj>q)mxJE*OzpG9K#E>oz9?T{GIh2SKd3Fvw+0C+&7qrTe359O72a zqwxXdP&DpU@Q+3$Rnnhx0_EbOLB(tll!4Y=w<`4<*3I<=)%;flR&#%?@aIy^px6o~ zt^W8dp1DoY2KdkA-^e@FxSd5kp(2ZZm!eG;Rpp(d>JmKhR1j}NC76&z1Applc_3WW z8DPGmHU^9(XS90Pz;WW&BxzJYtd3*bu*YY&rlN2-N&x)*0)?K==TtMUftcdFq6xc( z5Cesj+SLVW-QA$I0aY`G*PiP@WgdHn0(gey;(UYhu&BxNrNoca#MkWZ4(+s<_A78n zJ0MafPuM|}0WJw6g^JP9XAMrdOBr|MkekIJt#G+Kp*YGBb;*ry)|sEm+NyhicyvJD$K&0 zl%6yu)UtutklGpCUf@S`&shWVm4OH7$b)Nd4mS7zc86<(nHQKOMJm~Bz!9HO)2WFf zL^0ZUy#gdCpY;!Q$k&@oa9kZH99xlfz(vGaoWRQA;cA7qvtQ7S=+1)@gr=fj1o!w+ z0kS9tq)?|I2WnIY9KvP{{+@{4^ov7zsAy~)3lHMXq3ApAEfo8>!u~ARsH%!+2($n) z)$&!3pO@S}YyJ@}#Fz7z5K6eY6Y<8)dWq0*s!dIG)>Rho_uPHS<4x&E6Lx}1X(`>Iv_nCMyo8CO7>xJuHOF%sE#6{P1y#}yFxd9*o2tb(%W z5gktzFI3`+QtEXjP8L<5qNxrr3O8s5NP?EB)hQ02laJs?C&OubWKxs-P&Y!-iL-ss z=SY?UmqBfSl4IKLcYD2PF+NJ3feKr$#4cnX z@FrZ$P@S63AsRn^XY!q>3NNQeQIeG*LQZwKM}c}sveeY@L2X@}X%7aS?qnF_&%9|y zNG_o*xx7@1^k}EKp(?d3pH`4RG`BUIAxxXv>ZqRtl=eyNTnkPfP>an?ZIDWb-yJb> z^CD;$>I7M~fPVKovm~Oga!AhSxpt)Zi!)xmBjTV{T_EFO%cz_6{4lBZa{R}(94zGEZwBn@Aq3}0mcykj06@;q_9#p zTJWiy^c-5;M23&KP~?_70+3fZ>GZq(@z8iTq($#E>7R|VC(Imly9)x%TZrqAXxM>E zE$g|UDsh?G$m}k}kyX7dxPw}u;_^Uu^Wf$0tcuGh)il4@ ztYpplWm>ZW$}d>FD=NMIlNxfG9>-cvUNk*zWg_kzt_qSzcxeOFQ#dkx$ZD3_Nc&B;{f{-seT zOIIKwMZf5(qxx4$o}MV)C9+bpmCEu4=6efC^FRQoJ#}mdx!%AUVxOP(J45iF2;Khn z>wo9AC2SOR&))v_>;JI-B{sD5srn(yZnM}h5<+c?m-dF(r(NVOn~c$TMN>&%epu;} zRbAp-iNMkstSRjRKwkc@S7&Hl2#0zk{e=1dsM~IxDuaxd|NlFjXm60Lh?8}9Lzmx& zACL&3Zh^(}{SsqwDL~ES@$5D6YyK@s^lhoXAZSG;$5`c~QEU(7_60DjiK>c`+Ci5V z`jXbzq^PItk@)`m@7YwE6Yd?_t-pF!70~pzU;nqlyJpvlVE9-1Oc`w{5iZJ9B+k-V zrWsvi%_N0+UMQYgKcS_<{BeCxCzXBG4gLxI2$2xfKH?JpSb|BthbFdWtxO4<>kVd5 zU8}WAj#OkZnTr!<8&$*{o0#R5Z$Ei_GB=IC{A3=uyGKQx$?QGpJ_m5R2;(iimI$S2UZSckFll6jQ(!7F zk{#kwi%TFCoR_j}kf_t{&Kp@yVd;{htl`V~Avd0vd{cGOCaWN@Mjp@AwF{b@P8K`& z-z18olSt1+LFlByrLkwD21|gEb3bY$25Z){Ni&HP0Sx@qDW+hJk8LU2QB0vA+`72< zAjQcGHL4y|0O~JfQTedg!e6_%vh_F5o=0iSLcF@eAA5U0VIBPnxYQf0F1Z@J=9Q~$ zvEoVK0Fu~z60@OvE`cL=4ab;b`Ss<>EAD6!R`Dd-SnOEf`r8(5(xMatEo#<457k|! zcX5C);(lFvl2>+Xlq6?S(Knutono`tL#FnFI(tSLXXh3&4# zHQ3p_y<4xyv16D=SYhcyG~exusk1Rb-Ulh4MgSU<(nB9<8J1Q4OB$EX>lW=1Ua3- zLI3a%=r_#IcAFWrLALK9wFNg<;~w$JOElG8W|ta!lz7(jIWjJc>%#Szc=svXTGoD| zA{ta5S|Sv$(ONq#jrm!>V?2ts)3W~zr-%6Vt7lyBFKG{2y>^RjdT1uJUjKqRkH6U8 zaF-+f&AatQd(iG9xN4xkQSvZKn!|4n95$5y-?f;Tk)?mLuMF(IM+0q2FQ&P5PWyv1 zZ=ZsGuOm7bFy{2jgt?5_sarP;RfF~GN*6uU zvDt+C*qorqQCC-x^xJz(&^Rmtv4JG;>HOpT;+_)e*2t@heTDOI){G|=#6Fjk`k@C# z&^A$JB^WLj8*w~s_2U4EG{M+F60}rXvB@M%nPx#UB8&c6vo&l-V+v~pqTX#5?{Ryw z%M`tiE~p?nihd)Idbype6p;HB(hJy_sxu39l(Y?|mmRkTZ3;;?Cr|hg^_kUAn5hWX zVR&B@gY8a9`Dep9C8Kdij4-MXn+0+Lp>xG=yN-Y(HGE8(SPRU;po6w^I%+19XwWtb zFfQ0~2!Xc%U&s=Mvrzfyc&*m>G@8A8aG-r`dKugAKeSnZacr2rSOvl#E>OCjgCAnw zh$yCASe@dS!e)Pf%RNFpR(0#xq^%Je1Zfrvaa9{@qhF{~#gnJ^8>FVPO;S5XVMZ1S z5!N_0&!~n>o>6_EX=<;?bcmn7+YR~otH(>Ji&mhtW~`;TL0=!Sc#y!^&WYK7+7K1u z@g}Rtph-Y)+pesmkDoFi3@Z^h6He*O9&aBsi~9TrL*0{pE?LcXZ6U=lR*Pu}5udRr z*p+``R}S>=Q7GEcW;#C~dZ3S6z}~`^?eMF4l)q6D@>7JNt1pT&j$8iyi84Gb3?x#% zBFZ?hlC_l0B?b<=`=1yF$()<@`f9SFYn|%zyn2Q}vgPs?>U!u-+MQ|Cx7W}vkQjRP zT4GxT&%f&zaYihqAcHF6`f|pUEZ>z^S+MDQ=hgJ*<(+VZ5BqtEdT~T_7?K8*cW#Pq zvv^q;%NLx5yqsU{UOj8~IN6P+5!q}3W;LarvSmmsC`0Pp-Od)PlY;`I^s3cx6;cOn zDwZM6HvSk(`elKoySKXsELW%hjZst8L@j7U8ER0*!Ern3HI*+$n~g8lON4Hjl)@&w zY*S?qzFAz~Eb;$4^AH8x^8Sfx^jJQjibHnxA!dX{aME?-mAi8`e;W2XXDWd>4n8O) zGmCHLf4@f+1{V^87&;~bue&tbgT~n|9jq|uPe%hLULRNkV6~~UHLGBCmqt?@d*kl3 zsX{o8Guz4c6>wwF^++qm-p3cMn7ukyFMg~5Fui)d;q=*Eis4TXin2vroG)Q}Z(xa8 z@4a3xx9xO#Lr{g;rmuqA(ykoDZ1timGutqd>?h1@#o%85?Wbn8JH!G}O+J_QdG&sk zF33zDd!a;g?#=zeT~bJNL5l50G0yB&iB+7-A{g`#ZW(v1_mgxLYm9nofGBQ(Yz5 zzgfujrQmbUKg!D}gD}xBL6@wi%1xJudP^`$b?+#vNE#YtX0Q&*IKFQqNaz(Nbr$T2?^ z!Ar-eYP4Sc>8-O!|1?pO2~Xn3fj8d(*Lj8sqH0T#EnQ7uqC01CzCqOyQsfwWy?5H2 zXk|KdK1`vH*f8w@8bwA!VBZIW`lg9h2Ea6C zJ8ggAyV=?vyIdia3F%hEYhcE?3f&`HM}fe~H@Dc}(t@^}8Re<0+!_e^tjNGbz1iq? zOSsZ2T+Q&-8ye0hI?az|8z_i}#nx44y3vNSue%sFM6`5AIiJVSECz$uGui~Jl3 zTSyeC@U{a%HyL+FY%U5MylPC9%St*-)!IY<`o-+&X#23bfVi+)-)}V+LxspI&huEW ztd&LinZ!x}sn170ofS*d7|e*f%KW6aOM-hhvq181H}gL~5PU^f>*pv|6gYlyz9hb{ z%$JgGrw?Dzpax$O(*(fWgD(}zsG2PiyF^$H%oyWK0^R`am+&RDB|dE`TWeqd?W$6h zbRh0JB;%I{LSl!U?idn=9M4aqMwsASmIg$rTaxi-@}O#gpA-&{0Yh%q**F&4D1<>G|l!Mtory)-lE=0XIgR*N>1>cc$UD6%*(1SAahT@^I1_Pog}T zOewJuM(yV5X;ei($yWFw;<JVDhpv~CMmnZ^F>55wCn;BIY-GaE8T@2*r zw0ky*o+Z{jFW1mJsXG4b>WWIHlV!*mw){{j572z=%3h;d z^8AvE=sSzHXujENw>#0&z1S|Pg`ldq2zn)bXSqefI@KhlPrYZvqX8?|C-lMoZ{#h&q z!KEj(DonX>Rw;SEq?!>@VIs0+e`KYDeO^95eCU!b1wpSxA%E6JQ^9+JC z(J26|^OlGHnxcRx|usY#J+OeIE+g&~FgVK;h=S2Rrf%(u5cPQ+LKVtiYMyT?syO-b8M!qxK zVtQIZKFQh@tgo`J1Q+wW-F?=gnO_Ero}oMkvKDvW6iR+JO&W-ID2Xk@h^&uEWXbGB z2g+w&{k(HB`Z`=(+;1wNr#b46hFROG;|QNqoV>gH4Qv=#27pwnAmNc1BG+BhFlQp@ z_N6OL7EV(%6zB2VIb|iNursPOjB|!9+lNMLM9|=p->PgU%oz_ZYP8r*5$gOVneY&w zg;H*`{rr=){oFoECRWhUYqT9zOpIzznaijc;}QXr_A={HU3JB9ce$@drf`=I4Suyl zw3*TZ2!5=~9ZyQyQmRX{%00zkr{E5yV`umR@wu#APA~U5{o$`=L%DS9oh#@4!I`$3 zi%L^f7|Mm&LX;Kdwp^UMFBjl<7Z@IGv92E&Ch=iyJOwA-!1It1JRcHJ!T1L^Y`q@H z)+~o%-5Tn9AoGZjE!GE+g9TVg7^kH7fEq^T1?^qS*}VgvMHbfl+_AeB2e4>Va)5FD z^Ju|k4Sd+%TSFc35Z$|pdVcEmvw_C~YK}It>&?l5rI{_N`1;PbL-7863Hg()wI8&{ z)=1y0ovCretJpSLU1S=aJ~O;o*f#7Zu31=XsX?s_bs|^ZuyoPe3@l$a>Z_1MXIoUI zxa$G*QH?OBYiqy=<7ccW5Kq^eLs%Ba5=Qr(r+=ccZ;^rl!Cbe6bLDbUFWgBY5?n!e z4?^T$7Ojajni_LLAkMTS_cKF>9EDPvkegvadv;7yfUG&5(Nai*QHl$W52(%v=So(` z@g^y;aeEJgK@6f1s_&X&v!;1f?0vbTe*9r8wL+yW>7wye4kj5y;BZw9jQD!qZ0IM_ z6dfa-V>UhOwVQq2jx_**r6+JzatTpvd6GT(2e&1^{!B14ME#_<%6fDa z_+yDsE05Y?Lan~RwV1&|?H4I4##n}ycUh`~Q@xJ3=aa~BWG*PQfW*qoiefCU7FKici8gzOMn4qzpE$2?|C(qK z(LRfT55dl%4moD_iANHZ#RGxj@d$eHedP%HZokuRqbg912zoJ10L+>Z^l1Nk5{;lQ zpK)ihCH#_@4^iWoGf? zCwWB7ixbt2{&u!g?N7BC4tXLJpoS=^tM$G1&IQeX-XO7luRrZ_M?N=9*?yu+Iq=Jb zibF%c(Yg-^qh*>dfZgU`*llrRn?M)90r%X~--s@NY;+HO!y(vm9_luj410E9~N}S#eE4qH}copyt2=8Jur`BlHUz9pjE@l)Ygj0l~fk^BItv@sbg3k~#+4swA1^3#h#mTWNcrv}uXUKp8tzc1Nk*n4UG; zEtRI^)hFLkMkkt7YB2OW#;N1wIsxw1XuLL|{~J`Eaz8cv=rFKexx>Z;z(&ImlafAu z&Pvrh7I=0gz$#}(crg#7A<%-Zv1!Hn`}UXM((kHkB!H$0#75s&o|o*Qf%2E}ZFD!? zp`~VjGUz?44N9T(VjPIKT%YaVwL)7;L3;vaOFT!VpqN(k4%fdbK!+f5rLr4UQT6{l z*lL!vlg>1dpc~s<$YhHZR(-dbQ+5HI{e`$9Egc0l0~$Uc?H1Jl zdbzR@DbY!2B}SwO05vT}R12o%V3%npus&CsXH2Ir9`QbnQL+s4D2foY&w1@KB_CuN zYa3->%0vP(GhZ*>qmig1WGG*J;p_7`5}(O9jffJGIVeZvCCeiqFi2yldB%BhZ1|#n z$w=4GZb+oe?TSLa;d5mE9CVwIjhV{@v{q6WXdJSS`?k+i>;#2hZPvFW1_|+}xW>22 z+71zF`M}*R;~%(FO5l@rvptF0icCB%rS=09s)L4exJByTE!q0q!4-`WKw|f7EYm60 zK1#g_Dy}8l-b-i6?i`^7q*>^o<`WLE?l=rnGYg}ESaS827Yc)Pa#8Irk+X1!8!gX~a-Vz}< zS5bjX6Vqac^)Qa?CoK0199890T772gcIK$6bPmk65r=4=CWE1FrtT-V;O!L{CcyBE z7h2%^%6D8Bms~FybV}~Hz%&6c_qg^t?%Az3qk9tuz7Fv3VmT_s<>i+_PL7j;T_oQC3S%tVK^1_e{Ny{A-P?8E%y#S%4r-a93^ye5}nA9UOEA;f;74!?Sti1=V3ndcOy zerHOf@1DiX5erH}%6-`KHv*@kjREVVK8|JnPt-A0ll z(O(htV2pv;Hp$}EM)QE;#csee(>p!8=fPMkD2c7+4kc6Ryu1n9^xi#sW&eA2nJ~=guwk21VfY#aqN`gjS>o`0P+45=tqU5qPOO(#rmj z)>q1|OOZpysfX^M4d7t(=>~3^+h3O4?;ImH4AA4#^=5s;!s4+zzn0B1t6f;&zAqoUl0l?Zw|N=)g8$c+GjjVHv_$5m_BsJ|@nl6tj^2lcdL0v3fmX z2C0mL%hmd$)`mPeM>rT;-+?_0Pi!lmo&%^4M2&4)P;*naRB)!VTzzE$*?ekb$ z$L+%}+0SqbUrTZKjcM79!|zfDrk|l4*9XV z%BqM=3?x#7a{%kW|A8kBDHb`N2b;2s(Z>Nw(Epc_*(->4PNg@d zhLoGUL}F*bxkAMu#ff=N>YwNV$okzF)s9<#*qwD2UA}*^oQk73$mWw!dh#dtz=Io6 zA*fM#M1@o~#Zc7ymU3Ji@BDa2%f zh(MIQU(&LvoH_GUg!C88LDkPhj&yhUZWg#oAH{tUcyi!-ReErfBWdG>4a_D#gG z?{v~0z~nT|!G>F>_GFrC^>Sf0#%P&AMpU0dksE`5f@&|}V`C*>{HPC)#r>ZULd!4g z>|yrix}-Y6SS7liRAUWQq4E3Z64MS|sL$GEC8nOwc)(1oI)xi_k;wIYFI0PNAjL=K z(8o89+sgN;v1OE#ui2by(>z1MT5$mApf-ZNP4JIFvN=b|K! zH5d*SYB(kb>kw{ZwFIpoGFabzfDwcr4nXIR%gyUcus(;CiuKfw598;Osg~|m?b`#~ zIy)4!C_8b3AHIS+wfp7W>f|K(0Djdr4s14TU$olUh%IuaPlWiWKUI-@#L<83BjlNW z)>K9Gi3gxZ(piF$=YVu6hfmY8^z^EBWuQ+JErTON_3<}*D5&5bmDf(-k>z%?dIeN~ zRcPK)r2_OKV_LDnGL7>0wSPjKM-d5_=E4XL#6|)o)4V;KIDH+64_@wTh%k>5gzft8B)Dz*`8y{2-FgSuLIT#T~ zSUhBYYuIniW;*pL77?hD~`gb!Sjy)MjB^atu!)TS#-Y*${x@o;+TruLDLTu#tfCs3LWF z@| zFOuDrE?5{#=k_&ZRFq=J@wmo*-(>O0XwaR>#36S`gGV&bGEElUy%CdcTICi>z;F{WTiDntJUD5`b5t#u%e3Ph_jgY3@KDLjjF0pvn^~vgjdCr9q{Q z=E{y?kJzrD=yqY9Ii857hZiM+;VxmC^ggJ!*2U@_W{e5LZ2(o z#H-fD_9F5tRZ901k>mnSw-LQ=u)M1r>fg#MgpN7T%cq~a5U_(rp@dIN3iHw^50fC< z1BXe#m)Le>{Q%9$ZXp$@(uewRpeV_SNIv)lhd%MRP3Lw95_RuO@y3r0DQ~S1U(7U= zWs%@Gz0T*$HPim^gFfNSG_M)|1hv#|+3nFHN`q>V*3lc z;C-oi$~dp5QYu_C^)l|{nV48cb%pSZNjPy*;iGgzLhS0I0F*(+(-45JmI(kDb(ETQ z!MPPz#O?A1`b036`jeNj5*iplzjkHj1!R#2}NgHDH?ojRIilZn_tp6VR* zyR*63c%N4pnE$jSA-}ACu@lhl-rRNsMy-qfL^pQZ-Ol1FS0a)}D_`xO7`J8>!eL}B z+_-dO3cyqjFj6;%N`W9T6Jq6WfT|V>LPad@ARetb(Hbi}1iq)P_1{28!;%Y<{Z6+J zZSVtYVSW9>txQr|TX4)Pe0Q_)6~LLFs^hMlxgO7WT8=I#KEyZ*YbzmYU@f$`YbPqB z?H~FmGhRMHKLu_ub^zJ7oaCH_bcYRJ>1zo5hL;9UtDE5B#<2~vfIv0MA5asL(?|bfIDq zx{3$5Lb0F!%q$LZ(*1*5`jFn&?k$w_V);LaH_Xfmf;sI%PyXNp#khG3EvBz@kB6#E-bo$*7#T-i`VvdJDB4QGdfJZ|5j@pS;n4UQIZr8J)8Ej zp@_W4bG^Lzxwz<}+P~umF!iW@g!S8UvP@{hFH{;Ah+H3ssl9G4BCZ^T)+$#5@;D7i z8d}Gs-WZq*RY%eB1RHy}J*`cBRt|?g&I>`&@AL;#rI5zUM{F}A9Es3xOvriLq(|1` z9)#39+~IwHP&=;CszK{Yse!z;JBrrCSUKFLT!)F5_4-rY2M40$Z!ex6!TS>QTcINs zz8+JmUbUhIm4GUn>WoLQz-8Q3&K+>CWxM$ZO6xdMD~%Og#6T9$FM7Bb*ef(ycQA3TB)2f3Y8DnV$cjw$A*osrgGn! z1&u_Af?Pcj@oGYR^^d>*KiRJ3{|C`i?rUIr2Nr|7#Q*rayH>zSiSF!TT)^@axQCm9 zgorlJ1|#S#DE-@_Q~`wW7RJ!g?jfrG2kKbmU`5am;@uIn$6)A3pU6a35nM(0(g<9j z9-Cb@BC0PaL}t2`J`u30KOyE~lWr2r(h2+KFFvv~luEi(6*2q~2(ME74s=sM%Ihop z=MAKfau`))(=4mC&B)11JVBGCp#R^>n56a!PaRa)WRT+ZjpFlfu__N{(nH(;JF46( z0)DGIV0cUWni7VDZYC-lno^>#(m{-7rcWws=7ZF~h{32{C-k$X`lU}i0F@TMy{O;P zmPQrS@3WWx%A&83p~XLNbwMhCQ!Bda4RGLo5O{deO>lVU02iU%aVjVw<=Zk!NL3J< z?!Dm%htkh@d?FIqHRaYMbx9`9Q(dgLfsO!qpD70u+Q@_1vIZ*F+TK!W26DyJw(U%T z+}AmASVYc<@7YO4My(=D`duBZQ%r=4)*&XN zIxH%>2+90lM7CuzZ{g7x<)iK#LQ*l7-Y)r|uM58#nlxpjnJkic)a#%osPwEo;CP_jDCe?ea%aW&!m)_?Sf= zaM;y?9oIph2;`|hA>0}WiV=ZpQtH$ij{1ECUC4D+dj*XEL-?S{I8fZxPt$&C|k}lz;Hs9 zp&A%MkyBUpUxty-(2~Sv6n;6y4OTIQxft)BIM7ORj=|BAS{nAVo!bqV#YD}1c)#2^DKP4?NWuXoTA4o{_)7r)sY{;}Wqpu4AR)50nvZ;He{X{)rnf4QQ)sXdW*6w%vT~(sU>jwe6 zt1;D}A;nNyXlI5hu;{5*2MU5j$Rb8-Ae8yYn&D(V65z6$aj|H(;gD8KoMBez6Ny;) zG9tE;mQxqAVBjb+4hC4(j?q*L$(J5-d)}H1=9l7os=d0?@OZIX-r-58(*4SlK8&TV zqovq}Hjp1sdlZ7f>jMYEz`H-MKK%m6t3tYPf`tO1cJ(MgsH6+!FTX_v4z2Q+n?k1v z`KEu2kk!srr#mlX)!-ibL~xJ#6T-lXpVBG7f%mjl*nfW_7vRA z{bvUA96XxO3}hK4e`Y|>)wt|1@T`e!_jJ8ukR)B$uvtCrp0;h5ZSaNw)bY<9Nh~{(88yY>jm+$Ge7{u z4bB$5IwlXE4z0t0TxMVhaAxahMzcR2Eu#VGN7i%aGGJ|aN=MS2krfR`)Q5MG_Py9K z3e!1@k<81u1+0|zTm_+oG!6Z2(S(L(9GPH!lvD+obeC}$qd&sL7@eWP`27}y5P(9~ zXT!j8a^4I;*MXl?$6WYo3kkZ2`mk00Nbf=LNP^&e605o*FG1z7Ae93-IWwWdfoTB| z?`zA;Joa}#;zpO@{^N>}4gCx4)8fFDzikMCzy<_%0;@IFL%l~&XdLi0U^<=ve&UH; z>6FClY&UoMOqv1~8e7FKt=|jlY#4j*@+7yy2;1mWak)K;8z2V>B|gNE+?qn=Yh|!9R(Z1$Nd{LG2Jt~KSRnqToh35Lpu$`-C)J`gE8hEx zHV?6%6l}N%K`H=Ww0eO%b5Ok-DvzU#_^*yy*e0|r>E~BXTFmLxq!?;Xb;^%`uI{ER zdu&o%UVoNrq9yF;yXr8YJc}$y`zl-}@hiYRXPn?%s6;0uQJL|EePXn0utiMirVXw5 zIv}YwaP)Q+PAD_r%2yC;)rz36S+X`_1U-C&jqF3jT&~{9>q1u9t!4>}m?u(puUHv> zd*uj|ARNyN6h1o?)Vs}C;!PV~zzzN~00+d?qdhAP>R@5&tz#UN=e-7MGVFYuXxkJxdpx=^^g73SN<(mM%6fWkd+ z13^x{yx3*Soze$tK(}r~+l>A=34H{Xbomo_avK^)1G83)-VIKpt7ex*54*XF#*?p` zCrLZTDk#*0O912}Sz#=!;nczk^idq@#=FBKuBmL(?ggIgagkFQ=wENmc`w8JxEH3H z)rb=nY@>AUb9<$o1j(*-v*dV)j})ckkd6A(dk{Bp*hmBML|C95XhHMKfveLaz?;B? z@~>a|GF-?pv`TrjF%}l53Cd>V1Q4_zq}dS{t|S^QFvq|&a}a|g9((BtKB(+xrA};= z>VnmnuG1iwO5&D(U-<$|+$*TCaZro2H*p_JpUkZBK*;Hq{!a{68^NL^^XWw0wrhSIKuubSk~;+Gf`fv8;9TJB0h*ucQcrS0#w zoIhEMiio$HXJ4L85uZ<3=FZPnxSxpd>X_<*G+C(?0$#j7eNq#gmO*lJfNsQTlv3#avJQ0D!rDI(U#% zB&0Xj8{{k+;0%=}o-K%!fHt*_&`(>>PnkMumfhj+p^K@my+PprUDSCm?FwlrlbLz8 zKZlU!;5^a0WXQA`)?-Hi#)Dvy)P3~nlo&mbp(0%7szUDHu-Rd+lPcFNJf3DEf1qsR~Cyh z`_;0q&=jj*3TQR5v9#;Gw??+D0Dz9RasKU3qHVC%L@VjLOa(J6yQGSWVwdJMaalY7DkV*u3%HfB^#_==R_qtJ2E zNmzqt7?xI9g5ACg^~IbB48AtbR3M#7X(})6Y9JEIEikF~N4^UdBDvL;)1t-s`}y`+ zp0G`8+a8Z6^1G9_(scsHBQ#1EC*i_IkN^bu>)>>si-1J?N)~v?lU1C=PE6(~M71$QPLX_pC zfkO^C13JXQ4x(ZDnVuoqOKWv0M@@Od|TeNU^zi^)%a#be6#g(%=3?m#3d_FYjaYp#( zNVE_o+I7c@c@L=z9>h43SxO+L|4?;#^c3#4wS`wec3V5=F`rQbz5n3}6+acMEWeI! zFQD)WDOxzE-HFtVlN^q}J49zeGcB0^MH2(72@RgWQFcMKk{@ckHn=ECbtvd|d8S>; zTsl)Q9X6!B)f6yk@tu@w?BHDipAw(*(}lQwIQ3T_U6#mJuH7@PCP6noks3iNmY0B7 zG^~YK4{VV6JBeXoKl6LlbcPqU{jLyfy0yXjl#7|#CeY;joL~Hxs~><3Ors>A9m$(~ z)a&zJ&rUTaWFJ#r>I50OHEEFB1f6faH0IJ8F9(d0F$y9qgnSxD+m}Y~DphogQXWqh zJj-KeXFaDxg|_fA(0q?5heECWmt&DJ*viq>o62^SBcqR=b1G=~Zl#-tp)i7KOIA-( z8Km_+ARoMqZnJISO*uO`O3J-g=U>O+l`C)-kv%gh^j2WSrXf^DSG9h3-7^H=ozuln z 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 z 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�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

T~; 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 literal 0 HcmV?d00001 diff --git a/doc/TypeScript Language Specification.pdf b/doc/TypeScript Language Specification.pdf new file mode 100644 index 0000000000000000000000000000000000000000..54aec6b8d09da2be81720c91b15c02584c365652 GIT binary patch literal 1248020 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 >(sp6Ez^@ncNfpoo0Djm2DT{ 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 z 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

_FxhdD@>_D{8Q6N-#W5=sS)eem)}Lq#Fqr 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

5Hbn2k_$=o9HuM-C>;~cQ_Pe!`U!7|i7aLi-k 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

S}?(p9W-*u?l2>g}aetbk+m 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%0D3(LezO}XcK)7&zG~d7PAg!s8mtz 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%0Dixf7qc+>;UN(Fun=6Y5cl({JMd$ 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%0DD|MgHVa)iYd*P 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 z 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¬p+fLXbpT|P}{-92R1?=X+9eJwf) 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 !L56(39m5gNI1u_61 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 xw-_IFn;>&;2@t}Bw+wxgx& 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 z�f(FSJTsRaa@Xx~Bd~Yt#+x(sNpCL$B!Sx;kyq@j9Mf*R^zQ+NvAsmb6X2(Lj52 zTiuTK>ihHqv`=U0EIOofbPgTXqQ~p;^nuRRxpY)d)D!8Lo}?$yah<29(1&`O zo=zX@nR+&TqUY*)^toQ3^XZgcq!-gydZ}JYU+d+1Ii1nZ=x68~y;`rPv-&yx9DS=_ z&@a$;dc9sx-|G!}1D(?^>zC;Vy-{zZzw1roM z)lGHFZ{kh7Wt&>2mgSf_rj8Xb^-TjS!Zb3CENz;YCRU`m!`xw&G0jbL>n796w6ct8 zW0EY-v^U9CS<}g+SV7apbhXNxyG;+Pg1Oi9vMQPT&HYxadB8ki-D*-zs#V!!noO&T z8Er;eaVE!%wQe)x&3LPt$u+rFbu-aSv}%}1W|9?e@=Tsp(@Zr}ty*TfnQqlKGtEq^ zj#*%qS#`~Fv)pQ8R+^PoQ?tsfvhFae&1$QeS!>o>&CT=XC98$mXf|4H&8y~BtDSkx zyk@mGubbDcWb=l3!|Gt(G;dlR&0FRztCQJjc3LUsZ{}~-UFL1`w$<6ZW8Sg4n0L*) zR#)?$dC%%*4w%DMck_WcYTau-G#^^M%*W=EaX+3oaeRU6?`gDr3^*{q|-U;;OyNs-O@yZ8=;;_?Rao>KPZ;y*%d zkbE0x=>xo5ozu!U$1R+h{?Q8FGdJUXRC3wn>?ux`UBUQi*_Di+m3@Zs^RlZLzbN}G z(Y^`wO7*N-tDaZuO}=^3EHsPE zV)K+)VwOfmMV5_>jtoYYi!2{`vsuO#x{@t(wOOm)WqW+V{KdRzHkg;#Dqmwee1q-p zEw;F~+0x!+3p-#An)l5ibJ!eZ>-t#z(|lo0nJ>*(=Ct|RoH5_%fOgGyx{Nk#Wfyd9 z-A4D)_v;7P&Mvck{la#2&0N=0^mMi-%kz1DJx}NB#cWprFT!&@#1giyW1ZxIs^SqeJ{`n`KJK~2e_~96M;Og+eHP{2Uqj-4Wn()B2 z*#mc`I;uN+;JWa=3Glu3*!K>m25P7pN{!)xo51%rW#5~}UVW;XO3l=CHJyF?Of{2z z`z$qwefvE2%&p;>+rTp?!85moXKn}2+@3x2GWPQ;)C%_VtJEs?^J~-^>cpOT9i^~m z{tMj&&)gZF`9XN*zVOWb;F%v{&%BpX;hFoxGpE5b4}@nP1kXGeo;e+!c^EwNaCqhs z@XQ(T%p>8MGvS#>!84DBXC4F3oCVLE4bPkd&pZ~Mc^o|Rc=pWKXaaj?hjMj3n$U zC*h?R!b>lLmtM?XI**=WFFlQxz)LS>FFlu5u$NvyE7?mgqG#ZxSHVj^3opGIUV06@ z^jdi7=isH+!An06FZ}|%^k3LZZ=&_^(l16|?votL$U%rp@dPZl>4R8^q8S_6C*db@m2TX{%S=t4?pQPpC!PygFVTdeckr5@CrJST0zO4hAa*E7JS;V$-2uTriFf2df9G(~)3& zFrGdL)(Y05qs(WOX`VT0YM7d)wyA3pOg(eEX=oaorly%`XBN9M0)li6annr&vg*lTrxcSJO zFrS)l%{lXT^P{<_>zeJluldPbF+ZDM&2Q$P=7uRWMV_ta>xFuWep;{8&+4`Mc`wqt z$@9FjUQoa0l{eK)JJZp0Hr-86uabAGcbiw!tM4`P?(o`soxCpI-9alD5!68wj1Jx$ zj0si_R%I3$Tg)Qz%`8h9W!T3=Dc(b!nd?4fL$tqU1Gp4x2TTHF0o*j zTfr`s!7Ei%f991qaLH}plB#MBb4E3AMs;vT4RA(0IHM*wqZT-$HaMdWIHN8&BLSRI z51es3IHSILlQ|<1oY4TB(GZ-`2%OOvoY4fFaR)e~IXI&QIHM&vqZK%#4LBnSoY5AX z(GHx^9-NU3&gcNn=m^f}1kOkSXWRwO=nT&20?z0P&gcftxEq|&18i}Rj%2pz3AVTw zY;hmhq8HerH`wBSFhn0P!~5u z=hO@8MYUb+P`lJ_wZ}ZC_Ni9tpgOFMst?V}<`s2PeWt!pU#ipUj5@2nQ|Hv*)p>P6 zT~e1-fjOprRllk0TAA<74?0TM&^2`(^`(ALXX~;05j{aasvpyn^;A7W&(TllC-qZ$ znO>n+={0(t{)>K5zoh@FU(uWO8>XshYdV;_OgD3nSJ8|0;=Fk8cCVq=)NAK;^g4Up zgZ^M3sDd{I%LdB_D+O;2-o_R_?*Ci(|5FQ((ot;TV&}bJ=e=R)_ruQnz|J3loj(XW z?+ZKc2RnZVcAg45e;9V&A9g+fcAf@19|$`i1UnxLJ0Ai&9|}89hn)|DoezhdkAR(L zz|Kd)&NE@>qhRNwVdrCD=UK4xY}k1Y?0hWjd>rij5!m^7*!cw5c`oeyQP}xJ*!g3y z^GUGt$*}W0*!dLL`Bd2XG}!rc*!c|D`ApdPPDbea z4tL8r8C&!Pp4n|w8=l$c)p?%T7t{rw*_YHM-dkN(m&uXuS5koO=QTM=qlnPS7wcJ^%{9v|{@93=?Syd8>dj z<0w2dySW^H+exkDHA-gh*844sQWU<{@U4ZsYzR%MVaV^@XgoK)ZyC)8LanAs=u#NR`F1Kk?nWrW+q)#Ri9TvL@(dUXD_1SoXE zc&3ltN}5B8-dP@F!`wz3Yfz0;(-T zqK*Gpg53H_{Yb8Nf1clNAAMBbw!Y+#a6Q_-dJxaLD*yFr;_?Wmr&^Dkv_okwUe_41 z+A2a~r@kY-TH6(IK5+cOgO9EwT`hXN`e<>l9@icI7-Q3mbtfKy;4T~M4$h8lxby8Z zU)RJLyEhlNvC zc}MVfMemus!lErnUIQmBabF?Qw3--OPW5dUht?(ax1RZ&-VI!WG(JkXhTnWOvrJ7t zWqn2_d}XtYOfko8%3+kj?p|w7)i(Wfm)Tg4d{T;CpR#qmyyfVzx8~3M(^iq0n-Z!E z&JC>&mn z0F5R#n1M8hmnJV3rl;thq)tGtcbiTC=HpT?-T45bNZ5uEL&pDw7+xmm)Cl}{ zdDI^YrE;bj<5GZWe%ZOTD?<9zl*v(k+QOEpf?tNr`-Ru3om1}IN_2hR9Ebm*P}2=+ zI<(8M1PcLG^qo1_f)IZ}@HuPq4_d>khFAr@`-!9lW;MZ$8`ja2LY2K(1OYHHcFI>M0y50k7>#*-% zIAm@lU}Mx&w;kJ^Nv~+X<*+r|<3a&S<;TW8mHtcJKIfydz+6OLg!M={^L-Rq?pI0X zQYKUtPX%YBbQw;$0Q?m(?SA+pGDO=h$)Hg86Uxm(1`Q$TKCXPW$4A}rqS3Y2_2dd~ zX|-5WZ#1az*htQ&ob5^3YSb6JDIo5>aj`l0TZ`>QvRR0gCj z;d3JFJ*C2!!<4t!u|3resR zzXiYGFvRb#zCRBDyk#u_dAkeIt|s>P4uIYZW^_Ot_G6H@XvC^;X%3kJKOW$nCGF+J z{G>!<+7UTRGupMB_m{=*DSNob`o%4}ZDIbX0ihDYJz@Wf zzxMv`%eE4{24-XG@Tdt3;BXGBEpvF3r&K)s*T{4Iqymxgov%6MVyKET!IHcWMe$2* z47`c(EEHQNycq6Zd~3PJ@Qa}bA*~g@TwJZcU)jJe{L@LlUl=Q`Ae*yij1}iIxw3HM zT;xgKlBoRdvgXQ&c~Ic}J1uKSo(GXj#XKumj!$0dnOS)15K%s2fm1bI`)m!y1$!^U z$TeMUv|JE*4sa!DpRhG$FUa{@b*}0hyfI}fruH}MT-G_-a>}JSidL9?h2Ss2tc)u` z2jWIPm2*b<4Bi8S7uH6Rrt(y_!F0Ztay-8HGXIQlb7og)wonofi?<{Km`R-}kN{O;*MWcgU-UT?4)X}m>;09l`GOlA;Pe<sQ(2-~u;<8nJVwQ{bcWsFY_(XD&i z^0`8a;=aiZ`ATFovTSB3@EV$Tk}Jom<6L>*TtVVoiQ-&U$lKKCt|~{LD!7yjvX(+= z%(?3&48Ll!Y_2JiIu=SQ$5JWyl#9TZzOWRY?ny6>B%Ma$E~2@WQ{pRg^OU)=UF$DWE(<1D{hXd@Onbiu1cG%HiCDioQ^CFMh?M8qgl{xTOqET%#d zQpv@=e`7ek+bElU%th`Zk3Q}y4Mi;M=1m>Gbw8~TF0CO`)RW2YPM0?FfQjBEDZMIE z+`<*@vSo?hH8MvdkScJ;iQYY7iI6Mw?K9v-8sR?8WWmg_Y?`KoFG0+QEaycU>^@BhXDG5Xr?ObV8$Np1$^wl( zPr;ivdKcFMZA-e~Nfl?vZJt6GQ1FD0GvxOciu|(mxHj6O!gFuFa7DI3V9@G^^f>Sy z*Uz%avdKUqY9(qVegc6O@QwPFGL#6_q?`#|MTJh4P84HI+XTNnk47GYkorLKz|z>} zMI$(_iVBbvbXwX`HV~J=C4?8ivq--{FHa%^EhDy|j#~L0uxY9`X)9RmIdUEY46>gO z7)85T(cQ5?$%PAT?}xVRbCp*E3cSwN!5|c zYjNO9YX%ixD&1yWx-H2;9Imq<4t5ZSWM8|03Y1o`ephJqoeKY)OMoT44rckotV_Hl zzdB|)La!>aIzi!?_oAG$PA-?oa&Y;8vrZuw_>!ofz)uX){CM*>{@_uCmp^yPBgV!t zSs^qZnYnI!e4PYP73I(3o#bP_%TP9=VO4N%pBFVsf*n7? zL@Y-^EN3i|Jr?CbMslYOI1G-OkQz%>W8$kZ@uo7?-W+Z1OhSGZ1?*=St=Mt zt*-mWwnu;wxTrwzS;9ilSyG=QlviNeE2yz==T{r_irQH8it5b!kM~54Dv=N`F%h#d z5jPo&SeuBP8;hJ%5;vKMoQ{TZjD{^FAv+`@mx&>l(UZ&x01ES>!V;pw8lu8rMF&*? zBJ?D?WF)(``cbRGfMF%WsP_0MX(McGdTeYv2&Op~9E(lGuf0yk8-2orU(E?|)brZK z5#5^rf)v{Gh?GeRV?Raxi+k2#7er<^8CEc9AHi7}XCm`lA@+51$&w#_c5t*|ejBM1 zafySyEq<&G%J0rS{bT+kJs;bgXO3_$9tt-W&5madX)hinN(_|sU~ya{HW&3vw~`6w zAv)PBAf2%h6XJDvtjmw3;OAac2)0?Gb>^)7UX)@KGmb&#tT+gZX2vngR7iIK>_sz6 zvQK^MMC=e6j<`mq;T7Ja;e&leV~}H($txCb5Nc3tkZjOw05qs7RZ_-Jk%~A`drnS5 zS>6(`z_Q-4!m>oNM6yb;NU?IJo1}ZJL;~Cbb)d~nOPN_tHq+2NKWyZg2i}?6DaG?( zXJvv-?Y4gu0+BXP1=UmY$ zF?+pU&M^8F+e_v}QVOMn#8WDz0O~2#QYn1Us=4Job%@?B3=_6I=^=-|a;imeXKm$g z=Z|5Yj-7sPbX6}L^tyLh*rnB_Se?_dKio!jc^lRAu28c)L_~F=4{u5u*(KGrtgdJo zoma6wL_~L?7};gjwQR1e>7Uya@^V15b8H~>k|NtHoG3a|ikIM)Nd@0AX|hArwL7%K zagfY4O;YJ!gszS*TMHFcoVTmHqn{M_dX$%q&zavMd!A@RL1d63{&DLc-8v*^5LOyt_n?=eY|=a8jN!it;+6}b#4@#+#|)Fs7eivA^k_Jx@^4>EBX zV&m0C#i#?sXbMP@XOYK`|AS2Io@m=r9YrOK=14j}>dX{q9G_;)mL^>PN1G{jf*f{K z=oUgl1S5ge7*ye7T%1lr_Ewyak}$Y1tdfxW4^@47C6Sc`BPG$T@(jOUi!2==#;q+z+Y0p!A) z9&DZLY4H<^+?Q*%Rzn%bE2KV=^^E)Y8S(VH-5AkAL_3UnHi1Awcvk`km3~(y9f@Er zk%fFKK6xuT{7mG9PjN`jq2i_WmXyZlp^b zy?a~Y_@c;G0p~XB(Ds4L44wJ?43RU~qF76wM?uF-dal=u_l&T)4AGVk9MwHqI=v@! z6=%5!LGH`j*DBH%@JYlBebfb*3`3;_oQgV}XCqoRVX)LbILkndiTvi&5gyA>QJVaR zR+#EvT>7xq0bIMMtz0nu$tx(3M%329Tn4z-fm}vf){*V{Ue>Wf_ITRRE<-L3It%d2 z1NZV2w*I)e4C`On1$R~mUJEWckf8JNTWM`0J$D~kc_Vu99K;r2q4)F`aNUNp6bOF& z5|-Cnhj$Z>=YR{%^KIq6jCtA1ZY7WC@3N;yi+%mOpr%RFPwgE}o@bZyOp8$IMixc8&v zTIDI9B`a$RVYdUkV&;i|=W(kc<4cCdHV1jb`VTA{Fzaf-vo`9JHDpvXWcM0GfmI;% zaVg@L*R%+JhV@=Mv$UO0S6_&ZKoi#%z(qW8KUlXGJ#>ypRyOz$4E@6~3=TJ!6~LY6 zAt>X8%;5{Ii8>lS7O?l2$0{0|%PK6F`f1rq-FDt#5i4L08a>MH@PZlz}6MGFO=A7I=MX@$N7laB30?gehPvNLqiU&2bK zRO`U^DsaH0;s+Y}pUn851YQ&Bd-B9U7n5&))qj!aK}+R>LxdnL+zsGH{>|0>gX1Q;>{-Od43blZhxFFH z7A?^tuEsH`XRt1HC%Oy^Gdf>Hak_?Iqrn3+bZX!PC`cXO+S@26vEo*{X|hi(G0vtK(~ zVS1DW!xhwfk{ zzmdByiq+5m@b}>x)o94MbSP+xM>ZlD(6W;j?UXYV&fUltH3a%H477ymMsH;0)cI^3$P$$-+YL1E?Am)_% zG-Fg0wfrQ8hn1OyIj*HxSt%ktRWwbMh(HHIM_67RQd#@{&>I>`r|?n# zAdm16#VPGMt*u|%q?&O#4R=E35W_=;>Phs?uscp~#O`4EcIb`Gm%ArotM{`P^M?9~ z)%$zT@0@A7{kvx#-|smC^aoDQCU1`2{#z4vJIi+&Pr+~CzV|uNpdKZAN3#tk*Yf1% zrbszFJL^BhO19UPh4w6DNoJx%3bDgEC&kNWq6(?#dLc)_Q?^l*;Zt@MmGQRvTjb$I z(~03VsOHd5O39Q_wBnM!oAnb}q4tRgu#pXsWhl@dxJmNwmsTpP=7$u^7TbF(VJczn zSJo^2CBlrzrKTi5K$0ku{2S6q+7sut&s+ABU{vfj+?z~qR1HIrtHcPs@_U7`j0Spz zDQjgis}X0inMSg~cj{VVUV6!wuZXfQSpwU6g?$e*(iG!~iF!CV!jpvTXmK$BfnOQB z#r9#gNNpUWorYgv!$kdsPzJNg69X5oQ98f!c_2&$$X&wT^efiM)@57%MkC*pe_t9q zmFW?qmKK2#^u!^;VAAJ=XZYMm;@)dQ{o_iuVmiAiWMr3I$G*1my19~JbZ&y{#U@f*AthH%G2d>apss z(48Z>!gK^}2$ji`og@3AJt$_3Xa~<0i>Q-VVzPb14VLLQHHfTLSpnGCI>bh?y#~Ga zgYD#AC)kT~(ELD-ff*^C#Jy~oJ#4iX;-Jh#k%cu2YUt9h}6_1;+oWJLCp?$lp5 z*o(GOX`@!dvIk}ShOgOyESRL-X|@+@rA~x>40`Q{*vY#NTMhG;DVQ|c3BOi$C*#4? z{YD?G)^C;fYgPRQ0g%DoueF1@lXb0IipKYiAXu*7%u*@Ejdj%o-nMXiWr6_KhVYqFSh zV_8)XU&@bGmuf`65b>&ORu^;5WfSyHoh`0DrdUEfi-aEx$xk?@X%DMjAj^zpSv?kI zpVa{(@eTnDjb^2Q7#Z>zzHfvD(XlJa)?_aclS5aadIVCla@L|YPP>z8!J+5li z;E;q`whZh+ALi&jjk%`)&4I z?K?g;QFN56&`nDtW^=X}uVpglZ1VjmpYAQ0r5>f0ZAtbkxe~x&>EUId^of!8o?HbCh7_y6#n1cJvPAHo$*isysPkM)7#YEWNa!PEjjl za0#XatlV4L6~EkEpy4u*<7J$}$ms6`%vhv5E0s^6ZwReV-2ZCKV`PVo{DFbXZYET%83y_NG64=#gESaXPU7(o8F8R4eo9`XC_&E13D!FitD$;tV_;mOHiZjH^8 zh^pU9xKMtA;_i#s8FTG>%Qqt>}*D# z$Op}oyYTT#5e{B=?%M4O)fD)Xw2hnj=D;&*n@vwS#EOpxF}K?Zr-%8Rx2ubE)5F@A zq1)L6`X0$2Gna$CR*%bRzE`gkEH@J4N>*$fgXfwFEmfWe;&<@_a?+1sSg+Q-0cK=5 zXI1c59d6DiPc*UTqrU0z4P2444Vp3B_I*3?PSWE}RXqGO;(nhNx3^|8?F*itrO(To zd$FZB6*amWjMs6?WfQc?7i(E=?mox%OYNgz^VLDEs?N1(+Y6uObX%e;Y505-cDp*$ z(bEKGDK4WNysq7J9FzBGTjO*5rqR19Ib0O_SDUtGJ;h5f&p{0|a(rxNJb|YSt+b-9IHMg_E4z69IHCg!H=Wk> zmVRz6+j)79W^;I{{w+vrBIe`ev$o!={W+mp_vcSIUv>3+0#wJ~r)ReI3;AFN8A3$D zLpvE6sR;a44$s7*J5Eu9xEyiq9HcaGhYFsfxU3Av$OPJl+b2V>_>F z9VYt%O+tP)S@g_Bf!+1DMmXL4V>^xvMT(4gKzLhO^3s0rnKQ{+={uy0+QxmLB(#na%uJDd%=HdP{M&Bj_hwwNe_?Q)ya#z^K& znf96cTfuRTIWpT6Xr!96+Td_PpQNc`Ix_b>h@Qb2u$~T8q$AQShQ(u+tyC5fiKVU>`G0*fP6Ey^>jb zvUZtaYqMKxE(mxZp6`;9EY_;_`PeQS&wii_J_VehA2!Fbw~SByZ7>!x*K|->4to)H zae{XDo4X44y>9*!J@PP3Hm%-JcY@Jb^R!fwhM`IV~YhU+D;GG25hGNzz9y+m5$3Rv$oSWezTzeu2~>-2kXH{x-MlNOhKq3KC| z$@wTIZ09eA&MLt@$8l5l?w{5qJ1y1d84;~Dk1pp`i<&+5Ybmi6xpWRPcd^O8XIqDU zX&)gPXo;^6VQCv#i*62kz0=j$5c4vd)t1gSwkvb77t;;cYF%dGdY8ICl6Xi@U3(x9 z=-?%jRcnS;tv6b#r%apYFL71>BHKhNwpe$0)-yRc^YS=&1-_I#R5G!4`9$Kb-Z(jk zTztRJ`N6evc`ZB=el+~PAjyuHX8SD$-}73{;1o7YR_d&w7s+CNp)(*8y0^KjtDhg&j#eh~EfD(mdB*i> z$Ms5o`bm5V81FSEbRg(zX$Z||=-8BzBdr}_N5LwDMt%c;XM8%LJYgDEO%> zz}<=W)B;P$llYFb+!pqEu6&&Ir)|ng(4<^T1`j86yG2^~Y3+t9Vz`f3pT%uAbl-~A z@TyIh63h9FsxflbosF-j$Yei^&c5lKoqm7Dd0GL5V)GQI%pVsmRXic8o+ao(kHC*< zsF>|0ncX?rAyB(B&N$k<`f}C`zp0Z}O@_zdYN>TwC*xhYJ@2HxE;?e43|pS5P+@c; zNxLE(D|SB478{6~z2=y^m3VlF&K%W@+g&K8vR{~Z6|A{ElQw9zdLY&;Yqe1ketfJc zl+j9BWw{^w$z-R>3;Z7Y@0|V4;C&%h>nSV*Df*ycBK-5{a5m?MFuRuT=YE&OBJ1m*aqtDG(+rai6^{j4<7U))=8UMzdo z%2=~8+0A@}1L+o?WiZ=+{`BYQ4UdQnKO;!{VYBAw?r1HfsO?CF&Me-`v%bEuk?!6a znA$d;aXEMBr)c&m+s8)c5?h)VyK2-`T2ocEg-A&hn6ccMYX7!UF%sBKQ@d@q0hGwr zZ<}OYem_~peSQ07sV6R^h8vtF!>ehy_AoiV(uB8WhMrv9Owi6D?{m;FFj+KElBvmC z>9Se`tUxcS!NvR$e%;etz4EBqwE~$;4U-TO++EJr^5#^~Ceene^s*9lox|{FZ5LRZ zT`Z7R*&pptt!8=LJt0x;M?Tbac2D(kc{Oc%|LT1%p7W(emix!#xYn^8>EhAZUxHhh z+ew$lEFZ(R7E47Dd2>J)RPp87svgYc=XRx2kJ?8!;*#YIJ=nO@6fjePeSfEP@j@3m z^Vae(tHDD=#Gom&(x|_3#?))s@-;Q{Ri)1pf|wVWSqOJHhp3izDx-fN?fG8zTinoO zk}|2cSGucoZmdW`rIMuxLiojMy(A9s>^)3-ti54zXG?#+=3JyDq|mUDl6B7-1yBK% z{~U%3&fSrpY80aND=|4=jq0Wq!oys5V)$IxZq^v>ygYz>k%gkQsz6+LJ!&4aNqgSl zuQ3@;N$_9&{Z#?|>?Jy)X*Q6;ufTBgQ<9jRQ<{39^i!n=4a>!Dj;G4Dx1IbuEnBM{ z_EV4xUVZ&V2f0rO|JlsKvtoteMv75v=EkiR0l~b*j(dl$m5&bh`GgjB`@ZdN^+m>3 ziLFHju=;r~*+R^Yd2u%eovzO1Blpai5Eyi~;cDha&ZjPMD-9!TXOpwUcYe>)Ls~ih;$q?!c=e zg$NV+N6ROUfe*1Aplok=;Ull=jw`3sJCOk2)2FV#r^zaZT}^VztQGNDnPIx~O=3Mz z#Y5I46!+E|I6+X|J^4zwv=9Feb>|qRT#5lEGjU??8Q|ZfUR{w?=E!Un5KQ)2Ytn7>Cyevq|pXE*^C{-^0~!nQDGAyMi;%c&LpL8uRu% zH4Po>(U2|tWjt8uO$xBBj;!9mJN5b=eTM0NxSvR}R^g|gQ2%iFTCLQG^~7p>18M^& z>D!=2J~{N>{Q{SS1AHB-d9gu0lek|y<IVec#Mxt?ToK>HnQcPQQbIa>@owV$4@T7+R^4fdAW=UU!S@ z=xin8M@eIeR}FX9rd*nu1`CH*Z;|IRxX_YWcDEXR?~sFyseKEbbX)lRNI-+xS*UdN zakbuy!TJzn2L387*5gN|N3f}uxOd9rM?*@J;03tR*O3=SYRtqOrJ|Pcip*A_ZTEX}E%AES#AmYU5@E~GJZr86uD#U|Q#vVC4cLF@YzA+J*fV5Db@9tqZa>M!J8q^Q z|7KuKQ+kBHeg5%$iUVh_1nR=W#UDIL+EwBiB+hAlX#+wM^Inhlt^Wd%HRj?D95@z&UzV}5dkV&9dWU$*kZ z!ruGTN2z{n(AIjlb#;CjH-_ev#4<0==pz;7u&ytc*n=jVO4rftb7b)RU&6`brvwRm*6DcTXrPKUFU z@vvG(mIZQ#%YDwLwGB5a)`OvKUt%U}GM`$v%B3EuLQ>(g@2s^9YO`ZmVM4QG+pP>i zYwX!M-&N=H$uxVD76HA6f?@l>m3dx$oF;aQjJ%vdVn)Mg_GAY8Q*ln}6|g5yvCbg7 zRB#oRJddLc^)3;Oo}*{Mx9v4@1UrkGJqpKrp^-;us{KA~*rmco&$iDv z<&ag)!JFKa=h5>vw~?hUx!Xnf1nTsyE^UtQl>8n4*6eXAZucCl-P>G_Sq&ytvX7$s zjotuRaubvc4Rsn8HoX5|o9)%{l~5U^z)@J7*no7a8Q}OI>(M|SA8*co;ZNF9Gbys^++uSTiheGl(Wu=&YLU(@3$@ zt>RCbXg3Qm=%?AJ5{<-Pn0%X5cC3E|E}fCs2mK@SZ=?oGs(XWD#C(AGBfL1y3z(Y&1TsZ@oHpm5^1|XnEYX zDva-X59lC|g(A@X(W@aL%+nn#a@jK1skIS0%<8(DsAMvYfMR@aG%jCTqBpqpQ(Hce zbBMNa$=CLtXzT3Cuv=o_t>&QF%YGSQ0IE)fubVv^5{qddR&~%?U*BK$Q5Ka!MVdM4 z*k<$%YB=1S^plan2a=JYi_p|zvoVH)2Y>B5skiH01zS1#8K-Dc8SvFHe;+VW#Q;tl zI$n!&8yLDV5e*;ZpQWU9M-jzhal`ewQg~3~<#c%fD%D8kk+b3Bz}AR@o2Xi>YxzQc z%%o*Lu)z-7?)@t#+;3$?<>jPtBgF#Lf2x$b&@t>z?&i1ZaQC{)4k~DQ((U>^bqdV)NNj=g(kD*?s~lqlbe@B{oUrvsWe!#<+*cv-IJDM2S{EONdTEfGyaV9E2PU3?Kp{qZT1E1Jl32!pKg@26~hUG_o)- z{5vvpGW^T&57++={^9!v{#oNc;U68?{?Ue&kd>X8kd2X(kez{%kd=XrkcEQ-^b{K* zJ0nOE8yg`rD?1@82LmAsJ0l?nCkG)r3kX$G+<$51!=&>0opYKNPmz-7B(i(2*R0|37Hu|T>s!8=}at4 z{{jmqXb&Kq0~DC^51kdH;Xi!;JjV>uhy^5_`5#+==2$?I*g@;CuyTTS1Cqx2A9iE{ z&HrOlkOu!)n4L+Bke!+NU-Vy17zh~|K;~s;Xa5(Nm^cYRphKub_}?7L_hgxP5%8y@$k?CEUcYP9O(hp2F@lT zCPsF~CiK!Kwr0-eAlI?*@xjCV*FVxdQzuTwa*zQo_>nI-d46d7=SGMCw=hxU$4n!% zy)`K-OT9v-sIA^#c%{-_sOK&@9x1&SD>=RZ-#vY3X$B9+D65qf;wTO;MHk4aHD~98 z=E!hKSe|pM{-P4f(q_nay4`g5(D^`El1<9@F@(SKa3#~@gzvROPtmZ7za(AoI5LfA z8p7#K1wrj|9%Y?#9vT?@Vq$rTS&C}>23EH1qlbxc(-oSMl%X#YluP2)`QLMg|M+50 zU5)_OWmL8>A8)eT-nz6XIvAz0>jP1Kid_e_unr+HCru-MPq(A_U%h^q|34Xvos)rs z?LRHYNXW>+26_wqck7+|eD_uwT76_TlS*%#Tylmjl0c-@hoyus5{V1BluvGMoGJWv z0-jh!BZ`Df>8U_LNEKF34^9QcUKKVJ3=2aAqt-Rng~@*1z8yh52I)BUIw1i*bkP0y z==13H?$g6Am-?B;%xrd;W|omQKLZZ-g&7>$1hOCmEhVu@70l_{#ea}_2r^g{JB@uE z?)s0(7qa$N>;2MaNC0`SS-b#-8zsI<(z0K`83%)s=NDz$AG+!aaCHLL&m=2W`=bgE zl@5xZKfc_$bw0+>Vd?U=c1`5t@Vtxg#^nZz>=woBNcREtP2(di^Ti0^n zSsqMFC@vXXsD#Ag#1N>;QC{Ogg%YycKTu|O1 z@2=$qS`C6bO$SZ7_ds2Bu*&8*HBeQ(;huN!3n&~ed~e7IBKXSR>%~anFIPNST65vk z|3=&UVe!SHqj-6fXa3Fh>r}M!_T5tP>Io`Y2HQK>Hbf${oA+VVA*Unfgs`t}@jbJd zTQC`r)C*mW%M#cXn1A>|6V=By~fxCx-R zpxjaE+MowJ-lO00IH{FwS491}5!pDX3}z+h&!is!#=8P$Hi@<9*-6st_$~o;oqM=^ zhj2cJ(hB-;5V0O$*390y9;hV{w0lPKZWQ17V(~;#fljZG!to(fmMK!!!W@MjCVj@S zy*!^Lgyx5LuBh(uedIi_?AxX>D55+}IPV+P(_(Es^RhJ^8WAG-A1Qsa3wwH9HRhvz z#5QBBkxux6>(ilyi31@F-4;X5UP<|&<+4<=ke5C_x;fwDd&x8$D0}>4P<(}RH(1RV zJZos@>qU2dNUqV0nLeIx06OS#H{nqKaK9fl4h&g*BP51Um!m)eavZq<1iS5nM^#uTOVawhih9m2XLF1JC_QjYB64cqgxrR0j|=r)ZT| zuX24D)TcD{q4t6~Dz%1egR%B`lklL~(#;+Nl^A1}b4e&d3H%~k7~Z`G-ydbbfd!4P zpQHpt`OPF=A$7}>Z>76UiQx00!2o9d6AiNGisgF^weQ}mtkUsgmN~byS>T1L zp<~FZ0nTTGYf0c%LOV3-g`HV#7CG>}Ouu6>l`7F8f$01Eu}V!- zDvuybn4c@u*BRmc_{YoaKNF);^hke6W~T0g$u14d&5jJm23}upy5U#9FEMTij#Lla z+RjYz2fLWv;6Tcp!@8SXzhEq}_6oUzbF^})57fmGA8&I#xL{3GLqdC<`;AQNDyUld zg6sq2mpexT=0&Iag2zwyvLJ}qQcpZ}J-_sj-r{JJmqKj)E!=`9rSFpgy+rEfbNzp6fi zJ450cG8GbP=4HI0uAoT=D2pJ^A$1744JscKeSWi;L9OG~4qbtmJGh%cWkRY6+zdO> zPx14I8x=W+^g;3x#>m&{lRl>QL-ZlUWrTep;v$5uqX(w+1X|k@KLnm3JLwY|`ax#d z2fop2BL*Tt3()NfVA1$NunXYt5>g0E1Ph5^?k+Q6MIhbfVlfg(BEjm1c_Y9WP#7X7 z5@QT745DDs`9TWn|J;?Q5T*%s95e{i>$fiz_yLv_Mv@0p2L~WY9>98rE%mn?RM-Yo zevN(OR2GEaHOGqNfEp%Jr9KY1xi#Ak&>X~p91-ezqg?+6AGW6tzU!V!kpoFDEmRr& zC(H$AX#i~yDwWC)995rdSHxT>^D8qFu0in|qjZQyn36u*uCh5G6N>#0K_4h!22z_7^{aPV{6# zx*+ZYW_#TA;MQ-+#Lc}-&nz?{s)K6=kh^%bC^v}qEpL1@f;{kU{ZtcMkdK6P!LLXu zeU{I>=E1CC<2$~C=(Vc8n5z8{VQvFlgDSQ7H~52Y+qx_M?gZ8%+VC03%e@%SHmwBB z#MQwzVTir1gU~xf&uEo_cwuJ-5+YGIROk-t;L(oDASN0QxZS8jmcAmH+W3n z7Lr~-4@oyn2~zC9+N}cz*cI`IM&I%_@8I%|&$Eg<#1!ENB%gpc>PNs6hBrkIIQb6A zU{C)@m|vhA(kFu1fss87pQtx3pO`mvw}3b1jfp#Aw~#l%6j8S7HJmp|&sT!pmatF% zs{_m(VMzX81W5cLcVRibv0-LA;JYPZVmr*OVNaaeLT^HS^nLUM0X1km&`i6_L4>}6 zPvG8C>VsEkZ`t-?{7AaK_*1CpyRjnCPpIJnodPVk22bR(#JWG@!&1c2c1`jV5Cd|K zkx3y<3c27mbK#6zyH(m$l*i>t|3=FRYvEHcg=Bi#9jk<2mc}WaCsFonp3;i3T6N z-_v;PDaoS67Y}l`gu%=JX00jE_lN~f?Cy}(w3a# z0{3Fa0%8S$0)P2tm9O-Bt7oidO-1YQUUhZ(4;2MnHpjthgCgP3L^MovjQt~c*8_xh zgKht_taqmulgB@ekC#ca1zwt#?2JRnKM0Iw&hiTy)4w%IZgVCR#Tncq+vUZ|G~q;8 z4hhvY7pjFcF?84EssZxU_wO~Vs`xtXEes{X6@MP;*2}Ftj&8{=_u+OGuCFqN#CrjH5^`^d}#m3caS*G=!|!+v&KK zlw}~PQ27VXOl9n!$M^_KTv93IvG%4W@kWd$Pc19%{ba7$a!jo?ViGMgjQrNTN}P`4 zxEx*E8}ussSKubVv5TAIK0iV+r>wJhb)*nO1J|nV>*qm4^9M%8j$}stRyhSW( z*~>`p0W~Z_oGF857O|`FDR`>MX|HKux&&NBfX;b&CZF}BNt14%&lmIw+ z-F1v9OO`3^!#Ap;!Uk!Q;C5#(^?!%#a|M2+%X(1VzWtWB1MeF0y_KS2YoQhBV#2Cy zhJqd@UtqyX3@T^%Y8Z@jpQx9QrqDK`RHj)m^gUn8y75KZWYO7HnI{79t6v_73cMY& zy5#x}JM@*U5@AE$;3Z;?HY@myTJ^GKJ^8KDQ@nI_wH!lAtZ8m)NI%p+6Y&Pj1yRi} zP&Ax*!B8aXtThuIlBT$6@*sanD0*O(3c#w18lQ8R6s8e+gy zH$yx*xutD%P9ggg!t=}7+}NpW2*dLxkDC^IWd)x;q&;O39BolBa9GmLTn^p6Ky_6M zq4kSqqNXgR{N)+V@fW8X@(N)! zkMf+buinyvKPX~R(xtpfsBlv%g{&Z06SX#?t9032*uvnS_-~LMkjf=~1Vw#|=Zoeb znl3@VGxwmQorX_@ZPX4XlQjI!xB07`{tnp^jCGOCS;A_UQL5sDx}1_7s#5iRqzg(c zw}C^PSULV{=kOkDaaZL}k6N%-hHVdqwBtTeXLbDOdj8*IL@ux(kUG7gw zDzDb9#G=bu2l_udB8Mn~IKwr>h=_++esC-yv;^ef}Vz@?A-MxX^dnMGL7 z>1~{pN@O-EO=bTe($f9cHs$-KoNd#YSk8^2b*U2iy2+LH?>X6iPQs4An7bvDNR>~5 zw09bNJ?kuaigDy5>PtBII76^1q-BlJ*q)eDlQfcDw?#!aTr!dxTIIWiKrD#&#A=Y=1NA2y(#jT(v1|vAdPiKyxJN- zfX|~u{yHaoY*dMnl%v0p|I<1JNL+jxRn$ABh^Tgql~X?rq>__y!6kC*NU7BR?jcds zO{2}$DRHT&2VttsGXD$PM^TGrzb)fvJyEudlQ*kS_&TPrBv4Ug{Cai$M9j)*TPK5{n%KV2x8F{V%a zOU5dc%eLFC(wFzJd6mzeF*iK@mSBG?lSMy?c1ZF(e$-nZ(2q5LN?tCPqJ+5ge_7P0 zQgc+}%!ZKZ)5d<^7=wWijL-uf!9T2q%d34y8d&MWqvgrD*gyjUYEXycmf)$)ol8lulls>Ir@k_f9doVW9DzG;g?!$i7F*E2y^jp;Y0DyM{Hd~R+iPf!R%$x-Iw?MA23X>f#!2+Eyw5)PXpm}6ocS^cv6 zrm-TqMsS_$$maF!&#hbQd+OfiC5vaxUfj}L&yM$wSog%CwX|^dor`BRFK%H@y|V3( zFFe0@;~UKKb;}k%xbcpat1d3!4_qAi%C@%WkLgfy8 z`LmCVW1Yj-PpY4L@8lMLEE&A!_V@4FgL|GL<~`;j+GsRnyDVB>P!V8RjV4;ff)E+O zM=?=qHTneF~Tk^ z1h6|C>9~==y@iq^4g($0AR27hHUql2nK@c1HIR*!WCN2P$ZV7vD(Sl$yR635=R@o? z)}>)vh$|wpgrHB_PoS0(PxQ%*6HShVBi2s5K;EJ4?`6`NeasSUZ`en{=OaJ3mj_i=X4tlcbzDnRPhNQS@&l@J~Y|ba$BqhBSE?LDlSLBL#tpR59`B z3TXF6XK3hvW&}Z%J&4U=qQ@4tP0pQGe`6;9^u;2+XP!5;(wyxY-V1xi^@Ux5^XdtC zE?dtoQC*rmQKs(Dy~zV6i0U2}r*C%02?R@Uf;bMff%rf)HaY{N>5l{uBYk$?L0rxt zHsCg@?0zWuu8cV*no&iwX0y%gjqR21o|Qj%R%M?}cYE8bDh^H>y`sLKv+j-|wRcvg zGRN}sr+P+?9M#7@cFLlPyEj#qPRlLn>s?w|zi#2=zJ*gKPAk?`BG=8RjrquRH<;{l zc1hADqBb;1I$e?`h66#cHhBa{(rUDtW;YRI;&j?vEu&?%S}{&!o84kUoRQ8dsII`u zGJf2RG=wU5)YNF4h@)Y}ZV!ahoa|tX6vgadCIzQRZA;IaW6{DmF{OFOy?c&)@Oo3- zp=0;0xNFV!yLP`MeYSR=bosTdj>)xctG4W@eCYngtH;%qbv!7&H=~8ysd) zanFAJjQw(m%@ED9*Pl5v)?ev;@yQ1r{v%A@kWK4W@ar#Uj*^y_DO+2Y`d*Y~dFG@uRery1Qm+p`zwpTeNmGVBzm1HGWOi3djQaFT z$1YMCEkJ%=MXg(*FAR015q+k<$&;C;PDE!+)Y_WeYBNdJYR$O1HoKDrb9%GeoNx_S ziiU%X9SvD6F;i<57_;Mwxr!;hne4tsYQJnsG!}Jb99e^~s5isTpE!N$?weiQWU2a| zN&RzYZyHy>ahh}Js@Imx{knL5byn}nc|!{4jqa0PaTC9)uFvFy(m%I+Q*iUP8ykHs zB~?4mZ+Vtvoto=kFrfBUSH=A^^PLk~%PW`H(?4Z``!QfU6e~z|8E`+r3u+-kPzlX$ zjKJ~AHYlKLWl6*Jt6w6Mg8|qqXmH<^nmlF2uCaa%J9~m})s(IWNHr-Xg*z)#4oHt; zKzaB%jB-=u&)EGa!|pHuMna?OddN|lSoHID5 z*{vH)wCv!)qE75Z-A7l7MZa*Lz(O1fex2M0^>6Ash{@@VfngAHB_woZL!!>vhvo3{>lBz`sCH+SqIJ7FmCMnnYrULtLBvy-#jL>ch&r% zh4aSr$x1Js;B-zb&A{t`K@*1bAon*K;f>S^C!!Tn33f%F zMJt4E(cPLn(Y?_n(J>-=qGKcprih3nQxaNXQi3VD*=-X3dn;5t#ApzOfbE6k#0Xem z`k4*3H+w%k$JP7Y_fB>Wp0nk~@$08uKjiMev`+o5Xx`{dd*$4cyt!i>_Nuv&6Z(;< zr0#6qP20Rv_TE}p{?PZ^UzT1uIfI|qzkcb+G0SWFX1nL*)vTW}2(9lTY~}`VJ#mL@ zeu`rS+<>cakw$ij{X~|NuD!%eKNs1-{u*W{Q(z=-j+2&fQo9%Ba*|BpylkGb!xmk7 z6~h6~?Q!$OMPQGzg42!bpXtOM^jJVwa)Rk3yZrJ^>~iK@Wun;i^*2az7;lFRkbS7yW6X!pr zRjJgRLH{k&lN^-t`1Kbja=xxf2?=>U{gZIs9q7Ghacmv#{*z(6D@$!QnE4uy*_@OV zS>s7EBtQagThxYlL%i3mGoViy3_yt9>n1EDc-@q*U-2o$os`XN5HZdx$Ev`FRatuk z5d*#wVOcDv*A6oO(U+IZyZ`aek4XP`dE>LvYhM%1qfbcF`SttPE_^DDi$1XG$&dM5 z|H-Y(2;*Pi-@5&N(vwD^>GD}_7FxI&cY|@fzQ)6AK^vux^19WW*~FNSsXMa? z1dhn7QBiy@KZ9qrEYG8|IE96XUscu>Md9hfu5e_w1ycvJ*?*KV`p+?A`Smsa!yf-W zPiW-PIC2E;zq+xkpr$Lo$0N{jbjb7!f&&x6BU4_tisg-0&%)P?s0>Jy!Entt6AK-y zp4p80eaho+z%fIbJ&Kx5pph#sjyG#j$sUhcQF45o*Bu|vs6(p0qG$-H8IM*$VFyQ5 z3Vv1XwyYd_F5r&7{{<>_ExD5vJ=gxi)6%!nQ|P+F^Y@_%JlU|2+)eUH5!p9v+BoTM z=>zF6(xa8+R7fsdyP}aCS63Cwu^tZxT8~E!D)eK!YP^b3sUoiUvcqXtgy9JBhR$rD zqM$Dy90soJ@~idrY<3;v^Oy1K{WF<+E=~-LLjQUd`mV_p0Y+3Tjzc3A9<-_c9EOg1 z>gJRqqkNW7?~a5nu4oNPO~YwfMs-z2cx<3A2XK$mJ+Rv`ILKM)!T#9;`nKLuN6z{G zsq@CX@gBQ7G{02rO;1l;I(Tzx$k8O;%arEQJp;IyNtF>IRSz@dbB*gNn`mszLk4G4dR?rd~ zqpM~wrtU4zxa8x8W>kr6j3}m=sjV9#Is8vU( zJ)Q_ITCFj%phgZIxt(7TIMM@R?ZlNMEt^`+-pjiaW1={wei&QU#m4jX++Cs=lbCvG z9FBcQTEC(!t`>)7s9*8B(XZ%xABoyly9Ou*$D63n>s_IOk}GtZlmTb?LOfLa}c(UDaJJoLAgYR6T( zXVdV=7!oF3uH#IBwHi;5?AkvKnCot@CwCt_)xNc={G{Lf(~iS?x04;WyZwt%wvTLh zy(^cpN6NuKzW(vG%Qm2mFUK9|B9w0mo)pE%xEc>3kw#;ZkW}Ll;sl+QuvT5f^89-H~#Tj`C?HM5&;pE3~)RyZhXk{0{e&1p;dXGWM*!tlj>Mpye=N*b8Bj_r(L*mEyJFouqTriqpy}z zVP}y%%S2oa!Hz2?gkjifKpzfVxMdO}S?b7IvaF7|!M~evvCWq^NKxctwwdyY+aB(5 zWwl9kX$3}$yG{)gV9-Igzjj5DbZdyQfd(sP(NO;nGsu=iEvHE)2d2;DjVnmqiNW)EuuRWmCDFQGGMqmtLZAX+)n?54Z5r9cA_|-MDAz zmW4UU+0kC;zMgO@j_`pu^r49n9F>mCz9yaEq~l()xF=c69AqZ=H!wf=Bhg2upv5(C z2^if{V2G=`+EU`t>C`rWxMC0P4O7b8M62a>CR0?I+ob2ambv*WFK87N8$+)I96|S> zIN4Gj(7`=Iq)Vl5V`P0@M zIWc+Rj)f$$znu(SI-{5C$TR+lM2ed)D;G~Yza{%o&=M? zuuL(1PpH@EW6Rw7SWTBQw?>Z(BIUPJJPLYAAQ+~K=D?bZ92(7fJe9Hvi^jmKF2ZqR z$8tF*7QFC|^y(+GpWnRc$iB5t9NE90|I$Br)&lAKvyv>mzzkcw{yh@)&Y^#NgI3}} zndYKQ&5-6Yfri(Ycz89+PpxN6Wo{<+zqtDn@TRKt?{n^wJ-Ih~(l$-gbl=i8w52Vj zftI#VmQqS-LZN|TDFxa>sceGErZ^xXiwY=+;2?vFh{~wA%sA-$9aP*H|1yG#>o|@M zSP{E+psP-1Bbdec$t*-+LJtF5F_C6^n9)px^?fL;~{Y z!iA5V>P0x_i_X^8)kn{rJg{S7dKtEVdlBblHkS%L@4Wf1Y9b9X-|2p7$Sf5;83b@` zIV9H{Qe!2nG*)?)JR3Pkd!loO?7-a@8iIqGffeseRMXk}xnd~=~AO9z2-}`zd z2@*u<>jn)E2X5ZR*g&pdeiW%Oh$vWOap3?gR8PMF4b*4Aut@q7&r^Y{HAb7` z4AX3md!S-ZcMDxxAKtqeA7GYV1_e_ee9;67eqqZK?;PK`|BbQ2S>fV%zYo8*_7v9r z@(a#=X|J&O?i0eP_rLp?M6P{eed`B^wQf&@3i7gYpB(ASeMrS2jsYd}3fKu5NnkDR zi>F~3eSnx?`YZYhx_-@uHE+ScdaSV7^n)87`aMl`*cKrP5*@$w{#> z8CL`bk-xsUml5p2In2OWWMB@H3B038YvMGpo;6Y76NR=5*PBewhg6|;hbHBO?Go<@CGoL-fUkAjJ~Gkj{X5J9Q&6+y!O(Cxxs34G5_C@>c$=z+kl38o+@SMq2a*oV8d z`|8;rt{8&%N*J)#7*y>^*YjGw+!qnhyBs`G4E)vxdbjb02(#R*s`8q7*jpIoAyWIy zHRK0jpG!!;#vnjw0mBfhxF$0=Y7iiMVCm|mhwFvz6^{c$bKhy-9hLd)99%^;zrO3e zhkFiCZMgQ-<2^?hbnuUN&S_gN_2 zpI!Xq&li9C=+o~>oD`B72h9B+#Yv8eylI>aa{X`Pq>KL%m7!zk89tvH{dsrq7yxuI6ZX2>S z_ve`k5sC+gVEThEZD7Gfbs8N)IM_%GsQSWPM{jnI;S zqs@hVw^%U}10U?-qZJSfDMAb-5(7kt(K=A07L#?UNKJqYpaOr6$9D?tyiWBzXi=2k13WepWVN2btSF;L zLCaSYFTc@?P$;T|XCu$sU66rfWib2FVq+5%A@3kh=%6a7I`$~&5PUK%I|tbg!YpE? zpUEgpo%iCuh13T-aZW&pO`bX)o?62` zg>2x3qa!Js%_uXT^T|{yN*2ZQit}FnGb##4g+D&z_T8@jLLW-yQoa@0d*B~&zzoLf7qVd^b^FDp9zQ28xc z4H-iw71*~<_R^`j^(BcefARG32dWOO&+(Z}(RpJt_U179MZ`8>=}RP{-qa`sb$W`D z_>`1bQ!KEdQYckQ+7!VD)XB;z)@0*TxD;T_VzZq0%4kfV_u8-xD^zC`7SJ^*q!x=O z(L@>jTYZr=qVwQ~e3Ds)t0!m%qC*W=)&O0FY~&y@^6s81KMf;_Yin)q7@)V10rfPI zLVceWXOAOFOdv{piGhUyoU<SD{rPab>e5bGV4-Qoqj;98Skk|k$kX3DZMGE&d^GD7B#cwUBr_U=wS z?{&K~;r{d9VO)W|07OzykdzyD+v-9WZCTU)EIBk!B7x9+>HuK|o!P$#J)>>OnxRLlKNb?bbgojSQ{>&{I=C1m=k;9)z(Qvofi^dx9l4(y!cCXloZK1UkYCUV&D;q0no%B(vtbSRpPcv{<9Tn+XYnAG`0EFlFxWs??TMgrfUewxL{el8KuYK!%!ce!a&z^4 z_@~@FvW*#l*r9l;v2m*3kyGk)ln#xHw4@Zo#ulbWOs*VXb8AjbQ&#%Ssv$EcmsO`% z)Vnf#Wog#5qPW!Z>?qnXa(b-YH!7ttQKwHRz^5HUoO(licJ%PEQMR$dmXXs6A}x8o z5tA0g$IL9xugQ&w$QeH*d4xNO=Tmb_5f*DKNZbcRc{FlV?vpbLj*`NLCo25>H9o9- zf>B@H#MWOdAt({ByB6?)K{Th9J?GORC5YJo$&2ALjSLpw*=u&&nC~lv<%!24Buk2+ zbjSR28mCWdtb1Vn9h~CM6dFR{j$c&{hV>8UCM|o(3CsyH# zcAfJ@CmN6eW_7c~p<10z2)548tQGx?YpuxO8oe^!BVB47>UUmm9pEsqI zq$iiUqx7le?vzrOwJx!uaoC926$x1l>!&1CMB2(?O6FE3Q!(w8xjv7R9+O^~Yj+GO zjg1{QGR=`UCdV^xLYlkr{)Pp|R#&JMbs8@Bmiv5TMkiH>mG*q#t{%A4qFgk_lVnX# zSDf>u#}l6xuTDDejmw6NT3w-5o3pcl*X+;C_VZrzARdEgoIc=SIGf^4 zbh;)L$Jz78yXxjS+@6$WuiRN;_DNN8cF4?oy`##KD{dJ!a{jnfSHpe4VH7a^W{*khUJ4KE z?M371MO2OCzbPsD8Qe=6jMULnsVvFIF!Hb9NC(_gCpiZrKLtk$;hq+9k8ERbBo*%I zl$@ZX)X?CFAMPm?NAiOsr7+Sg{_5V~$Vhq)HDA1^AUKjo&wwWbJycapC zxTjPc$q$Z{!br0?*S*1!k-ZExU%aOvIFcuH13jGqn#GZP_*K35t4(AigxzMWNCP_y zSnXD})n`Qn&KgB^c%yiOqQh&r7Q2nbBHrKyM$p`}UwCQ%v9#Ki)m1BM(`OVee7vRc z;duoF(v7d+x4-*#&i?koVGAGcT=QS+%Su+gwgMY*B*c%|uvB6h2C0zKqZ{4Rfm^d@^2yA zFl;95u%f~e`m=#+VB5eQ&l;m?dTH5;-`!I6U}g2riYe3{cR$S8+iNz zbWCvELp%|@hNGo&DbwncYNZ-Zj(I8H;bo)};KUVZs37TXAgv43clvPKp!fi4+xhCN z^*wX_uROWg-Sa7xTDI-}yBMassz#{7hkf&Z{^iFx-Bq;ewl7W`AX&;DVH|xo#7PS| zrBZVuV4Hxq6$&iD1A*HjZaZ*F6-vTI>l1e=L71Wbe+{`UtiBey-H+VXqakRNCoVx@ zNRLi$^+h9~4P~+&-gIkbrqk+7>hL`ywKGqdKtE_Cg_JZj0K1hXwP(NBTAHKZ1TG_5`slK6hy zHiwoBP7KN79st~q3;?$cbh8ND7MiXD-G-d8rT07fx&PO&+b#cBVYh|x^z-6LM>?sc z>oj(Y9oDAZ0?x=1DF;6p8R<+-1uvAk)QLb``~X2+YlX2=2oZtGAL$lLOu(i-75LMWm`PC2XOyNjN+tOvnUu#=%|9!$g=Qh!Q zn$x`J$>uD#KYP*0W1XE>brF%c1vh@XeC4YjtXaKxukfPKcKVZel0yVz8zqrXK;-*3 z|vF})F?aE0c`U-!*j}$K4-_p2ie!=(bbkaGs z{U7_MO!@84JE@0idK}LS-@P(p+EFZj60gMT2z_UPs2%K!u$~M=HZU?5B=i7qKp~@& zc+mTR;_X0jI%@C?u|gnCGDOo>s}%NPtv+6wWH1^H9bOq5?cj{XMoLK=jjY2F)!}tW zStUd%>wg@j25(t!9Hh37y6sTY?yV4`>ef%s{`_4Mqwe2$_x*d;2Vzv^vdJ#IzG27w zVPofHyD}$tmhE}0X7Bb@_fMY*F=}}wX*QA-Oj}O)4fPsP$Sm@|ANbwK?g0KREc*Z1 zTLZ5?(Dh$L-Xjd6?gRZWWcLuT-avN;e2?n0-caA4%VQP${tRZizx7XgP3vDkzyBM% z|F!_lo7s~{PB5*M6!Jz&h8UXhNTgDXaCl>0#L0ZpbuHH0-8l{|n-i~f7!TqK;Zgh& zE~#PBiuxT_?jqS(H9U1AaArmY9-E10d5ByF3|RuJMrv4^YAH4%<27A>Vll3-*yhd& zb;$->;S3V^nZsC(?>e=5*QQqv?0e_foA-VzJW8FMiT9lSaMgyL+vcq}@%YxCE(seM zu{*TCmv4s0Z7@V}N+sqF}EscrSI z3STiyq(x9r$#}cag13*OU+A7NiMl#5Gdr#)ok(^UNOoSFC^AYp$oVkFJJCC{(*1-Pr$`^IsQY>@{d;?_}54Ko_LSQkob!i z#hPENhZk#p49hS;BNJ@M3orLMg5|#Dv#9hQ6YXcqYOD}v<_9~*jL42s(M-<}r6~s1 zuiPSstizI=44O%%A#bB;gTV>@MTJZ;rUZ!=c5E?`TB{_oBlr>kvQ-eJF#yGTo$_8z zT&N1c8X2u22(pX|wX?I5egWa9gr7b=^zfgAv$*Q}zaBn~AH~)Omfrdpmi_kr!`mJ_ zw4eHpUH#RzH=o~h@h)bW@WXH4e|rz+UT*t%@!I=ZK7PM+-^%5C9$m8biLlN%qT!Jq zXN(REEk+eV>`o;Ig-STN+{lRvwsPjMupb^af~d6A0UdFWNd=rIa>VMxv>R%KJACGs zmtQ+8oE3g-`FZ2>M>ef_<=If{+ojh(#H{d=@UqYgy8Sgd*kXCxc{z>I$QWvO^I|C(Qx!nJ0R)_ePYY3-wRWN#NW zU;JgkHT2~5{s>$Gt)xN%*OW&ojN-+gir4eu$@SusH}yT)9C$M5)CswQf^m!ebZH(V zujRFjl;NpMUM0)(40{1Fm&v(TU*)2&HMOsoj({h~p#Z(-?w;=T&G_wFd_qW;tE9A4 zEqx2WjmHSjGw!P=>1D=Pi#47XqG8P(A$?IWuMtJVerKx3rBFsnyL`$>Wh9D=!WB%N{Kh8w7oi= z{#@v6Z-x}#DU4gx+_ZprlGfgT&~GrKfS+`aS!V9?$#@ja(`vQul2?6^j=JQfe;tG^ z3U<|nl{v*sDU?U$(QkNmPgwR}TPAuR`Q-NXD_7pr_S~IiB})%BJ$|P%GIIRJKP_JU z(F4_q)7)iu9BpekxWrQc8U@KR`5;*mr63>Y*)AWCR3J&L6vd|s6W^fjx{!2Y;vfMGicl%FY;g<;CFdy|R%%?;XJsF^L8i~zy zU8K40l9yxc>;$%f-Ndq?20M`o`87%$)b1u4S$K!t5h_g>f)5I{_#4JuEi_dN^%Fz$ ze+Kgtyh&uJ!>)^T*ug{?QYduEE4?7Oe7!c9!CiGa@_av)2Kt>oQP9CWLCrF9(5!=W z)!FS*8waUCm(M0Ob@`+*V4R#PCWca}w3oc9i&W$#FZJsU^X2fax*KR+?5vX?`{UBL z?we4v>&#sbZ`u7|>vMOMjaYo3dDkN0TfC%l`uI(6E?xTGj=KDY@`~FJH@7~u%u|G? zR0rij_lo)`_QaFUx-QaL*Clq=UGlo5#nLwE?b4^EtW?U#`_?zXaNMlJj^5qV;rCM; z{kTV3?9HiY!=l8=6a4*;U54;sV20QG!NQd18 zO4={4>vh;|6+TMK$VzSTH{gZBa%C;IWiRz=h|dS%Xs|8qiv267*69P5b?jbm9+|3Q{TpQg0R8^A&K&Y8CigkI?gO(8fN8xk9~lWHntt zbiWM`?5#WE$L})k?&y$xvMl`8j+`E?Myu0y`EYTJTc_t&Ei`V8JSs7Zm-1>+hT+bc7L-AU4m@U-ryYns^3d z{}gJ6(yC!7%1=*KM_UyZP4{M)_DPM?5RtB@hr_hsm&hvG4Xa2G{vQ02lk4(1S!Xho4`oRRzBS_@2TY_BbOg(Z+&{H2L-$)T`Ah8 zk@VB)AQtH~n8IB?3Tc2cMA5VwT=)g*x{f5gpDsMYfbnDdu|MR^*)j9sosaI=umk^2 zn9R5z+&1R+X*pD`VA-%_>D+*HZegAV=~z%2>8VQs=_IkyARUw0fD{U=C?aQ=h_30W z8z3lH2vXLWDET+yDo@YHiXHEHXWU$9m9E(L_S>!_xPaW+MQe&db)F2p!63Jpc^d?9 zn^h*4b@}85t5gc)BPlP1-JMh_S12sN4TJ#E@!YT%9$WYm;@h4`u8~0pTkL|7d_a#K zyW5(Ukr%hlkH?H(ImNYQU3tkfJ$qkWzj@^ebi|#)6X4#< zZd)*|onSS3|3Uo>a(APl9-H0?3tJzRE>8!#opMWdHpGzZUoBvomWzXN!Qt;dF@@xt z7^Az9)HdU>MmfW1)p$k|c$BAeGxb9p^aOZH3V7A8M6b#{XICgL z$itr!)@m1eT>mF#^dW8x;OIU1~O}mN{?4{kr zkw0V0)N3+h=?UG>L}%)hW(|Ei;ba7GvPrc4XpdTHQkoP-vr3@~IZ?Ox60-i#6L9JT z)Eh+gV%jG3s7-Q48KD-gEWoY8frVFYn!kiH{u=oc)cM_E6k(7?1g!JoS_15 z?fFN~ITY0S0+?Nc93DQXa}6V>)J#C(A@Foa-C?rDml}kfEm*2CGptdAjkEDX!fgBi zwM)=gb2SMO5Zf@ygXgac0sokyK65@i;XH!N0-I ztgqN^$iR|4db>~p(`O=gqY7-^=@%nD>LV&hf7E1HeqMaYtb zY>!$mJXL?}Sp4`~Cq}yxV|Dtt#I(qQ$$63ZDf*DujaATjur-HbCCoI5T*}1PZkSyV zK-UslE(0xglzEqngRxcZw(%IJ(wYm`X5~8*+AI8@dsb*Eg*I&o2Vc zg{an(mSHyQ^a_^?%*(0goK8+pn+hRw!$~&GyIdx)HG_%M88v;34^U~gOI(H8d~IO- zy4Lp}h(XIt?>EXD%HRgJdUF8;Oc=aK8)SxSAqJ-sZKI{03a+rr7oFx&rFHqTAVVAu z&drh3<>ORY!yWPQj^SAH05ny6r{>92@okZk8zAFM1UZ-I1{V&WFab38A(x1655wAB*;@VD zg1USB+4rm~E=?Oh*HbusWSpaY!t#AYa~Wa>wN5YWc(j>f(lfO?~dz?{Nus96egP@ssVvt*wj8 z`GmwcE^$M)@(TV}n9OYzi`@4WSvaQrvDZ{KYwnOz=7 zOXZU33Qd0F8usO*Q@`ITeD>Utg9mXoF8JN=(4e>1W_zqy(f7VuOj8s+)kg(hWgEx^ z17)XRKQMpdIxnytIg)D`di@vJg04Dy%{UY7ht+I&!Kg8@JmQtElP7ffi2v}7tW2}` z+Qm@gnP`-q=A>w?!QwC_CeE}Z=fxb?CnYCn4ZKnl6J>X;N*_03s1+dz!o6oSXFy-s zs2oj03(-Aj8&2^&+On{5mVC~u8W z64O0KPx;W{Bk~J}4jobMgHKi7qC(Gbu5f6Tw~)&jRprew@%E`c9$S(n$y0q2yClPi zASH1Gon^mos^wCuDyaB5SQM%r#`x_eiFN~-1FtJWA%YPzk(5x`?R@{CG*Fnz!Fv$ zRryl$)2X8aZ~66~H+~Vr|FCy9a8XzJ{y)EAco>ie$r8sWP(;DdjWos4o~{pQNQz)a z?%o6xML7HJjgk zpECmiT6Wv*f7`uyUZ3wdzwTVY?S@%~BEt^Daj(%{&v<=i9AVsI z{J?vO_n&3(@$nh#Gf{<7pHF-T`)2z7-1mLISik%ItbRZ9d(ZEjX`<<2({EtMbpMwF zLIQ>dWCr|4z|nT$oD5y=?(#&J_W}n576$P47d)4_`}HmD`*!#Z;S0kbkMNE7_lUfRr4f%rY>ap=VrRtui28^V5oi0w z_S?|!SpU%e$^BRLKNi_Fa$saq9m;N*c71K%3x z8Z_j8A&mV$93B~TBzjEru9%x+{_tIg!2yGp6P$zp*cm!QXXp%_p)+)b&d?b;!*>^A z$90Cz&>1>IXXp%_p>0t6)HETCCy;M>3E``~E4)Rjz8yJTuM~kIQa2)F_3p^=dM0v$ zk_k#qQZgACDFSs1GFZ$(M(GX67$svx1u{;hN9YmAkt!XpCm~1a^6Wh-=U#m;GEJpt z>IX#>_t`4{F0hjF4pCwl>474cXAKlxm5kKiMvl;nL^S!`kzJLH)Q2Nu`HE<93)e=A z5uzJ%tX__sD1vyiVBS2I@=`|f#8_26mNE@u2;X8sM(M@K7$svx88S|#hbcK;m7Jht zf|8SzOjhz9eK+!6zHtcORfU|%dkz(Wt~w;&ij3lkL%F|{v0@`KPTznWrsN1c1vyeb zij*1~ipHEssj;ElITM+tuARwu#qmW&$gWC8QYMZsYDP-^+$@4!A;_*uM(R?=aQ0@( zSdgQHlw-Nu&3soma)OcxN={NT899unIFMcS<;Y0=Byt2fBUHVN;Qmd>NNQmOUsr^T zQ8Jcq8Nt`d^e`ny2w6T}+=(2e(qmmt}| zgdC=Fq%Fm(H;+eG5ySv@zE zr-UFwxPK~|bRnf*q$I7-X~=uUGGv;P_oB+FOK)wVt$(FpFnBXI#L;%(-s?;4_>T1eg~m~f~lR$&OGI^J)H=jx%P7c2c`skh4K4vWd1qrOq<40ct| z4Oefwn7Bx3(EYaVuWBhRzfT_LD^1C#%D0hv4j1X_+LkXIhprN-BloohZO-JY_srxe z8S0Mnl&*`_voerZf3Evjmd&8Hij;OURoMl|Om#kA)#GCImU-%|eAYbA9Wp%knysX? zppM@y&*!MrAg+ogmNl5(`lPG9Ro)eM{^mOR^6r`HPFds?sCq6`@140o+$CuJ%vt(o;VNL`N$gOzL^jiBAQ&b$!Of zmc$Iv-_G|(15ya7qN1@;3!UqnISv3ZV{$dzqS358)snD*Rjpx>2 za%sSUW%NY+nyF9D6?=?+D31Llcd=#gDP!@R#=5uc#95~@v9IOBZ`$YYj(7(XK4N$% zje;cU&{W!JKleftNn_H7S%j8CI<~9ANl4s~B!ou!8;r!0`3k?DsS(YSw^7$OJEYrf zkeH@ASMvjlVWsTESR`I4Cm|6u+$FuC$~gn1X5q=fpVp&RL)$%Jh zQ$LSxd}1tmW^nhH-rMT&;dITk(&D{c=%6)Z_x?&ODlE>2^d7@rf{e5vha}H z(_Fj1?X2BDgn}B?t?@cTMROXvAA~GUz6P|y`#YDmho4-$G^$zO`&VA6^RPgqY)AEr zgFazDK}Q>mvKEMu4Lo_wCZ(7qDbzeER zkno)J+TA!nx6=6O-dn>m z(wn~|@ydOksc)iNrdg&x_Oyq%$qJQZa}i^%zKQ>4a%LI13ExlJFWpbr@6b>7?H1FY z!{F-T5*@ETwUQ}Mrk^U-{6!yz`62mIHb=0p%s9f>N#EgRHF{HiH&gD&zk)uC3c|oi`H;c_CzIjG^UzTk}ra(oQ9h><>m) zH|J}c&$g%Toi9+|<;M=k0>@@h?CX*|2dAfEbgxTRv+nDhnHe@ndWTAf?yfr(JX&35 zcmB8r-#ka1n|f$?n0iRuO@~wA(9oQ`VGoxLua!CqU;J|le#wKGJcnHY|E$ly48?QA zKcXz6*hODNkgk#@2vAZalQfBr;xxG%hu^j*MUvDy8&CJ}OmR$U2G2O)OFEF$n}%Nk z;-P;W^u{RcU^)JXyrVtOsLq=Cs{Mo5-o~w-Q0y(=Ez3`D&|)Gdq9(|A`s@9!x;R?W zp87Fp5&8$AD-VQ@`ftA;HOn~uarpzJ{aARi&-dPPCBa#MFKZu2%W-}-(4XjYBHv+q zYaQay=`Rj>;9Tt~aWm4&(f;|S z_$=sG<9+Au&^S;;Ot+Y2PfX~=DVEAvP3eo0+VAPCPJu_R8E^);Jy0KP2`$;H9yZKu z=eWII;R7GKyd-#wI;xy3cTjmUdAeN8L#xIsM!nfjFM{%rZ`pO~H%5@d2%j8!J^K=n zKVP&%!**qMhju0~*@xMO*E70BUatB?F-ln*aezi1kxmwy=}$BFrTrM_A2A$QTZ=bt zg8s-s*oT=I8Ff@^-BeqodDEg->>Ag~He7e*wu|%5Tg2tA!+YYQ^fMH%zx( zWGDEtK%B3Bj~Z1xX~nQx?|RIZ_i5H7dMl*RF4TNkFBcoGYwt1~|Ks~cbb+NQ=fSOt zZ~wCwjx)}=<2CG?{b^k1Q-qp#uHx{hxKW0)f~*h zP^Q;VTP^*PIZTEno!AxAA=Jy?NlKYpS!|oG_rt$Y zhZ?1V0I|*Joi+wkFVKJ~?hpx_{0{l)V=mQuTz~klBI=jZF&TVkG!$@y@w=ok7oWN<@ZSVZn<%)Aa> zR((e7M}3{UyGNP0M;ZLZxt`bg{Uv=ij9RnGdsq`9Dqj71!fxB8T3~^Cz0O+4aovK8 z%^E402gA8}yxFydpn72j2aGaALX%5M3t@e79Z?<-SdmBi1p||R6~Ro4aNAtmY@3KnN^D}&sNKy0RI@z?_i2iR6ldvtFj`G@Z^v)X_ zd)ewYaw21z`3iB!ky9|Qtv%OLkN8&fBf4j-a~u`y_W@%)#g3X@S>nP33W(p0OTy>; zkWK(>UXs8&7ZI2NgneOq?Apg$WZfV}Y+-xi`p!;7R39=izuoX(Dq4O%=jGEx391^> zKK$Qw#_Oq(QmjhG@p`|CvU9Gm#p_BVCZ~K#ou^CxR2M$+at(a_x%yb=ikahEjlv#3 zVrBnwGZ=@{W<%!3~roA-o(_}`n3*i zq72%5P`yk8#rQ)oxLC4!q&P7bJ~C9Q(uL<7bM^k)rcb|9-MXvZY#?G0c90nOn9gSK zGw?Uxn+2aMa24bVeJaM0_&1r32O@@}ai9cq(?{#)EdB8|wOVO*zUX|d&sVI(q!!