diff --git a/README.md b/README.md index db157f74b2c..04c8c7dbbcc 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,13 @@ -[![Build Status](https://travis-ci.org/Microsoft/TypeScript.svg?branch=master)](https://travis-ci.org/Microsoft/TypeScript) -[![VSTS Build Status](https://dev.azure.com/typescript/TypeScript/_apis/build/status/Typescript/node10)](https://dev.azure.com/typescript/TypeScript/_build/latest?definitionId=4&view=logs) -[![npm version](https://badge.fury.io/js/typescript.svg)](https://www.npmjs.com/package/typescript) -[![Downloads](https://img.shields.io/npm/dm/typescript.svg)](https://www.npmjs.com/package/typescript) # TypeScript [![Join the chat at https://gitter.im/Microsoft/TypeScript](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Microsoft/TypeScript?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +[![Build Status](https://travis-ci.org/microsoft/TypeScript.svg?branch=master)](https://travis-ci.org/Microsoft/TypeScript) +[![VSTS Build Status](https://dev.azure.com/typescript/TypeScript/_apis/build/status/Typescript/node10)](https://dev.azure.com/typescript/TypeScript/_build/latest?definitionId=4&view=logs) +[![npm version](https://badge.fury.io/js/typescript.svg)](https://www.npmjs.com/package/typescript) +[![Downloads](https://img.shields.io/npm/dm/typescript.svg)](https://www.npmjs.com/package/typescript) + + [TypeScript](https://www.typescriptlang.org/) is a language for application-scale JavaScript. TypeScript adds optional types to JavaScript that support tools for large-scale JavaScript applications for any browser, for any host, on any OS. TypeScript compiles to readable, standards-based JavaScript. Try it out at the [playground](https://www.typescriptlang.org/play/), and stay up to date via [our blog](https://blogs.msdn.microsoft.com/typescript) and [Twitter account](https://twitter.com/typescript). @@ -28,14 +30,14 @@ npm install -g typescript@next There are many ways to [contribute](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md) to TypeScript. * [Submit bugs](https://github.com/Microsoft/TypeScript/issues) and help us verify fixes as they are checked in. * Review the [source code changes](https://github.com/Microsoft/TypeScript/pulls). -* Engage with other TypeScript users and developers on [StackOverflow](https://stackoverflow.com/questions/tagged/typescript). +* Engage with other TypeScript users and developers on [StackOverflow](https://stackoverflow.com/questions/tagged/typescript). * Join the [#typescript](https://twitter.com/search?q=%23TypeScript) discussion on Twitter. * [Contribute bug fixes](https://github.com/Microsoft/TypeScript/blob/master/CONTRIBUTING.md). * Read the language specification ([docx](https://github.com/Microsoft/TypeScript/blob/master/doc/TypeScript%20Language%20Specification.docx?raw=true), [pdf](https://github.com/Microsoft/TypeScript/blob/master/doc/TypeScript%20Language%20Specification.pdf?raw=true), [md](https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md)). -This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see -the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) +This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see +the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. ## Documentation @@ -71,17 +73,17 @@ npm install Use one of the following to build and test: ``` -gulp local # Build the compiler into built/local -gulp clean # Delete the built compiler +gulp local # Build the compiler into built/local +gulp clean # Delete the built compiler gulp LKG # Replace the last known good with the built one. # Bootstrapping step to be executed when the built compiler reaches a stable state. -gulp tests # Build the test infrastructure using the built compiler. -gulp runtests # Run tests using the built compiler and test infrastructure. - # You can override the host or specify a test for this command. - # Use --host= or --tests=. +gulp tests # Build the test infrastructure using the built compiler. +gulp runtests # Run tests using the built compiler and test infrastructure. + # You can override the host or specify a test for this command. + # Use --host= or --tests=. gulp baseline-accept # This replaces the baseline test results with the results obtained from gulp runtests. gulp lint # Runs tslint on the TypeScript source. -gulp help # List the above commands. +gulp help # List the above commands. ``` diff --git a/src/compiler/binder.ts b/src/compiler/binder.ts index 96db98d337a..4540a4409d6 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -2515,7 +2515,7 @@ namespace ts { break; default: - Debug.fail(Debug.showSyntaxKind(thisContainer)); + Debug.failBadSyntaxKind(thisContainer); } } @@ -2581,7 +2581,7 @@ namespace ts { // Fix up parent pointers since we're going to use these nodes before we bind into them node.left.parent = node; node.right.parent = node; - if (isIdentifier(lhs.expression) && container === file && isNameOfExportsOrModuleExportsAliasDeclaration(file, lhs.expression)) { + if (isIdentifier(lhs.expression) && container === file && isExportsOrModuleExportsOrAlias(file, lhs.expression)) { // This can be an alias for the 'exports' or 'module.exports' names, e.g. // var util = module.exports; // util.property = function ... @@ -2975,21 +2975,27 @@ namespace ts { } export function isExportsOrModuleExportsOrAlias(sourceFile: SourceFile, node: Expression): boolean { - return isExportsIdentifier(node) || - isModuleExportsPropertyAccessExpression(node) || - isIdentifier(node) && isNameOfExportsOrModuleExportsAliasDeclaration(sourceFile, node); - } - - function isNameOfExportsOrModuleExportsAliasDeclaration(sourceFile: SourceFile, node: Identifier): boolean { - const symbol = lookupSymbolForNameWorker(sourceFile, node.escapedText); - return !!symbol && !!symbol.valueDeclaration && isVariableDeclaration(symbol.valueDeclaration) && - !!symbol.valueDeclaration.initializer && isExportsOrModuleExportsOrAliasOrAssignment(sourceFile, symbol.valueDeclaration.initializer); - } - - function isExportsOrModuleExportsOrAliasOrAssignment(sourceFile: SourceFile, node: Expression): boolean { - return isExportsOrModuleExportsOrAlias(sourceFile, node) || - (isAssignmentExpression(node, /*excludeCompoundAssignment*/ true) && ( - isExportsOrModuleExportsOrAliasOrAssignment(sourceFile, node.left) || isExportsOrModuleExportsOrAliasOrAssignment(sourceFile, node.right))); + let i = 0; + const q = [node]; + while (q.length && i < 100) { + i++; + node = q.shift()!; + if (isExportsIdentifier(node) || isModuleExportsPropertyAccessExpression(node)) { + return true; + } + else if (isIdentifier(node)) { + const symbol = lookupSymbolForNameWorker(sourceFile, node.escapedText); + if (!!symbol && !!symbol.valueDeclaration && isVariableDeclaration(symbol.valueDeclaration) && !!symbol.valueDeclaration.initializer) { + const init = symbol.valueDeclaration.initializer; + q.push(init); + if (isAssignmentExpression(init, /*excludeCompoundAssignment*/ true)) { + q.push(init.left); + q.push(init.right); + } + } + } + } + return false; } function lookupSymbolForNameWorker(container: Node, name: __String): Symbol | undefined { diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index f9c87e94961..8626996b5fb 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -182,6 +182,10 @@ namespace ts { node = getParseTreeNode(node); return node ? getTypeOfNode(node) : errorType; }, + getTypeOfAssignmentPattern: nodeIn => { + const node = getParseTreeNode(nodeIn, isAssignmentPattern); + return node && getTypeOfAssignmentPattern(node) || errorType; + }, getPropertySymbolOfDestructuringAssignment: locationIn => { const location = getParseTreeNode(locationIn, isIdentifier); return location ? getPropertySymbolOfDestructuringAssignment(location) : undefined; @@ -230,10 +234,10 @@ namespace ts { }, isContextSensitive, getFullyQualifiedName, - getResolvedSignature: (node, candidatesOutArray, agumentCount) => - getResolvedSignatureWorker(node, candidatesOutArray, agumentCount, CheckMode.Normal), - getResolvedSignatureForSignatureHelp: (node, candidatesOutArray, agumentCount) => - getResolvedSignatureWorker(node, candidatesOutArray, agumentCount, CheckMode.IsForSignatureHelp), + getResolvedSignature: (node, candidatesOutArray, argumentCount) => + getResolvedSignatureWorker(node, candidatesOutArray, argumentCount, CheckMode.Normal), + getResolvedSignatureForSignatureHelp: (node, candidatesOutArray, argumentCount) => + getResolvedSignatureWorker(node, candidatesOutArray, argumentCount, CheckMode.IsForSignatureHelp), getExpandedParameters, hasEffectiveRestParameter, getConstantValue: nodeIn => { @@ -391,10 +395,9 @@ namespace ts { const tupleTypes = createMap(); const unionTypes = createMap(); - const intersectionTypes = createMap(); + const intersectionTypes = createMap(); const literalTypes = createMap(); const indexedAccessTypes = createMap(); - const conditionalTypes = createMap(); const substitutionTypes = createMap(); const evolvingArrayTypes: EvolvingArrayType[] = []; const undefinedProperties = createMap() as UnderscoreEscapedMap; @@ -559,6 +562,8 @@ namespace ts { const symbolLinks: SymbolLinks[] = []; const nodeLinks: NodeLinks[] = []; const flowLoopCaches: Map[] = []; + const flowAssignmentKeys: string[] = []; + const flowAssignmentTypes: FlowType[] = []; const flowLoopNodes: FlowNode[] = []; const flowLoopKeys: string[] = []; const flowLoopTypes: Type[][] = []; @@ -678,6 +683,7 @@ namespace ts { let _jsxNamespace: __String; let _jsxFactoryEntity: EntityName | undefined; + let outofbandVarianceMarkerHandler: ((onlyUnreliable: boolean) => void) | undefined; const subtypeRelation = createMap(); const assignableRelation = createMap(); @@ -3182,7 +3188,7 @@ namespace ts { let containers = getContainersOfSymbol(symbol, enclosingDeclaration); // If we're trying to reference some object literal in, eg `var a = { x: 1 }`, the symbol for the literal, `__object`, is distinct // from the symbol of the declaration it is being assigned to. Since we can use the declaration to refer to the literal, however, - // we'd like to make that connection here - potentially causing us to paint the declararation's visibiility, and therefore the literal. + // we'd like to make that connection here - potentially causing us to paint the declaration's visibility, and therefore the literal. const firstDecl: Node = first(symbol.declarations); if (!length(containers) && meaning & SymbolFlags.Value && firstDecl && isObjectLiteralExpression(firstDecl)) { if (firstDecl.parent && isVariableDeclaration(firstDecl.parent) && firstDecl === firstDecl.parent.initializer) { @@ -3561,7 +3567,7 @@ namespace ts { context.approximateLength += 6; return createKeywordTypeNode(SyntaxKind.ObjectKeyword); } - if (type.flags & TypeFlags.TypeParameter && (type as TypeParameter).isThisType) { + if (isThisTypeParameter(type)) { if (context.flags & NodeBuilderFlags.InObjectTypeLiteral) { if (!context.encounteredError && !(context.flags & NodeBuilderFlags.AllowThisInObjectLiteral)) { context.encounteredError = true; @@ -3645,8 +3651,8 @@ namespace ts { context.inferTypeParameters = (type).root.inferTypeParameters; const extendsTypeNode = typeToTypeNodeHelper((type).extendsType, context); context.inferTypeParameters = saveInferTypeParameters; - const trueTypeNode = typeToTypeNodeHelper((type).trueType, context); - const falseTypeNode = typeToTypeNodeHelper((type).falseType, context); + const trueTypeNode = typeToTypeNodeHelper(getTrueTypeFromConditionalType(type), context); + const falseTypeNode = typeToTypeNodeHelper(getFalseTypeFromConditionalType(type), context); context.approximateLength += 15; return createConditionalTypeNode(checkTypeNode, extendsTypeNode, trueTypeNode, falseTypeNode); } @@ -4300,6 +4306,11 @@ namespace ts { function lookupTypeParameterNodes(chain: Symbol[], index: number, context: NodeBuilderContext) { Debug.assert(chain && 0 <= index && index < chain.length); const symbol = chain[index]; + const symbolId = "" + getSymbolId(symbol); + if (context.typeParameterSymbolList && context.typeParameterSymbolList.get(symbolId)) { + return undefined; + } + (context.typeParameterSymbolList || (context.typeParameterSymbolList = createMap())).set(symbolId, true); let typeParameterNodes: ReadonlyArray | ReadonlyArray | undefined; if (context.flags & NodeBuilderFlags.WriteTypeParametersInQualifiedName && index < (chain.length - 1)) { const parentSymbol = symbol; @@ -4626,6 +4637,7 @@ namespace ts { inferTypeParameters: TypeParameter[] | undefined; approximateLength: number; truncating?: boolean; + typeParameterSymbolList?: Map; } function isDefaultBindingContext(location: Node) { @@ -5344,7 +5356,7 @@ namespace ts { return type; } else if (declaredType !== errorType && type !== errorType && !isTypeIdenticalTo(declaredType, type)) { - errorNextVariableOrPropertyDeclarationMustHaveSameType(declaredType, declaration, type); + errorNextVariableOrPropertyDeclarationMustHaveSameType(/*firstDeclaration*/ undefined, declaredType, declaration, type); } } return declaredType; @@ -5687,7 +5699,7 @@ namespace ts { type = getTypeOfEnumMember(symbol); } else { - return Debug.fail("Unhandled declaration kind! " + Debug.showSyntaxKind(declaration) + " for " + Debug.showSymbol(symbol)); + return Debug.fail("Unhandled declaration kind! " + Debug.formatSyntaxKind(declaration.kind) + " for " + Debug.formatSymbol(symbol)); } if (!popTypeResolution()) { @@ -7649,15 +7661,20 @@ namespace ts { return hasNonCircularBaseConstraint(type) ? getConstraintFromIndexedAccess(type) : undefined; } + function getSimplifiedTypeOrConstraint(type: Type) { + const simplified = getSimplifiedType(type, /*writing*/ false); + return simplified !== type ? simplified : getConstraintOfType(type); + } + function getConstraintFromIndexedAccess(type: IndexedAccessType) { - const indexConstraint = getConstraintOfType(type.indexType); + const indexConstraint = getSimplifiedTypeOrConstraint(type.indexType); if (indexConstraint && indexConstraint !== type.indexType) { const indexedAccess = getIndexedAccessTypeOrUndefined(type.objectType, indexConstraint); if (indexedAccess) { return indexedAccess; } } - const objectConstraint = getConstraintOfType(type.objectType); + const objectConstraint = getSimplifiedTypeOrConstraint(type.objectType); if (objectConstraint && objectConstraint !== type.objectType) { return getIndexedAccessTypeOrUndefined(objectConstraint, type.indexType); } @@ -7671,7 +7688,7 @@ namespace ts { // just `any`. This result is _usually_ unwanted - so instead here we elide an `any` branch from the constraint type, // in effect treating `any` like `never` rather than `unknown` in this location. const trueConstraint = getInferredTrueTypeFromConditionalType(type); - const falseConstraint = type.falseType; + const falseConstraint = getFalseTypeFromConditionalType(type); type.resolvedDefaultConstraint = isTypeAny(trueConstraint) ? falseConstraint : isTypeAny(falseConstraint) ? trueConstraint : getUnionType([trueConstraint, falseConstraint]); } return type.resolvedDefaultConstraint; @@ -7731,10 +7748,10 @@ namespace ts { } } // If the target is a union type or if we are intersecting with types belonging to one of the - // disjoint domans, we may end up producing a constraint that hasn't been examined before. + // disjoint domains, we may end up producing a constraint that hasn't been examined before. if (constraints && (targetIsUnion || hasDisjointDomainType)) { if (hasDisjointDomainType) { - // We add any types belong to one of the disjoint domans because they might cause the final + // We add any types belong to one of the disjoint domains because they might cause the final // intersection operation to reduce the union constraints. for (const t of type.types) { if (t.flags & TypeFlags.DisjointDomains) { @@ -7784,7 +7801,7 @@ namespace ts { } if (constraintDepth >= 50) { // We have reached 50 recursive invocations of getImmediateBaseConstraint and there is a - // very high likelyhood we're dealing with an infinite generic type that perpetually generates + // very high likelihood we're dealing with an infinite generic type that perpetually generates // new type identities as we descend into it. We stop the recursion here and mark this type // and the outer types as having circular constraints. error(currentNode, Diagnostics.Type_instantiation_is_excessively_deep_and_possibly_infinite); @@ -9042,7 +9059,7 @@ namespace ts { } function getSubstitutionType(typeVariable: TypeVariable, substitute: Type) { - if (substitute.flags & TypeFlags.AnyOrUnknown) { + if (substitute.flags & TypeFlags.AnyOrUnknown || substitute === typeVariable) { return typeVariable; } const id = `${getTypeId(typeVariable)}>${getTypeId(substitute)}`; @@ -9836,6 +9853,15 @@ namespace ts { return true; } + function createIntersectionType(types: Type[], aliasSymbol?: Symbol, aliasTypeArguments?: ReadonlyArray) { + const result = createType(TypeFlags.Intersection); + result.objectFlags = getPropagatingFlagsOfTypes(types, /*excludeKinds*/ TypeFlags.Nullable); + result.types = types; + result.aliasSymbol = aliasSymbol; // See comment in `getUnionTypeFromSortedList`. + result.aliasTypeArguments = aliasTypeArguments; + return result; + } + // We normalize combinations of intersection and union types based on the distributive property of the '&' // operator. Specifically, because X & (A | B) is equivalent to X & A | X & B, we can transform intersection // types with union type constituents into equivalent union types with intersection type constituents and @@ -9873,31 +9899,37 @@ namespace ts { if (typeSet.length === 1) { return typeSet[0]; } - if (includes & TypeFlags.Union) { - if (intersectUnionsOfPrimitiveTypes(typeSet)) { - // When the intersection creates a reduced set (which might mean that *all* union types have - // disappeared), we restart the operation to get a new set of combined flags. Once we have - // reduced we'll never reduce again, so this occurs at most once. - return getIntersectionType(typeSet, aliasSymbol, aliasTypeArguments); - } - // We are attempting to construct a type of the form X & (A | B) & Y. Transform this into a type of - // the form X & A & Y | X & B & Y and recursively reduce until no union type constituents remain. - const unionIndex = findIndex(typeSet, t => (t.flags & TypeFlags.Union) !== 0); - const unionType = typeSet[unionIndex]; - return getUnionType(map(unionType.types, t => getIntersectionType(replaceElement(typeSet, unionIndex, t))), - UnionReduction.Literal, aliasSymbol, aliasTypeArguments); - } const id = getTypeListId(typeSet); - let type = intersectionTypes.get(id); - if (!type) { - type = createType(TypeFlags.Intersection); - intersectionTypes.set(id, type); - type.objectFlags = getPropagatingFlagsOfTypes(typeSet, /*excludeKinds*/ TypeFlags.Nullable); - type.types = typeSet; - type.aliasSymbol = aliasSymbol; // See comment in `getUnionTypeFromSortedList`. - type.aliasTypeArguments = aliasTypeArguments; + let result = intersectionTypes.get(id); + if (!result) { + if (includes & TypeFlags.Union) { + if (intersectUnionsOfPrimitiveTypes(typeSet)) { + // When the intersection creates a reduced set (which might mean that *all* union types have + // disappeared), we restart the operation to get a new set of combined flags. Once we have + // reduced we'll never reduce again, so this occurs at most once. + result = getIntersectionType(typeSet, aliasSymbol, aliasTypeArguments); + } + else { + // We are attempting to construct a type of the form X & (A | B) & Y. Transform this into a type of + // the form X & A & Y | X & B & Y and recursively reduce until no union type constituents remain. + // If the estimated size of the resulting union type exceeds 100000 constituents, report an error. + const size = reduceLeft(typeSet, (n, t) => n * (t.flags & TypeFlags.Union ? (t).types.length : 1), 1); + if (size >= 100000) { + error(currentNode, Diagnostics.Expression_produces_a_union_type_that_is_too_complex_to_represent); + return errorType; + } + const unionIndex = findIndex(typeSet, t => (t.flags & TypeFlags.Union) !== 0); + const unionType = typeSet[unionIndex]; + result = getUnionType(map(unionType.types, t => getIntersectionType(replaceElement(typeSet, unionIndex, t))), + UnionReduction.Literal, aliasSymbol, aliasTypeArguments); + } + } + else { + result = createIntersectionType(typeSet, aliasSymbol, aliasTypeArguments); + } + intersectionTypes.set(id, result); } - return type; + return result; } function getTypeFromIntersectionTypeNode(node: IntersectionTypeNode): Type { @@ -10045,7 +10077,7 @@ namespace ts { return false; } - function getPropertyTypeForIndexType(originalObjectType: Type, objectType: Type, indexType: Type, accessNode: ElementAccessExpression | IndexedAccessTypeNode | PropertyName | BindingName | SyntheticExpression | undefined, accessFlags: AccessFlags) { + function getPropertyTypeForIndexType(originalObjectType: Type, objectType: Type, indexType: Type, fullIndexType: Type, suppressNoImplicitAnyError: boolean, accessNode: ElementAccessExpression | IndexedAccessTypeNode | PropertyName | BindingName | SyntheticExpression | undefined, accessFlags: AccessFlags) { const accessExpression = accessNode && accessNode.kind === SyntaxKind.ElementAccessExpression ? accessNode : undefined; const propName = isTypeUsableAsPropertyName(indexType) ? getPropertyNameFromType(indexType) : @@ -10084,6 +10116,7 @@ namespace ts { error(indexNode, Diagnostics.Property_0_does_not_exist_on_type_1, unescapeLeadingUnderscores(propName), typeToString(objectType)); } } + errorIfWritingToReadonlyIndex(getIndexInfoOfType(objectType, IndexKind.Number)); return mapType(objectType, t => getRestTypeOfTupleType(t) || undefinedType); } } @@ -10105,13 +10138,7 @@ namespace ts { error(indexNode, Diagnostics.Type_0_cannot_be_used_as_an_index_type, typeToString(indexType)); return indexInfo.type; } - if (indexInfo.isReadonly && accessExpression && (isAssignmentTarget(accessExpression) || isDeleteTarget(accessExpression))) { - if (accessExpression) { - error(accessExpression, Diagnostics.Index_signature_in_type_0_only_permits_reading, typeToString(objectType)); - return indexInfo.type; - } - return undefined; - } + errorIfWritingToReadonlyIndex(indexInfo); return indexInfo.type; } if (indexType.flags & TypeFlags.Never) { @@ -10124,7 +10151,7 @@ namespace ts { if (objectType.symbol === globalThisSymbol && propName !== undefined && globalThisSymbol.exports!.has(propName) && (globalThisSymbol.exports!.get(propName)!.flags & SymbolFlags.BlockScoped)) { error(accessExpression, Diagnostics.Property_0_does_not_exist_on_type_1, unescapeLeadingUnderscores(propName), typeToString(objectType)); } - else if (noImplicitAny && !compilerOptions.suppressImplicitAnyIndexErrors) { + else if (noImplicitAny && !compilerOptions.suppressImplicitAnyIndexErrors && !suppressNoImplicitAnyError) { if (propName !== undefined && typeHasStaticProperty(propName, objectType)) { error(accessExpression, Diagnostics.Property_0_is_a_static_member_of_type_1, propName as string, typeToString(objectType)); } @@ -10144,7 +10171,29 @@ namespace ts { error(accessExpression, Diagnostics.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1, typeToString(objectType), suggestion); } else { - error(accessExpression, Diagnostics.Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature, typeToString(objectType)); + let errorInfo: DiagnosticMessageChain | undefined; + if (indexType.flags & TypeFlags.EnumLiteral) { + errorInfo = chainDiagnosticMessages(/* details */ undefined, Diagnostics.Property_0_does_not_exist_on_type_1, "[" + typeToString(indexType) + "]", typeToString(objectType)); + } + else if (indexType.flags & TypeFlags.UniqueESSymbol) { + const symbolName = getFullyQualifiedName((indexType as UniqueESSymbolType).symbol, accessExpression); + errorInfo = chainDiagnosticMessages(/* details */ undefined, Diagnostics.Property_0_does_not_exist_on_type_1, "[" + symbolName + "]", typeToString(objectType)); + } + else if (indexType.flags & TypeFlags.StringLiteral) { + errorInfo = chainDiagnosticMessages(/* details */ undefined, Diagnostics.Property_0_does_not_exist_on_type_1, (indexType as StringLiteralType).value, typeToString(objectType)); + } + else if (indexType.flags & TypeFlags.NumberLiteral) { + errorInfo = chainDiagnosticMessages(/* details */ undefined, Diagnostics.Property_0_does_not_exist_on_type_1, (indexType as NumberLiteralType).value, typeToString(objectType)); + } + else if (indexType.flags & (TypeFlags.Number | TypeFlags.String)) { + errorInfo = chainDiagnosticMessages(/* details */ undefined, Diagnostics.No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1, typeToString(indexType), typeToString(objectType)); + } + + errorInfo = chainDiagnosticMessages( + errorInfo, + Diagnostics.Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1, typeToString(fullIndexType), typeToString(objectType) + ); + diagnostics.add(createDiagnosticForNodeFromMessageChain(accessExpression, errorInfo)); } } } @@ -10171,6 +10220,12 @@ namespace ts { return indexType; } return undefined; + + function errorIfWritingToReadonlyIndex(indexInfo: IndexInfo | undefined): void { + if (indexInfo && indexInfo.isReadonly && accessExpression && (isAssignmentTarget(accessExpression) || isDeleteTarget(accessExpression))) { + error(accessExpression, Diagnostics.Index_signature_in_type_0_only_permits_reading, typeToString(objectType)); + } + } } function getIndexNodeForAccessExpression(accessNode: ElementAccessExpression | IndexedAccessTypeNode | PropertyName | BindingName | SyntheticExpression) { @@ -10191,8 +10246,14 @@ namespace ts { return maybeTypeOfKind(type, TypeFlags.InstantiableNonPrimitive | TypeFlags.Index); } + function isThisTypeParameter(type: Type): boolean { + return !!(type.flags & TypeFlags.TypeParameter && (type).isThisType); + } + function getSimplifiedType(type: Type, writing: boolean): Type { - return type.flags & TypeFlags.IndexedAccess ? getSimplifiedIndexedAccessType(type, writing) : type; + return type.flags & TypeFlags.IndexedAccess ? getSimplifiedIndexedAccessType(type, writing) : + type.flags & TypeFlags.Conditional ? getSimplifiedConditionalType(type, writing) : + type; } function distributeIndexOverObjectType(objectType: Type, indexType: Type, writing: boolean) { @@ -10255,6 +10316,38 @@ namespace ts { return type[cache] = type; } + function getSimplifiedConditionalType(type: ConditionalType, writing: boolean) { + const checkType = type.checkType; + const extendsType = type.extendsType; + const trueType = getTrueTypeFromConditionalType(type); + const falseType = getFalseTypeFromConditionalType(type); + // Simplifications for types of the form `T extends U ? T : never` and `T extends U ? never : T`. + if (falseType.flags & TypeFlags.Never && getActualTypeVariable(trueType) === getActualTypeVariable(checkType)) { + if (checkType.flags & TypeFlags.Any || isTypeAssignableTo(getRestrictiveInstantiation(checkType), getRestrictiveInstantiation(extendsType))) { // Always true + return getSimplifiedType(trueType, writing); + } + else if (isIntersectionEmpty(checkType, extendsType)) { // Always false + return neverType; + } + } + else if (trueType.flags & TypeFlags.Never && getActualTypeVariable(falseType) === getActualTypeVariable(checkType)) { + if (!(checkType.flags & TypeFlags.Any) && isTypeAssignableTo(getRestrictiveInstantiation(checkType), getRestrictiveInstantiation(extendsType))) { // Always true + return neverType; + } + else if (checkType.flags & TypeFlags.Any || isIntersectionEmpty(checkType, extendsType)) { // Always false + return getSimplifiedType(falseType, writing); + } + } + return type; + } + + /** + * Invokes union simplification logic to determine if an intersection is considered empty as a union constituent + */ + function isIntersectionEmpty(type1: Type, type2: Type) { + return !!(getUnionType([intersectTypes(type1, type2), neverType]).flags & TypeFlags.Never); + } + function substituteIndexedMappedType(objectType: MappedType, index: Type) { const mapper = createTypeMapper([getTypeParameterFromMappedType(objectType)], [index]); const templateMapper = combineTypeMappers(objectType.mapper, mapper); @@ -10299,7 +10392,7 @@ namespace ts { const propTypes: Type[] = []; let wasMissingProp = false; for (const t of (indexType).types) { - const propType = getPropertyTypeForIndexType(objectType, apparentObjectType, t, accessNode, accessFlags); + const propType = getPropertyTypeForIndexType(objectType, apparentObjectType, t, indexType, wasMissingProp, accessNode, accessFlags); if (propType) { propTypes.push(propType); } @@ -10317,7 +10410,7 @@ namespace ts { } return accessFlags & AccessFlags.Writing ? getIntersectionType(propTypes) : getUnionType(propTypes); } - return getPropertyTypeForIndexType(objectType, apparentObjectType, indexType, accessNode, accessFlags | AccessFlags.CacheSymbol); + return getPropertyTypeForIndexType(objectType, apparentObjectType, indexType, indexType, /* supressNoImplicitAnyError */ false, accessNode, accessFlags | AccessFlags.CacheSymbol); } function getTypeFromIndexedAccessTypeNode(node: IndexedAccessTypeNode) { @@ -10361,50 +10454,12 @@ namespace ts { return type; } - /** - * Invokes union simplification logic to determine if an intersection is considered empty as a union constituent - */ - function isIntersectionEmpty(type1: Type, type2: Type) { - return !!(getUnionType([intersectTypes(type1, type2), neverType]).flags & TypeFlags.Never); - } - function getConditionalType(root: ConditionalRoot, mapper: TypeMapper | undefined): Type { const checkType = instantiateType(root.checkType, mapper); const extendsType = instantiateType(root.extendsType, mapper); if (checkType === wildcardType || extendsType === wildcardType) { return wildcardType; } - const trueType = instantiateType(root.trueType, mapper); - const falseType = instantiateType(root.falseType, mapper); - const instantiationId = `${root.isDistributive ? "d" : ""}${getTypeId(checkType)}>${getTypeId(extendsType)}?${getTypeId(trueType)}:${getTypeId(falseType)}`; - const result = conditionalTypes.get(instantiationId); - if (result) { - return result; - } - const newResult = getConditionalTypeWorker(root, mapper, checkType, extendsType, trueType, falseType); - conditionalTypes.set(instantiationId, newResult); - return newResult; - } - - function getConditionalTypeWorker(root: ConditionalRoot, mapper: TypeMapper | undefined, checkType: Type, extendsType: Type, trueType: Type, falseType: Type) { - // Simplifications for types of the form `T extends U ? T : never` and `T extends U ? never : T`. - if (falseType.flags & TypeFlags.Never && getActualTypeVariable(trueType) === getActualTypeVariable(checkType)) { - if (checkType.flags & TypeFlags.Any || isTypeAssignableTo(getRestrictiveInstantiation(checkType), getRestrictiveInstantiation(extendsType))) { // Always true - return trueType; - } - else if (isIntersectionEmpty(checkType, extendsType)) { // Always false - return neverType; - } - } - else if (trueType.flags & TypeFlags.Never && getActualTypeVariable(falseType) === getActualTypeVariable(checkType)) { - if (!(checkType.flags & TypeFlags.Any) && isTypeAssignableTo(getRestrictiveInstantiation(checkType), getRestrictiveInstantiation(extendsType))) { // Always true - return neverType; - } - else if (checkType.flags & TypeFlags.Any || isIntersectionEmpty(checkType, extendsType)) { // Always false - return falseType; - } - } - const checkTypeInstantiable = maybeTypeOfKind(checkType, TypeFlags.Instantiable | TypeFlags.GenericMappedType); let combinedMapper: TypeMapper | undefined; if (root.inferTypeParameters) { @@ -10422,18 +10477,18 @@ namespace ts { // We attempt to resolve the conditional type only when the check and extends types are non-generic if (!checkTypeInstantiable && !maybeTypeOfKind(inferredExtendsType, TypeFlags.Instantiable | TypeFlags.GenericMappedType)) { if (inferredExtendsType.flags & TypeFlags.AnyOrUnknown) { - return combinedMapper ? instantiateType(root.trueType, combinedMapper) : trueType; + return instantiateType(root.trueType, combinedMapper || mapper); } // Return union of trueType and falseType for 'any' since it matches anything if (checkType.flags & TypeFlags.Any) { - return getUnionType([combinedMapper ? instantiateType(root.trueType, combinedMapper) : trueType, falseType]); + return getUnionType([instantiateType(root.trueType, combinedMapper || mapper), instantiateType(root.falseType, mapper)]); } // Return falseType for a definitely false extends check. We check an instantiations of the two // types with type parameters mapped to the wildcard type, the most permissive instantiations // possible (the wildcard type is assignable to and from all types). If those are not related, // then no instantiations will be and we can just return the false branch type. if (!isTypeAssignableTo(getPermissiveInstantiation(checkType), getPermissiveInstantiation(inferredExtendsType))) { - return falseType; + return instantiateType(root.falseType, mapper); } // Return trueType for a definitely true extends check. We check instantiations of the two // types with type parameters mapped to their restrictive form, i.e. a form of the type parameter @@ -10441,14 +10496,10 @@ namespace ts { // type Foo = T extends { x: string } ? string : number // doesn't immediately resolve to 'string' instead of being deferred. if (isTypeAssignableTo(getRestrictiveInstantiation(checkType), getRestrictiveInstantiation(inferredExtendsType))) { - return combinedMapper ? instantiateType(root.trueType, combinedMapper) : trueType; + return instantiateType(root.trueType, combinedMapper || mapper); } } // Return a deferred type for a check that is neither definitely true nor definitely false - return getDeferredConditionalType(root, mapper, combinedMapper, checkType, extendsType, trueType, falseType); - } - - function getDeferredConditionalType(root: ConditionalRoot, mapper: TypeMapper | undefined, combinedMapper: TypeMapper | undefined, checkType: Type, extendsType: Type, trueType: Type, falseType: Type) { const erasedCheckType = getActualTypeVariable(checkType); const result = createType(TypeFlags.Conditional); result.root = root; @@ -10456,15 +10507,21 @@ namespace ts { result.extendsType = extendsType; result.mapper = mapper; result.combinedMapper = combinedMapper; - result.trueType = trueType; - result.falseType = falseType; result.aliasSymbol = root.aliasSymbol; result.aliasTypeArguments = instantiateTypes(root.aliasTypeArguments, mapper!); // TODO: GH#18217 return result; } + function getTrueTypeFromConditionalType(type: ConditionalType) { + return type.resolvedTrueType || (type.resolvedTrueType = instantiateType(type.root.trueType, type.mapper)); + } + + function getFalseTypeFromConditionalType(type: ConditionalType) { + return type.resolvedFalseType || (type.resolvedFalseType = instantiateType(type.root.falseType, type.mapper)); + } + function getInferredTrueTypeFromConditionalType(type: ConditionalType) { - return type.resolvedInferredTrueType || (type.resolvedInferredTrueType = instantiateType(type.root.trueType, type.combinedMapper || type.mapper)); + return type.resolvedInferredTrueType || (type.resolvedInferredTrueType = type.combinedMapper ? instantiateType(type.root.trueType, type.combinedMapper) : getTrueTypeFromConditionalType(type)); } function getInferTypeParameters(node: ConditionalTypeNode): TypeParameter[] | undefined { @@ -10479,21 +10536,6 @@ namespace ts { return result; } - function isPossiblyReferencedInConditionalType(tp: TypeParameter, node: Node) { - if (isTypeParameterPossiblyReferenced(tp, node)) { - return true; - } - while (node) { - if (node.kind === SyntaxKind.ConditionalType) { - if (isTypeParameterPossiblyReferenced(tp, (node).extendsType)) { - return true; - } - } - node = node.parent; - } - return false; - } - function getTypeFromConditionalTypeNode(node: ConditionalTypeNode): Type { const links = getNodeLinks(node); if (!links.resolvedType) { @@ -10501,7 +10543,7 @@ namespace ts { const aliasSymbol = getAliasSymbolForTypeNode(node); const aliasTypeArguments = getTypeArgumentsForAliasSymbol(aliasSymbol); const allOuterTypeParameters = getOuterTypeParameters(node, /*includeThisTypes*/ true); - const outerTypeParameters = aliasTypeArguments ? allOuterTypeParameters : filter(allOuterTypeParameters, tp => isPossiblyReferencedInConditionalType(tp, node)); + const outerTypeParameters = aliasTypeArguments ? allOuterTypeParameters : filter(allOuterTypeParameters, tp => isTypeParameterPossiblyReferenced(tp, node)); const root: ConditionalRoot = { node, checkType, @@ -11195,9 +11237,12 @@ namespace ts { // type parameter, or if the node contains type queries, we consider the type parameter possibly referenced. if (tp.symbol && tp.symbol.declarations && tp.symbol.declarations.length === 1) { const container = tp.symbol.declarations[0].parent; - if (findAncestor(node, n => n.kind === SyntaxKind.Block ? "quit" : n === container)) { - return !!forEachChild(node, containsReference); + for (let n = node; n !== container; n = n.parent) { + if (!n || n.kind === SyntaxKind.Block || n.kind === SyntaxKind.ConditionalType && forEachChild((n).extendsType, containsReference)) { + return true; + } } + return !!forEachChild(node, containsReference); } return true; function containsReference(node: Node): boolean { @@ -12062,12 +12107,14 @@ namespace ts { } if (!ignoreReturnTypes) { - const targetReturnType = (target.declaration && isJSConstructor(target.declaration)) ? + // If a signature reolution is already in-flight, skip issuing a circularity error + // here and just use the `any` type directly + const targetReturnType = isResolvingReturnTypeOfSignature(target) ? anyType : (target.declaration && isJSConstructor(target.declaration)) ? getJSClassType(target.declaration.symbol)! : getReturnTypeOfSignature(target); if (targetReturnType === voidType) { return result; } - const sourceReturnType = (source.declaration && isJSConstructor(source.declaration)) ? + const sourceReturnType = isResolvingReturnTypeOfSignature(source) ? anyType : (source.declaration && isJSConstructor(source.declaration)) ? getJSClassType(source.declaration.symbol)! : getReturnTypeOfSignature(source); // The following block preserves behavior forbidding boolean returning functions from being assignable to type guard returning functions @@ -12299,7 +12346,7 @@ namespace ts { let depth = 0; let expandingFlags = ExpandingFlags.None; let overflow = false; - let suppressNextError = false; + let overrideNextErrorInfo: DiagnosticMessageChain | undefined; Debug.assert(relation !== identityRelation || !errorNode, "no error reporting in identity checking"); @@ -12447,10 +12494,10 @@ namespace ts { if (target.flags & TypeFlags.Substitution) { target = (target).typeVariable; } - if (source.flags & TypeFlags.IndexedAccess) { + if (source.flags & TypeFlags.Simplifiable) { source = getSimplifiedType(source, /*writing*/ false); } - if (target.flags & TypeFlags.IndexedAccess) { + if (target.flags & TypeFlags.Simplifiable) { target = getSimplifiedType(target, /*writing*/ true); } @@ -12586,10 +12633,14 @@ namespace ts { } if (!result && reportErrors) { - const maybeSuppress = suppressNextError; - suppressNextError = false; + let maybeSuppress = overrideNextErrorInfo; + overrideNextErrorInfo = undefined; if (source.flags & TypeFlags.Object && target.flags & TypeFlags.Object) { + const currentError = errorInfo; tryElaborateArrayLikeErrors(source, target, reportErrors); + if (errorInfo !== currentError) { + maybeSuppress = errorInfo; + } } if (source.flags & TypeFlags.Object && target.flags & TypeFlags.Primitive) { tryElaborateErrorsForPrimitivesAndObjects(source, target); @@ -12852,7 +12903,7 @@ namespace ts { return result; } - function typeArgumentsRelatedTo(sources: ReadonlyArray = emptyArray, targets: ReadonlyArray = emptyArray, variances: ReadonlyArray = emptyArray, reportErrors: boolean): Ternary { + function typeArgumentsRelatedTo(sources: ReadonlyArray = emptyArray, targets: ReadonlyArray = emptyArray, variances: ReadonlyArray = emptyArray, reportErrors: boolean): Ternary { if (sources.length !== targets.length && relation === identityRelation) { return Ternary.False; } @@ -12862,19 +12913,26 @@ namespace ts { // When variance information isn't available we default to covariance. This happens // in the process of computing variance information for recursive types and when // comparing 'this' type arguments. - const variance = i < variances.length ? variances[i] : Variance.Covariant; + const varianceFlags = i < variances.length ? variances[i] : VarianceFlags.Covariant; + const variance = varianceFlags & VarianceFlags.VarianceMask; // We ignore arguments for independent type parameters (because they're never witnessed). - if (variance !== Variance.Independent) { + if (variance !== VarianceFlags.Independent) { const s = sources[i]; const t = targets[i]; let related = Ternary.True; - if (variance === Variance.Covariant) { + if (varianceFlags & VarianceFlags.Unmeasurable) { + // Even an `Unmeasurable` variance works out without a structural check if the source and target are _identical_. + // We can't simply assume invariance, because `Unmeasurable` marks nonlinear relations, for example, a relation tained by + // the `-?` modifier in a mapped type (where, no matter how the inputs are related, the outputs still might not be) + related = relation === identityRelation ? isRelatedTo(s, t, /*reportErrors*/ false) : compareTypesIdentical(s, t); + } + else if (variance === VarianceFlags.Covariant) { related = isRelatedTo(s, t, reportErrors); } - else if (variance === Variance.Contravariant) { + else if (variance === VarianceFlags.Contravariant) { related = isRelatedTo(t, s, reportErrors); } - else if (variance === Variance.Bivariant) { + else if (variance === VarianceFlags.Bivariant) { // In the bivariant case we first compare contravariantly without reporting // errors. Then, if that doesn't succeed, we compare covariantly with error // reporting. Thus, error elaboration will be based on the the covariant check, @@ -12987,8 +13045,8 @@ namespace ts { if ((source).root.isDistributive === (target).root.isDistributive) { if (result = isRelatedTo((source).checkType, (target).checkType, /*reportErrors*/ false)) { if (result &= isRelatedTo((source).extendsType, (target).extendsType, /*reportErrors*/ false)) { - if (result &= isRelatedTo((source).trueType, (target).trueType, /*reportErrors*/ false)) { - if (result &= isRelatedTo((source).falseType, (target).falseType, /*reportErrors*/ false)) { + if (result &= isRelatedTo(getTrueTypeFromConditionalType(source), getTrueTypeFromConditionalType(target), /*reportErrors*/ false)) { + if (result &= isRelatedTo(getFalseTypeFromConditionalType(source), getFalseTypeFromConditionalType(target), /*reportErrors*/ false)) { return result; } } @@ -13041,8 +13099,7 @@ namespace ts { } // A type S is assignable to keyof T if S is assignable to keyof C, where C is the // simplified form of T or, if T doesn't simplify, the constraint of T. - const simplified = getSimplifiedType((target).type, /*writing*/ false); - const constraint = simplified !== (target).type ? simplified : getConstraintOfType((target).type); + const constraint = getSimplifiedTypeOrConstraint((target).type); if (constraint) { // We require Ternary.True here such that circular constraints don't cause // false positives. For example, given 'T extends { [K in keyof T]: string }', @@ -13147,8 +13204,8 @@ namespace ts { // and Y1 is related to Y2. if (isTypeIdenticalTo((source).extendsType, (target).extendsType) && (isRelatedTo((source).checkType, (target).checkType) || isRelatedTo((target).checkType, (source).checkType))) { - if (result = isRelatedTo((source).trueType, (target).trueType, reportErrors)) { - result &= isRelatedTo((source).falseType, (target).falseType, reportErrors); + if (result = isRelatedTo(getTrueTypeFromConditionalType(source), getTrueTypeFromConditionalType(target), reportErrors)) { + result &= isRelatedTo(getFalseTypeFromConditionalType(source), getFalseTypeFromConditionalType(target), reportErrors); } if (result) { errorInfo = saveErrorInfo; @@ -13254,21 +13311,20 @@ namespace ts { } return Ternary.False; - function isNonGeneric(type: Type) { - // If we're already in identity relationship checking, we should use `isRelatedTo` - // to catch the `Maybe` from an excessively deep type (which we then assume means - // that the type could possibly contain a generic) - if (relation === identityRelation) { - return isRelatedTo(type, getPermissiveInstantiation(type)) === Ternary.True; - } - return isTypeIdenticalTo(type, getPermissiveInstantiation(type)); - } - - function relateVariances(sourceTypeArguments: ReadonlyArray | undefined, targetTypeArguments: ReadonlyArray | undefined, variances: Variance[]) { + function relateVariances(sourceTypeArguments: ReadonlyArray | undefined, targetTypeArguments: ReadonlyArray | undefined, variances: VarianceFlags[]) { if (result = typeArgumentsRelatedTo(sourceTypeArguments, targetTypeArguments, variances, reportErrors)) { return result; } - const allowStructuralFallback = (targetTypeArguments && hasCovariantVoidArgument(targetTypeArguments, variances)) || isNonGeneric(source) || isNonGeneric(target); + if (some(variances, v => !!(v & VarianceFlags.AllowsStructuralFallback))) { + // If some type parameter was `Unmeasurable` or `Unreliable`, and we couldn't pass by assuming it was identical, then we + // have to allow a structural fallback check + // We elide the variance-based error elaborations, since those might not be too helpful, since we'll potentially + // be assuming identity of the type parameter. + originalErrorInfo = undefined; + errorInfo = saveErrorInfo; + return undefined; + } + const allowStructuralFallback = targetTypeArguments && hasCovariantVoidArgument(targetTypeArguments, variances); varianceCheckFailed = !allowStructuralFallback; // The type arguments did not relate appropriately, but it may be because we have no variance // information (in which case typeArgumentsRelatedTo defaulted to covariance for all type @@ -13286,7 +13342,7 @@ namespace ts { // reveal the reason). // We can switch on `reportErrors` here, since varianceCheckFailed guarantees we return `False`, // we can return `False` early here to skip calculating the structural error message we don't need. - if (varianceCheckFailed && !(reportErrors && some(variances, v => v === Variance.Invariant))) { + if (varianceCheckFailed && !(reportErrors && some(variances, v => (v & VarianceFlags.VarianceMask) === VarianceFlags.Invariant))) { return Ternary.False; } // We remember the original error information so we can restore it in case the structural @@ -13298,6 +13354,20 @@ namespace ts { } } + function reportUnmeasurableMarkers(p: TypeParameter) { + if (outofbandVarianceMarkerHandler && (p === markerSuperType || p === markerSubType || p === markerOtherType)) { + outofbandVarianceMarkerHandler(/*onlyUnreliable*/ false); + } + return p; + } + + function reportUnreliableMarkers(p: TypeParameter) { + if (outofbandVarianceMarkerHandler && (p === markerSuperType || p === markerSubType || p === markerOtherType)) { + outofbandVarianceMarkerHandler(/*onlyUnreliable*/ true); + } + return p; + } + // A type [P in S]: X is related to a type [Q in T]: Y if T is related to S and X' is // related to Y, where X' is an instantiation of X in which P is replaced with Q. Notice // that S and T are contra-variant whereas X and Y are co-variant. @@ -13306,7 +13376,9 @@ namespace ts { getCombinedMappedTypeOptionality(source) <= getCombinedMappedTypeOptionality(target)); if (modifiersRelated) { let result: Ternary; - if (result = isRelatedTo(getConstraintTypeFromMappedType(target), getConstraintTypeFromMappedType(source), reportErrors)) { + const targetConstraint = getConstraintTypeFromMappedType(target); + const sourceConstraint = instantiateType(getConstraintTypeFromMappedType(source), getCombinedMappedTypeOptionality(source) < 0 ? reportUnmeasurableMarkers : reportUnreliableMarkers); + if (result = isRelatedTo(targetConstraint, sourceConstraint, reportErrors)) { const mapper = createTypeMapper([getTypeParameterFromMappedType(source)], [getTypeParameterFromMappedType(target)]); return result & isRelatedTo(instantiateType(getTemplateTypeFromMappedType(source), mapper), getTemplateTypeFromMappedType(target), reportErrors); } @@ -13499,9 +13571,10 @@ namespace ts { if (unmatchedProperty) { if (reportErrors) { const props = arrayFrom(getUnmatchedProperties(source, target, requireOptionalProperties, /*matchDiscriminantProperties*/ false)); + let shouldSkipElaboration = false; if (!headMessage || (headMessage.code !== Diagnostics.Class_0_incorrectly_implements_interface_1.code && headMessage.code !== Diagnostics.Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass.code)) { - suppressNextError = true; // Retain top-level error for interface implementing issues, otherwise omit it + shouldSkipElaboration = true; // Retain top-level error for interface implementing issues, otherwise omit it } if (props.length === 1) { const propName = symbolToString(unmatchedProperty); @@ -13509,6 +13582,9 @@ namespace ts { if (length(unmatchedProperty.declarations)) { associateRelatedInfo(createDiagnosticForNode(unmatchedProperty.declarations[0], Diagnostics._0_is_declared_here, propName)); } + if (shouldSkipElaboration) { + overrideNextErrorInfo = errorInfo; + } } else if (tryElaborateArrayLikeErrors(source, target, /*reportErrors*/ false)) { if (props.length > 5) { // arbitrary cutoff for too-long list form @@ -13517,7 +13593,11 @@ namespace ts { else { reportError(Diagnostics.Type_0_is_missing_the_following_properties_from_type_1_Colon_2, typeToString(source), typeToString(target), map(props, p => symbolToString(p)).join(", ")); } + if (shouldSkipElaboration) { + overrideNextErrorInfo = errorInfo; + } } + // ELSE: No array like or unmatched property error - just issue top level error (errorInfo = undefined) } return Ternary.False; } @@ -13896,26 +13976,45 @@ namespace ts { // instantiations of the generic type for type arguments with known relations. The function // returns the emptyArray singleton if we're not in strictFunctionTypes mode or if the function // has been invoked recursively for the given generic type. - function getVariancesWorker(typeParameters: ReadonlyArray = emptyArray, cache: TCache, createMarkerType: (input: TCache, param: TypeParameter, marker: Type) => Type): Variance[] { + function getVariancesWorker(typeParameters: ReadonlyArray = emptyArray, cache: TCache, createMarkerType: (input: TCache, param: TypeParameter, marker: Type) => Type): VarianceFlags[] { let variances = cache.variances; if (!variances) { // The emptyArray singleton is used to signal a recursive invocation. cache.variances = emptyArray; variances = []; for (const tp of typeParameters) { + let unmeasurable = false; + let unreliable = false; + const oldHandler = outofbandVarianceMarkerHandler; + outofbandVarianceMarkerHandler = (onlyUnreliable) => onlyUnreliable ? unreliable = true : unmeasurable = true; // We first compare instantiations where the type parameter is replaced with // marker types that have a known subtype relationship. From this we can infer // invariance, covariance, contravariance or bivariance. const typeWithSuper = createMarkerType(cache, tp, markerSuperType); const typeWithSub = createMarkerType(cache, tp, markerSubType); - let variance = (isTypeAssignableTo(typeWithSub, typeWithSuper) ? Variance.Covariant : 0) | - (isTypeAssignableTo(typeWithSuper, typeWithSub) ? Variance.Contravariant : 0); + let variance = (isTypeAssignableTo(typeWithSub, typeWithSuper) ? VarianceFlags.Covariant : 0) | + (isTypeAssignableTo(typeWithSuper, typeWithSub) ? VarianceFlags.Contravariant : 0); // If the instantiations appear to be related bivariantly it may be because the // type parameter is independent (i.e. it isn't witnessed anywhere in the generic // type). To determine this we compare instantiations where the type parameter is // replaced with marker types that are known to be unrelated. - if (variance === Variance.Bivariant && isTypeAssignableTo(createMarkerType(cache, tp, markerOtherType), typeWithSuper)) { - variance = Variance.Independent; + if (variance === VarianceFlags.Bivariant && isTypeAssignableTo(createMarkerType(cache, tp, markerOtherType), typeWithSuper)) { + variance = VarianceFlags.Independent; + } + outofbandVarianceMarkerHandler = oldHandler; + if (unmeasurable || unreliable) { + if (unmeasurable) { + variance |= VarianceFlags.Unmeasurable; + } + if (unreliable) { + variance |= VarianceFlags.Unreliable; + } + const covariantID = getRelationKey(typeWithSub, typeWithSuper, assignableRelation); + const contravariantID = getRelationKey(typeWithSuper, typeWithSub, assignableRelation); + // We delete the results of these checks, as we want them to actually be run, see the `Unmeasurable` variance we cache, + // And then fall back to a structural result. + assignableRelation.delete(covariantID); + assignableRelation.delete(contravariantID); } variances.push(variance); } @@ -13924,7 +14023,7 @@ namespace ts { return variances; } - function getVariances(type: GenericType): Variance[] { + function getVariances(type: GenericType): VarianceFlags[] { // Arrays and tuples are known to be covariant, no need to spend time computing this (emptyArray implies covariance for all parameters) if (type === globalArrayType || type === globalReadonlyArrayType || type.objectFlags & ObjectFlags.Tuple) { return emptyArray; @@ -13934,9 +14033,9 @@ namespace ts { // Return true if the given type reference has a 'void' type argument for a covariant type parameter. // See comment at call in recursiveTypeRelatedTo for when this case matters. - function hasCovariantVoidArgument(typeArguments: ReadonlyArray, variances: Variance[]): boolean { + function hasCovariantVoidArgument(typeArguments: ReadonlyArray, variances: VarianceFlags[]): boolean { for (let i = 0; i < variances.length; i++) { - if (variances[i] === Variance.Covariant && typeArguments[i].flags & TypeFlags.Void) { + if ((variances[i] & VarianceFlags.VarianceMask) === VarianceFlags.Covariant && typeArguments[i].flags & TypeFlags.Void) { return true; } } @@ -14887,10 +14986,19 @@ namespace ts { return type; } + // We consider a type to be partially inferable if it isn't marked non-inferable or if it is + // an object literal type with at least one property of an inferable type. For example, an object + // literal { a: 123, b: x => true } is marked non-inferable because it contains a context sensitive + // arrow function, but is considered partially inferable because property 'a' has an inferable type. + function isPartiallyInferableType(type: Type): boolean { + return !(getObjectFlags(type) & ObjectFlags.NonInferrableType) || + isObjectLiteralType(type) && some(getPropertiesOfType(type), prop => isPartiallyInferableType(getTypeOfSymbol(prop))); + } + function createReverseMappedType(source: Type, target: MappedType, constraint: IndexType) { - // If any property contains context sensitive functions that have been skipped, the source type - // is incomplete and we can't infer a meaningful input type. - if (getObjectFlags(source) & ObjectFlags.NonInferrableType || getPropertiesOfType(source).length === 0 && !getIndexInfoOfType(source, IndexKind.String)) { + // We consider a source type reverse mappable if it has a string index signature or if + // it has one or more properties and is of a partially inferable type. + if (!(getIndexInfoOfType(source, IndexKind.String) || getPropertiesOfType(source).length !== 0 && isPartiallyInferableType(source))) { return undefined; } // For arrays and tuples we infer new arrays and tuples where the reverse mapping has been @@ -15109,7 +15217,7 @@ namespace ts { const count = sourceTypes.length < targetTypes.length ? sourceTypes.length : targetTypes.length; const variances = getVariances((source).target); for (let i = 0; i < count; i++) { - if (i < variances.length && variances[i] === Variance.Contravariant) { + if (i < variances.length && (variances[i] & VarianceFlags.VarianceMask) === VarianceFlags.Contravariant) { inferFromContravariantTypes(sourceTypes[i], targetTypes[i]); } else { @@ -15138,12 +15246,12 @@ namespace ts { else if (source.flags & TypeFlags.Conditional && target.flags & TypeFlags.Conditional) { inferFromTypes((source).checkType, (target).checkType); inferFromTypes((source).extendsType, (target).extendsType); - inferFromTypes((source).trueType, (target).trueType); - inferFromTypes((source).falseType, (target).falseType); + inferFromTypes(getTrueTypeFromConditionalType(source), getTrueTypeFromConditionalType(target)); + inferFromTypes(getFalseTypeFromConditionalType(source), getFalseTypeFromConditionalType(target)); } else if (target.flags & TypeFlags.Conditional && !contravariant) { - inferFromTypes(source, (target).trueType); - inferFromTypes(source, (target).falseType); + inferFromTypes(source, getTrueTypeFromConditionalType(target)); + inferFromTypes(source, getFalseTypeFromConditionalType(target)); } else if (target.flags & TypeFlags.UnionOrIntersection) { // We infer from types that are not naked type variables first so that inferences we @@ -15275,7 +15383,11 @@ namespace ts { const inferredType = inferTypeForHomomorphicMappedType(source, target, constraintType); if (inferredType) { const savePriority = priority; - priority |= InferencePriority.HomomorphicMappedType; + // We assign a lower priority to inferences made from types containing non-inferrable + // types because we may only have a partial result (i.e. we may have failed to make + // reverse inferences for some properties). + priority |= getObjectFlags(source) & ObjectFlags.NonInferrableType ? + InferencePriority.PartialHomomorphicMappedType : InferencePriority.HomomorphicMappedType; inferFromTypes(inferredType, inference.typeParameter); priority = savePriority; } @@ -15622,21 +15734,21 @@ namespace ts { // The result is undefined if the reference isn't a dotted name. We prefix nodes // occurring in an apparent type position with '@' because the control flow type // of such nodes may be based on the apparent type instead of the declared type. - function getFlowCacheKey(node: Node): string | undefined { + function getFlowCacheKey(node: Node, declaredType: Type, initialType: Type, flowContainer: Node | undefined): string | undefined { switch (node.kind) { case SyntaxKind.Identifier: const symbol = getResolvedSymbol(node); - return symbol !== unknownSymbol ? (isConstraintPosition(node) ? "@" : "") + getSymbolId(symbol) : undefined; + return symbol !== unknownSymbol ? `${flowContainer ? getNodeId(flowContainer) : "-1"}|${getTypeId(declaredType)}|${getTypeId(initialType)}|${isConstraintPosition(node) ? "@" : ""}${getSymbolId(symbol)}` : undefined; case SyntaxKind.ThisKeyword: return "0"; case SyntaxKind.NonNullExpression: case SyntaxKind.ParenthesizedExpression: - return getFlowCacheKey((node).expression); + return getFlowCacheKey((node).expression, declaredType, initialType, flowContainer); case SyntaxKind.PropertyAccessExpression: case SyntaxKind.ElementAccessExpression: const propName = getAccessedPropertyName(node); if (propName !== undefined) { - const key = getFlowCacheKey((node).expression); + const key = getFlowCacheKey((node).expression, declaredType, initialType, flowContainer); return key && key + "." + propName; } } @@ -16301,6 +16413,7 @@ namespace ts { function getFlowTypeOfReference(reference: Node, declaredType: Type, initialType = declaredType, flowContainer?: Node, couldBeUninitialized?: boolean) { let key: string | undefined; + let keySet = false; let flowDepth = 0; if (flowAnalysisDisabled) { return errorType; @@ -16321,6 +16434,14 @@ namespace ts { } return resultType; + function getOrSetCacheKey() { + if (keySet) { + return key; + } + keySet = true; + return key = getFlowCacheKey(reference, declaredType, initialType, flowContainer); + } + function getTypeAtFlowNode(flow: FlowNode): FlowType { if (flowDepth === 2000) { // We have made 2000 recursive invocations. To avoid overflowing the call stack we report an error @@ -16332,6 +16453,15 @@ namespace ts { flowDepth++; while (true) { const flags = flow.flags; + if (flags & FlowFlags.Cached) { + const key = getOrSetCacheKey(); + if (key) { + const id = getFlowNodeId(flow); + if (flowAssignmentKeys[id] === key) { + return flowAssignmentTypes[id]; + } + } + } if (flags & FlowFlags.Shared) { // We cache results of flow type resolution for shared nodes that were previously visited in // the same getFlowTypeOfReference invocation. A node is considered shared when it is the @@ -16362,6 +16492,15 @@ namespace ts { flow = (flow).antecedent; continue; } + else if (flowLoopCount === flowLoopStart) { // Only cache assignments when not within loop analysis + const key = getOrSetCacheKey(); + if (key && !isIncomplete(type)) { + flow.flags |= FlowFlags.Cached; + const id = getFlowNodeId(flow); + flowAssignmentKeys[id] = key; + flowAssignmentTypes[id] = type; + } + } } else if (flags & FlowFlags.Condition) { type = getTypeAtFlowCondition(flow); @@ -16574,12 +16713,10 @@ namespace ts { // this flow loop junction, return the cached type. const id = getFlowNodeId(flow); const cache = flowLoopCaches[id] || (flowLoopCaches[id] = createMap()); + const key = getOrSetCacheKey(); if (!key) { - key = getFlowCacheKey(reference); // No cache key is generated when binding patterns are in unnarrowable situations - if (!key) { - return declaredType; - } + return declaredType; } const cached = cache.get(key); if (cached) { @@ -16691,7 +16828,7 @@ namespace ts { } function narrowByInKeyword(type: Type, literal: LiteralExpression, assumeTrue: boolean) { - if ((type.flags & (TypeFlags.Union | TypeFlags.Object)) || (type.flags & TypeFlags.TypeParameter && (type as TypeParameter).isThisType)) { + if (type.flags & (TypeFlags.Union | TypeFlags.Object) || isThisTypeParameter(type)) { const propName = escapeLeadingUnderscores(literal.text); return filterType(type, t => isTypePresencePossible(t, propName, assumeTrue)); } @@ -16701,7 +16838,7 @@ namespace ts { function narrowTypeByBinaryExpression(type: Type, expr: BinaryExpression, assumeTrue: boolean): Type { switch (expr.operatorToken.kind) { case SyntaxKind.EqualsToken: - return narrowTypeByTruthiness(type, expr.left, assumeTrue); + return narrowTypeByTruthiness(narrowType(type, expr.right, assumeTrue), expr.left, assumeTrue); case SyntaxKind.EqualsEqualsToken: case SyntaxKind.ExclamationEqualsToken: case SyntaxKind.EqualsEqualsEqualsToken: @@ -20011,7 +20148,7 @@ namespace ts { return anyType; } if (right.escapedText && !checkAndReportErrorForExtendingInterface(node)) { - reportNonexistentProperty(right, leftType.flags & TypeFlags.TypeParameter && (leftType as TypeParameter).isThisType ? apparentType : leftType); + reportNonexistentProperty(right, isThisTypeParameter(leftType) ? apparentType : leftType); } return errorType; } @@ -20314,25 +20451,8 @@ namespace ts { } function isValidPropertyAccessForCompletions(node: PropertyAccessExpression | ImportTypeNode | QualifiedName, type: Type, property: Symbol): boolean { - return isValidPropertyAccessWithType(node, node.kind === SyntaxKind.PropertyAccessExpression && node.expression.kind === SyntaxKind.SuperKeyword, property.escapedName, type) - && (!(property.flags & SymbolFlags.Method) || isValidMethodAccess(property, type)); - } - function isValidMethodAccess(method: Symbol, actualThisType: Type): boolean { - const propType = getTypeOfPropertyOfType(actualThisType, method.escapedName)!; - const signatures = getSignaturesOfType(getNonNullableType(propType), SignatureKind.Call); - Debug.assert(signatures.length !== 0); - return signatures.some(sig => { - const signatureThisType = getThisTypeOfSignature(sig); - return !signatureThisType || isTypeAssignableTo(actualThisType, getInstantiatedSignatureThisType(sig, signatureThisType, actualThisType)); - }); - } - function getInstantiatedSignatureThisType(sig: Signature, signatureThisType: Type, actualThisType: Type): Type { - if (!sig.typeParameters) { - return signatureThisType; - } - const context = createInferenceContext(sig.typeParameters, sig, InferenceFlags.None); - inferTypes(context.inferences, actualThisType, signatureThisType); - return instantiateType(signatureThisType, createSignatureTypeMapper(sig, getInferredTypes(context))); + return isValidPropertyAccessWithType(node, node.kind === SyntaxKind.PropertyAccessExpression && node.expression.kind === SyntaxKind.SuperKeyword, property.escapedName, type); + // Previously we validated the 'this' type of methods but this adversely affected performance. See #31377 for more context. } function isValidPropertyAccessWithType( @@ -20432,7 +20552,7 @@ namespace ts { const effectiveIndexType = isForInVariableForNumericPropertyNames(indexExpression) ? numberType : indexType; const accessFlags = isAssignmentTarget(node) ? - AccessFlags.Writing | (isGenericObjectType(objectType) ? AccessFlags.NoIndexSignatures : 0) : + AccessFlags.Writing | (isGenericObjectType(objectType) && !isThisTypeParameter(objectType) ? AccessFlags.NoIndexSignatures : 0) : AccessFlags.None; const indexedAccessType = getIndexedAccessTypeOrUndefined(objectType, effectiveIndexType, node, accessFlags) || errorType; return checkIndexedAccessIndexType(indexedAccessType, node); @@ -20960,7 +21080,7 @@ namespace ts { // of the argument is a tuple type, spread the tuple elements into the argument list. We can // call checkExpressionCached because spread expressions never have a contextual type. const spreadArgument = args[length - 1]; - const type = checkExpressionCached(spreadArgument.expression); + const type = flowLoopCount ? checkExpression(spreadArgument.expression) : checkExpressionCached(spreadArgument.expression); if (isTupleType(type)) { const typeArguments = (type).typeArguments || emptyArray; const restIndex = type.target.hasRestElement ? typeArguments.length - 1 : -1; @@ -23287,14 +23407,16 @@ namespace ts { if (strictNullChecks && properties.length === 0) { return checkNonNullType(sourceType, node); } - for (const p of properties) { - checkObjectLiteralDestructuringPropertyAssignment(sourceType, p, properties, rightIsThis); + for (let i = 0; i < properties.length; i++) { + checkObjectLiteralDestructuringPropertyAssignment(node, sourceType, i, properties, rightIsThis); } return sourceType; } /** Note: If property cannot be a SpreadAssignment, then allProperties does not need to be provided */ - function checkObjectLiteralDestructuringPropertyAssignment(objectLiteralType: Type, property: ObjectLiteralElementLike, allProperties?: NodeArray, rightIsThis = false) { + function checkObjectLiteralDestructuringPropertyAssignment(node: ObjectLiteralExpression, objectLiteralType: Type, propertyIndex: number, allProperties?: NodeArray, rightIsThis = false) { + const properties = node.properties; + const property = properties[propertyIndex]; if (property.kind === SyntaxKind.PropertyAssignment || property.kind === SyntaxKind.ShorthandPropertyAssignment) { const name = property.name; const exprType = getLiteralTypeFromPropertyName(name); @@ -23311,18 +23433,25 @@ namespace ts { return checkDestructuringAssignment(property.kind === SyntaxKind.ShorthandPropertyAssignment ? property : property.initializer, type); } else if (property.kind === SyntaxKind.SpreadAssignment) { - if (languageVersion < ScriptTarget.ESNext) { - checkExternalEmitHelpers(property, ExternalEmitHelpers.Rest); + if (propertyIndex < properties.length - 1) { + error(property, Diagnostics.A_rest_element_must_be_last_in_a_destructuring_pattern); } - const nonRestNames: PropertyName[] = []; - if (allProperties) { - for (let i = 0; i < allProperties.length - 1; i++) { - nonRestNames.push(allProperties[i].name!); + else { + if (languageVersion < ScriptTarget.ESNext) { + checkExternalEmitHelpers(property, ExternalEmitHelpers.Rest); } + const nonRestNames: PropertyName[] = []; + if (allProperties) { + for (const otherProperty of allProperties) { + if (!isSpreadAssignment(otherProperty)) { + nonRestNames.push(otherProperty.name); + } + } + } + const type = getRestType(objectLiteralType, nonRestNames, objectLiteralType.symbol); + checkGrammarForDisallowedTrailingComma(allProperties, Diagnostics.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma); + return checkDestructuringAssignment(property.expression, type); } - const type = getRestType(objectLiteralType, nonRestNames, objectLiteralType.symbol); - checkGrammarForDisallowedTrailingComma(allProperties, Diagnostics.A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma); - return checkDestructuringAssignment(property.expression, type); } else { error(property, Diagnostics.Property_assignment_expected); @@ -24369,7 +24498,7 @@ namespace ts { const constraintType = getConstraintOfTypeParameter(typeParameter); const defaultType = getDefaultFromTypeParameter(typeParameter); if (constraintType && defaultType) { - checkTypeAssignableTo(defaultType, getTypeWithThisArgument(constraintType, defaultType), node.default, Diagnostics.Type_0_does_not_satisfy_the_constraint_1); + checkTypeAssignableTo(defaultType, getTypeWithThisArgument(instantiateType(constraintType, makeUnaryTypeMapper(typeParameter, defaultType)), defaultType), node.default, Diagnostics.Type_0_does_not_satisfy_the_constraint_1); } if (produceDiagnostics) { checkTypeNameIsReserved(node.name, Diagnostics.Type_parameter_name_cannot_be_0); @@ -25453,7 +25582,7 @@ namespace ts { case SyntaxKind.ImportSpecifier: // https://github.com/Microsoft/TypeScript/pull/7591 return DeclarationSpaces.ExportValue; default: - return Debug.fail(Debug.showSyntaxKind(d)); + return Debug.failBadSyntaxKind(d); } } } @@ -26756,7 +26885,7 @@ namespace ts { if (type !== errorType && declarationType !== errorType && !isTypeIdenticalTo(type, declarationType) && !(symbol.flags & SymbolFlags.Assignment)) { - errorNextVariableOrPropertyDeclarationMustHaveSameType(type, node, declarationType); + errorNextVariableOrPropertyDeclarationMustHaveSameType(symbol.valueDeclaration, type, node, declarationType); } if (node.initializer) { checkTypeAssignableToAndOptionallyElaborate(checkExpressionCached(node.initializer), declarationType, node, node.initializer, /*headMessage*/ undefined); @@ -26776,17 +26905,24 @@ namespace ts { } } - function errorNextVariableOrPropertyDeclarationMustHaveSameType(firstType: Type, nextDeclaration: Declaration, nextType: Type): void { + function errorNextVariableOrPropertyDeclarationMustHaveSameType(firstDeclaration: Declaration | undefined, firstType: Type, nextDeclaration: Declaration, nextType: Type): void { const nextDeclarationName = getNameOfDeclaration(nextDeclaration); const message = nextDeclaration.kind === SyntaxKind.PropertyDeclaration || nextDeclaration.kind === SyntaxKind.PropertySignature ? Diagnostics.Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2 : Diagnostics.Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2; - error( + const declName = declarationNameToString(nextDeclarationName); + const err = error( nextDeclarationName, message, - declarationNameToString(nextDeclarationName), + declName, typeToString(firstType), - typeToString(nextType)); + typeToString(nextType) + ); + if (firstDeclaration) { + addRelatedInfo(err, + createDiagnosticForNode(firstDeclaration, Diagnostics._0_was_also_declared_here, declName) + ); + } } function areDeclarationFlagsIdentical(left: Declaration, right: Declaration) { @@ -29856,7 +29992,7 @@ namespace ts { // } // [ a ] from // [a] = [ some array ...] - function getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(expr: Expression): Type { + function getTypeOfAssignmentPattern(expr: AssignmentPattern): Type | undefined { Debug.assert(expr.kind === SyntaxKind.ObjectLiteralExpression || expr.kind === SyntaxKind.ArrayLiteralExpression); // If this is from "for of" // for ( { a } of elems) { @@ -29874,16 +30010,17 @@ namespace ts { // If this is from nested object binding pattern // for ({ skills: { primary, secondary } } = multiRobot, i = 0; i < 1; i++) { if (expr.parent.kind === SyntaxKind.PropertyAssignment) { - const typeOfParentObjectLiteral = getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(expr.parent.parent); - return checkObjectLiteralDestructuringPropertyAssignment(typeOfParentObjectLiteral || errorType, expr.parent)!; // TODO: GH#18217 + const node = cast(expr.parent.parent, isObjectLiteralExpression); + const typeOfParentObjectLiteral = getTypeOfAssignmentPattern(node) || errorType; + const propertyIndex = indexOfNode(node.properties, expr.parent); + return checkObjectLiteralDestructuringPropertyAssignment(node, typeOfParentObjectLiteral, propertyIndex); } // Array literal assignment - array destructuring pattern - Debug.assert(expr.parent.kind === SyntaxKind.ArrayLiteralExpression); + const node = cast(expr.parent, isArrayLiteralExpression); // [{ property1: p1, property2 }] = elems; - const typeOfArrayLiteral = getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(expr.parent); - const elementType = checkIteratedTypeOrElementType(typeOfArrayLiteral || errorType, expr.parent, /*allowStringInput*/ false, /*allowAsyncIterables*/ false) || errorType; - return checkArrayLiteralDestructuringElementAssignment(expr.parent, typeOfArrayLiteral, - (expr.parent).elements.indexOf(expr), elementType || errorType)!; // TODO: GH#18217 + const typeOfArrayLiteral = getTypeOfAssignmentPattern(node) || errorType; + const elementType = checkIteratedTypeOrElementType(typeOfArrayLiteral, expr.parent, /*allowStringInput*/ false, /*allowAsyncIterables*/ false) || errorType; + return checkArrayLiteralDestructuringElementAssignment(node, typeOfArrayLiteral, node.elements.indexOf(expr), elementType); } // Gets the property symbol corresponding to the property in destructuring assignment @@ -29894,7 +30031,7 @@ namespace ts { // [a] = [ property1, property2 ] function getPropertySymbolOfDestructuringAssignment(location: Identifier) { // Get the type of the object or array literal and then look for property of given name in the type - const typeOfObjectLiteral = getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment(location.parent.parent); + const typeOfObjectLiteral = getTypeOfAssignmentPattern(cast(location.parent.parent, isAssignmentPattern)); return typeOfObjectLiteral && getPropertyOfType(typeOfObjectLiteral, location.escapedText); } @@ -30079,12 +30216,17 @@ namespace ts { return undefined; } + function isSymbolOfDestructuredElementOfCatchBinding(symbol: Symbol) { + return isBindingElement(symbol.valueDeclaration) + && walkUpBindingElementsAndPatterns(symbol.valueDeclaration).parent.kind === SyntaxKind.CatchClause; + } + function isSymbolOfDeclarationWithCollidingName(symbol: Symbol): boolean { if (symbol.flags & SymbolFlags.BlockScoped && !isSourceFile(symbol.valueDeclaration)) { const links = getSymbolLinks(symbol); if (links.isDeclarationWithCollidingName === undefined) { const container = getEnclosingBlockScopeContainer(symbol.valueDeclaration); - if (isStatementWithLocals(container)) { + if (isStatementWithLocals(container) || isSymbolOfDestructuredElementOfCatchBinding(symbol)) { const nodeLinks = getNodeLinks(symbol.valueDeclaration); if (resolveName(container.parent, symbol.escapedName, SymbolFlags.Value, /*nameNotFoundMessage*/ undefined, /*nameArg*/ undefined, /*isUse*/ false)) { // redeclaration - always should be renamed diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index fbc6d8d6fea..3aaa217fbd0 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -2361,7 +2361,7 @@ namespace ts { if (!host.fileExists(extendedConfigPath) && !endsWith(extendedConfigPath, Extension.Json)) { extendedConfigPath = `${extendedConfigPath}.json`; if (!host.fileExists(extendedConfigPath)) { - errors.push(createDiagnostic(Diagnostics.File_0_does_not_exist, extendedConfig)); + errors.push(createDiagnostic(Diagnostics.File_0_not_found, extendedConfig)); return undefined; } } @@ -2372,7 +2372,7 @@ namespace ts { if (resolved.resolvedModule) { return resolved.resolvedModule.resolvedFileName; } - errors.push(createDiagnostic(Diagnostics.File_0_does_not_exist, extendedConfig)); + errors.push(createDiagnostic(Diagnostics.File_0_not_found, extendedConfig)); return undefined; } diff --git a/src/compiler/core.ts b/src/compiler/core.ts index 8d2f01f3de2..0034c275999 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -239,7 +239,7 @@ namespace ts { } // When the deleted entry was the last one, we need to - // adust the lastEntry reference. + // adjust the lastEntry reference. if (this.lastEntry === entry) { this.lastEntry = previousEntry; } @@ -1255,7 +1255,7 @@ namespace ts { } /** - * Returns the only element of an array if it contains only one element; otheriwse, returns the + * Returns the only element of an array if it contains only one element; otherwise, returns the * array. */ export function singleOrMany(array: T[]): T | T[]; @@ -1400,8 +1400,8 @@ namespace ts { /** Shims `Array.from`. */ export function arrayFrom(iterator: Iterator | IterableIterator, map: (t: T) => U): U[]; export function arrayFrom(iterator: Iterator | IterableIterator): T[]; - export function arrayFrom(iterator: Iterator | IterableIterator, map?: (t: any) => any): any[] { - const result: any[] = []; + export function arrayFrom(iterator: Iterator | IterableIterator, map?: (t: T) => U): (T | U)[] { + const result: (T | U)[] = []; for (let { value, done } = iterator.next(); !done; { value, done } = iterator.next()) { result.push(map ? map(value) : value); } @@ -1686,89 +1686,6 @@ namespace ts { export type AnyFunction = (...args: never[]) => void; export type AnyConstructor = new (...args: unknown[]) => unknown; - export namespace Debug { - export let currentAssertionLevel = AssertionLevel.None; - export let isDebugging = false; - - export function shouldAssert(level: AssertionLevel): boolean { - return currentAssertionLevel >= level; - } - - export function assert(expression: boolean, message?: string, verboseDebugInfo?: string | (() => string), stackCrawlMark?: AnyFunction): void { - if (!expression) { - if (verboseDebugInfo) { - message += "\r\nVerbose Debug Information: " + (typeof verboseDebugInfo === "string" ? verboseDebugInfo : verboseDebugInfo()); - } - fail(message ? "False expression: " + message : "False expression.", stackCrawlMark || assert); - } - } - - export function assertEqual(a: T, b: T, msg?: string, msg2?: string): void { - if (a !== b) { - const message = msg ? msg2 ? `${msg} ${msg2}` : msg : ""; - fail(`Expected ${a} === ${b}. ${message}`); - } - } - - export function assertLessThan(a: number, b: number, msg?: string): void { - if (a >= b) { - fail(`Expected ${a} < ${b}. ${msg || ""}`); - } - } - - export function assertLessThanOrEqual(a: number, b: number): void { - if (a > b) { - fail(`Expected ${a} <= ${b}`); - } - } - - export function assertGreaterThanOrEqual(a: number, b: number): void { - if (a < b) { - fail(`Expected ${a} >= ${b}`); - } - } - - export function fail(message?: string, stackCrawlMark?: AnyFunction): never { - debugger; - const e = new Error(message ? `Debug Failure. ${message}` : "Debug Failure."); - if ((Error).captureStackTrace) { - (Error).captureStackTrace(e, stackCrawlMark || fail); - } - throw e; - } - - export function assertDefined(value: T | null | undefined, message?: string): T { - if (value === undefined || value === null) return fail(message); - return value; - } - - export function assertEachDefined>(value: A, message?: string): A { - for (const v of value) { - assertDefined(v, message); - } - return value; - } - - export function assertNever(member: never, message = "Illegal value:", stackCrawlMark?: AnyFunction): never { - const detail = typeof member === "object" && "kind" in member && "pos" in member ? "SyntaxKind: " + showSyntaxKind(member as Node) : JSON.stringify(member); - return fail(`${message} ${detail}`, stackCrawlMark || assertNever); - } - - export function getFunctionName(func: AnyFunction) { - if (typeof func !== "function") { - return ""; - } - else if (func.hasOwnProperty("name")) { - return (func).name; - } - else { - const text = Function.prototype.toString.call(func); - const match = /^function\s+([\w\$]+)\s*\(/.exec(text); - return match ? match[1] : ""; - } - } - } - export function equateValues(a: T, b: T) { return a === b; } diff --git a/src/compiler/debug.ts b/src/compiler/debug.ts new file mode 100644 index 00000000000..ee6847133c1 --- /dev/null +++ b/src/compiler/debug.ts @@ -0,0 +1,261 @@ +/* @internal */ +namespace ts { + export namespace Debug { + export let currentAssertionLevel = AssertionLevel.None; + export let isDebugging = false; + + export function shouldAssert(level: AssertionLevel): boolean { + return currentAssertionLevel >= level; + } + + export function assert(expression: boolean, message?: string, verboseDebugInfo?: string | (() => string), stackCrawlMark?: AnyFunction): void { + if (!expression) { + if (verboseDebugInfo) { + message += "\r\nVerbose Debug Information: " + (typeof verboseDebugInfo === "string" ? verboseDebugInfo : verboseDebugInfo()); + } + fail(message ? "False expression: " + message : "False expression.", stackCrawlMark || assert); + } + } + + export function assertEqual(a: T, b: T, msg?: string, msg2?: string): void { + if (a !== b) { + const message = msg ? msg2 ? `${msg} ${msg2}` : msg : ""; + fail(`Expected ${a} === ${b}. ${message}`); + } + } + + export function assertLessThan(a: number, b: number, msg?: string): void { + if (a >= b) { + fail(`Expected ${a} < ${b}. ${msg || ""}`); + } + } + + export function assertLessThanOrEqual(a: number, b: number): void { + if (a > b) { + fail(`Expected ${a} <= ${b}`); + } + } + + export function assertGreaterThanOrEqual(a: number, b: number): void { + if (a < b) { + fail(`Expected ${a} >= ${b}`); + } + } + + export function fail(message?: string, stackCrawlMark?: AnyFunction): never { + debugger; + const e = new Error(message ? `Debug Failure. ${message}` : "Debug Failure."); + if ((Error).captureStackTrace) { + (Error).captureStackTrace(e, stackCrawlMark || fail); + } + throw e; + } + + export function assertDefined(value: T | null | undefined, message?: string): T { + if (value === undefined || value === null) return fail(message); + return value; + } + + export function assertEachDefined>(value: A, message?: string): A { + for (const v of value) { + assertDefined(v, message); + } + return value; + } + + export function assertNever(member: never, message = "Illegal value:", stackCrawlMark?: AnyFunction): never { + const detail = typeof member === "object" && "kind" in member && "pos" in member && formatSyntaxKind ? "SyntaxKind: " + formatSyntaxKind((member as Node).kind) : JSON.stringify(member); + return fail(`${message} ${detail}`, stackCrawlMark || assertNever); + } + + export function getFunctionName(func: AnyFunction) { + if (typeof func !== "function") { + return ""; + } + else if (func.hasOwnProperty("name")) { + return (func).name; + } + else { + const text = Function.prototype.toString.call(func); + const match = /^function\s+([\w\$]+)\s*\(/.exec(text); + return match ? match[1] : ""; + } + } + + export function formatSymbol(symbol: Symbol): string { + return `{ name: ${unescapeLeadingUnderscores(symbol.escapedName)}; flags: ${formatSymbolFlags(symbol.flags)}; declarations: ${map(symbol.declarations, node => formatSyntaxKind(node.kind))} }`; + } + + /** + * Formats an enum value as a string for debugging and debug assertions. + */ + export function formatEnum(value = 0, enumObject: any, isFlags?: boolean) { + const members = getEnumMembers(enumObject); + if (value === 0) { + return members.length > 0 && members[0][0] === 0 ? members[0][1] : "0"; + } + if (isFlags) { + let result = ""; + let remainingFlags = value; + for (let i = members.length - 1; i >= 0 && remainingFlags !== 0; i--) { + const [enumValue, enumName] = members[i]; + if (enumValue !== 0 && (remainingFlags & enumValue) === enumValue) { + remainingFlags &= ~enumValue; + result = `${enumName}${result ? "|" : ""}${result}`; + } + } + if (remainingFlags === 0) { + return result; + } + } + else { + for (const [enumValue, enumName] of members) { + if (enumValue === value) { + return enumName; + } + } + } + return value.toString(); + } + + function getEnumMembers(enumObject: any) { + const result: [number, string][] = []; + for (const name in enumObject) { + const value = enumObject[name]; + if (typeof value === "number") { + result.push([value, name]); + } + } + + return stableSort<[number, string]>(result, (x, y) => compareValues(x[0], y[0])); + } + + export function formatSyntaxKind(kind: SyntaxKind | undefined): string { + return formatEnum(kind, (ts).SyntaxKind, /*isFlags*/ false); + } + + export function formatNodeFlags(flags: NodeFlags | undefined): string { + return formatEnum(flags, (ts).NodeFlags, /*isFlags*/ true); + } + + export function formatModifierFlags(flags: ModifierFlags | undefined): string { + return formatEnum(flags, (ts).ModifierFlags, /*isFlags*/ true); + } + + export function formatTransformFlags(flags: TransformFlags | undefined): string { + return formatEnum(flags, (ts).TransformFlags, /*isFlags*/ true); + } + + export function formatEmitFlags(flags: EmitFlags | undefined): string { + return formatEnum(flags, (ts).EmitFlags, /*isFlags*/ true); + } + + export function formatSymbolFlags(flags: SymbolFlags | undefined): string { + return formatEnum(flags, (ts).SymbolFlags, /*isFlags*/ true); + } + + export function formatTypeFlags(flags: TypeFlags | undefined): string { + return formatEnum(flags, (ts).TypeFlags, /*isFlags*/ true); + } + + export function formatObjectFlags(flags: ObjectFlags | undefined): string { + return formatEnum(flags, (ts).ObjectFlags, /*isFlags*/ true); + } + + export function failBadSyntaxKind(node: Node, message?: string): never { + return fail( + `${message || "Unexpected node."}\r\nNode ${formatSyntaxKind(node.kind)} was unexpected.`, + failBadSyntaxKind); + } + + export const assertEachNode = shouldAssert(AssertionLevel.Normal) + ? (nodes: Node[], test: (node: Node) => boolean, message?: string): void => assert( + test === undefined || every(nodes, test), + message || "Unexpected node.", + () => `Node array did not pass test '${getFunctionName(test)}'.`, + assertEachNode) + : noop; + + export const assertNode = shouldAssert(AssertionLevel.Normal) + ? (node: Node | undefined, test: ((node: Node | undefined) => boolean) | undefined, message?: string): void => assert( + test === undefined || test(node), + message || "Unexpected node.", + () => `Node ${formatSyntaxKind(node!.kind)} did not pass test '${getFunctionName(test!)}'.`, + assertNode) + : noop; + + export const assertOptionalNode = shouldAssert(AssertionLevel.Normal) + ? (node: Node, test: (node: Node) => boolean, message?: string): void => assert( + test === undefined || node === undefined || test(node), + message || "Unexpected node.", + () => `Node ${formatSyntaxKind(node.kind)} did not pass test '${getFunctionName(test)}'.`, + assertOptionalNode) + : noop; + + export const assertOptionalToken = shouldAssert(AssertionLevel.Normal) + ? (node: Node, kind: SyntaxKind, message?: string): void => assert( + kind === undefined || node === undefined || node.kind === kind, + message || "Unexpected node.", + () => `Node ${formatSyntaxKind(node.kind)} was not a '${formatSyntaxKind(kind)}' token.`, + assertOptionalToken) + : noop; + + export const assertMissingNode = shouldAssert(AssertionLevel.Normal) + ? (node: Node, message?: string): void => assert( + node === undefined, + message || "Unexpected node.", + () => `Node ${formatSyntaxKind(node.kind)} was unexpected'.`, + assertMissingNode) + : noop; + + let isDebugInfoEnabled = false; + + /** + * Injects debug information into frequently used types. + */ + export function enableDebugInfo() { + if (isDebugInfoEnabled) return; + + // Add additional properties in debug mode to assist with debugging. + Object.defineProperties(objectAllocator.getSymbolConstructor().prototype, { + __debugFlags: { get(this: Symbol) { return formatSymbolFlags(this.flags); } } + }); + + Object.defineProperties(objectAllocator.getTypeConstructor().prototype, { + __debugFlags: { get(this: Type) { return formatTypeFlags(this.flags); } }, + __debugObjectFlags: { get(this: Type) { return this.flags & TypeFlags.Object ? formatObjectFlags((this).objectFlags) : ""; } }, + __debugTypeToString: { value(this: Type) { return this.checker.typeToString(this); } }, + }); + + const nodeConstructors = [ + objectAllocator.getNodeConstructor(), + objectAllocator.getIdentifierConstructor(), + objectAllocator.getTokenConstructor(), + objectAllocator.getSourceFileConstructor() + ]; + + for (const ctor of nodeConstructors) { + if (!ctor.prototype.hasOwnProperty("__debugKind")) { + Object.defineProperties(ctor.prototype, { + __debugKind: { get(this: Node) { return formatSyntaxKind(this.kind); } }, + __debugNodeFlags: { get(this: Node) { return formatNodeFlags(this.flags); } }, + __debugModifierFlags: { get(this: Node) { return formatModifierFlags(getModifierFlagsNoCache(this)); } }, + __debugTransformFlags: { get(this: Node) { return formatTransformFlags(this.transformFlags); } }, + __debugIsParseTreeNode: { get(this: Node) { return isParseTreeNode(this); } }, + __debugEmitFlags: { get(this: Node) { return formatEmitFlags(getEmitFlags(this)); } }, + __debugGetText: { + value(this: Node, includeTrivia?: boolean) { + if (nodeIsSynthesized(this)) return ""; + const parseNode = getParseTreeNode(this); + const sourceFile = parseNode && getSourceFileOfNode(parseNode); + return sourceFile ? getSourceTextOfNodeFromSourceFile(sourceFile, parseNode, includeTrivia) : ""; + } + } + }); + } + } + + isDebugInfoEnabled = true; + } + } +} \ No newline at end of file diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index af3ecad79a6..5d6dc7d6df4 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -655,7 +655,7 @@ "category": "Error", "code": 1207 }, - "Cannot compile namespaces when the '--isolatedModules' flag is provided.": { + "All files must be modules when the '--isolatedModules' flag is provided.": { "category": "Error", "code": 1208 }, @@ -3811,10 +3811,6 @@ "category": "Error", "code": 6189 }, - "Found 'package.json' at '{0}'. Package ID is '{1}'.": { - "category": "Message", - "code": 6190 - }, "Whether to keep outdated console output in watch mode instead of clearing the screen.": { "category": "Message", "code": 6191 @@ -3923,6 +3919,18 @@ "category": "Message", "code": 6217 }, + "======== Module name '{0}' was successfully resolved to '{1}' with Package ID '{2}'. ========": { + "category": "Message", + "code": 6218 + }, + "======== Type reference directive '{0}' was successfully resolved to '{1}' with Package ID '{2}', primary: {3}. ========": { + "category": "Message", + "code": 6219 + }, + "'package.json' had a falsy '{0}' field.": { + "category": "Message", + "code": 6220 + }, "Projects to reference": { "category": "Message", @@ -4284,6 +4292,14 @@ "category": "Error", "code": 7052 }, + "Element implicitly has an 'any' type because expression of type '{0}' can't be used to index type '{1}'.": { + "category": "Error", + "code": 7053 + }, + "No index signature with a parameter of type '{0}' was found on type '{1}'.": { + "category": "Error", + "code": 7054 + }, "You cannot rename this element.": { "category": "Error", "code": 8000 @@ -4962,7 +4978,20 @@ "category": "Message", "code": 95076 }, - "No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer." :{ + "Extract type": { + "category": "Message", + "code": 95077 + }, + "Extract to type alias": { + "category": "Message", + "code": 95078 + }, + "Extract to typedef": { + "category": "Message", + "code": 95079 + }, + + "No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer.": { "category": "Error", "code": 18004 }, diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 8f91e3d25c1..07b1208688f 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -222,7 +222,7 @@ namespace ts { /*@internal*/ // targetSourceFile is when users only want one file in entire project to be emitted. This is used in compileOnSave feature - export function emitFiles(resolver: EmitResolver, host: EmitHost, targetSourceFile: SourceFile | undefined, emitOnlyDtsFiles?: boolean, transformers?: TransformerFactory[], declarationTransformers?: TransformerFactory[], onlyBuildInfo?: boolean): EmitResult { + export function emitFiles(resolver: EmitResolver, host: EmitHost, targetSourceFile: SourceFile | undefined, { scriptTransformers, declarationTransformers }: EmitTransformers, emitOnlyDtsFiles?: boolean, onlyBuildInfo?: boolean): EmitResult { const compilerOptions = host.getCompilerOptions(); const sourceMapDataList: SourceMapEmitResult[] | undefined = (compilerOptions.sourceMap || compilerOptions.inlineSourceMap || getAreDeclarationMapsEnabled(compilerOptions)) ? [] : undefined; const emittedFilesList: string[] | undefined = compilerOptions.listEmittedFiles ? [] : undefined; @@ -303,7 +303,7 @@ namespace ts { return; } // Transform the source files - const transform = transformNodes(resolver, host, compilerOptions, [sourceFileOrBundle], transformers!, /*allowDtsFiles*/ false); + const transform = transformNodes(resolver, host, compilerOptions, [sourceFileOrBundle], scriptTransformers, /*allowDtsFiles*/ false); const printerOptions: PrinterOptions = { removeComments: compilerOptions.removeComments, @@ -349,7 +349,7 @@ namespace ts { // Do that here when emitting only dts files nonJsFiles.forEach(collectLinkedAliases); } - const declarationTransform = transformNodes(resolver, host, compilerOptions, inputListOrBundle, concatenate([transformDeclarations], declarationTransformers), /*allowDtsFiles*/ false); + const declarationTransform = transformNodes(resolver, host, compilerOptions, inputListOrBundle, declarationTransformers, /*allowDtsFiles*/ false); if (length(declarationTransform.diagnostics)) { for (const diagnostic of declarationTransform.diagnostics!) { emitterDiagnostics.add(diagnostic); @@ -723,7 +723,7 @@ namespace ts { useCaseSensitiveFileNames: () => host.useCaseSensitiveFileNames(), getProgramBuildInfo: returnUndefined }; - emitFiles(notImplementedResolver, emitHost, /*targetSourceFile*/ undefined, /*emitOnlyDtsFiles*/ false, getTransformers(config.options)); + emitFiles(notImplementedResolver, emitHost, /*targetSourceFile*/ undefined, getTransformers(config.options), /*emitOnlyDtsFiles*/ false); return outputFiles; } @@ -4527,6 +4527,8 @@ namespace ts { case SyntaxKind.GetAccessor: case SyntaxKind.SetAccessor: return generateNameForMethodOrAccessor(node); + case SyntaxKind.ComputedPropertyName: + return makeTempVariableName(TempFlags.Auto, /*reserveInNestedScopes*/ true); default: return makeTempVariableName(TempFlags.Auto); } diff --git a/src/compiler/factory.ts b/src/compiler/factory.ts index f562a6b5d12..517ebacb89d 100644 --- a/src/compiler/factory.ts +++ b/src/compiler/factory.ts @@ -1004,10 +1004,10 @@ namespace ts { : node; } - export function createPropertyAccess(expression: Expression, name: string | Identifier | undefined) { + export function createPropertyAccess(expression: Expression, name: string | Identifier) { const node = createSynthesizedNode(SyntaxKind.PropertyAccessExpression); node.expression = parenthesizeForAccess(expression); - node.name = asName(name)!; // TODO: GH#18217 + node.name = asName(name); setEmitFlags(node, EmitFlags.NoIndentation); return node; } @@ -2468,7 +2468,7 @@ namespace ts { export function createSpreadAssignment(expression: Expression) { const node = createSynthesizedNode(SyntaxKind.SpreadAssignment); - node.expression = expression !== undefined ? parenthesizeExpressionForList(expression) : undefined!; // TODO: GH#18217 + node.expression = parenthesizeExpressionForList(expression); return node; } @@ -2949,7 +2949,7 @@ namespace ts { return node; } - export function updateBundle(node: Bundle, sourceFiles: ReadonlyArray, prepends: ReadonlyArray = emptyArray) { + export function updateBundle(node: Bundle, sourceFiles: ReadonlyArray, prepends: ReadonlyArray = emptyArray) { if (node.sourceFiles !== sourceFiles || node.prepends !== prepends) { return createBundle(sourceFiles, prepends); } diff --git a/src/compiler/moduleNameResolver.ts b/src/compiler/moduleNameResolver.ts index 8761cc0a087..604b82cce5e 100644 --- a/src/compiler/moduleNameResolver.ts +++ b/src/compiler/moduleNameResolver.ts @@ -16,12 +16,23 @@ namespace ts { push(value: T): void; } - function withPackageId(packageId: PackageId | undefined, r: PathAndExtension | undefined): Resolved | undefined { + function withPackageId(packageInfo: PackageJsonInfo | undefined, r: PathAndExtension | undefined): Resolved | undefined { + let packageId: PackageId | undefined; + if (r && packageInfo) { + const packageJsonContent = packageInfo.packageJsonContent as PackageJson; + if (typeof packageJsonContent.name === "string" && typeof packageJsonContent.version === "string") { + packageId = { + name: packageJsonContent.name, + subModuleName: r.path.slice(packageInfo.packageDirectory.length + directorySeparator.length), + version: packageJsonContent.version + }; + } + } return r && { path: r.path, extension: r.ext, packageId }; } function noPackageId(r: PathAndExtension | undefined): Resolved | undefined { - return withPackageId(/*packageId*/ undefined, r); + return withPackageId(/*packageInfo*/ undefined, r); } function removeIgnoredPackageId(r: Resolved | undefined): PathAndExtension | undefined { @@ -130,7 +141,15 @@ namespace ts { function readPackageJsonPathField(jsonContent: PackageJson, fieldName: K, baseDirectory: string, state: ModuleResolutionState): PackageJson[K] | undefined { const fileName = readPackageJsonField(jsonContent, fieldName, "string", state); - if (fileName === undefined) return; + if (fileName === undefined) { + return; + } + if (!fileName) { + if (state.traceEnabled) { + trace(state.host, Diagnostics.package_json_had_a_falsy_0_field, fieldName); + } + return; + } const path = normalizePath(combinePaths(baseDirectory, fileName)); if (state.traceEnabled) { trace(state.host, Diagnostics.package_json_has_0_field_1_that_references_2, fieldName, fileName, path); @@ -307,7 +326,12 @@ namespace ts { const { fileName, packageId } = resolved; const resolvedFileName = options.preserveSymlinks ? fileName : realPath(fileName, host, traceEnabled); if (traceEnabled) { - trace(host, Diagnostics.Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2, typeReferenceDirectiveName, resolvedFileName, primary); + if (packageId) { + trace(host, Diagnostics.Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3, typeReferenceDirectiveName, resolvedFileName, packageIdToString(packageId), primary); + } + else { + trace(host, Diagnostics.Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2, typeReferenceDirectiveName, resolvedFileName, primary); + } } resolvedTypeReferenceDirective = { primary, resolvedFileName, packageId, isExternalLibraryImport: pathContainsNodeModules(fileName) }; } @@ -663,7 +687,12 @@ namespace ts { if (traceEnabled) { if (result.resolvedModule) { - trace(host, Diagnostics.Module_name_0_was_successfully_resolved_to_1, moduleName, result.resolvedModule.resolvedFileName); + if (result.resolvedModule.packageId) { + trace(host, Diagnostics.Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2, moduleName, result.resolvedModule.resolvedFileName, packageIdToString(result.resolvedModule.packageId)); + } + else { + trace(host, Diagnostics.Module_name_0_was_successfully_resolved_to_1, moduleName, result.resolvedModule.resolvedFileName); + } } else { trace(host, Diagnostics.Module_name_0_was_not_resolved, moduleName); @@ -968,10 +997,9 @@ namespace ts { } const resolvedFromFile = loadModuleFromFile(extensions, candidate, onlyRecordFailures, state); if (resolvedFromFile) { - const nm = considerPackageJson ? parseNodeModuleFromPath(resolvedFromFile) : undefined; - const packageInfo = nm && getPackageJsonInfo(nm.packageDirectory, nm.subModuleName, /*onlyRecordFailures*/ false, state); - const packageId = packageInfo && packageInfo.packageId; - return withPackageId(packageId, resolvedFromFile); + const packageDirectory = considerPackageJson ? parseNodeModuleFromPath(resolvedFromFile) : undefined; + const packageInfo = packageDirectory ? getPackageJsonInfo(packageDirectory, /*onlyRecordFailures*/ false, state) : undefined; + return withPackageId(packageInfo, resolvedFromFile); } } if (!onlyRecordFailures) { @@ -998,13 +1026,12 @@ namespace ts { * (Not neeeded for `loadModuleFromNodeModules` as that looks up the `package.json` as part of resolution.) * * packageDirectory is the directory of the package itself. - * subModuleName is the path within the package. - * For `blah/node_modules/foo/index.d.ts` this is { packageDirectory: "foo", subModuleName: "index.d.ts" }. (Part before "/node_modules/" is ignored.) - * For `/node_modules/foo/bar.d.ts` this is { packageDirectory: "foo", subModuleName": "bar/index.d.ts" }. - * For `/node_modules/@types/foo/bar/index.d.ts` this is { packageDirectory: "@types/foo", subModuleName: "bar/index.d.ts" }. - * For `/node_modules/foo/bar/index.d.ts` this is { packageDirectory: "foo", subModuleName": "bar/index.d.ts" }. + * For `blah/node_modules/foo/index.d.ts` this is packageDirectory: "foo" + * For `/node_modules/foo/bar.d.ts` this is packageDirectory: "foo" + * For `/node_modules/@types/foo/bar/index.d.ts` this is packageDirectory: "@types/foo" + * For `/node_modules/foo/bar/index.d.ts` this is packageDirectory: "foo" */ - function parseNodeModuleFromPath(resolved: PathAndExtension): { packageDirectory: string, subModuleName: string } | undefined { + function parseNodeModuleFromPath(resolved: PathAndExtension): string | undefined { const path = normalizePath(resolved.path); const idx = path.lastIndexOf(nodeModulesPathPart); if (idx === -1) { @@ -1016,9 +1043,7 @@ namespace ts { if (path.charCodeAt(indexAfterNodeModules) === CharacterCodes.at) { indexAfterPackageName = moveToNextDirectorySeparatorIfAvailable(path, indexAfterPackageName); } - const packageDirectory = path.slice(0, indexAfterPackageName); - const subModuleName = removeExtension(path.slice(indexAfterPackageName + 1), resolved.ext) + Extension.Dts; - return { packageDirectory, subModuleName }; + return path.slice(0, indexAfterPackageName); } function moveToNextDirectorySeparatorIfAvailable(path: string, prevSeparatorIndex: number): number { @@ -1026,19 +1051,6 @@ namespace ts { return nextSeparatorIndex === -1 ? prevSeparatorIndex : nextSeparatorIndex; } - function addExtensionAndIndex(path: string): string { - if (path === "") { - return "index.d.ts"; - } - if (endsWith(path, ".d.ts")) { - return path; - } - if (path === "index" || endsWith(path, "/index")) { - return path + ".d.ts"; - } - return path + "/index.d.ts"; - } - function loadModuleFromFileNoPackageId(extensions: Extensions, candidate: string, onlyRecordFailures: boolean, state: ModuleResolutionState): Resolved | undefined { return noPackageId(loadModuleFromFile(extensions, candidate, onlyRecordFailures, state)); } @@ -1119,61 +1131,29 @@ namespace ts { } function loadNodeModuleFromDirectory(extensions: Extensions, candidate: string, onlyRecordFailures: boolean, state: ModuleResolutionState, considerPackageJson = true) { - const packageInfo = considerPackageJson ? getPackageJsonInfo(candidate, "", onlyRecordFailures, state) : undefined; - const packageId = packageInfo && packageInfo.packageId; + const packageInfo = considerPackageJson ? getPackageJsonInfo(candidate, onlyRecordFailures, state) : undefined; const packageJsonContent = packageInfo && packageInfo.packageJsonContent; const versionPaths = packageInfo && packageInfo.versionPaths; - return withPackageId(packageId, loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageJsonContent, versionPaths)); + return withPackageId(packageInfo, loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageJsonContent, versionPaths)); } interface PackageJsonInfo { - packageJsonContent: PackageJsonPathFields | undefined; - packageId: PackageId | undefined; + packageDirectory: string; + packageJsonContent: PackageJsonPathFields; versionPaths: VersionPaths | undefined; } - function getPackageJsonInfo(packageDirectory: string, subModuleName: string, onlyRecordFailures: boolean, state: ModuleResolutionState): PackageJsonInfo | undefined { + function getPackageJsonInfo(packageDirectory: string, onlyRecordFailures: boolean, state: ModuleResolutionState): PackageJsonInfo | undefined { const { host, traceEnabled } = state; const directoryExists = !onlyRecordFailures && directoryProbablyExists(packageDirectory, host); const packageJsonPath = combinePaths(packageDirectory, "package.json"); if (directoryExists && host.fileExists(packageJsonPath)) { const packageJsonContent = readJson(packageJsonPath, host) as PackageJson; - if (subModuleName === "") { // looking up the root - need to handle types/typings/main redirects for subModuleName - const path = readPackageJsonTypesFields(packageJsonContent, packageDirectory, state); - if (typeof path === "string") { - subModuleName = addExtensionAndIndex(path.substring(packageDirectory.length + 1)); - } - else { - const jsPath = readPackageJsonMainField(packageJsonContent, packageDirectory, state); - if (typeof jsPath === "string" && jsPath.length > packageDirectory.length) { - const potentialSubModule = jsPath.substring(packageDirectory.length + 1); - subModuleName = (forEach(supportedJSExtensions, extension => - tryRemoveExtension(potentialSubModule, extension)) || potentialSubModule) + Extension.Dts; - } - else { - subModuleName = "index.d.ts"; - } - } - } - - if (!endsWith(subModuleName, Extension.Dts)) { - subModuleName = addExtensionAndIndex(subModuleName); - } - - const versionPaths = readPackageJsonTypesVersionPaths(packageJsonContent, state); - const packageId: PackageId | undefined = typeof packageJsonContent.name === "string" && typeof packageJsonContent.version === "string" - ? { name: packageJsonContent.name, subModuleName, version: packageJsonContent.version } - : undefined; if (traceEnabled) { - if (packageId) { - trace(host, Diagnostics.Found_package_json_at_0_Package_ID_is_1, packageJsonPath, packageIdToString(packageId)); - } - else { - trace(host, Diagnostics.Found_package_json_at_0, packageJsonPath); - } + trace(host, Diagnostics.Found_package_json_at_0, packageJsonPath); } - - return { packageJsonContent, packageId, versionPaths }; + const versionPaths = readPackageJsonTypesVersionPaths(packageJsonContent, state); + return { packageDirectory, packageJsonContent, versionPaths }; } else { if (directoryExists && traceEnabled) { @@ -1328,27 +1308,36 @@ namespace ts { const candidate = normalizePath(combinePaths(nodeModulesDirectory, moduleName)); // First look for a nested package.json, as in `node_modules/foo/bar/package.json`. - let packageJsonContent: PackageJsonPathFields | undefined; - let packageId: PackageId | undefined; - let versionPaths: VersionPaths | undefined; - - const packageInfo = getPackageJsonInfo(candidate, "", !nodeModulesDirectoryExists, state); + let packageInfo = getPackageJsonInfo(candidate, !nodeModulesDirectoryExists, state); if (packageInfo) { - ({ packageJsonContent, packageId, versionPaths } = packageInfo); const fromFile = loadModuleFromFile(extensions, candidate, !nodeModulesDirectoryExists, state); if (fromFile) { return noPackageId(fromFile); } - const fromDirectory = loadNodeModuleFromDirectoryWorker(extensions, candidate, !nodeModulesDirectoryExists, state, packageJsonContent, versionPaths); - return withPackageId(packageId, fromDirectory); + const fromDirectory = loadNodeModuleFromDirectoryWorker( + extensions, + candidate, + !nodeModulesDirectoryExists, + state, + packageInfo.packageJsonContent, + packageInfo.versionPaths + ); + return withPackageId(packageInfo, fromDirectory); } const loader: ResolutionKindSpecificLoader = (extensions, candidate, onlyRecordFailures, state) => { const pathAndExtension = loadModuleFromFile(extensions, candidate, onlyRecordFailures, state) || - loadNodeModuleFromDirectoryWorker(extensions, candidate, onlyRecordFailures, state, packageJsonContent, versionPaths); - return withPackageId(packageId, pathAndExtension); + loadNodeModuleFromDirectoryWorker( + extensions, + candidate, + onlyRecordFailures, + state, + packageInfo && packageInfo.packageJsonContent, + packageInfo && packageInfo.versionPaths + ); + return withPackageId(packageInfo, pathAndExtension); }; const { packageName, rest } = parsePackageName(moduleName); @@ -1356,14 +1345,13 @@ namespace ts { const packageDirectory = combinePaths(nodeModulesDirectory, packageName); // Don't use a "types" or "main" from here because we're not loading the root, but a subdirectory -- just here for the packageId and path mappings. - const packageInfo = getPackageJsonInfo(packageDirectory, rest, !nodeModulesDirectoryExists, state); - if (packageInfo) ({ packageId, versionPaths } = packageInfo); - if (versionPaths) { + packageInfo = getPackageJsonInfo(packageDirectory, !nodeModulesDirectoryExists, state); + if (packageInfo && packageInfo.versionPaths) { if (state.traceEnabled) { - trace(state.host, Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2, versionPaths.version, version, rest); + trace(state.host, Diagnostics.package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2, packageInfo.versionPaths.version, version, rest); } const packageDirectoryExists = nodeModulesDirectoryExists && directoryProbablyExists(packageDirectory, state.host); - const fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, versionPaths.paths, loader, !packageDirectoryExists, state); + const fromPaths = tryLoadModuleUsingPaths(extensions, rest, packageDirectory, packageInfo.versionPaths.paths, loader, !packageDirectoryExists, state); if (fromPaths) { return fromPaths.value; } diff --git a/src/compiler/moduleSpecifiers.ts b/src/compiler/moduleSpecifiers.ts index 59bb74a22c1..bc448698c69 100644 --- a/src/compiler/moduleSpecifiers.ts +++ b/src/compiler/moduleSpecifiers.ts @@ -175,9 +175,9 @@ namespace ts.moduleSpecifiers { function discoverProbableSymlinks(files: ReadonlyArray, getCanonicalFileName: GetCanonicalFileName, cwd: string): ReadonlyMap { const result = createMap(); - const symlinks = mapDefined(files, sf => - sf.resolvedModules && firstDefinedIterator(sf.resolvedModules.values(), res => - res && res.originalPath && res.resolvedFileName !== res.originalPath ? [res.resolvedFileName, res.originalPath] : undefined)); + const symlinks = flatten(mapDefined(files, sf => + sf.resolvedModules && compact(arrayFrom(mapIterator(sf.resolvedModules.values(), res => + res && res.originalPath && res.resolvedFileName !== res.originalPath ? [res.resolvedFileName, res.originalPath] as const : undefined))))); for (const [resolvedPath, originalPath] of symlinks) { const [commonResolved, commonOriginal] = guessDirectorySymlink(resolvedPath, originalPath, cwd, getCanonicalFileName); result.set(commonOriginal, commonResolved); diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index a86dba52c87..c38e4f67fe2 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -1328,6 +1328,8 @@ namespace ts { return node; } + function createMissingNode(kind: T["kind"], reportAtCurrentPosition: false, diagnosticMessage?: DiagnosticMessage, arg0?: any): T; + function createMissingNode(kind: T["kind"], reportAtCurrentPosition: boolean, diagnosticMessage: DiagnosticMessage, arg0?: any): T; function createMissingNode(kind: T["kind"], reportAtCurrentPosition: boolean, diagnosticMessage: DiagnosticMessage, arg0?: any): T { if (reportAtCurrentPosition) { parseErrorAtPosition(scanner.getStartPos(), 0, diagnosticMessage, arg0); @@ -3122,15 +3124,16 @@ namespace ts { } function parseUnionOrIntersectionType(kind: SyntaxKind.UnionType | SyntaxKind.IntersectionType, parseConstituentType: () => TypeNode, operator: SyntaxKind.BarToken | SyntaxKind.AmpersandToken): TypeNode { - parseOptional(operator); + const start = scanner.getStartPos(); + const hasLeadingOperator = parseOptional(operator); let type = parseConstituentType(); - if (token() === operator) { + if (token() === operator || hasLeadingOperator) { const types = [type]; while (parseOptional(operator)) { types.push(parseConstituentType()); } - const node = createNode(kind, type.pos); - node.types = createNodeArray(types, type.pos); + const node = createNode(kind, start); + node.types = createNodeArray(types, start); type = finishNode(node); } return type; @@ -4290,7 +4293,7 @@ namespace ts { badNode.end = invalidElement.end; badNode.left = result; badNode.right = invalidElement; - badNode.operatorToken = createMissingNode(SyntaxKind.CommaToken, /*reportAtCurrentPosition*/ false, /*diagnosticMessage*/ undefined!); // TODO: GH#18217 + badNode.operatorToken = createMissingNode(SyntaxKind.CommaToken, /*reportAtCurrentPosition*/ false); badNode.operatorToken.pos = badNode.operatorToken.end = badNode.right.pos; return badNode; } diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 6f7ffc2c3a9..8e4cd48b5ba 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -1453,9 +1453,8 @@ namespace ts { notImplementedResolver, getEmitHost(writeFileCallback), /*targetSourceFile*/ undefined, + /*transformers*/ noTransformers, /*emitOnlyDtsFiles*/ false, - /*transformers*/ undefined, - /*declaraitonTransformers*/ undefined, /*onlyBuildInfo*/ true ); @@ -1574,14 +1573,12 @@ namespace ts { performance.mark("beforeEmit"); - const transformers = emitOnlyDtsFiles ? [] : getTransformers(options, customTransformers); const emitResult = emitFiles( emitResolver, getEmitHost(writeFileCallback), sourceFile, + getTransformers(options, customTransformers, emitOnlyDtsFiles), emitOnlyDtsFiles, - transformers, - customTransformers && customTransformers.afterDeclarations ); performance.mark("afterEmit"); @@ -2235,7 +2232,10 @@ namespace ts { if (isRedirect) { inputName = getProjectReferenceRedirect(fileName) || fileName; } - if (getNormalizedAbsolutePath(checkedName, currentDirectory) !== getNormalizedAbsolutePath(inputName, currentDirectory)) { + // Check if it differs only in drive letters its ok to ignore that error: + const checkedAbsolutePath = getNormalizedAbsolutePathWithoutRoot(checkedName, currentDirectory); + const inputAbsolutePath = getNormalizedAbsolutePathWithoutRoot(inputName, currentDirectory); + if (checkedAbsolutePath !== inputAbsolutePath) { reportFileNamesDifferOnlyInCasingError(inputName, checkedName, refFile, refPos, refEnd); } } @@ -2688,6 +2688,7 @@ namespace ts { return undefined; } sourceFile = Debug.assertDefined(commandLine.options.configFile); + Debug.assert(!sourceFile.path || sourceFile.path === sourceFilePath); addFileToFilesByName(sourceFile, sourceFilePath, /*redirectedPath*/ undefined); } else { @@ -2699,11 +2700,12 @@ namespace ts { projectReferenceRedirects.set(sourceFilePath, false); return undefined; } - sourceFile.path = sourceFilePath; - sourceFile.resolvedPath = sourceFilePath; - sourceFile.originalFileName = refPath; commandLine = parseJsonSourceFileConfigFileContent(sourceFile, configParsingHost, basePath, /*existingOptions*/ undefined, refPath); } + sourceFile.path = sourceFilePath; + sourceFile.resolvedPath = sourceFilePath; + sourceFile.originalFileName = refPath; + const resolvedRef: ResolvedProjectReference = { commandLine, sourceFile }; projectReferenceRedirects.set(sourceFilePath, resolvedRef); if (commandLine.projectReferences) { @@ -2856,10 +2858,10 @@ namespace ts { createDiagnosticForOptionName(Diagnostics.Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher, "isolatedModules", "target"); } - const firstNonExternalModuleSourceFile = find(files, f => !isExternalModule(f) && !f.isDeclarationFile && f.scriptKind !== ScriptKind.JSON); + const firstNonExternalModuleSourceFile = find(files, f => !isExternalModule(f) && !isSourceFileJS(f) && !f.isDeclarationFile && f.scriptKind !== ScriptKind.JSON); if (firstNonExternalModuleSourceFile) { const span = getErrorSpanForNode(firstNonExternalModuleSourceFile, firstNonExternalModuleSourceFile); - programDiagnostics.add(createFileDiagnostic(firstNonExternalModuleSourceFile, span.start, span.length, Diagnostics.Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided)); + programDiagnostics.add(createFileDiagnostic(firstNonExternalModuleSourceFile, span.start, span.length, Diagnostics.All_files_must_be_modules_when_the_isolatedModules_flag_is_provided)); } } else if (firstNonAmbientExternalModuleSourceFile && languageVersion < ScriptTarget.ES2015 && options.module === ModuleKind.None) { diff --git a/src/compiler/transformer.ts b/src/compiler/transformer.ts index ba47d5b8106..1c1df9bb0c2 100644 --- a/src/compiler/transformer.ts +++ b/src/compiler/transformer.ts @@ -24,13 +24,24 @@ namespace ts { EmitNotifications = 1 << 1, } - export function getTransformers(compilerOptions: CompilerOptions, customTransformers?: CustomTransformers) { + export const noTransformers: EmitTransformers = { scriptTransformers: emptyArray, declarationTransformers: emptyArray }; + + export function getTransformers(compilerOptions: CompilerOptions, customTransformers?: CustomTransformers, emitOnlyDtsFiles?: boolean): EmitTransformers { + return { + scriptTransformers: getScriptTransformers(compilerOptions, customTransformers, emitOnlyDtsFiles), + declarationTransformers: getDeclarationTransformers(customTransformers), + }; + } + + function getScriptTransformers(compilerOptions: CompilerOptions, customTransformers?: CustomTransformers, emitOnlyDtsFiles?: boolean) { + if (emitOnlyDtsFiles) return emptyArray; + const jsx = compilerOptions.jsx; const languageVersion = getEmitScriptTarget(compilerOptions); const moduleKind = getEmitModuleKind(compilerOptions); const transformers: TransformerFactory[] = []; - addRange(transformers, customTransformers && customTransformers.before); + addRange(transformers, customTransformers && map(customTransformers.before, wrapScriptTransformerFactory)); transformers.push(transformTypeScript); @@ -71,11 +82,44 @@ namespace ts { transformers.push(transformES5); } - addRange(transformers, customTransformers && customTransformers.after); - + addRange(transformers, customTransformers && map(customTransformers.after, wrapScriptTransformerFactory)); return transformers; } + function getDeclarationTransformers(customTransformers?: CustomTransformers) { + const transformers: TransformerFactory[] = []; + transformers.push(transformDeclarations); + addRange(transformers, customTransformers && map(customTransformers.afterDeclarations, wrapDeclarationTransformerFactory)); + return transformers; + } + + /** + * Wrap a custom script or declaration transformer object in a `Transformer` callback with fallback support for transforming bundles. + */ + function wrapCustomTransformer(transformer: CustomTransformer): Transformer { + return node => isBundle(node) ? transformer.transformBundle(node) : transformer.transformSourceFile(node); + } + + /** + * Wrap a transformer factory that may return a custom script or declaration transformer object. + */ + function wrapCustomTransformerFactory(transformer: TransformerFactory | CustomTransformerFactory, handleDefault: (node: Transformer) => Transformer): TransformerFactory { + return context => { + const customTransformer = transformer(context); + return typeof customTransformer === "function" + ? handleDefault(customTransformer) + : wrapCustomTransformer(customTransformer); + }; + } + + function wrapScriptTransformerFactory(transformer: TransformerFactory | CustomTransformerFactory): TransformerFactory { + return wrapCustomTransformerFactory(transformer, chainBundle); + } + + function wrapDeclarationTransformerFactory(transformer: TransformerFactory | CustomTransformerFactory): TransformerFactory { + return wrapCustomTransformerFactory(transformer, identity); + } + export function noEmitSubstitution(_hint: EmitHint, node: Node) { return node; } diff --git a/src/compiler/transformers/destructuring.ts b/src/compiler/transformers/destructuring.ts index b5e829ee683..8946db3f60b 100644 --- a/src/compiler/transformers/destructuring.ts +++ b/src/compiler/transformers/destructuring.ts @@ -521,8 +521,10 @@ namespace ts { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; };` }; diff --git a/src/compiler/transformers/es2015.ts b/src/compiler/transformers/es2015.ts index 31916cbb684..9849d72f14a 100644 --- a/src/compiler/transformers/es2015.ts +++ b/src/compiler/transformers/es2015.ts @@ -145,7 +145,7 @@ namespace ts { loopOutParameters: LoopOutParameter[]; } - type LoopConverter = (node: IterationStatement, outermostLabeledStatement: LabeledStatement | undefined, convertedLoopBodyStatements: Statement[] | undefined) => Statement; + type LoopConverter = (node: IterationStatement, outermostLabeledStatement: LabeledStatement | undefined, convertedLoopBodyStatements: Statement[] | undefined, ancestorFacts: HierarchyFacts) => Statement; // Facts we track as we traverse the tree const enum HierarchyFacts { @@ -163,11 +163,12 @@ namespace ts { ExportedVariableStatement = 1 << 5, // Enclosed in an exported variable statement in the current scope TopLevel = 1 << 6, // Enclosing block-scoped container is a top-level container Block = 1 << 7, // Enclosing block-scoped container is a Block - IterationStatement = 1 << 8, // Enclosed in an IterationStatement + IterationStatement = 1 << 8, // Immediately enclosed in an IterationStatement IterationStatementBlock = 1 << 9, // Enclosing Block is enclosed in an IterationStatement - ForStatement = 1 << 10, // Enclosing block-scoped container is a ForStatement - ForInOrForOfStatement = 1 << 11, // Enclosing block-scoped container is a ForInStatement or ForOfStatement - ConstructorWithCapturedSuper = 1 << 12, // Enclosed in a constructor that captures 'this' for use with 'super' + IterationContainer = 1 << 10, // Enclosed in an outer IterationStatement + ForStatement = 1 << 11, // Enclosing block-scoped container is a ForStatement + ForInOrForOfStatement = 1 << 12, // Enclosing block-scoped container is a ForInStatement or ForOfStatement + ConstructorWithCapturedSuper = 1 << 13, // Enclosed in a constructor that captures 'this' for use with 'super' // NOTE: do not add more ancestor flags without also updating AncestorFactsMask below. // NOTE: when adding a new ancestor flag, be sure to update the subtree flags below. @@ -184,11 +185,11 @@ namespace ts { // A source file is a top-level block scope. SourceFileIncludes = TopLevel, - SourceFileExcludes = BlockScopeExcludes & ~TopLevel, + SourceFileExcludes = BlockScopeExcludes & ~TopLevel | IterationContainer, // Functions, methods, and accessors are both new lexical scopes and new block scopes. FunctionIncludes = Function | TopLevel, - FunctionExcludes = BlockScopeExcludes & ~TopLevel | ArrowFunction | AsyncFunctionBody | CapturesThis | NonStaticClassElement | ConstructorWithCapturedSuper, + FunctionExcludes = BlockScopeExcludes & ~TopLevel | ArrowFunction | AsyncFunctionBody | CapturesThis | NonStaticClassElement | ConstructorWithCapturedSuper | IterationContainer, AsyncFunctionBodyIncludes = FunctionIncludes | AsyncFunctionBody, AsyncFunctionBodyExcludes = FunctionExcludes & ~NonStaticClassElement, @@ -205,16 +206,16 @@ namespace ts { // 'do' and 'while' statements are not block scopes. We track that the subtree is contained // within an IterationStatement to indicate whether the embedded statement is an // IterationStatementBlock. - DoOrWhileStatementIncludes = IterationStatement, + DoOrWhileStatementIncludes = IterationStatement | IterationContainer, DoOrWhileStatementExcludes = None, // 'for' statements are new block scopes and have special handling for 'let' declarations. - ForStatementIncludes = IterationStatement | ForStatement, + ForStatementIncludes = IterationStatement | ForStatement | IterationContainer, ForStatementExcludes = BlockScopeExcludes & ~ForStatement, // 'for-in' and 'for-of' statements are new block scopes and have special handling for // 'let' declarations. - ForInOrForOfStatementIncludes = IterationStatement | ForInOrForOfStatement, + ForInOrForOfStatementIncludes = IterationStatement | ForInOrForOfStatement | IterationContainer, ForInOrForOfStatementExcludes = BlockScopeExcludes & ~ForInOrForOfStatement, // Blocks (other than function bodies) are new block scopes. @@ -228,8 +229,8 @@ namespace ts { // Subtree facts // - NewTarget = 1 << 13, // Contains a 'new.target' meta-property - CapturedLexicalThis = 1 << 14, // Contains a lexical `this` reference captured by an arrow function. + NewTarget = 1 << 14, // Contains a 'new.target' meta-property + CapturedLexicalThis = 1 << 15, // Contains a lexical `this` reference captured by an arrow function. // // Subtree masks @@ -1639,7 +1640,7 @@ namespace ts { // arguments are both mapped contiguously to the accessor name. const target = getMutableClone(receiver); setEmitFlags(target, EmitFlags.NoComments | EmitFlags.NoTrailingSourceMap); - setSourceMapRange(target, firstAccessor.name); // TODO: GH#18217 + setSourceMapRange(target, firstAccessor.name); const propertyName = createExpressionForPropertyName(visitNode(firstAccessor.name, visitor, isPropertyName)); setEmitFlags(propertyName, EmitFlags.NoComments | EmitFlags.NoLeadingSourceMap); @@ -2227,7 +2228,7 @@ namespace ts { function visitIterationStatementWithFacts(excludeFacts: HierarchyFacts, includeFacts: HierarchyFacts, node: IterationStatement, outermostLabeledStatement: LabeledStatement | undefined, convert?: LoopConverter) { const ancestorFacts = enterSubtree(excludeFacts, includeFacts); - const updated = convertIterationStatementBodyIfNecessary(node, outermostLabeledStatement, convert); + const updated = convertIterationStatementBodyIfNecessary(node, outermostLabeledStatement, ancestorFacts, convert); exitSubtree(ancestorFacts, HierarchyFacts.None, HierarchyFacts.None); return updated; } @@ -2434,7 +2435,7 @@ namespace ts { return restoreEnclosingLabel(forStatement, outermostLabeledStatement, convertedLoopState && resetLabel); } - function convertForOfStatementForIterable(node: ForOfStatement, outermostLabeledStatement: LabeledStatement, convertedLoopBodyStatements: Statement[]): Statement { + function convertForOfStatementForIterable(node: ForOfStatement, outermostLabeledStatement: LabeledStatement, convertedLoopBodyStatements: Statement[], ancestorFacts: HierarchyFacts): Statement { const expression = visitNode(node.expression, visitor, isExpression); const iterator = isIdentifier(expression) ? getGeneratedNameForNode(expression) : createTempVariable(/*recordTempVariable*/ undefined); const result = isIdentifier(expression) ? getGeneratedNameForNode(iterator) : createTempVariable(/*recordTempVariable*/ undefined); @@ -2447,13 +2448,18 @@ namespace ts { hoistVariableDeclaration(errorRecord); hoistVariableDeclaration(returnMethod); + // if we are enclosed in an outer loop ensure we reset 'errorRecord' per each iteration + const initializer = ancestorFacts & HierarchyFacts.IterationContainer + ? inlineExpressions([createAssignment(errorRecord, createVoidZero()), values]) + : values; + const forStatement = setEmitFlags( setTextRange( createFor( /*initializer*/ setEmitFlags( setTextRange( createVariableDeclarationList([ - setTextRange(createVariableDeclaration(iterator, /*type*/ undefined, values), node.expression), + setTextRange(createVariableDeclaration(iterator, /*type*/ undefined, initializer), node.expression), createVariableDeclaration(result, /*type*/ undefined, next) ]), node.expression @@ -2665,7 +2671,7 @@ namespace ts { } } - function convertIterationStatementBodyIfNecessary(node: IterationStatement, outermostLabeledStatement: LabeledStatement | undefined, convert?: LoopConverter): VisitResult { + function convertIterationStatementBodyIfNecessary(node: IterationStatement, outermostLabeledStatement: LabeledStatement | undefined, ancestorFacts: HierarchyFacts, convert?: LoopConverter): VisitResult { if (!shouldConvertIterationStatement(node)) { let saveAllowedNonLabeledJumps: Jump | undefined; if (convertedLoopState) { @@ -2676,7 +2682,7 @@ namespace ts { } const result = convert - ? convert(node, outermostLabeledStatement, /*convertedLoopBodyStatements*/ undefined) + ? convert(node, outermostLabeledStatement, /*convertedLoopBodyStatements*/ undefined, ancestorFacts) : restoreEnclosingLabel(visitEachChild(node, visitor, context), outermostLabeledStatement, convertedLoopState && resetLabel); if (convertedLoopState) { @@ -2708,7 +2714,7 @@ namespace ts { let loop: Statement; if (bodyFunction) { if (convert) { - loop = convert(node, outermostLabeledStatement, bodyFunction.part); + loop = convert(node, outermostLabeledStatement, bodyFunction.part, ancestorFacts); } else { const clone = convertIterationStatementCore(node, initializerFunction, createBlock(bodyFunction.part, /*multiLine*/ true)); diff --git a/src/compiler/transformers/es2018.ts b/src/compiler/transformers/es2018.ts index 504870b4ff7..89c43dcf599 100644 --- a/src/compiler/transformers/es2018.ts +++ b/src/compiler/transformers/es2018.ts @@ -77,6 +77,8 @@ namespace ts { return visitObjectLiteralExpression(node as ObjectLiteralExpression); case SyntaxKind.BinaryExpression: return visitBinaryExpression(node as BinaryExpression, noDestructuringValue); + case SyntaxKind.CatchClause: + return visitCatchClause(node as CatchClause); case SyntaxKind.VariableDeclaration: return visitVariableDeclaration(node as VariableDeclaration); case SyntaxKind.ForOfStatement: @@ -272,6 +274,28 @@ namespace ts { return visitEachChild(node, visitor, context); } + function visitCatchClause(node: CatchClause) { + if (node.variableDeclaration && + isBindingPattern(node.variableDeclaration.name) && + node.variableDeclaration.name.transformFlags & TransformFlags.ContainsObjectRestOrSpread) { + const name = getGeneratedNameForNode(node.variableDeclaration.name); + const updatedDecl = updateVariableDeclaration(node.variableDeclaration, node.variableDeclaration.name, /*type*/ undefined, name); + const visitedBindings = flattenDestructuringBinding(updatedDecl, visitor, context, FlattenLevel.ObjectRest); + let block = visitNode(node.block, visitor, isBlock); + if (some(visitedBindings)) { + block = updateBlock(block, [ + createVariableStatement(/*modifiers*/ undefined, visitedBindings), + ...block.statements, + ]); + } + return updateCatchClause( + node, + updateVariableDeclaration(node.variableDeclaration, name, /*type*/ undefined, /*initializer*/ undefined), + block); + } + return visitEachChild(node, visitor, context); + } + /** * Visits a VariableDeclaration node with a binding pattern. * diff --git a/src/compiler/tsconfig.json b/src/compiler/tsconfig.json index 18934aa9bb1..fdc0ff2969f 100644 --- a/src/compiler/tsconfig.json +++ b/src/compiler/tsconfig.json @@ -8,6 +8,7 @@ "files": [ "core.ts", + "debug.ts", "performance.ts", "semver.ts", diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 5e2d6aba474..03ca196a860 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2546,6 +2546,8 @@ namespace ts { Shared = 1 << 10, // Referenced as antecedent more than once PreFinally = 1 << 11, // Injected edge that links pre-finally label and pre-try flow AfterFinally = 1 << 12, // Injected edge that links post-finally flow with the rest of the graph + /** @internal */ + Cached = 1 << 13, // Indicates that at least one cross-call cache entry exists for this node, even if not a loop participant Label = BranchLabel | LoopLabel, Condition = TrueCondition | FalseCondition } @@ -2614,7 +2616,7 @@ namespace ts { // Incomplete types occur during control flow analysis of loops. An IncompleteType // is distinguished from a regular type by a flags value of zero. Incomplete type - // objects are internal to the getFlowTypeOfRefecence function and never escape it. + // objects are internal to the getFlowTypeOfReference function and never escape it. export interface IncompleteType { flags: TypeFlags; // No flags set type: Type; // The type marked incomplete @@ -3011,13 +3013,26 @@ namespace ts { Completely = 1 << 1, } + export type CustomTransformerFactory = (context: TransformationContext) => CustomTransformer; + + export interface CustomTransformer { + transformSourceFile(node: SourceFile): SourceFile; + transformBundle(node: Bundle): Bundle; + } + export interface CustomTransformers { /** Custom transformers to evaluate before built-in .js transformations. */ - before?: TransformerFactory[]; + before?: (TransformerFactory | CustomTransformerFactory)[]; /** Custom transformers to evaluate after built-in .js transformations. */ - after?: TransformerFactory[]; + after?: (TransformerFactory | CustomTransformerFactory)[]; /** Custom transformers to evaluate after built-in .d.ts transformations. */ - afterDeclarations?: TransformerFactory[]; + afterDeclarations?: (TransformerFactory | CustomTransformerFactory)[]; + } + + /*@internal*/ + export interface EmitTransformers { + scriptTransformers: readonly TransformerFactory[]; + declarationTransformers: readonly TransformerFactory[]; } export interface SourceMapSpan { @@ -3139,6 +3154,7 @@ namespace ts { */ getExportSymbolOfSymbol(symbol: Symbol): Symbol; getPropertySymbolOfDestructuringAssignment(location: Identifier): Symbol | undefined; + getTypeOfAssignmentPattern(pattern: AssignmentPattern): Type; getTypeAtLocation(node: Node): Type; getTypeFromTypeNode(node: TypeNode): Type; @@ -3735,7 +3751,7 @@ namespace ts { specifierCache?: Map; // For symbols corresponding to external modules, a cache of incoming path -> module specifier name mappings extendedContainers?: Symbol[]; // Containers (other than the parent) which this symbol is aliased in extendedContainersByFile?: Map; // Containers (other than the parent) which this symbol is aliased in - variances?: Variance[]; // Alias symbol type argument variance cache + variances?: VarianceFlags[]; // Alias symbol type argument variance cache } /* @internal */ @@ -3951,6 +3967,8 @@ namespace ts { StructuredOrInstantiable = StructuredType | Instantiable, /* @internal */ ObjectFlagsType = Nullable | Never | Object | Union | Intersection, + /* @internal */ + Simplifiable = IndexedAccess | Conditional, // 'Narrowable' types are types where narrowing actually narrows. // This *should* be every type other than null, undefined, void, and never Narrowable = Any | Unknown | StructuredOrInstantiable | StringLike | NumberLike | BigIntLike | BooleanLike | ESSymbol | UniqueESSymbol | NonPrimitive, @@ -4131,12 +4149,16 @@ namespace ts { } /* @internal */ - export const enum Variance { - Invariant = 0, // Neither covariant nor contravariant - Covariant = 1, // Covariant - Contravariant = 2, // Contravariant - Bivariant = 3, // Both covariant and contravariant - Independent = 4, // Unwitnessed type parameter + export const enum VarianceFlags { + Invariant = 0, // Neither covariant nor contravariant + Covariant = 1 << 0, // Covariant + Contravariant = 1 << 1, // Contravariant + Bivariant = Covariant | Contravariant, // Both covariant and contravariant + Independent = 1 << 2, // Unwitnessed type parameter + VarianceMask = Invariant | Covariant | Contravariant | Independent, // Mask containing all measured variances without the unmeasurable flag + Unmeasurable = 1 << 3, // Variance result is unusable - relationship relies on structural comparisons which are not reflected in generic relationships + Unreliable = 1 << 4, // Variance result is unreliable - relationship relies on structural comparisons which are not reflected in generic relationships + AllowsStructuralFallback = Unmeasurable | Unreliable, } // Generic class and interface types @@ -4144,7 +4166,7 @@ namespace ts { /* @internal */ instantiations: Map; // Generic instantiation cache /* @internal */ - variances?: Variance[]; // Variance of each type parameter + variances?: VarianceFlags[]; // Variance of each type parameter } export interface TupleType extends GenericType { @@ -4319,8 +4341,8 @@ namespace ts { root: ConditionalRoot; checkType: Type; extendsType: Type; - trueType: Type; - falseType: Type; + resolvedTrueType: Type; + resolvedFalseType: Type; /* @internal */ resolvedInferredTrueType?: Type; // The `trueType` instantiated with the `combinedMapper`, if present /* @internal */ @@ -4405,15 +4427,16 @@ namespace ts { export type TypeMapper = (t: TypeParameter) => Type; export const enum InferencePriority { - NakedTypeVariable = 1 << 0, // Naked type variable in union or intersection type - HomomorphicMappedType = 1 << 1, // Reverse inference for homomorphic mapped type - MappedTypeConstraint = 1 << 2, // Reverse inference for mapped type - ReturnType = 1 << 3, // Inference made from return type of generic function - LiteralKeyof = 1 << 4, // Inference made from a string literal to a keyof T - NoConstraints = 1 << 5, // Don't infer from constraints of instantiable types - AlwaysStrict = 1 << 6, // Always use strict rules for contravariant inferences + NakedTypeVariable = 1 << 0, // Naked type variable in union or intersection type + HomomorphicMappedType = 1 << 1, // Reverse inference for homomorphic mapped type + PartialHomomorphicMappedType = 1 << 2, // Partial reverse inference for homomorphic mapped type + MappedTypeConstraint = 1 << 3, // Reverse inference for mapped type + ReturnType = 1 << 4, // Inference made from return type of generic function + LiteralKeyof = 1 << 5, // Inference made from a string literal to a keyof T + NoConstraints = 1 << 6, // Don't infer from constraints of instantiable types + AlwaysStrict = 1 << 7, // Always use strict rules for contravariant inferences - PriorityImpliesCombination = ReturnType | MappedTypeConstraint | LiteralKeyof, // These priorities imply that the resulting type should be a combination of all candidates + PriorityImpliesCombination = ReturnType | MappedTypeConstraint | LiteralKeyof, // These priorities imply that the resulting type should be a combination of all candidates } /* @internal */ @@ -5133,7 +5156,7 @@ namespace ts { createHash?(data: string): string; getParsedCommandLine?(fileName: string): ParsedCommandLine | undefined; - // TODO: later handle this in better way in builder host instead once the api for tsbuild finalizes and doesnt use compilerHost as base + // TODO: later handle this in better way in builder host instead once the api for tsbuild finalizes and doesn't use compilerHost as base /*@internal*/createDirectory?(directory: string): void; } diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 45dc980296b..0ec81502cf7 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -2073,7 +2073,7 @@ namespace ts { } export function importFromModuleSpecifier(node: StringLiteralLike): AnyValidImportOrReExport { - return tryGetImportFromModuleSpecifier(node) || Debug.fail(Debug.showSyntaxKind(node.parent)); + return tryGetImportFromModuleSpecifier(node) || Debug.failBadSyntaxKind(node.parent); } export function tryGetImportFromModuleSpecifier(node: StringLiteralLike): AnyValidImportOrReExport | undefined { @@ -4186,78 +4186,6 @@ namespace ts { return getNewLine ? getNewLine() : sys ? sys.newLine : carriageReturnLineFeed; } - /** - * Formats an enum value as a string for debugging and debug assertions. - */ - function formatEnum(value = 0, enumObject: any, isFlags?: boolean) { - const members = getEnumMembers(enumObject); - if (value === 0) { - return members.length > 0 && members[0][0] === 0 ? members[0][1] : "0"; - } - if (isFlags) { - let result = ""; - let remainingFlags = value; - for (let i = members.length - 1; i >= 0 && remainingFlags !== 0; i--) { - const [enumValue, enumName] = members[i]; - if (enumValue !== 0 && (remainingFlags & enumValue) === enumValue) { - remainingFlags &= ~enumValue; - result = `${enumName}${result ? ", " : ""}${result}`; - } - } - if (remainingFlags === 0) { - return result; - } - } - else { - for (const [enumValue, enumName] of members) { - if (enumValue === value) { - return enumName; - } - } - } - return value.toString(); - } - - function getEnumMembers(enumObject: any) { - const result: [number, string][] = []; - for (const name in enumObject) { - const value = enumObject[name]; - if (typeof value === "number") { - result.push([value, name]); - } - } - - return stableSort<[number, string]>(result, (x, y) => compareValues(x[0], y[0])); - } - - export function formatSyntaxKind(kind: SyntaxKind | undefined): string { - return formatEnum(kind, (ts).SyntaxKind, /*isFlags*/ false); - } - - export function formatModifierFlags(flags: ModifierFlags | undefined): string { - return formatEnum(flags, (ts).ModifierFlags, /*isFlags*/ true); - } - - export function formatTransformFlags(flags: TransformFlags | undefined): string { - return formatEnum(flags, (ts).TransformFlags, /*isFlags*/ true); - } - - export function formatEmitFlags(flags: EmitFlags | undefined): string { - return formatEnum(flags, (ts).EmitFlags, /*isFlags*/ true); - } - - export function formatSymbolFlags(flags: SymbolFlags | undefined): string { - return formatEnum(flags, (ts).SymbolFlags, /*isFlags*/ true); - } - - export function formatTypeFlags(flags: TypeFlags | undefined): string { - return formatEnum(flags, (ts).TypeFlags, /*isFlags*/ true); - } - - export function formatObjectFlags(flags: ObjectFlags | undefined): string { - return formatEnum(flags, (ts).ObjectFlags, /*isFlags*/ true); - } - /** * Creates a new TextRange from the provided pos and end. * @@ -7646,6 +7574,14 @@ namespace ts { return root + pathComponents.slice(1).join(directorySeparator); } + export function getNormalizedAbsolutePathWithoutRoot(fileName: string, currentDirectory: string | undefined) { + return getPathWithoutRoot(getNormalizedPathComponents(fileName, currentDirectory)); + } + + function getPathWithoutRoot(pathComponents: ReadonlyArray) { + if (pathComponents.length === 0) return ""; + return pathComponents.slice(1).join(directorySeparator); + } } /* @internal */ @@ -8420,29 +8356,6 @@ namespace ts { return pathext ? path.slice(0, path.length - pathext.length) + (startsWith(ext, ".") ? ext : "." + ext) : path; } - export namespace Debug { - export function showSymbol(symbol: Symbol): string { - const symbolFlags = (ts as any).SymbolFlags; - return `{ flags: ${symbolFlags ? showFlags(symbol.flags, symbolFlags) : symbol.flags}; declarations: ${map(symbol.declarations, showSyntaxKind)} }`; - } - - function showFlags(flags: number, flagsEnum: { [flag: number]: string }): string { - const out: string[] = []; - for (let pow = 0; pow <= 30; pow++) { - const n = 1 << pow; - if (flags & n) { - out.push(flagsEnum[n]); - } - } - return out.join("|"); - } - - export function showSyntaxKind(node: Node): string { - const syntaxKind = (ts as any).SyntaxKind; - return syntaxKind ? syntaxKind[node.kind] : node.kind.toString(); - } - } - export function tryParsePattern(pattern: string): Pattern | undefined { // This should be verified outside of here and a proper error thrown. Debug.assert(hasZeroOrOneAsteriskCharacter(pattern)); diff --git a/src/compiler/visitor.ts b/src/compiler/visitor.ts index 0cb3b269105..53ccd81f7a6 100644 --- a/src/compiler/visitor.ts +++ b/src/compiler/visitor.ts @@ -1558,100 +1558,4 @@ namespace ts { function aggregateTransformFlagsForChildNodes(transformFlags: TransformFlags, nodes: NodeArray): TransformFlags { return transformFlags | aggregateTransformFlagsForNodeArray(nodes); } - - export namespace Debug { - let isDebugInfoEnabled = false; - - export function failBadSyntaxKind(node: Node, message?: string): never { - return fail( - `${message || "Unexpected node."}\r\nNode ${formatSyntaxKind(node.kind)} was unexpected.`, - failBadSyntaxKind); - } - - export const assertEachNode = shouldAssert(AssertionLevel.Normal) - ? (nodes: Node[], test: (node: Node) => boolean, message?: string): void => assert( - test === undefined || every(nodes, test), - message || "Unexpected node.", - () => `Node array did not pass test '${getFunctionName(test)}'.`, - assertEachNode) - : noop; - - export const assertNode = shouldAssert(AssertionLevel.Normal) - ? (node: Node | undefined, test: ((node: Node | undefined) => boolean) | undefined, message?: string): void => assert( - test === undefined || test(node), - message || "Unexpected node.", - () => `Node ${formatSyntaxKind(node!.kind)} did not pass test '${getFunctionName(test!)}'.`, - assertNode) - : noop; - - export const assertOptionalNode = shouldAssert(AssertionLevel.Normal) - ? (node: Node, test: (node: Node) => boolean, message?: string): void => assert( - test === undefined || node === undefined || test(node), - message || "Unexpected node.", - () => `Node ${formatSyntaxKind(node.kind)} did not pass test '${getFunctionName(test)}'.`, - assertOptionalNode) - : noop; - - export const assertOptionalToken = shouldAssert(AssertionLevel.Normal) - ? (node: Node, kind: SyntaxKind, message?: string): void => assert( - kind === undefined || node === undefined || node.kind === kind, - message || "Unexpected node.", - () => `Node ${formatSyntaxKind(node.kind)} was not a '${formatSyntaxKind(kind)}' token.`, - assertOptionalToken) - : noop; - - export const assertMissingNode = shouldAssert(AssertionLevel.Normal) - ? (node: Node, message?: string): void => assert( - node === undefined, - message || "Unexpected node.", - () => `Node ${formatSyntaxKind(node.kind)} was unexpected'.`, - assertMissingNode) - : noop; - - /** - * Injects debug information into frequently used types. - */ - export function enableDebugInfo() { - if (isDebugInfoEnabled) return; - - // Add additional properties in debug mode to assist with debugging. - Object.defineProperties(objectAllocator.getSymbolConstructor().prototype, { - __debugFlags: { get(this: Symbol) { return formatSymbolFlags(this.flags); } } - }); - - Object.defineProperties(objectAllocator.getTypeConstructor().prototype, { - __debugFlags: { get(this: Type) { return formatTypeFlags(this.flags); } }, - __debugObjectFlags: { get(this: Type) { return this.flags & TypeFlags.Object ? formatObjectFlags((this).objectFlags) : ""; } }, - __debugTypeToString: { value(this: Type) { return this.checker.typeToString(this); } }, - }); - - const nodeConstructors = [ - objectAllocator.getNodeConstructor(), - objectAllocator.getIdentifierConstructor(), - objectAllocator.getTokenConstructor(), - objectAllocator.getSourceFileConstructor() - ]; - - for (const ctor of nodeConstructors) { - if (!ctor.prototype.hasOwnProperty("__debugKind")) { - Object.defineProperties(ctor.prototype, { - __debugKind: { get(this: Node) { return formatSyntaxKind(this.kind); } }, - __debugModifierFlags: { get(this: Node) { return formatModifierFlags(getModifierFlagsNoCache(this)); } }, - __debugTransformFlags: { get(this: Node) { return formatTransformFlags(this.transformFlags); } }, - __debugEmitFlags: { get(this: Node) { return formatEmitFlags(getEmitFlags(this)); } }, - __debugGetText: { - value(this: Node, includeTrivia?: boolean) { - if (nodeIsSynthesized(this)) return ""; - const parseNode = getParseTreeNode(this); - const sourceFile = parseNode && getSourceFileOfNode(parseNode); - return sourceFile ? getSourceTextOfNodeFromSourceFile(sourceFile, parseNode, includeTrivia) : ""; - } - } - }); - } - } - - isDebugInfoEnabled = true; - } - } } diff --git a/src/harness/client.ts b/src/harness/client.ts index 03d53344616..d223f9f5fe3 100644 --- a/src/harness/client.ts +++ b/src/harness/client.ts @@ -424,6 +424,10 @@ namespace ts.server { return renameInfo; } + getSmartSelectionRange() { + return notImplemented(); + } + findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean): RenameLocation[] { if (!this.lastRenameEntry || this.lastRenameEntry.inputs.fileName !== fileName || diff --git a/src/harness/fourslash.ts b/src/harness/fourslash.ts index e8c2912365f..8a0a2bffbd4 100644 --- a/src/harness/fourslash.ts +++ b/src/harness/fourslash.ts @@ -798,8 +798,8 @@ namespace FourSlash { } private verifyCompletionEntry(actual: ts.CompletionEntry, expected: FourSlashInterface.ExpectedCompletionEntry) { - const { insertText, replacementSpan, hasAction, isRecommended, kind, kindModifiers, text, documentation, tags, source, sourceDisplay } = typeof expected === "string" - ? { insertText: undefined, replacementSpan: undefined, hasAction: undefined, isRecommended: undefined, kind: undefined, kindModifiers: undefined, text: undefined, documentation: undefined, tags: undefined, source: undefined, sourceDisplay: undefined } + const { insertText, replacementSpan, hasAction, isRecommended, kind, kindModifiers, text, documentation, tags, source, sourceDisplay, sortText } = typeof expected === "string" + ? { insertText: undefined, replacementSpan: undefined, hasAction: undefined, isRecommended: undefined, kind: undefined, kindModifiers: undefined, text: undefined, documentation: undefined, tags: undefined, source: undefined, sourceDisplay: undefined, sortText: undefined } : expected; if (actual.insertText !== insertText) { @@ -825,6 +825,7 @@ namespace FourSlash { assert.equal(actual.hasAction, hasAction); assert.equal(actual.isRecommended, isRecommended); assert.equal(actual.source, source); + assert.equal(actual.sortText, sortText || ts.Completions.SortText.LocationPriority, this.messageAtLastKnownMarker(`Actual entry: ${JSON.stringify(actual)}`)); if (text !== undefined) { const actualDetails = this.getCompletionEntryDetails(actual.name, actual.source)!; @@ -1417,12 +1418,7 @@ Actual: ${stringify(fullActual)}`); } public baselineCurrentFileBreakpointLocations() { - let baselineFile = this.testData.globalOptions[MetadataOptionNames.baselineFile]; - if (!baselineFile) { - baselineFile = this.activeFile.fileName.replace(this.basePath + "/breakpointValidation", "bpSpan"); - baselineFile = baselineFile.replace(ts.Extension.Ts, ".baseline"); - - } + const baselineFile = this.getBaselineFileName().replace("breakpointValidation", "bpSpan"); Harness.Baseline.runBaseline(baselineFile, this.baselineCurrentFileLocations(pos => this.getBreakpointStatementLocation(pos)!)); } @@ -1497,8 +1493,7 @@ Actual: ${stringify(fullActual)}`); } public baselineQuickInfo() { - const baselineFile = this.testData.globalOptions[MetadataOptionNames.baselineFile] || - ts.getBaseFileName(this.activeFile.fileName).replace(ts.Extension.Ts, ".baseline"); + const baselineFile = this.getBaselineFileName(); Harness.Baseline.runBaseline( baselineFile, stringify( @@ -1508,6 +1503,39 @@ Actual: ${stringify(fullActual)}`); })))); } + public baselineSmartSelection() { + const n = "\n"; + const baselineFile = this.getBaselineFileName(); + const markers = this.getMarkers(); + const fileContent = this.activeFile.content; + const text = markers.map(marker => { + const baselineContent = [fileContent.slice(0, marker.position) + "/**/" + fileContent.slice(marker.position) + n]; + let selectionRange: ts.SelectionRange | undefined = this.languageService.getSmartSelectionRange(this.activeFile.fileName, marker.position); + while (selectionRange) { + const { textSpan } = selectionRange; + let masked = Array.from(fileContent).map((char, index) => { + const charCode = char.charCodeAt(0); + if (index >= textSpan.start && index < ts.textSpanEnd(textSpan)) { + return char === " " ? "•" : ts.isLineBreak(charCode) ? `↲${n}` : char; + } + return ts.isLineBreak(charCode) ? char : " "; + }).join(""); + masked = masked.replace(/^\s*$\r?\n?/gm, ""); // Remove blank lines + const isRealCharacter = (char: string) => char !== "•" && char !== "↲" && !ts.isWhiteSpaceLike(char.charCodeAt(0)); + const leadingWidth = Array.from(masked).findIndex(isRealCharacter); + const trailingWidth = ts.findLastIndex(Array.from(masked), isRealCharacter); + masked = masked.slice(0, leadingWidth) + + masked.slice(leadingWidth, trailingWidth).replace(/•/g, " ").replace(/↲/g, "") + + masked.slice(trailingWidth); + baselineContent.push(masked); + selectionRange = selectionRange.parent; + } + return baselineContent.join(fileContent.includes("\n") ? n + n : n); + }).join(n.repeat(2) + "=".repeat(80) + n.repeat(2)); + + Harness.Baseline.runBaseline(baselineFile, text); + } + public printBreakpointLocation(pos: number) { Harness.IO.log("\n**Pos: " + pos + " " + this.spanInfoToString(this.getBreakpointStatementLocation(pos)!, " ")); } @@ -1562,6 +1590,11 @@ Actual: ${stringify(fullActual)}`); Harness.IO.log(stringify(help.items[help.selectedItemIndex])); } + private getBaselineFileName() { + return this.testData.globalOptions[MetadataOptionNames.baselineFile] || + ts.getBaseFileName(this.activeFile.fileName).replace(ts.Extension.Ts, ".baseline"); + } + private getSignatureHelp({ triggerReason }: FourSlashInterface.VerifySignatureHelpOptions): ts.SignatureHelpItems | undefined { return this.languageService.getSignatureHelpItems(this.activeFile.fileName, this.currentCaretPosition, { triggerReason @@ -3960,6 +3993,10 @@ namespace FourSlashInterface { this.state.baselineQuickInfo(); } + public baselineSmartSelection() { + this.state.baselineSmartSelection(); + } + public nameOrDottedNameSpanTextIs(text: string) { this.state.verifyCurrentNameOrDottedNameSpanText(text); } @@ -4398,18 +4435,63 @@ namespace FourSlashInterface { } } export namespace Completion { - const functionEntry = (name: string): ExpectedCompletionEntryObject => ({ name, kind: "function", kindModifiers: "declare" }); - const varEntry = (name: string): ExpectedCompletionEntryObject => ({ name, kind: "var", kindModifiers: "declare" }); - const moduleEntry = (name: string): ExpectedCompletionEntryObject => ({ name, kind: "module", kindModifiers: "declare" }); - const keywordEntry = (name: string): ExpectedCompletionEntryObject => ({ name, kind: "keyword" }); - const methodEntry = (name: string): ExpectedCompletionEntryObject => ({ name, kind: "method", kindModifiers: "declare" }); - const propertyEntry = (name: string): ExpectedCompletionEntryObject => ({ name, kind: "property", kindModifiers: "declare" }); - const interfaceEntry = (name: string): ExpectedCompletionEntryObject => ({ name, kind: "interface", kindModifiers: "declare" }); - const typeEntry = (name: string): ExpectedCompletionEntryObject => ({ name, kind: "type", kindModifiers: "declare" }); + export import SortText = ts.Completions.SortText; + + const functionEntry = (name: string): ExpectedCompletionEntryObject => ({ + name, + kind: "function", + kindModifiers: "declare", + sortText: SortText.GlobalsOrKeywords + }); + const varEntry = (name: string): ExpectedCompletionEntryObject => ({ + name, + kind: "var", + kindModifiers: "declare", + sortText: SortText.GlobalsOrKeywords + }); + const moduleEntry = (name: string): ExpectedCompletionEntryObject => ({ + name, + kind: "module", + kindModifiers: "declare", + sortText: SortText.GlobalsOrKeywords + }); + const keywordEntry = (name: string): ExpectedCompletionEntryObject => ({ + name, + kind: "keyword", + sortText: SortText.GlobalsOrKeywords + }); + const methodEntry = (name: string): ExpectedCompletionEntryObject => ({ + name, + kind: "method", + kindModifiers: "declare", + sortText: SortText.LocationPriority + }); + const propertyEntry = (name: string): ExpectedCompletionEntryObject => ({ + name, + kind: "property", + kindModifiers: "declare", + sortText: SortText.LocationPriority + }); + const interfaceEntry = (name: string): ExpectedCompletionEntryObject => ({ + name, + kind: "interface", + kindModifiers: "declare", + sortText: SortText.GlobalsOrKeywords + }); + const typeEntry = (name: string): ExpectedCompletionEntryObject => ({ + name, + kind: "type", + kindModifiers: "declare", + sortText: SortText.GlobalsOrKeywords + }); const res: ExpectedCompletionEntryObject[] = []; for (let i = ts.SyntaxKind.FirstKeyword; i <= ts.SyntaxKind.LastKeyword; i++) { - res.push({ name: ts.Debug.assertDefined(ts.tokenToString(i)), kind: "keyword" }); + res.push({ + name: ts.Debug.assertDefined(ts.tokenToString(i)), + kind: "keyword", + sortText: SortText.GlobalsOrKeywords + }); } export const keywordsWithUndefined: ReadonlyArray = res; export const keywords: ReadonlyArray = keywordsWithUndefined.filter(k => k.name !== "undefined"); @@ -4516,11 +4598,15 @@ namespace FourSlashInterface { moduleEntry("Intl"), ]; + export const globalThisEntry: ExpectedCompletionEntry = { + name: "globalThis", + kind: "module", + sortText: SortText.GlobalsOrKeywords + }; export const globalTypes = globalTypesPlus([]); - export function globalTypesPlus(plus: ReadonlyArray): ReadonlyArray { return [ - { name: "globalThis", kind: "module" }, + globalThisEntry, ...globalTypeDecls, ...plus, ...typeKeywords, @@ -4569,7 +4655,11 @@ namespace FourSlashInterface { export const classElementInJsKeywords = getInJsKeywords(classElementKeywords); export const constructorParameterKeywords: ReadonlyArray = - ["private", "protected", "public", "readonly"].map((name): ExpectedCompletionEntryObject => ({ name, kind: "keyword" })); + ["private", "protected", "public", "readonly"].map((name): ExpectedCompletionEntryObject => ({ + name, + kind: "keyword", + sortText: SortText.GlobalsOrKeywords + })); export const functionMembers: ReadonlyArray = [ methodEntry("apply"), @@ -4798,13 +4888,18 @@ namespace FourSlashInterface { "await", ].map(keywordEntry); + export const undefinedVarEntry: ExpectedCompletionEntry = { + name: "undefined", + kind: "var", + sortText: SortText.GlobalsOrKeywords + }; // TODO: many of these are inappropriate to always provide export const globalsInsideFunction = (plus: ReadonlyArray): ReadonlyArray => [ { name: "arguments", kind: "local var" }, ...plus, - { name: "globalThis", kind: "module" }, + globalThisEntry, ...globalsVars, - { name: "undefined", kind: "var" }, + undefinedVarEntry, ...globalKeywordsInsideFunction, ]; @@ -4813,10 +4908,10 @@ namespace FourSlashInterface { // TODO: many of these are inappropriate to always provide export const globalsInJsInsideFunction = (plus: ReadonlyArray): ReadonlyArray => [ { name: "arguments", kind: "local var" }, - { name: "globalThis", kind: "module" }, + globalThisEntry, ...globalsVars, ...plus, - { name: "undefined", kind: "var" }, + undefinedVarEntry, ...globalInJsKeywordsInsideFunction, ]; @@ -4954,34 +5049,34 @@ namespace FourSlashInterface { })(); export const globals: ReadonlyArray = [ - { name: "globalThis", kind: "module" }, + globalThisEntry, ...globalsVars, - { name: "undefined", kind: "var" }, + undefinedVarEntry, ...globalKeywords ]; export const globalsInJs: ReadonlyArray = [ - { name: "globalThis", kind: "module" }, + globalThisEntry, ...globalsVars, - { name: "undefined", kind: "var" }, + undefinedVarEntry, ...globalInJsKeywords ]; export function globalsPlus(plus: ReadonlyArray): ReadonlyArray { return [ - { name: "globalThis", kind: "module" }, + globalThisEntry, ...globalsVars, ...plus, - { name: "undefined", kind: "var" }, + undefinedVarEntry, ...globalKeywords]; } export function globalsInJsPlus(plus: ReadonlyArray): ReadonlyArray { return [ - { name: "globalThis", kind: "module" }, + globalThisEntry, ...globalsVars, ...plus, - { name: "undefined", kind: "var" }, + undefinedVarEntry, ...globalInJsKeywords]; } } @@ -5014,6 +5109,7 @@ namespace FourSlashInterface { readonly documentation?: string; readonly sourceDisplay?: string; readonly tags?: ReadonlyArray; + readonly sortText?: ts.Completions.SortText; } export interface VerifyCompletionsOptions { diff --git a/src/harness/harnessLanguageService.ts b/src/harness/harnessLanguageService.ts index b70afecb791..03ccbb5d6de 100644 --- a/src/harness/harnessLanguageService.ts +++ b/src/harness/harnessLanguageService.ts @@ -472,6 +472,9 @@ namespace Harness.LanguageService { getRenameInfo(fileName: string, position: number, options?: ts.RenameInfoOptions): ts.RenameInfo { return unwrapJSONCallResult(this.shim.getRenameInfo(fileName, position, options)); } + getSmartSelectionRange(fileName: string, position: number): ts.SelectionRange { + return unwrapJSONCallResult(this.shim.getSmartSelectionRange(fileName, position)); + } findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename?: boolean): ts.RenameLocation[] { return unwrapJSONCallResult(this.shim.findRenameLocations(fileName, position, findInStrings, findInComments, providePrefixAndSuffixTextForRename)); } diff --git a/src/lib/dom.generated.d.ts b/src/lib/dom.generated.d.ts index b1daca71fed..18f38b53560 100644 --- a/src/lib/dom.generated.d.ts +++ b/src/lib/dom.generated.d.ts @@ -17328,7 +17328,8 @@ interface WorkerEventMap extends AbstractWorkerEventMap { /** An interface of the Web Workers API represents a background task that can be easily created and can send messages back to its creator. Creating a worker is as simple as calling the Worker() constructor and specifying a script to be run in the worker thread. */ interface Worker extends EventTarget, AbstractWorker { onmessage: ((this: Worker, ev: MessageEvent) => any) | null; - postMessage(message: any, transfer?: Transferable[]): void; + postMessage(message: any, transfer: Transferable[]): void; + postMessage(message: any, options?: PostMessageOptions): void; terminate(): void; addEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; diff --git a/src/lib/es5.d.ts b/src/lib/es5.d.ts index 827c2aaddd5..0d1481dd7d2 100644 --- a/src/lib/es5.d.ts +++ b/src/lib/es5.d.ts @@ -513,7 +513,7 @@ interface Boolean { interface BooleanConstructor { new(value?: any): Boolean; - (value?: T): value is Exclude; + (value?: T): boolean; readonly prototype: Boolean; } @@ -1446,9 +1446,7 @@ type Extract = T extends U ? T : never; /** * Construct a type with the properties of T except for those in type K. */ -type Omit = { - [P in Exclude]: T[P] -}; +type Omit = Pick>; /** * Exclude null and undefined from T diff --git a/src/lib/webworker.generated.d.ts b/src/lib/webworker.generated.d.ts index cc35615d129..de98e9537aa 100644 --- a/src/lib/webworker.generated.d.ts +++ b/src/lib/webworker.generated.d.ts @@ -4231,7 +4231,8 @@ interface WorkerEventMap extends AbstractWorkerEventMap { /** An interface of the Web Workers API represents a background task that can be easily created and can send messages back to its creator. Creating a worker is as simple as calling the Worker() constructor and specifying a script to be run in the worker thread. */ interface Worker extends EventTarget, AbstractWorker { onmessage: ((this: Worker, ev: MessageEvent) => any) | null; - postMessage(message: any, transfer?: Transferable[]): void; + postMessage(message: any, transfer: Transferable[]): void; + postMessage(message: any, options?: PostMessageOptions): void; terminate(): void; addEventListener(type: K, listener: (this: Worker, ev: WorkerEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; diff --git a/src/server/protocol.ts b/src/server/protocol.ts index 3da890a766f..486208c2819 100644 --- a/src/server/protocol.ts +++ b/src/server/protocol.ts @@ -130,7 +130,10 @@ namespace ts.server.protocol { GetEditsForFileRename = "getEditsForFileRename", /* @internal */ GetEditsForFileRenameFull = "getEditsForFileRename-full", - ConfigurePlugin = "configurePlugin" + ConfigurePlugin = "configurePlugin", + SelectionRange = "selectionRange", + /* @internal */ + SelectionRangeFull = "selectionRange-full", // NOTE: If updating this, be sure to also update `allCommandNames` in `harness/unittests/session.ts`. } @@ -1395,6 +1398,24 @@ namespace ts.server.protocol { export interface ConfigurePluginResponse extends Response { } + export interface SelectionRangeRequest extends FileRequest { + command: CommandTypes.SelectionRange; + arguments: SelectionRangeRequestArgs; + } + + export interface SelectionRangeRequestArgs extends FileRequestArgs { + locations: Location[]; + } + + export interface SelectionRangeResponse extends Response { + body?: SelectionRange[]; + } + + export interface SelectionRange { + textSpan: TextSpan; + parent?: SelectionRange; + } + /** * Information found in an "open" request. */ diff --git a/src/server/session.ts b/src/server/session.ts index 3c202c9aecd..2e9d6948b1a 100644 --- a/src/server/session.ts +++ b/src/server/session.ts @@ -1318,11 +1318,11 @@ namespace ts.server { this.projectService.openClientFileWithNormalizedPath(fileName, fileContent, scriptKind, /*hasMixedContent*/ false, projectRootPath); } - private getPosition(args: protocol.FileLocationRequestArgs, scriptInfo: ScriptInfo): number { + private getPosition(args: protocol.Location & { position?: number }, scriptInfo: ScriptInfo): number { return args.position !== undefined ? args.position : scriptInfo.lineOffsetToPosition(args.line, args.offset); } - private getPositionInFile(args: protocol.FileLocationRequestArgs, file: NormalizedPath): number { + private getPositionInFile(args: protocol.Location & { position?: number }, file: NormalizedPath): number { const scriptInfo = this.projectService.getScriptInfoForNormalizedPath(file)!; return this.getPosition(args, scriptInfo); } @@ -2059,6 +2059,28 @@ namespace ts.server { this.projectService.configurePlugin(args); } + private getSmartSelectionRange(args: protocol.SelectionRangeRequestArgs, simplifiedResult: boolean) { + const { locations } = args; + const { file, languageService } = this.getFileAndLanguageServiceForSyntacticOperation(args); + const scriptInfo = Debug.assertDefined(this.projectService.getScriptInfo(file)); + + return map(locations, location => { + const pos = this.getPosition(location, scriptInfo); + const selectionRange = languageService.getSmartSelectionRange(file, pos); + return simplifiedResult ? this.mapSelectionRange(selectionRange, scriptInfo) : selectionRange; + }); + } + + private mapSelectionRange(selectionRange: SelectionRange, scriptInfo: ScriptInfo): protocol.SelectionRange { + const result: protocol.SelectionRange = { + textSpan: this.toLocationTextSpan(selectionRange.textSpan, scriptInfo), + }; + if (selectionRange.parent) { + result.parent = this.mapSelectionRange(selectionRange.parent, scriptInfo); + } + return result; + } + getCanonicalFileName(fileName: string) { const name = this.host.useCaseSensitiveFileNames ? fileName : fileName.toLowerCase(); return normalizePath(name); @@ -2414,7 +2436,13 @@ namespace ts.server { this.configurePlugin(request.arguments); this.doOutput(/*info*/ undefined, CommandNames.ConfigurePlugin, request.seq, /*success*/ true); return this.notRequired(); - } + }, + [CommandNames.SelectionRange]: (request: protocol.SelectionRangeRequest) => { + return this.requiredResponse(this.getSmartSelectionRange(request.arguments, /*simplifiedResult*/ true)); + }, + [CommandNames.SelectionRangeFull]: (request: protocol.SelectionRangeRequest) => { + return this.requiredResponse(this.getSmartSelectionRange(request.arguments, /*simplifiedResult*/ false)); + }, }); public addProtocolHandler(command: string, handler: (request: protocol.Request) => HandlerResponse) { diff --git a/src/services/codefixes/addNameToNamelessParameter.ts b/src/services/codefixes/addNameToNamelessParameter.ts index f87816ab228..3339f719008 100644 --- a/src/services/codefixes/addNameToNamelessParameter.ts +++ b/src/services/codefixes/addNameToNamelessParameter.ts @@ -15,11 +15,11 @@ namespace ts.codefix { function makeChange(changeTracker: textChanges.ChangeTracker, sourceFile: SourceFile, pos: number) { const token = getTokenAtPosition(sourceFile, pos); if (!isIdentifier(token)) { - return Debug.fail("add-name-to-nameless-parameter operates on identifiers, but got a " + formatSyntaxKind(token.kind)); + return Debug.fail("add-name-to-nameless-parameter operates on identifiers, but got a " + Debug.formatSyntaxKind(token.kind)); } const param = token.parent; if (!isParameter(param)) { - return Debug.fail("Tried to add a parameter name to a non-parameter: " + formatSyntaxKind(token.kind)); + return Debug.fail("Tried to add a parameter name to a non-parameter: " + Debug.formatSyntaxKind(token.kind)); } const i = param.parent.parameters.indexOf(param); Debug.assert(!param.type, "Tried to add a parameter name to a parameter that already had one."); diff --git a/src/services/completions.ts b/src/services/completions.ts index 277d095d59a..69385994868 100644 --- a/src/services/completions.ts +++ b/src/services/completions.ts @@ -1,5 +1,12 @@ /* @internal */ namespace ts.Completions { + export enum SortText { + LocationPriority = "0", + SuggestedClassMembers = "1", + GlobalsOrKeywords = "2", + AutoImportSuggestions = "3", + JavascriptIdentifiers = "4" + } export type Log = (message: string) => void; const enum SymbolOriginInfoKind { ThisType, SymbolMemberNoExport, SymbolMemberExport, Export } @@ -22,6 +29,8 @@ namespace ts.Completions { */ type SymbolOriginInfoMap = (SymbolOriginInfo | undefined)[]; + type SymbolSortTextMap = (SortText | undefined)[]; + const enum KeywordCompletionFilters { None, // No keywords All, // Every possible keyword (TODO: This is never appropriate) @@ -78,7 +87,21 @@ namespace ts.Completions { } function completionInfoFromData(sourceFile: SourceFile, typeChecker: TypeChecker, compilerOptions: CompilerOptions, log: Log, completionData: CompletionData, preferences: UserPreferences): CompletionInfo | undefined { - const { symbols, completionKind, isInSnippetScope, isNewIdentifierLocation, location, propertyAccessToConvert, keywordFilters, literals, symbolToOriginInfoMap, recommendedCompletion, isJsxInitializer, insideJsDocTagTypeExpression } = completionData; + const { + symbols, + completionKind, + isInSnippetScope, + isNewIdentifierLocation, + location, + propertyAccessToConvert, + keywordFilters, + literals, + symbolToOriginInfoMap, + recommendedCompletion, + isJsxInitializer, + insideJsDocTagTypeExpression, + symbolToSortTextMap, + } = completionData; if (location && location.parent && isJsxClosingElement(location.parent)) { // In the TypeScript JSX element, if such element is not defined. When users query for completion at closing tag, @@ -93,7 +116,7 @@ namespace ts.Completions { name: tagName.getFullText(sourceFile) + (hasClosingAngleBracket ? "" : ">"), kind: ScriptElementKind.classElement, kindModifiers: undefined, - sortText: "0", + sortText: SortText.LocationPriority, }; return { isGlobalCompletion: false, isMemberCompletion: true, isNewIdentifierLocation: false, entries: [entry] }; } @@ -101,7 +124,22 @@ namespace ts.Completions { const entries: CompletionEntry[] = []; if (isUncheckedFile(sourceFile, compilerOptions)) { - const uniqueNames = getCompletionEntriesFromSymbols(symbols, entries, location, sourceFile, typeChecker, compilerOptions.target!, log, completionKind, preferences, propertyAccessToConvert, isJsxInitializer, recommendedCompletion, symbolToOriginInfoMap); + const uniqueNames = getCompletionEntriesFromSymbols( + symbols, + entries, + location, + sourceFile, + typeChecker, + compilerOptions.target!, + log, + completionKind, + preferences, + propertyAccessToConvert, + isJsxInitializer, + recommendedCompletion, + symbolToOriginInfoMap, + symbolToSortTextMap + ); getJSCompletionEntries(sourceFile, location!.pos, uniqueNames, compilerOptions.target!, entries); // TODO: GH#18217 } else { @@ -109,7 +147,22 @@ namespace ts.Completions { return undefined; } - getCompletionEntriesFromSymbols(symbols, entries, location, sourceFile, typeChecker, compilerOptions.target!, log, completionKind, preferences, propertyAccessToConvert, isJsxInitializer, recommendedCompletion, symbolToOriginInfoMap); + getCompletionEntriesFromSymbols( + symbols, + entries, + location, + sourceFile, + typeChecker, + compilerOptions.target!, + log, + completionKind, + preferences, + propertyAccessToConvert, + isJsxInitializer, + recommendedCompletion, + symbolToOriginInfoMap, + symbolToSortTextMap + ); } if (keywordFilters !== KeywordCompletionFilters.None) { @@ -160,7 +213,7 @@ namespace ts.Completions { name: realName, kind: ScriptElementKind.warning, kindModifiers: "", - sortText: "1" + sortText: SortText.JavascriptIdentifiers }); } }); @@ -169,28 +222,23 @@ namespace ts.Completions { const completionNameForLiteral = (literal: string | number | PseudoBigInt) => typeof literal === "object" ? pseudoBigIntToString(literal) + "n" : JSON.stringify(literal); function createCompletionEntryForLiteral(literal: string | number | PseudoBigInt): CompletionEntry { - return { name: completionNameForLiteral(literal), kind: ScriptElementKind.string, kindModifiers: ScriptElementKindModifier.none, sortText: "0" }; + return { name: completionNameForLiteral(literal), kind: ScriptElementKind.string, kindModifiers: ScriptElementKindModifier.none, sortText: SortText.LocationPriority }; } function createCompletionEntry( symbol: Symbol, + sortText: SortText, location: Node | undefined, sourceFile: SourceFile, typeChecker: TypeChecker, - target: ScriptTarget, - kind: CompletionKind, + name: string, + needsConvertPropertyAccess: boolean, origin: SymbolOriginInfo | undefined, recommendedCompletion: Symbol | undefined, propertyAccessToConvert: PropertyAccessExpression | undefined, isJsxInitializer: IsJsxInitializer | undefined, preferences: UserPreferences, ): CompletionEntry | undefined { - const info = getCompletionEntryDisplayNameForSymbol(symbol, target, origin, kind); - if (!info) { - return undefined; - } - const { name, needsConvertPropertyAccess } = info; - let insertText: string | undefined; let replacementSpan: TextSpan | undefined; if (origin && origin.kind === SymbolOriginInfoKind.ThisType) { @@ -230,7 +278,7 @@ namespace ts.Completions { name, kind: SymbolDisplay.getSymbolKind(typeChecker, symbol, location!), // TODO: GH#18217 kindModifiers: SymbolDisplay.getSymbolModifiers(symbol), - sortText: "0", + sortText, source: getSourceFromOrigin(origin), hasAction: trueOrUndefined(!!origin && originIsExport(origin)), isRecommended: trueOrUndefined(isRecommendedCompletionMatch(symbol, recommendedCompletion, typeChecker)), @@ -266,6 +314,7 @@ namespace ts.Completions { isJsxInitializer?: IsJsxInitializer, recommendedCompletion?: Symbol, symbolToOriginInfoMap?: SymbolOriginInfoMap, + symbolToSortTextMap?: SymbolSortTextMap, ): Map { const start = timestamp(); // Tracks unique names. @@ -275,13 +324,30 @@ namespace ts.Completions { const uniques = createMap(); for (const symbol of symbols) { const origin = symbolToOriginInfoMap ? symbolToOriginInfoMap[getSymbolId(symbol)] : undefined; - const entry = createCompletionEntry(symbol, location, sourceFile, typeChecker, target, kind, origin, recommendedCompletion, propertyAccessToConvert, isJsxInitializer, preferences); - if (!entry) { + const info = getCompletionEntryDisplayNameForSymbol(symbol, target, origin, kind); + if (!info) { + continue; + } + const { name, needsConvertPropertyAccess } = info; + if (uniques.has(name)) { continue; } - const { name } = entry; - if (uniques.has(name)) { + const entry = createCompletionEntry( + symbol, + symbolToSortTextMap && symbolToSortTextMap[getSymbolId(symbol)] || SortText.LocationPriority, + location, + sourceFile, + typeChecker, + name, + needsConvertPropertyAccess, + origin, + recommendedCompletion, + propertyAccessToConvert, + isJsxInitializer, + preferences + ); + if (!entry) { continue; } @@ -321,7 +387,7 @@ namespace ts.Completions { name, kindModifiers: ScriptElementKindModifier.none, kind: ScriptElementKind.label, - sortText: "0" + sortText: SortText.LocationPriority }); } } @@ -358,7 +424,7 @@ namespace ts.Completions { // We don't need to perform character checks here because we're only comparing the // name against 'entryName' (which is known to be good), not building a new // completion entry. - return firstDefined(symbols, (symbol): SymbolCompletion | undefined => { // TODO: Shouldn't need return type annotation (GH#12632) + return firstDefined(symbols, (symbol): SymbolCompletion | undefined => { const origin = symbolToOriginInfoMap[getSymbolId(symbol)]; const info = getCompletionEntryDisplayNameForSymbol(symbol, compilerOptions.target!, origin, completionKind); return info && info.name === entryId.name && getSourceFromOrigin(origin) === entryId.source @@ -512,6 +578,7 @@ namespace ts.Completions { readonly previousToken: Node | undefined; readonly isJsxInitializer: IsJsxInitializer; readonly insideJsDocTagTypeExpression: boolean; + readonly symbolToSortTextMap: SymbolSortTextMap; } type Request = { readonly kind: CompletionDataKind.JsDocTagName | CompletionDataKind.JsDocTag } | { readonly kind: CompletionDataKind.JsDocParameterName, tag: JSDocParameterTag }; @@ -804,6 +871,7 @@ namespace ts.Completions { let keywordFilters = KeywordCompletionFilters.None; let symbols: Symbol[] = []; const symbolToOriginInfoMap: SymbolOriginInfoMap = []; + const symbolToSortTextMap: SymbolSortTextMap = []; if (isRightOfDot) { getTypeScriptMemberSymbols(); @@ -853,7 +921,8 @@ namespace ts.Completions { recommendedCompletion, previousToken, isJsxInitializer, - insideJsDocTagTypeExpression + insideJsDocTagTypeExpression, + symbolToSortTextMap }; type JSDocTagWithTypeExpression = JSDocParameterTag | JSDocPropertyTag | JSDocReturnTag | JSDocTypeTag | JSDocTypedefTag; @@ -1057,6 +1126,12 @@ namespace ts.Completions { const symbolMeanings = (isTypeOnly ? SymbolFlags.None : SymbolFlags.Value) | SymbolFlags.Type | SymbolFlags.Namespace | SymbolFlags.Alias; symbols = Debug.assertEachDefined(typeChecker.getSymbolsInScope(scopeNode, symbolMeanings), "getSymbolsInScope() should all be defined"); + for (const symbol of symbols) { + if (!typeChecker.isArgumentsSymbol(symbol) && + !some(symbol.declarations, d => d.getSourceFile() === sourceFile)) { + symbolToSortTextMap[getSymbolId(symbol)] = SortText.GlobalsOrKeywords; + } + } // Need to insert 'this.' before properties of `this` type, so only do that if `includeInsertTextCompletions` if (preferences.includeCompletionsWithInsertText && scopeNode.kind !== SyntaxKind.SourceFile) { @@ -1065,6 +1140,7 @@ namespace ts.Completions { for (const symbol of getPropertiesForCompletion(thisType, typeChecker)) { symbolToOriginInfoMap[getSymbolId(symbol)] = { kind: SymbolOriginInfoKind.ThisType }; symbols.push(symbol); + symbolToSortTextMap[getSymbolId(symbol)] = SortText.SuggestedClassMembers; } } } @@ -1198,6 +1274,7 @@ namespace ts.Completions { // So in `declare namespace foo {} declare module "foo" { export = foo; }`, there will just be the global completion for `foo`. some(resolvedModuleSymbol.declarations, d => !!d.getSourceFile().externalModuleIndicator)) { symbols.push(resolvedModuleSymbol); + symbolToSortTextMap[getSymbolId(resolvedModuleSymbol)] = SortText.AutoImportSuggestions; symbolToOriginInfoMap[getSymbolId(resolvedModuleSymbol)] = { kind: SymbolOriginInfoKind.Export, moduleSymbol, isDefaultExport: false }; } @@ -1223,6 +1300,7 @@ namespace ts.Completions { const origin: SymbolOriginInfoExport = { kind: SymbolOriginInfoKind.Export, moduleSymbol, isDefaultExport }; if (detailsEntryId || stringContainsCharactersInOrder(getSymbolName(symbol, origin, target).toLowerCase(), tokenTextLowerCase)) { symbols.push(symbol); + symbolToSortTextMap[getSymbolId(symbol)] = SortText.AutoImportSuggestions; symbolToOriginInfoMap[getSymbolId(symbol)] = origin; } } @@ -1944,7 +2022,7 @@ namespace ts.Completions { name: tokenToString(i)!, kind: ScriptElementKind.keyword, kindModifiers: ScriptElementKindModifier.none, - sortText: "0" + sortText: SortText.GlobalsOrKeywords }); } return res; diff --git a/src/services/findAllReferences.ts b/src/services/findAllReferences.ts index 147fee53393..cf0046d2688 100644 --- a/src/services/findAllReferences.ts +++ b/src/services/findAllReferences.ts @@ -635,7 +635,7 @@ namespace ts.FindAllReferences.Core { // Ignore UMD module and global merge if (symbol.flags & SymbolFlags.Transient) return undefined; // Assertions for GH#21814. We should be handling SourceFile symbols in `getReferencedSymbolsForModule` instead of getting here. - Debug.fail(`Unexpected symbol at ${Debug.showSyntaxKind(node)}: ${Debug.showSymbol(symbol)}`); + Debug.fail(`Unexpected symbol at ${Debug.formatSyntaxKind(node.kind)}: ${Debug.formatSymbol(symbol)}`); } return isTypeLiteralNode(decl.parent) && isUnionTypeNode(decl.parent.parent) ? checker.getPropertyOfType(checker.getTypeFromTypeNode(decl.parent.parent), symbol.name) diff --git a/src/services/importTracker.ts b/src/services/importTracker.ts index e8512528af9..2734d059000 100644 --- a/src/services/importTracker.ts +++ b/src/services/importTracker.ts @@ -133,7 +133,7 @@ namespace ts.FindAllReferences { break; default: - Debug.assertNever(direct, `Unexpected import kind: ${Debug.showSyntaxKind(direct)}`); + Debug.failBadSyntaxKind(direct, "Unexpected import kind."); } } } @@ -515,7 +515,7 @@ namespace ts.FindAllReferences { const sym = useLhsSymbol ? checker.getSymbolAtLocation(cast(node.left, isPropertyAccessExpression).name) : symbol; // Better detection for GH#20803 if (sym && !(checker.getMergedSymbol(sym.parent!).flags & SymbolFlags.Module)) { - Debug.fail(`Special property assignment kind does not have a module as its parent. Assignment is ${Debug.showSymbol(sym)}, parent is ${Debug.showSymbol(sym.parent!)}`); + Debug.fail(`Special property assignment kind does not have a module as its parent. Assignment is ${Debug.formatSymbol(sym)}, parent is ${Debug.formatSymbol(sym.parent!)}`); } return sym && exportInfo(sym, kind); } diff --git a/src/services/refactors/extractType.ts b/src/services/refactors/extractType.ts new file mode 100644 index 00000000000..02f6cd39a18 --- /dev/null +++ b/src/services/refactors/extractType.ts @@ -0,0 +1,147 @@ +/* @internal */ +namespace ts.refactor { + const refactorName = "Extract type"; + const extractToTypeAlias = "Extract to type alias"; + const extractToTypeDef = "Extract to typedef"; + registerRefactor(refactorName, { + getAvailableActions(context): ReadonlyArray { + const info = getRangeToExtract(context); + if (!info) return emptyArray; + + return [{ + name: refactorName, + description: getLocaleSpecificMessage(Diagnostics.Extract_type), + actions: [info.isJS ? { + name: extractToTypeDef, description: getLocaleSpecificMessage(Diagnostics.Extract_to_typedef) + } : { + name: extractToTypeAlias, description: getLocaleSpecificMessage(Diagnostics.Extract_to_type_alias) + }] + }]; + }, + getEditsForAction(context, actionName): RefactorEditInfo { + Debug.assert(actionName === extractToTypeAlias || actionName === extractToTypeDef); + const { file } = context; + const info = Debug.assertDefined(getRangeToExtract(context)); + Debug.assert(actionName === extractToTypeAlias && !info.isJS || actionName === extractToTypeDef && info.isJS); + + const name = getUniqueName("NewType", file); + const edits = textChanges.ChangeTracker.with(context, changes => info.isJS ? + doTypedefChange(changes, file, name, info.firstStatement, info.selection, info.typeParameters) : + doTypeAliasChange(changes, file, name, info.firstStatement, info.selection, info.typeParameters)); + + const renameFilename = file.fileName; + const renameLocation = getRenameLocation(edits, renameFilename, name, /*preferLastLocation*/ false); + return { edits, renameFilename, renameLocation }; + } + }); + + interface Info { isJS: boolean; selection: TypeNode; firstStatement: Statement; typeParameters: ReadonlyArray; } + + function getRangeToExtract(context: RefactorContext): Info | undefined { + const { file, startPosition } = context; + const isJS = isSourceFileJS(file); + const current = getTokenAtPosition(file, startPosition); + const range = createTextRangeFromSpan(getRefactorContextSpan(context)); + + const selection = findAncestor(current, (node => node.parent && rangeContainsSkipTrivia(range, node, file) && !rangeContainsSkipTrivia(range, node.parent, file))); + if (!selection || !isTypeNode(selection)) return undefined; + + const checker = context.program.getTypeChecker(); + const firstStatement = Debug.assertDefined(isJS ? findAncestor(selection, isStatementAndHasJSDoc) : findAncestor(selection, isStatement)); + const typeParameters = collectTypeParameters(checker, selection, firstStatement, file); + if (!typeParameters) return undefined; + + return { isJS, selection, firstStatement, typeParameters }; + } + + function isStatementAndHasJSDoc(n: Node): n is (Statement & HasJSDoc) { + return isStatement(n) && hasJSDocNodes(n); + } + + function rangeContainsSkipTrivia(r1: TextRange, node: Node, file: SourceFile): boolean { + return rangeContainsStartEnd(r1, skipTrivia(file.text, node.pos), node.end); + } + + function collectTypeParameters(checker: TypeChecker, selection: TypeNode, statement: Statement, file: SourceFile): TypeParameterDeclaration[] | undefined { + const result: TypeParameterDeclaration[] = []; + return visitor(selection) ? undefined : result; + + function visitor(node: Node): true | undefined { + if (isTypeReferenceNode(node)) { + if (isIdentifier(node.typeName)) { + const symbol = checker.resolveName(node.typeName.text, node.typeName, SymbolFlags.TypeParameter, /* excludeGlobals */ true); + if (symbol) { + const declaration = cast(first(symbol.declarations), isTypeParameterDeclaration); + if (rangeContainsSkipTrivia(statement, declaration, file) && !rangeContainsSkipTrivia(selection, declaration, file)) { + result.push(declaration); + } + } + } + } + else if (isInferTypeNode(node)) { + const conditionalTypeNode = findAncestor(node, n => isConditionalTypeNode(n) && rangeContainsSkipTrivia(n.extendsType, node, file)); + if (!conditionalTypeNode || !rangeContainsSkipTrivia(selection, conditionalTypeNode, file)) { + return true; + } + } + else if ((isTypePredicateNode(node) || isThisTypeNode(node))) { + const functionLikeNode = findAncestor(node.parent, isFunctionLike); + if (functionLikeNode && functionLikeNode.type && rangeContainsSkipTrivia(functionLikeNode.type, node, file) && !rangeContainsSkipTrivia(selection, functionLikeNode, file)) { + return true; + } + } + else if (isTypeQueryNode(node)) { + if (isIdentifier(node.exprName)) { + const symbol = checker.resolveName(node.exprName.text, node.exprName, SymbolFlags.Value, /* excludeGlobals */ false); + if (symbol && rangeContainsSkipTrivia(statement, symbol.valueDeclaration, file) && !rangeContainsSkipTrivia(selection, symbol.valueDeclaration, file)) { + return true; + } + } + else { + if (isThisIdentifier(node.exprName.left) && !rangeContainsSkipTrivia(selection, node.parent, file)) { + return true; + } + } + } + return forEachChild(node, visitor); + } + } + + function doTypeAliasChange(changes: textChanges.ChangeTracker, file: SourceFile, name: string, firstStatement: Statement, selection: TypeNode, typeParameters: ReadonlyArray) { + const newTypeNode = createTypeAliasDeclaration( + /* decorators */ undefined, + /* modifiers */ undefined, + name, + typeParameters.map(id => updateTypeParameterDeclaration(id, id.name, id.constraint, /* defaultType */ undefined)), + selection + ); + changes.insertNodeBefore(file, firstStatement, newTypeNode, /* blankLineBetween */ true); + changes.replaceNode(file, selection, createTypeReferenceNode(name, typeParameters.map(id => createTypeReferenceNode(id.name, /* typeArguments */ undefined)))); + } + + function doTypedefChange(changes: textChanges.ChangeTracker, file: SourceFile, name: string, firstStatement: Statement, selection: TypeNode, typeParameters: ReadonlyArray) { + const node = createNode(SyntaxKind.JSDocTypedefTag); + node.tagName = createIdentifier("typedef"); // TODO: jsdoc factory https://github.com/Microsoft/TypeScript/pull/29539 + node.fullName = createIdentifier(name); + node.name = node.fullName; + node.typeExpression = createJSDocTypeExpression(selection); + + const templates: JSDocTemplateTag[] = []; + forEach(typeParameters, typeParameter => { + const constraint = getEffectiveConstraintOfTypeParameter(typeParameter); + + const template = createNode(SyntaxKind.JSDocTemplateTag); + template.tagName = createIdentifier("template"); + template.constraint = constraint && cast(constraint, isJSDocTypeExpression); + + const parameter = createNode(SyntaxKind.TypeParameter); + parameter.name = typeParameter.name; + template.typeParameters = createNodeArray([parameter]); + + templates.push(template); + }); + + changes.insertNodeBefore(file, firstStatement, createJSDocComment(/* comment */ undefined, createNodeArray(concatenate(templates, [node]))), /* blankLineBetween */ true); + changes.replaceNode(file, selection, createTypeReferenceNode(name, typeParameters.map(id => createTypeReferenceNode(id.name, /* typeArguments */ undefined)))); + } +} diff --git a/src/services/services.ts b/src/services/services.ts index 42d2278bcba..6c882bbb28f 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -173,7 +173,7 @@ namespace ts { const textPos = scanner.getTextPos(); if (textPos <= end) { if (token === SyntaxKind.Identifier) { - Debug.fail(`Did not expect ${Debug.showSyntaxKind(parent)} to have an Identifier in its trivia`); + Debug.fail(`Did not expect ${Debug.formatSyntaxKind(parent.kind)} to have an Identifier in its trivia`); } nodes.push(createNode(token, pos, textPos, parent)); } @@ -1467,33 +1467,41 @@ namespace ts { } const typeChecker = program.getTypeChecker(); - const symbol = getSymbolAtLocationForQuickInfo(node, typeChecker); + const nodeForQuickInfo = getNodeForQuickInfo(node); + const symbol = getSymbolAtLocationForQuickInfo(nodeForQuickInfo, typeChecker); if (!symbol || typeChecker.isUnknownSymbol(symbol)) { - const type = shouldGetType(sourceFile, node, position) ? typeChecker.getTypeAtLocation(node) : undefined; + const type = shouldGetType(sourceFile, nodeForQuickInfo, position) ? typeChecker.getTypeAtLocation(nodeForQuickInfo) : undefined; return type && { kind: ScriptElementKind.unknown, kindModifiers: ScriptElementKindModifier.none, - textSpan: createTextSpanFromNode(node, sourceFile), - displayParts: typeChecker.runWithCancellationToken(cancellationToken, typeChecker => typeToDisplayParts(typeChecker, type, getContainerNode(node))), + textSpan: createTextSpanFromNode(nodeForQuickInfo, sourceFile), + displayParts: typeChecker.runWithCancellationToken(cancellationToken, typeChecker => typeToDisplayParts(typeChecker, type, getContainerNode(nodeForQuickInfo))), documentation: type.symbol ? type.symbol.getDocumentationComment(typeChecker) : undefined, tags: type.symbol ? type.symbol.getJsDocTags() : undefined }; } const { symbolKind, displayParts, documentation, tags } = typeChecker.runWithCancellationToken(cancellationToken, typeChecker => - SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(typeChecker, symbol, sourceFile, getContainerNode(node), node) + SymbolDisplay.getSymbolDisplayPartsDocumentationAndSymbolKind(typeChecker, symbol, sourceFile, getContainerNode(nodeForQuickInfo), nodeForQuickInfo) ); return { kind: symbolKind, kindModifiers: SymbolDisplay.getSymbolModifiers(symbol), - textSpan: createTextSpanFromNode(node, sourceFile), + textSpan: createTextSpanFromNode(nodeForQuickInfo, sourceFile), displayParts, documentation, tags, }; } + function getNodeForQuickInfo(node: Node): Node { + if (isNewExpression(node.parent) && node.pos === node.parent.pos) { + return node.parent.expression; + } + return node; + } + function shouldGetType(sourceFile: SourceFile, node: Node, position: number): boolean { switch (node.kind) { case SyntaxKind.Identifier: @@ -2072,6 +2080,10 @@ namespace ts { }; } + function getSmartSelectionRange(fileName: string, position: number): SelectionRange { + return SmartSelectionRange.getSmartSelectionRange(position, syntaxTreeCache.getCurrentSourceFile(fileName)); + } + function getApplicableRefactors(fileName: string, positionOrRange: number | TextRange, preferences: UserPreferences = emptyOptions): ApplicableRefactorInfo[] { synchronizeHostData(); const file = getValidSourceFile(fileName); @@ -2119,6 +2131,7 @@ namespace ts { getBreakpointStatementAtPosition, getNavigateToItems, getRenameInfo, + getSmartSelectionRange, findRenameLocations, getNavigationBarItems, getNavigationTree, diff --git a/src/services/shims.ts b/src/services/shims.ts index 208cf3dbc3c..e914a4acd42 100644 --- a/src/services/shims.ts +++ b/src/services/shims.ts @@ -165,6 +165,7 @@ namespace ts { * { canRename: boolean, localizedErrorMessage: string, displayName: string, fullDisplayName: string, kind: string, kindModifiers: string, triggerSpan: { start; length } } */ getRenameInfo(fileName: string, position: number, options?: RenameInfoOptions): string; + getSmartSelectionRange(fileName: string, position: number): string; /** * Returns a JSON-encoded value of the type: @@ -838,6 +839,13 @@ namespace ts { ); } + public getSmartSelectionRange(fileName: string, position: number): string { + return this.forwardJSONCall( + `getSmartSelectionRange('${fileName}', ${position})`, + () => this.languageService.getSmartSelectionRange(fileName, position) + ); + } + public findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename?: boolean): string { return this.forwardJSONCall( `findRenameLocations('${fileName}', ${position}, ${findInStrings}, ${findInComments}, ${providePrefixAndSuffixTextForRename})`, diff --git a/src/services/signatureHelp.ts b/src/services/signatureHelp.ts index 0c9f76acacb..25f958dfc6a 100644 --- a/src/services/signatureHelp.ts +++ b/src/services/signatureHelp.ts @@ -455,7 +455,7 @@ namespace ts.SignatureHelp { for (let n = node; !isSourceFile(n) && (isManuallyInvoked || !isBlock(n)); n = n.parent) { // If the node is not a subspan of its parent, this is a big problem. // There have been crashes that might be caused by this violation. - Debug.assert(rangeContainsRange(n.parent, n), "Not a subspan", () => `Child: ${Debug.showSyntaxKind(n)}, parent: ${Debug.showSyntaxKind(n.parent)}`); + Debug.assert(rangeContainsRange(n.parent, n), "Not a subspan", () => `Child: ${Debug.formatSyntaxKind(n.kind)}, parent: ${Debug.formatSyntaxKind(n.parent.kind)}`); const argumentInfo = getImmediatelyContainingArgumentOrContextualParameterInfo(n, position, sourceFile, checker); if (argumentInfo) { return argumentInfo; diff --git a/src/services/smartSelection.ts b/src/services/smartSelection.ts new file mode 100644 index 00000000000..ddd3c75c2c7 --- /dev/null +++ b/src/services/smartSelection.ts @@ -0,0 +1,266 @@ +/* @internal */ +namespace ts.SmartSelectionRange { + export function getSmartSelectionRange(pos: number, sourceFile: SourceFile): SelectionRange { + let selectionRange: SelectionRange = { + textSpan: createTextSpanFromBounds(sourceFile.getFullStart(), sourceFile.getEnd()) + }; + + let parentNode: Node = sourceFile; + outer: while (true) { + const children = getSelectionChildren(parentNode); + if (!children.length) break; + for (let i = 0; i < children.length; i++) { + const prevNode: Node | undefined = children[i - 1]; + const node: Node = children[i]; + const nextNode: Node | undefined = children[i + 1]; + if (node.getStart(sourceFile) > pos) { + break outer; + } + + if (positionShouldSnapToNode(pos, node, nextNode)) { + // 1. Blocks are effectively redundant with SyntaxLists. + // 2. TemplateSpans, along with the SyntaxLists containing them, are a somewhat unintuitive grouping + // of things that should be considered independently. + // 3. A VariableStatement’s children are just a VaraiableDeclarationList and a semicolon. + // 4. A lone VariableDeclaration in a VaraibleDeclaration feels redundant with the VariableStatement. + // + // Dive in without pushing a selection range. + if (isBlock(node) + || isTemplateSpan(node) || isTemplateHead(node) + || prevNode && isTemplateHead(prevNode) + || isVariableDeclarationList(node) && isVariableStatement(parentNode) + || isSyntaxList(node) && isVariableDeclarationList(parentNode) + || isVariableDeclaration(node) && isSyntaxList(parentNode) && children.length === 1) { + parentNode = node; + break; + } + + // Synthesize a stop for '${ ... }' since '${' and '}' actually belong to siblings. + if (isTemplateSpan(parentNode) && nextNode && isTemplateMiddleOrTemplateTail(nextNode)) { + const start = node.getFullStart() - "${".length; + const end = nextNode.getStart() + "}".length; + pushSelectionRange(start, end); + } + + // Blocks with braces, brackets, parens, or JSX tags on separate lines should be + // selected from open to close, including whitespace but not including the braces/etc. themselves. + const isBetweenMultiLineBookends = isSyntaxList(node) + && isListOpener(prevNode) + && isListCloser(nextNode) + && !positionsAreOnSameLine(prevNode.getStart(), nextNode.getStart(), sourceFile); + const jsDocCommentStart = hasJSDocNodes(node) && node.jsDoc![0].getStart(); + const start = isBetweenMultiLineBookends ? prevNode.getEnd() : node.getStart(); + const end = isBetweenMultiLineBookends ? nextNode.getStart() : node.getEnd(); + if (isNumber(jsDocCommentStart)) { + pushSelectionRange(jsDocCommentStart, end); + } + pushSelectionRange(start, end); + + // String literals should have a stop both inside and outside their quotes. + if (isStringLiteral(node) || isTemplateLiteral(node)) { + pushSelectionRange(start + 1, end - 1); + } + + parentNode = node; + break; + } + } + } + + return selectionRange; + + function pushSelectionRange(start: number, end: number): void { + // Skip empty ranges + if (start !== end) { + // Skip ranges that are identical to the parent + const textSpan = createTextSpanFromBounds(start, end); + if (!selectionRange || !textSpansEqual(textSpan, selectionRange.textSpan)) { + selectionRange = { textSpan, ...selectionRange && { parent: selectionRange } }; + } + } + } + } + + /** + * Like `ts.positionBelongsToNode`, except positions immediately after nodes + * count too, unless that position belongs to the next node. In effect, makes + * selections able to snap to preceding tokens when the cursor is on the tail + * end of them with only whitespace ahead. + * @param pos The position to check. + * @param node The candidate node to snap to. + * @param nextNode The next sibling node in the tree. + * @param sourceFile The source file containing the nodes. + */ + function positionShouldSnapToNode(pos: number, node: Node, nextNode: Node | undefined) { + // Can’t use 'ts.positionBelongsToNode()' here because it cleverly accounts + // for missing nodes, which can’t really be considered when deciding what + // to select. + Debug.assert(node.pos <= pos); + if (pos < node.end) { + return true; + } + const nodeEnd = node.getEnd(); + const nextNodeStart = nextNode && nextNode.getStart(); + if (nodeEnd === pos) { + return pos !== nextNodeStart; + } + return false; + } + + const isImport = or(isImportDeclaration, isImportEqualsDeclaration); + + /** + * Gets the children of a node to be considered for selection ranging, + * transforming them into an artificial tree according to their intuitive + * grouping where no grouping actually exists in the parse tree. For example, + * top-level imports are grouped into their own SyntaxList so they can be + * selected all together, even though in the AST they’re just siblings of each + * other as well as of other top-level statements and declarations. + */ + function getSelectionChildren(node: Node): ReadonlyArray { + // Group top-level imports + if (isSourceFile(node)) { + return groupChildren(node.getChildAt(0).getChildren(), isImport); + } + + // Mapped types _look_ like ObjectTypes with a single member, + // but in fact don’t contain a SyntaxList or a node containing + // the “key/value” pair like ObjectTypes do, but it seems intuitive + // that the selection would snap to those points. The philosophy + // of choosing a selection range is not so much about what the + // syntax currently _is_ as what the syntax might easily become + // if the user is making a selection; e.g., we synthesize a selection + // around the “key/value” pair not because there’s a node there, but + // because it allows the mapped type to become an object type with a + // few keystrokes. + if (isMappedTypeNode(node)) { + const [openBraceToken, ...children] = node.getChildren(); + const closeBraceToken = Debug.assertDefined(children.pop()); + Debug.assertEqual(openBraceToken.kind, SyntaxKind.OpenBraceToken); + Debug.assertEqual(closeBraceToken.kind, SyntaxKind.CloseBraceToken); + // Group `-/+readonly` and `-/+?` + const groupedWithPlusMinusTokens = groupChildren(children, child => + child === node.readonlyToken || child.kind === SyntaxKind.ReadonlyKeyword || + child === node.questionToken || child.kind === SyntaxKind.QuestionToken); + // Group type parameter with surrounding brackets + const groupedWithBrackets = groupChildren(groupedWithPlusMinusTokens, ({ kind }) => + kind === SyntaxKind.OpenBracketToken || + kind === SyntaxKind.TypeParameter || + kind === SyntaxKind.CloseBracketToken + ); + return [ + openBraceToken, + // Pivot on `:` + createSyntaxList(splitChildren(groupedWithBrackets, ({ kind }) => kind === SyntaxKind.ColonToken)), + closeBraceToken, + ]; + } + + // Group modifiers and property name, then pivot on `:`. + if (isPropertySignature(node)) { + const children = groupChildren(node.getChildren(), child => + child === node.name || contains(node.modifiers, child)); + return splitChildren(children, ({ kind }) => kind === SyntaxKind.ColonToken); + } + + // Group the parameter name with its `...`, then that group with its `?`, then pivot on `=`. + if (isParameter(node)) { + const groupedDotDotDotAndName = groupChildren(node.getChildren(), child => + child === node.dotDotDotToken || child === node.name); + const groupedWithQuestionToken = groupChildren(groupedDotDotDotAndName, child => + child === groupedDotDotDotAndName[0] || child === node.questionToken); + return splitChildren(groupedWithQuestionToken, ({ kind }) => kind === SyntaxKind.EqualsToken); + } + + // Pivot on '=' + if (isBindingElement(node)) { + return splitChildren(node.getChildren(), ({ kind }) => kind === SyntaxKind.EqualsToken); + } + + return node.getChildren(); + } + + /** + * Groups sibling nodes together into their own SyntaxList if they + * a) are adjacent, AND b) match a predicate function. + */ + function groupChildren(children: Node[], groupOn: (child: Node) => boolean): Node[] { + const result: Node[] = []; + let group: Node[] | undefined; + for (const child of children) { + if (groupOn(child)) { + group = group || []; + group.push(child); + } + else { + if (group) { + result.push(createSyntaxList(group)); + group = undefined; + } + result.push(child); + } + } + if (group) { + result.push(createSyntaxList(group)); + } + + return result; + } + + /** + * Splits sibling nodes into up to four partitions: + * 1) everything left of the first node matched by `pivotOn`, + * 2) the first node matched by `pivotOn`, + * 3) everything right of the first node matched by `pivotOn`, + * 4) a trailing semicolon, if `separateTrailingSemicolon` is enabled. + * The left and right groups, if not empty, will each be grouped into their own containing SyntaxList. + * @param children The sibling nodes to split. + * @param pivotOn The predicate function to match the node to be the pivot. The first node that matches + * the predicate will be used; any others that may match will be included into the right-hand group. + * @param separateTrailingSemicolon If the last token is a semicolon, it will be returned as a separate + * child rather than be included in the right-hand group. + */ + function splitChildren(children: Node[], pivotOn: (child: Node) => boolean, separateTrailingSemicolon = true): Node[] { + if (children.length < 2) { + return children; + } + const splitTokenIndex = findIndex(children, pivotOn); + if (splitTokenIndex === -1) { + return children; + } + const leftChildren = children.slice(0, splitTokenIndex); + const splitToken = children[splitTokenIndex]; + const lastToken = last(children); + const separateLastToken = separateTrailingSemicolon && lastToken.kind === SyntaxKind.SemicolonToken; + const rightChildren = children.slice(splitTokenIndex + 1, separateLastToken ? children.length - 1 : undefined); + const result = compact([ + leftChildren.length ? createSyntaxList(leftChildren) : undefined, + splitToken, + rightChildren.length ? createSyntaxList(rightChildren) : undefined, + ]); + return separateLastToken ? result.concat(lastToken) : result; + } + + function createSyntaxList(children: Node[]): SyntaxList { + Debug.assertGreaterThanOrEqual(children.length, 1); + const syntaxList = createNode(SyntaxKind.SyntaxList, children[0].pos, last(children).end) as SyntaxList; + syntaxList._children = children; + return syntaxList; + } + + function isListOpener(token: Node | undefined): token is Node { + const kind = token && token.kind; + return kind === SyntaxKind.OpenBraceToken + || kind === SyntaxKind.OpenBracketToken + || kind === SyntaxKind.OpenParenToken + || kind === SyntaxKind.JsxOpeningElement; + } + + function isListCloser(token: Node | undefined): token is Node { + const kind = token && token.kind; + return kind === SyntaxKind.CloseBraceToken + || kind === SyntaxKind.CloseBracketToken + || kind === SyntaxKind.CloseParenToken + || kind === SyntaxKind.JsxClosingElement; + } +} diff --git a/src/services/stringCompletions.ts b/src/services/stringCompletions.ts index aafe9076056..b287ebdb406 100644 --- a/src/services/stringCompletions.ts +++ b/src/services/stringCompletions.ts @@ -21,7 +21,17 @@ namespace ts.Completions.StringCompletions { return convertPathCompletions(completion.paths); case StringLiteralCompletionKind.Properties: { const entries: CompletionEntry[] = []; - getCompletionEntriesFromSymbols(completion.symbols, entries, sourceFile, sourceFile, checker, ScriptTarget.ESNext, log, CompletionKind.String, preferences); // Target will not be used, so arbitrary + getCompletionEntriesFromSymbols( + completion.symbols, + entries, + sourceFile, + sourceFile, + checker, + ScriptTarget.ESNext, + log, + CompletionKind.String, + preferences + ); // Target will not be used, so arbitrary return { isGlobalCompletion: false, isMemberCompletion: true, isNewIdentifierLocation: completion.hasIndexSignature, entries }; } case StringLiteralCompletionKind.Types: { @@ -60,7 +70,7 @@ namespace ts.Completions.StringCompletions { const isGlobalCompletion = false; // We don't want the editor to offer any other completions, such as snippets, inside a comment. const isNewIdentifierLocation = true; // The user may type in a path that doesn't yet exist, creating a "new identifier" with respect to the collection of identifiers the server is aware of. const entries = pathCompletions.map(({ name, kind, span, extension }): CompletionEntry => - ({ name, kind, kindModifiers: kindModifiersFromExtension(extension), sortText: "0", replacementSpan: span })); + ({ name, kind, kindModifiers: kindModifiersFromExtension(extension), sortText: SortText.LocationPriority, replacementSpan: span })); return { isGlobalCompletion, isMemberCompletion: false, isNewIdentifierLocation, entries }; } function kindModifiersFromExtension(extension: Extension | undefined): ScriptElementKindModifier { diff --git a/src/services/tsconfig.json b/src/services/tsconfig.json index 93880ea0d9b..681a9fc4b5e 100644 --- a/src/services/tsconfig.json +++ b/src/services/tsconfig.json @@ -28,6 +28,7 @@ "patternMatcher.ts", "preProcess.ts", "rename.ts", + "smartSelection.ts", "signatureHelp.ts", "sourcemaps.ts", "suggestionDiagnostics.ts", @@ -80,6 +81,7 @@ "refactors/convertExport.ts", "refactors/convertImport.ts", "refactors/extractSymbol.ts", + "refactors/extractType.ts", "refactors/generateGetAccessorAndSetAccessor.ts", "refactors/moveToNewFile.ts", "refactors/addOrRemoveBracesToArrowFunction.ts", diff --git a/src/services/types.ts b/src/services/types.ts index d65a51d4dd3..8dee6c4f053 100644 --- a/src/services/types.ts +++ b/src/services/types.ts @@ -296,6 +296,8 @@ namespace ts { getRenameInfo(fileName: string, position: number, options?: RenameInfoOptions): RenameInfo; findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename?: boolean): ReadonlyArray | undefined; + getSmartSelectionRange(fileName: string, position: number): SelectionRange; + getDefinitionAtPosition(fileName: string, position: number): ReadonlyArray | undefined; getDefinitionAndBoundSpan(fileName: string, position: number): DefinitionInfoAndBoundSpan | undefined; getTypeDefinitionAtPosition(fileName: string, position: number): ReadonlyArray | undefined; @@ -848,6 +850,11 @@ namespace ts { isOptional: boolean; } + export interface SelectionRange { + textSpan: TextSpan; + parent?: SelectionRange; + } + /** * Represents a single signature to show in signature help. * The id is used for subsequent calls into the language service to ask questions about the diff --git a/src/testRunner/tsconfig.json b/src/testRunner/tsconfig.json index fb0280bbc66..07499a998ba 100644 --- a/src/testRunner/tsconfig.json +++ b/src/testRunner/tsconfig.json @@ -142,6 +142,7 @@ "unittests/tsserver/reload.ts", "unittests/tsserver/rename.ts", "unittests/tsserver/resolutionCache.ts", + "unittests/tsserver/smartSelection.ts", "unittests/tsserver/session.ts", "unittests/tsserver/skipLibCheck.ts", "unittests/tsserver/symLinks.ts", diff --git a/src/testRunner/unittests/config/configurationExtension.ts b/src/testRunner/unittests/config/configurationExtension.ts index 25e975c0fb2..6c1fc952295 100644 --- a/src/testRunner/unittests/config/configurationExtension.ts +++ b/src/testRunner/unittests/config/configurationExtension.ts @@ -197,13 +197,13 @@ namespace ts { const caseSensitiveBasePath = "/dev/"; const caseSensitiveHost = new fakes.ParseConfigHost(createFileSystem(/*ignoreCase*/ false, caseSensitiveBasePath, "/")); - function verifyDiagnostics(actual: Diagnostic[], expected: {code: number, category: DiagnosticCategory, messageText: string}[]) { + function verifyDiagnostics(actual: Diagnostic[], expected: { code: number; messageText: string; }[]) { assert.isTrue(expected.length === actual.length, `Expected error: ${JSON.stringify(expected)}. Actual error: ${JSON.stringify(actual)}.`); for (let i = 0; i < actual.length; i++) { const actualError = actual[i]; const expectedError = expected[i]; assert.equal(actualError.code, expectedError.code, "Error code mismatch"); - assert.equal(actualError.category, expectedError.category, "Category mismatch"); + assert.equal(actualError.category, DiagnosticCategory.Error, "Category mismatch"); // Should always be error assert.equal(flattenDiagnosticMessageText(actualError.messageText, "\n"), expectedError.messageText); } } @@ -246,7 +246,7 @@ namespace ts { }); } - function testFailure(name: string, entry: string, expectedDiagnostics: { code: number, category: DiagnosticCategory, messageText: string }[]) { + function testFailure(name: string, entry: string, expectedDiagnostics: { code: number; messageText: string; }[]) { it(name, () => { const parsed = getParseCommandLine(entry); verifyDiagnostics(parsed.errors, expectedDiagnostics); @@ -280,26 +280,22 @@ namespace ts { testFailure("can report errors on circular imports", "circular.json", [ { code: 18000, - category: DiagnosticCategory.Error, messageText: `Circularity detected while resolving configuration: ${[combinePaths(basePath, "circular.json"), combinePaths(basePath, "circular2.json"), combinePaths(basePath, "circular.json")].join(" -> ")}` } ]); testFailure("can report missing configurations", "missing.json", [{ - code: 6096, - category: DiagnosticCategory.Message, - messageText: `File './missing2' does not exist.` + code: 6053, + messageText: `File './missing2' not found.` }]); testFailure("can report errors in extended configs", "failure.json", [{ code: 6114, - category: DiagnosticCategory.Error, messageText: `Unknown option 'excludes'. Did you mean 'exclude'?` }]); testFailure("can error when 'extends' is not a string", "extends.json", [{ code: 5024, - category: DiagnosticCategory.Error, messageText: `Compiler option 'extends' requires a value of type string.` }]); diff --git a/src/testRunner/unittests/customTransforms.ts b/src/testRunner/unittests/customTransforms.ts index 0ac14341342..2a2309d4b87 100644 --- a/src/testRunner/unittests/customTransforms.ts +++ b/src/testRunner/unittests/customTransforms.ts @@ -140,22 +140,28 @@ namespace ts { ], { before: [ - context => node => visitNode(node, function visitor(node: Node): Node { - if (isIdentifier(node) && node.text === "original") { - const newNode = createIdentifier("changed"); - setSourceMapRange(newNode, { - pos: 0, - end: 7, - // Do not provide a custom skipTrivia function for `source`. - source: createSourceMapSource("another.html", "changed;") - }); - return newNode; - } - return visitEachChild(node, visitor, context); - }) + context => { + const transformSourceFile: Transformer = node => visitNode(node, function visitor(node: Node): Node { + if (isIdentifier(node) && node.text === "original") { + const newNode = createIdentifier("changed"); + setSourceMapRange(newNode, { + pos: 0, + end: 7, + // Do not provide a custom skipTrivia function for `source`. + source: createSourceMapSource("another.html", "changed;") + }); + return newNode; + } + return visitEachChild(node, visitor, context); + }); + return { + transformSourceFile, + transformBundle: node => createBundle(map(node.sourceFiles, transformSourceFile), node.prepends), + }; + } ] }, - { sourceMap: true } + { sourceMap: true, outFile: "source.js" } ); }); diff --git a/src/testRunner/unittests/factory.ts b/src/testRunner/unittests/factory.ts index cc760059c19..5593b392567 100644 --- a/src/testRunner/unittests/factory.ts +++ b/src/testRunner/unittests/factory.ts @@ -1,7 +1,7 @@ namespace ts { describe("unittests:: FactoryAPI", () => { function assertSyntaxKind(node: Node, expected: SyntaxKind) { - assert.strictEqual(node.kind, expected, `Actual: ${Debug.showSyntaxKind(node)} Expected: ${(ts as any).SyntaxKind[expected]}`); + assert.strictEqual(node.kind, expected, `Actual: ${Debug.formatSyntaxKind(node.kind)} Expected: ${Debug.formatSyntaxKind(expected)}`); } describe("createExportAssignment", () => { it("parenthesizes default export if necessary", () => { diff --git a/src/testRunner/unittests/jsDocParsing.ts b/src/testRunner/unittests/jsDocParsing.ts index 4171a330f32..941b1557450 100644 --- a/src/testRunner/unittests/jsDocParsing.ts +++ b/src/testRunner/unittests/jsDocParsing.ts @@ -37,6 +37,8 @@ namespace ts { parsesCorrectly("callSignatureInRecordType", "{{(): number}}"); parsesCorrectly("methodInRecordType", "{{foo(): number}}"); parsesCorrectly("unionType", "{(number|string)}"); + parsesCorrectly("unionTypeWithLeadingOperator", "{( | number | string )}"); + parsesCorrectly("unionTypeWithOneElementAndLeadingOperator", "{( | number )}"); parsesCorrectly("topLevelNoParenUnionType", "{number|string}"); parsesCorrectly("functionType1", "{function()}"); parsesCorrectly("functionType2", "{function(string, boolean)}"); diff --git a/src/testRunner/unittests/moduleResolution.ts b/src/testRunner/unittests/moduleResolution.ts index 69560e5449c..4fecc6c09f3 100644 --- a/src/testRunner/unittests/moduleResolution.ts +++ b/src/testRunner/unittests/moduleResolution.ts @@ -530,7 +530,7 @@ export = C; }); }); - describe("unittests:: moduleResolution:: Files with different casing", () => { + describe("unittests:: moduleResolution:: Files with different casing with forceConsistentCasingInFileNames", () => { let library: SourceFile; function test(files: Map, options: CompilerOptions, currentDirectory: string, useCaseSensitiveFileNames: boolean, rootFiles: string[], diagnosticCodes: number[]): void { const getCanonicalFileName = createGetCanonicalFileName(useCaseSensitiveFileNames); @@ -649,6 +649,22 @@ import b = require("./moduleB"); }); test(files, { module: ModuleKind.CommonJS, forceConsistentCasingInFileNames: true }, "/a/B/c", /*useCaseSensitiveFileNames*/ false, ["moduleD.ts"], []); }); + + it("should succeed when the two files in program differ only in drive letter in their names", () => { + const files = createMapFromTemplate({ + "d:/someFolder/moduleA.ts": `import a = require("D:/someFolder/moduleC")`, + "d:/someFolder/moduleB.ts": `import a = require("./moduleC")`, + "D:/someFolder/moduleC.ts": "export const x = 10", + }); + test( + files, + { module: ModuleKind.CommonJS, forceConsistentCasingInFileNames: true }, + "d:/someFolder", + /*useCaseSensitiveFileNames*/ false, + ["d:/someFolder/moduleA.ts", "d:/someFolder/moduleB.ts"], + [] + ); + }); }); describe("unittests:: moduleResolution:: baseUrl augmented module resolution", () => { diff --git a/src/testRunner/unittests/tsserver/completions.ts b/src/testRunner/unittests/tsserver/completions.ts index 0a62f74dc7d..1cd44539d68 100644 --- a/src/testRunner/unittests/tsserver/completions.ts +++ b/src/testRunner/unittests/tsserver/completions.ts @@ -36,7 +36,7 @@ namespace ts.projectSystem { kindModifiers: ScriptElementKindModifier.exportedModifier, name: "foo", replacementSpan: undefined, - sortText: "0", + sortText: Completions.SortText.AutoImportSuggestions, source: "/a", }; assert.deepEqual(response, { diff --git a/src/testRunner/unittests/tsserver/session.ts b/src/testRunner/unittests/tsserver/session.ts index 715c0ab3324..cf84ffce6e8 100644 --- a/src/testRunner/unittests/tsserver/session.ts +++ b/src/testRunner/unittests/tsserver/session.ts @@ -264,6 +264,7 @@ namespace ts.server { CommandNames.OrganizeImportsFull, CommandNames.GetEditsForFileRename, CommandNames.GetEditsForFileRenameFull, + CommandNames.SelectionRange, ]; it("should not throw when commands are executed with invalid arguments", () => { diff --git a/src/testRunner/unittests/tsserver/smartSelection.ts b/src/testRunner/unittests/tsserver/smartSelection.ts new file mode 100644 index 00000000000..3c903d7da67 --- /dev/null +++ b/src/testRunner/unittests/tsserver/smartSelection.ts @@ -0,0 +1,66 @@ +namespace ts.projectSystem { + function setup(fileName: string, content: string) { + const file: File = { path: fileName, content }; + const host = createServerHost([file, libFile]); + const session = createSession(host); + openFilesForSession([file], session); + return function getSmartSelectionRange(locations: protocol.SelectionRangeRequestArgs["locations"]) { + return executeSessionRequest( + session, + CommandNames.SelectionRange, + { file: fileName, locations }); + }; + } + + // More tests in fourslash/smartSelection_* + describe("unittests:: tsserver:: smartSelection", () => { + it("works for simple JavaScript", () => { + const getSmartSelectionRange = setup("/file.js", ` +class Foo { + bar(a, b) { + if (a === b) { + return true; + } + return false; + } +}`); + + const locations = getSmartSelectionRange([ + { line: 4, offset: 13 }, // a === b + ]); + + assert.deepEqual(locations, [{ + textSpan: { // a + start: { line: 4, offset: 13 }, + end: { line: 4, offset: 14 } }, + parent: { + textSpan: { // a === b + start: { line: 4, offset: 13 }, + end: { line: 4, offset: 20 } }, + parent: { + textSpan: { // IfStatement + start: { line: 4, offset: 9 }, + end: { line: 6, offset: 10 } }, + parent: { + textSpan: { // SyntaxList + whitespace (body of method) + start: { line: 3, offset: 16 }, + end: { line: 8, offset: 5 } }, + parent: { + textSpan: { // MethodDeclaration + start: { line: 3, offset: 5 }, + end: { line: 8, offset: 6 } }, + parent: { + textSpan: { // SyntaxList + whitespace (body of class) + start: { line: 2, offset: 12 }, + end: { line: 9, offset: 1 } }, + parent: { + textSpan: { // ClassDeclaration + start: { line: 2, offset: 1 }, + end: { line: 9, offset: 2 } }, + parent: { + textSpan: { // SourceFile (all text) + start: { line: 1, offset: 1 }, + end: { line: 9, offset: 2 }, } } } } } } } } }]); + }); + }); +} diff --git a/tests/baselines/reference/ES5For-of37.js b/tests/baselines/reference/ES5For-of37.js new file mode 100644 index 00000000000..c9ea0236187 --- /dev/null +++ b/tests/baselines/reference/ES5For-of37.js @@ -0,0 +1,64 @@ +//// [ES5For-of37.ts] +// https://github.com/microsoft/TypeScript/issues/30083 + +for (const i of [0, 1, 2, 3, 4]) { + try { + // Ensure catch binding for the following loop is reset per iteration: + for (const j of [1, 2, 3]) { + if (i === 2) { + throw new Error('ERR'); + } + } + console.log(i); + } catch (err) { + console.log('E %s %s', i, err); + } +} + +//// [ES5For-of37.js] +// https://github.com/microsoft/TypeScript/issues/30083 +var __values = (this && this.__values) || function (o) { + var m = typeof Symbol === "function" && o[Symbol.iterator], i = 0; + if (m) return m.call(o); + return { + next: function () { + if (o && i >= o.length) o = void 0; + return { value: o && o[i++], done: !o }; + } + }; +}; +var e_1, _a, e_2, _b; +try { + for (var _c = __values([0, 1, 2, 3, 4]), _d = _c.next(); !_d.done; _d = _c.next()) { + var i = _d.value; + try { + try { + // Ensure catch binding for the following loop is reset per iteration: + for (var _e = (e_2 = void 0, __values([1, 2, 3])), _f = _e.next(); !_f.done; _f = _e.next()) { + var j = _f.value; + if (i === 2) { + throw new Error('ERR'); + } + } + } + catch (e_2_1) { e_2 = { error: e_2_1 }; } + finally { + try { + if (_f && !_f.done && (_b = _e["return"])) _b.call(_e); + } + finally { if (e_2) throw e_2.error; } + } + console.log(i); + } + catch (err) { + console.log('E %s %s', i, err); + } + } +} +catch (e_1_1) { e_1 = { error: e_1_1 }; } +finally { + try { + if (_d && !_d.done && (_a = _c["return"])) _a.call(_c); + } + finally { if (e_1) throw e_1.error; } +} diff --git a/tests/baselines/reference/ES5For-of37.symbols b/tests/baselines/reference/ES5For-of37.symbols new file mode 100644 index 00000000000..5c36b441706 --- /dev/null +++ b/tests/baselines/reference/ES5For-of37.symbols @@ -0,0 +1,35 @@ +=== tests/cases/conformance/statements/for-ofStatements/ES5For-of37.ts === +// https://github.com/microsoft/TypeScript/issues/30083 + +for (const i of [0, 1, 2, 3, 4]) { +>i : Symbol(i, Decl(ES5For-of37.ts, 2, 10)) + + try { + // Ensure catch binding for the following loop is reset per iteration: + for (const j of [1, 2, 3]) { +>j : Symbol(j, Decl(ES5For-of37.ts, 5, 18)) + + if (i === 2) { +>i : Symbol(i, Decl(ES5For-of37.ts, 2, 10)) + + throw new Error('ERR'); +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) + } + } + console.log(i); +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>i : Symbol(i, Decl(ES5For-of37.ts, 2, 10)) + + } catch (err) { +>err : Symbol(err, Decl(ES5For-of37.ts, 11, 13)) + + console.log('E %s %s', i, err); +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>i : Symbol(i, Decl(ES5For-of37.ts, 2, 10)) +>err : Symbol(err, Decl(ES5For-of37.ts, 11, 13)) + } +} diff --git a/tests/baselines/reference/ES5For-of37.types b/tests/baselines/reference/ES5For-of37.types new file mode 100644 index 00000000000..2488857382e --- /dev/null +++ b/tests/baselines/reference/ES5For-of37.types @@ -0,0 +1,52 @@ +=== tests/cases/conformance/statements/for-ofStatements/ES5For-of37.ts === +// https://github.com/microsoft/TypeScript/issues/30083 + +for (const i of [0, 1, 2, 3, 4]) { +>i : number +>[0, 1, 2, 3, 4] : number[] +>0 : 0 +>1 : 1 +>2 : 2 +>3 : 3 +>4 : 4 + + try { + // Ensure catch binding for the following loop is reset per iteration: + for (const j of [1, 2, 3]) { +>j : number +>[1, 2, 3] : number[] +>1 : 1 +>2 : 2 +>3 : 3 + + if (i === 2) { +>i === 2 : boolean +>i : number +>2 : 2 + + throw new Error('ERR'); +>new Error('ERR') : Error +>Error : ErrorConstructor +>'ERR' : "ERR" + } + } + console.log(i); +>console.log(i) : void +>console.log : (message?: any, ...optionalParams: any[]) => void +>console : Console +>log : (message?: any, ...optionalParams: any[]) => void +>i : number + + } catch (err) { +>err : any + + console.log('E %s %s', i, err); +>console.log('E %s %s', i, err) : void +>console.log : (message?: any, ...optionalParams: any[]) => void +>console : Console +>log : (message?: any, ...optionalParams: any[]) => void +>'E %s %s' : "E %s %s" +>i : number +>err : any + } +} diff --git a/tests/baselines/reference/ES5For-of7.errors.txt b/tests/baselines/reference/ES5For-of7.errors.txt index a3d40f38814..460c7bf4680 100644 --- a/tests/baselines/reference/ES5For-of7.errors.txt +++ b/tests/baselines/reference/ES5For-of7.errors.txt @@ -10,4 +10,5 @@ tests/cases/conformance/statements/for-ofStatements/ES5For-of7.ts(6,9): error TS var x = [w, v]; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'any', but here has type 'any[]'. +!!! related TS6203 tests/cases/conformance/statements/for-ofStatements/ES5For-of7.ts:2:9: 'x' was also declared here. } \ No newline at end of file diff --git a/tests/baselines/reference/FunctionAndModuleWithSameNameAndCommonRoot.errors.txt b/tests/baselines/reference/FunctionAndModuleWithSameNameAndCommonRoot.errors.txt index 20f8e09248a..0a72e6b641d 100644 --- a/tests/baselines/reference/FunctionAndModuleWithSameNameAndCommonRoot.errors.txt +++ b/tests/baselines/reference/FunctionAndModuleWithSameNameAndCommonRoot.errors.txt @@ -24,6 +24,7 @@ tests/cases/conformance/internalModules/DeclarationMerging/test.ts(2,5): error T var fn = A.Point; ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'fn' must be of type '() => { x: number; y: number; }', but here has type 'typeof Point'. +!!! related TS6203 tests/cases/conformance/internalModules/DeclarationMerging/test.ts:1:5: 'fn' was also declared here. var cl: { x: number; y: number; } var cl = A.Point(); @@ -46,6 +47,7 @@ tests/cases/conformance/internalModules/DeclarationMerging/test.ts(2,5): error T var fn = B.Point; // not expected to be an error. bug 840000: [corelang] Function of fundule not assignalbe as expected ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'fn' must be of type '() => { x: number; y: number; }', but here has type 'typeof Point'. +!!! related TS6203 tests/cases/conformance/internalModules/DeclarationMerging/test.ts:1:5: 'fn' was also declared here. var cl: { x: number; y: number; } var cl = B.Point(); diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unionTypeWithLeadingOperator.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unionTypeWithLeadingOperator.json new file mode 100644 index 00000000000..fd53183d616 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unionTypeWithLeadingOperator.json @@ -0,0 +1,37 @@ +{ + "kind": "ParenthesizedType", + "pos": 1, + "end": 22, + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, + "type": { + "kind": "UnionType", + "pos": 2, + "end": 20, + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, + "types": { + "0": { + "kind": "NumberKeyword", + "pos": 4, + "end": 11, + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 + }, + "1": { + "kind": "StringKeyword", + "pos": 13, + "end": 20, + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 + }, + "length": 2, + "pos": 2, + "end": 20 + } + } +} \ No newline at end of file diff --git a/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unionTypeWithOneElementAndLeadingOperator.json b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unionTypeWithOneElementAndLeadingOperator.json new file mode 100644 index 00000000000..7fd1b1b98f2 --- /dev/null +++ b/tests/baselines/reference/JSDocParsing/TypeExpressions.parsesCorrectly.unionTypeWithOneElementAndLeadingOperator.json @@ -0,0 +1,29 @@ +{ + "kind": "ParenthesizedType", + "pos": 1, + "end": 13, + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, + "type": { + "kind": "UnionType", + "pos": 2, + "end": 11, + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0, + "types": { + "0": { + "kind": "NumberKeyword", + "pos": 4, + "end": 11, + "flags": "JSDoc", + "modifierFlagsCache": 0, + "transformFlags": 0 + }, + "length": 1, + "pos": 2, + "end": 11 + } + } +} \ No newline at end of file diff --git a/tests/baselines/reference/api/tsserverlibrary.d.ts b/tests/baselines/reference/api/tsserverlibrary.d.ts index a0bbf92fcaf..d10aa28ffe4 100644 --- a/tests/baselines/reference/api/tsserverlibrary.d.ts +++ b/tests/baselines/reference/api/tsserverlibrary.d.ts @@ -1879,13 +1879,18 @@ declare namespace ts { sourceFile: SourceFile; references?: ReadonlyArray; } + type CustomTransformerFactory = (context: TransformationContext) => CustomTransformer; + interface CustomTransformer { + transformSourceFile(node: SourceFile): SourceFile; + transformBundle(node: Bundle): Bundle; + } interface CustomTransformers { /** Custom transformers to evaluate before built-in .js transformations. */ - before?: TransformerFactory[]; + before?: (TransformerFactory | CustomTransformerFactory)[]; /** Custom transformers to evaluate after built-in .js transformations. */ - after?: TransformerFactory[]; + after?: (TransformerFactory | CustomTransformerFactory)[]; /** Custom transformers to evaluate after built-in .d.ts transformations. */ - afterDeclarations?: TransformerFactory[]; + afterDeclarations?: (TransformerFactory | CustomTransformerFactory)[]; } interface SourceMapSpan { /** Line number in the .js file. */ @@ -1964,6 +1969,7 @@ declare namespace ts { */ getExportSymbolOfSymbol(symbol: Symbol): Symbol; getPropertySymbolOfDestructuringAssignment(location: Identifier): Symbol | undefined; + getTypeOfAssignmentPattern(pattern: AssignmentPattern): Type; getTypeAtLocation(node: Node): Type; getTypeFromTypeNode(node: TypeNode): Type; signatureToString(signature: Signature, enclosingDeclaration?: Node, flags?: TypeFormatFlags, kind?: SignatureKind): string; @@ -2385,8 +2391,8 @@ declare namespace ts { root: ConditionalRoot; checkType: Type; extendsType: Type; - trueType: Type; - falseType: Type; + resolvedTrueType: Type; + resolvedFalseType: Type; } interface SubstitutionType extends InstantiableType { typeVariable: TypeVariable; @@ -2413,12 +2419,13 @@ declare namespace ts { enum InferencePriority { NakedTypeVariable = 1, HomomorphicMappedType = 2, - MappedTypeConstraint = 4, - ReturnType = 8, - LiteralKeyof = 16, - NoConstraints = 32, - AlwaysStrict = 64, - PriorityImpliesCombination = 28 + PartialHomomorphicMappedType = 4, + MappedTypeConstraint = 8, + ReturnType = 16, + LiteralKeyof = 32, + NoConstraints = 64, + AlwaysStrict = 128, + PriorityImpliesCombination = 56 } /** @deprecated Use FileExtensionInfo instead. */ type JsFileExtensionInfo = FileExtensionInfo; @@ -3856,7 +3863,7 @@ declare namespace ts { function updateArrayLiteral(node: ArrayLiteralExpression, elements: ReadonlyArray): ArrayLiteralExpression; function createObjectLiteral(properties?: ReadonlyArray, multiLine?: boolean): ObjectLiteralExpression; function updateObjectLiteral(node: ObjectLiteralExpression, properties: ReadonlyArray): ObjectLiteralExpression; - function createPropertyAccess(expression: Expression, name: string | Identifier | undefined): PropertyAccessExpression; + function createPropertyAccess(expression: Expression, name: string | Identifier): PropertyAccessExpression; function updatePropertyAccess(node: PropertyAccessExpression, expression: Expression, name: Identifier): PropertyAccessExpression; function createElementAccess(expression: Expression, index: number | Expression): ElementAccessExpression; function updateElementAccess(node: ElementAccessExpression, expression: Expression, argumentExpression: Expression): ElementAccessExpression; @@ -4071,7 +4078,7 @@ declare namespace ts { function createInputFiles(javascriptText: string, declarationText: string): InputFiles; function createInputFiles(readFileText: (path: string) => string | undefined, javascriptPath: string, javascriptMapPath: string | undefined, declarationPath: string, declarationMapPath: string | undefined, buildInfoPath: string | undefined): InputFiles; function createInputFiles(javascriptText: string, declarationText: string, javascriptMapPath: string | undefined, javascriptMapText: string | undefined, declarationMapPath: string | undefined, declarationMapText: string | undefined): InputFiles; - function updateBundle(node: Bundle, sourceFiles: ReadonlyArray, prepends?: ReadonlyArray): Bundle; + function updateBundle(node: Bundle, sourceFiles: ReadonlyArray, prepends?: ReadonlyArray): Bundle; function createImmediatelyInvokedFunctionExpression(statements: ReadonlyArray): CallExpression; function createImmediatelyInvokedFunctionExpression(statements: ReadonlyArray, param: ParameterDeclaration, paramValue: Expression): CallExpression; function createImmediatelyInvokedArrowFunction(statements: ReadonlyArray): CallExpression; @@ -4803,6 +4810,7 @@ declare namespace ts { getSignatureHelpItems(fileName: string, position: number, options: SignatureHelpItemsOptions | undefined): SignatureHelpItems | undefined; getRenameInfo(fileName: string, position: number, options?: RenameInfoOptions): RenameInfo; findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename?: boolean): ReadonlyArray | undefined; + getSmartSelectionRange(fileName: string, position: number): SelectionRange; getDefinitionAtPosition(fileName: string, position: number): ReadonlyArray | undefined; getDefinitionAndBoundSpan(fileName: string, position: number): DefinitionInfoAndBoundSpan | undefined; getTypeDefinitionAtPosition(fileName: string, position: number): ReadonlyArray | undefined; @@ -5247,6 +5255,10 @@ declare namespace ts { displayParts: SymbolDisplayPart[]; isOptional: boolean; } + interface SelectionRange { + textSpan: TextSpan; + parent?: SelectionRange; + } /** * Represents a single signature to show in signature help. * The id is used for subsequent calls into the language service to ask questions about the @@ -5794,7 +5806,8 @@ declare namespace ts.server.protocol { GetEditsForRefactor = "getEditsForRefactor", OrganizeImports = "organizeImports", GetEditsForFileRename = "getEditsForFileRename", - ConfigurePlugin = "configurePlugin" + ConfigurePlugin = "configurePlugin", + SelectionRange = "selectionRange", } /** * A TypeScript Server message @@ -6757,6 +6770,20 @@ declare namespace ts.server.protocol { } interface ConfigurePluginResponse extends Response { } + interface SelectionRangeRequest extends FileRequest { + command: CommandTypes.SelectionRange; + arguments: SelectionRangeRequestArgs; + } + interface SelectionRangeRequestArgs extends FileRequestArgs { + locations: Location[]; + } + interface SelectionRangeResponse extends Response { + body?: SelectionRange[]; + } + interface SelectionRange { + textSpan: TextSpan; + parent?: SelectionRange; + } /** * Information found in an "open" request. */ @@ -9033,6 +9060,8 @@ declare namespace ts.server { private getBraceMatching; private getDiagnosticsForProject; private configurePlugin; + private getSmartSelectionRange; + private mapSelectionRange; getCanonicalFileName(fileName: string): string; exit(): void; private notRequired; diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index add726bd092..58ccd42344b 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -1879,13 +1879,18 @@ declare namespace ts { sourceFile: SourceFile; references?: ReadonlyArray; } + type CustomTransformerFactory = (context: TransformationContext) => CustomTransformer; + interface CustomTransformer { + transformSourceFile(node: SourceFile): SourceFile; + transformBundle(node: Bundle): Bundle; + } interface CustomTransformers { /** Custom transformers to evaluate before built-in .js transformations. */ - before?: TransformerFactory[]; + before?: (TransformerFactory | CustomTransformerFactory)[]; /** Custom transformers to evaluate after built-in .js transformations. */ - after?: TransformerFactory[]; + after?: (TransformerFactory | CustomTransformerFactory)[]; /** Custom transformers to evaluate after built-in .d.ts transformations. */ - afterDeclarations?: TransformerFactory[]; + afterDeclarations?: (TransformerFactory | CustomTransformerFactory)[]; } interface SourceMapSpan { /** Line number in the .js file. */ @@ -1964,6 +1969,7 @@ declare namespace ts { */ getExportSymbolOfSymbol(symbol: Symbol): Symbol; getPropertySymbolOfDestructuringAssignment(location: Identifier): Symbol | undefined; + getTypeOfAssignmentPattern(pattern: AssignmentPattern): Type; getTypeAtLocation(node: Node): Type; getTypeFromTypeNode(node: TypeNode): Type; signatureToString(signature: Signature, enclosingDeclaration?: Node, flags?: TypeFormatFlags, kind?: SignatureKind): string; @@ -2385,8 +2391,8 @@ declare namespace ts { root: ConditionalRoot; checkType: Type; extendsType: Type; - trueType: Type; - falseType: Type; + resolvedTrueType: Type; + resolvedFalseType: Type; } interface SubstitutionType extends InstantiableType { typeVariable: TypeVariable; @@ -2413,12 +2419,13 @@ declare namespace ts { enum InferencePriority { NakedTypeVariable = 1, HomomorphicMappedType = 2, - MappedTypeConstraint = 4, - ReturnType = 8, - LiteralKeyof = 16, - NoConstraints = 32, - AlwaysStrict = 64, - PriorityImpliesCombination = 28 + PartialHomomorphicMappedType = 4, + MappedTypeConstraint = 8, + ReturnType = 16, + LiteralKeyof = 32, + NoConstraints = 64, + AlwaysStrict = 128, + PriorityImpliesCombination = 56 } /** @deprecated Use FileExtensionInfo instead. */ type JsFileExtensionInfo = FileExtensionInfo; @@ -3856,7 +3863,7 @@ declare namespace ts { function updateArrayLiteral(node: ArrayLiteralExpression, elements: ReadonlyArray): ArrayLiteralExpression; function createObjectLiteral(properties?: ReadonlyArray, multiLine?: boolean): ObjectLiteralExpression; function updateObjectLiteral(node: ObjectLiteralExpression, properties: ReadonlyArray): ObjectLiteralExpression; - function createPropertyAccess(expression: Expression, name: string | Identifier | undefined): PropertyAccessExpression; + function createPropertyAccess(expression: Expression, name: string | Identifier): PropertyAccessExpression; function updatePropertyAccess(node: PropertyAccessExpression, expression: Expression, name: Identifier): PropertyAccessExpression; function createElementAccess(expression: Expression, index: number | Expression): ElementAccessExpression; function updateElementAccess(node: ElementAccessExpression, expression: Expression, argumentExpression: Expression): ElementAccessExpression; @@ -4071,7 +4078,7 @@ declare namespace ts { function createInputFiles(javascriptText: string, declarationText: string): InputFiles; function createInputFiles(readFileText: (path: string) => string | undefined, javascriptPath: string, javascriptMapPath: string | undefined, declarationPath: string, declarationMapPath: string | undefined, buildInfoPath: string | undefined): InputFiles; function createInputFiles(javascriptText: string, declarationText: string, javascriptMapPath: string | undefined, javascriptMapText: string | undefined, declarationMapPath: string | undefined, declarationMapText: string | undefined): InputFiles; - function updateBundle(node: Bundle, sourceFiles: ReadonlyArray, prepends?: ReadonlyArray): Bundle; + function updateBundle(node: Bundle, sourceFiles: ReadonlyArray, prepends?: ReadonlyArray): Bundle; function createImmediatelyInvokedFunctionExpression(statements: ReadonlyArray): CallExpression; function createImmediatelyInvokedFunctionExpression(statements: ReadonlyArray, param: ParameterDeclaration, paramValue: Expression): CallExpression; function createImmediatelyInvokedArrowFunction(statements: ReadonlyArray): CallExpression; @@ -4803,6 +4810,7 @@ declare namespace ts { getSignatureHelpItems(fileName: string, position: number, options: SignatureHelpItemsOptions | undefined): SignatureHelpItems | undefined; getRenameInfo(fileName: string, position: number, options?: RenameInfoOptions): RenameInfo; findRenameLocations(fileName: string, position: number, findInStrings: boolean, findInComments: boolean, providePrefixAndSuffixTextForRename?: boolean): ReadonlyArray | undefined; + getSmartSelectionRange(fileName: string, position: number): SelectionRange; getDefinitionAtPosition(fileName: string, position: number): ReadonlyArray | undefined; getDefinitionAndBoundSpan(fileName: string, position: number): DefinitionInfoAndBoundSpan | undefined; getTypeDefinitionAtPosition(fileName: string, position: number): ReadonlyArray | undefined; @@ -5247,6 +5255,10 @@ declare namespace ts { displayParts: SymbolDisplayPart[]; isOptional: boolean; } + interface SelectionRange { + textSpan: TextSpan; + parent?: SelectionRange; + } /** * Represents a single signature to show in signature help. * The id is used for subsequent calls into the language service to ask questions about the diff --git a/tests/baselines/reference/assigningFunctionToTupleIssuesError.errors.txt b/tests/baselines/reference/assigningFunctionToTupleIssuesError.errors.txt new file mode 100644 index 00000000000..ca1af66c087 --- /dev/null +++ b/tests/baselines/reference/assigningFunctionToTupleIssuesError.errors.txt @@ -0,0 +1,8 @@ +tests/cases/compiler/assigningFunctionToTupleIssuesError.ts(2,5): error TS2322: Type '() => void' is not assignable to type '[string]'. + + +==== tests/cases/compiler/assigningFunctionToTupleIssuesError.ts (1 errors) ==== + declare let a: () => void; + let b: [string] = a; + ~ +!!! error TS2322: Type '() => void' is not assignable to type '[string]'. \ No newline at end of file diff --git a/tests/baselines/reference/assigningFunctionToTupleIssuesError.js b/tests/baselines/reference/assigningFunctionToTupleIssuesError.js new file mode 100644 index 00000000000..3de3da7b3cc --- /dev/null +++ b/tests/baselines/reference/assigningFunctionToTupleIssuesError.js @@ -0,0 +1,6 @@ +//// [assigningFunctionToTupleIssuesError.ts] +declare let a: () => void; +let b: [string] = a; + +//// [assigningFunctionToTupleIssuesError.js] +var b = a; diff --git a/tests/baselines/reference/assigningFunctionToTupleIssuesError.symbols b/tests/baselines/reference/assigningFunctionToTupleIssuesError.symbols new file mode 100644 index 00000000000..7a499662aef --- /dev/null +++ b/tests/baselines/reference/assigningFunctionToTupleIssuesError.symbols @@ -0,0 +1,8 @@ +=== tests/cases/compiler/assigningFunctionToTupleIssuesError.ts === +declare let a: () => void; +>a : Symbol(a, Decl(assigningFunctionToTupleIssuesError.ts, 0, 11)) + +let b: [string] = a; +>b : Symbol(b, Decl(assigningFunctionToTupleIssuesError.ts, 1, 3)) +>a : Symbol(a, Decl(assigningFunctionToTupleIssuesError.ts, 0, 11)) + diff --git a/tests/baselines/reference/assigningFunctionToTupleIssuesError.types b/tests/baselines/reference/assigningFunctionToTupleIssuesError.types new file mode 100644 index 00000000000..6c7d57f8483 --- /dev/null +++ b/tests/baselines/reference/assigningFunctionToTupleIssuesError.types @@ -0,0 +1,8 @@ +=== tests/cases/compiler/assigningFunctionToTupleIssuesError.ts === +declare let a: () => void; +>a : () => void + +let b: [string] = a; +>b : [string] +>a : () => void + diff --git a/tests/baselines/reference/asyncArrowFunction5_es2017.errors.txt b/tests/baselines/reference/asyncArrowFunction5_es2017.errors.txt index 28ddb3bb9b9..26601467324 100644 --- a/tests/baselines/reference/asyncArrowFunction5_es2017.errors.txt +++ b/tests/baselines/reference/asyncArrowFunction5_es2017.errors.txt @@ -16,6 +16,7 @@ tests/cases/conformance/async/es2017/asyncArrowFunction/asyncArrowFunction5_es20 !!! error TS1005: ',' expected. ~~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'Promise' must be of type 'PromiseConstructor', but here has type 'any'. +!!! related TS6203 /.ts/lib.es2015.promise.d.ts:152:13: 'Promise' was also declared here. ~ !!! error TS1005: ',' expected. ~~ diff --git a/tests/baselines/reference/asyncArrowFunction5_es5.errors.txt b/tests/baselines/reference/asyncArrowFunction5_es5.errors.txt index f132abff235..cf82d765a56 100644 --- a/tests/baselines/reference/asyncArrowFunction5_es5.errors.txt +++ b/tests/baselines/reference/asyncArrowFunction5_es5.errors.txt @@ -16,6 +16,7 @@ tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction5_es5.ts( !!! error TS1005: ',' expected. ~~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'Promise' must be of type 'PromiseConstructor', but here has type 'any'. +!!! related TS6203 /.ts/lib.es2015.promise.d.ts:152:13: 'Promise' was also declared here. ~ !!! error TS1005: ',' expected. ~~ diff --git a/tests/baselines/reference/asyncArrowFunction5_es6.errors.txt b/tests/baselines/reference/asyncArrowFunction5_es6.errors.txt index a2f6f441252..909efc3c97e 100644 --- a/tests/baselines/reference/asyncArrowFunction5_es6.errors.txt +++ b/tests/baselines/reference/asyncArrowFunction5_es6.errors.txt @@ -16,6 +16,7 @@ tests/cases/conformance/async/es6/asyncArrowFunction/asyncArrowFunction5_es6.ts( !!! error TS1005: ',' expected. ~~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'Promise' must be of type 'PromiseConstructor', but here has type 'any'. +!!! related TS6203 /.ts/lib.es2015.promise.d.ts:152:13: 'Promise' was also declared here. ~ !!! error TS1005: ',' expected. ~~ diff --git a/tests/baselines/reference/asyncArrowFunction9_es2017.errors.txt b/tests/baselines/reference/asyncArrowFunction9_es2017.errors.txt index cd2bb9c8858..0be88de2868 100644 --- a/tests/baselines/reference/asyncArrowFunction9_es2017.errors.txt +++ b/tests/baselines/reference/asyncArrowFunction9_es2017.errors.txt @@ -16,6 +16,7 @@ tests/cases/conformance/async/es2017/asyncArrowFunction/asyncArrowFunction9_es20 !!! error TS1005: ',' expected. ~~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'Promise' must be of type 'PromiseConstructor', but here has type 'any'. +!!! related TS6203 /.ts/lib.es2015.promise.d.ts:152:13: 'Promise' was also declared here. ~ !!! error TS1005: ',' expected. ~~ diff --git a/tests/baselines/reference/asyncArrowFunction9_es5.errors.txt b/tests/baselines/reference/asyncArrowFunction9_es5.errors.txt index be561eab72c..085b3b50884 100644 --- a/tests/baselines/reference/asyncArrowFunction9_es5.errors.txt +++ b/tests/baselines/reference/asyncArrowFunction9_es5.errors.txt @@ -16,6 +16,7 @@ tests/cases/conformance/async/es5/asyncArrowFunction/asyncArrowFunction9_es5.ts( !!! error TS1005: ',' expected. ~~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'Promise' must be of type 'PromiseConstructor', but here has type 'any'. +!!! related TS6203 /.ts/lib.es2015.promise.d.ts:152:13: 'Promise' was also declared here. ~ !!! error TS1005: ',' expected. ~~ diff --git a/tests/baselines/reference/asyncArrowFunction9_es6.errors.txt b/tests/baselines/reference/asyncArrowFunction9_es6.errors.txt index 84177f28292..6949aad5cea 100644 --- a/tests/baselines/reference/asyncArrowFunction9_es6.errors.txt +++ b/tests/baselines/reference/asyncArrowFunction9_es6.errors.txt @@ -16,6 +16,7 @@ tests/cases/conformance/async/es6/asyncArrowFunction/asyncArrowFunction9_es6.ts( !!! error TS1005: ',' expected. ~~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'Promise' must be of type 'PromiseConstructor', but here has type 'any'. +!!! related TS6203 /.ts/lib.es2015.promise.d.ts:152:13: 'Promise' was also declared here. ~ !!! error TS1005: ',' expected. ~~ diff --git a/tests/baselines/reference/asyncFunctionTempVariableScoping.js b/tests/baselines/reference/asyncFunctionTempVariableScoping.js index c237e03e0f6..0e258b81284 100644 --- a/tests/baselines/reference/asyncFunctionTempVariableScoping.js +++ b/tests/baselines/reference/asyncFunctionTempVariableScoping.js @@ -45,8 +45,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var _this = this; diff --git a/tests/baselines/reference/augmentedTypesVar.errors.txt b/tests/baselines/reference/augmentedTypesVar.errors.txt index 261686f3659..ae910b4f5be 100644 --- a/tests/baselines/reference/augmentedTypesVar.errors.txt +++ b/tests/baselines/reference/augmentedTypesVar.errors.txt @@ -30,6 +30,7 @@ tests/cases/compiler/augmentedTypesVar.ts(31,8): error TS2300: Duplicate identif var x3 = () => { } // error ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x3' must be of type 'number', but here has type '() => void'. +!!! related TS6203 tests/cases/compiler/augmentedTypesVar.ts:9:5: 'x3' was also declared here. // var then class var x4 = 1; // error diff --git a/tests/baselines/reference/binaryArithmeticControlFlowGraphNotTooLarge.js b/tests/baselines/reference/binaryArithmeticControlFlowGraphNotTooLarge.js new file mode 100644 index 00000000000..ab5cd46e599 --- /dev/null +++ b/tests/baselines/reference/binaryArithmeticControlFlowGraphNotTooLarge.js @@ -0,0 +1,2562 @@ +//// [binaryArithmeticControlFlowGraphNotTooLarge.ts] +// Repro from #29926 (expanded 10x for good measure) + +const foo = function (this: any) { + var a, b, c, d, ab, bc, cd, da, blocks = this.blocks; + + if (this.first) { + a = blocks[0] - 1; + a = (a << 3) | (a >>> 29); + d = ((a & 0xefcdab89) | (~a & 0x98badcfe)) + blocks[1] + 271733878; + d = (d << 7) | (d >>> 25); + c = ((d & a) | (~d & 0xefcdab89)) + blocks[2] - 1732584194; + c = (c << 11) | (c >>> 21); + b = ((c & d) | (~c & a)) + blocks[3] - 271733879; + b = (b << 19) | (b >>> 13); + } else { + a = this.h0; + b = this.h1; + c = this.h2; + d = this.h3; + a += ((b & c) | (~b & d)) + blocks[0]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[1]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[2]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[3]; + b = (b << 19) | (b >>> 13); + } + + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + + if (this.first) { + this.h0 = a + 1732584193 << 0; + this.h1 = b - 271733879 << 0; + this.h2 = c - 1732584194 << 0; + this.h3 = d + 271733878 << 0; + this.first = false; + } else { + this.h0 = this.h0 + a << 0; + this.h1 = this.h1 + b << 0; + this.h2 = this.h2 + c << 0; + this.h3 = this.h3 + d << 0; + } +}; + +//// [binaryArithmeticControlFlowGraphNotTooLarge.js] +"use strict"; +// Repro from #29926 (expanded 10x for good measure) +var foo = function () { + var a, b, c, d, ab, bc, cd, da, blocks = this.blocks; + if (this.first) { + a = blocks[0] - 1; + a = (a << 3) | (a >>> 29); + d = ((a & 0xefcdab89) | (~a & 0x98badcfe)) + blocks[1] + 271733878; + d = (d << 7) | (d >>> 25); + c = ((d & a) | (~d & 0xefcdab89)) + blocks[2] - 1732584194; + c = (c << 11) | (c >>> 21); + b = ((c & d) | (~c & a)) + blocks[3] - 271733879; + b = (b << 19) | (b >>> 13); + } + else { + a = this.h0; + b = this.h1; + c = this.h2; + d = this.h3; + a += ((b & c) | (~b & d)) + blocks[0]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[1]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[2]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[3]; + b = (b << 19) | (b >>> 13); + } + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + if (this.first) { + this.h0 = a + 1732584193 << 0; + this.h1 = b - 271733879 << 0; + this.h2 = c - 1732584194 << 0; + this.h3 = d + 271733878 << 0; + this.first = false; + } + else { + this.h0 = this.h0 + a << 0; + this.h1 = this.h1 + b << 0; + this.h2 = this.h2 + c << 0; + this.h3 = this.h3 + d << 0; + } +}; diff --git a/tests/baselines/reference/binaryArithmeticControlFlowGraphNotTooLarge.symbols b/tests/baselines/reference/binaryArithmeticControlFlowGraphNotTooLarge.symbols new file mode 100644 index 00000000000..66da14318d6 --- /dev/null +++ b/tests/baselines/reference/binaryArithmeticControlFlowGraphNotTooLarge.symbols @@ -0,0 +1,7408 @@ +=== tests/cases/compiler/binaryArithmeticControlFlowGraphNotTooLarge.ts === +// Repro from #29926 (expanded 10x for good measure) + +const foo = function (this: any) { +>foo : Symbol(foo, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 2, 5)) +>this : Symbol(this, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 2, 22)) + + var a, b, c, d, ab, bc, cd, da, blocks = this.blocks; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) +>this : Symbol(this, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 2, 22)) + + if (this.first) { +>this : Symbol(this, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 2, 22)) + + a = blocks[0] - 1; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d = ((a & 0xefcdab89) | (~a & 0x98badcfe)) + blocks[1] + 271733878; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c = ((d & a) | (~d & 0xefcdab89)) + blocks[2] - 1732584194; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b = ((c & d) | (~c & a)) + blocks[3] - 271733879; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + } else { + a = this.h0; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>this : Symbol(this, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 2, 22)) + + b = this.h1; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>this : Symbol(this, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 2, 22)) + + c = this.h2; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>this : Symbol(this, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 2, 22)) + + d = this.h3; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>this : Symbol(this, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 2, 22)) + + a += ((b & c) | (~b & d)) + blocks[0]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[1]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[2]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[3]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + } + + a += ((b & c) | (~b & d)) + blocks[4]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[5]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[6]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[7]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[8]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[9]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[10]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[11]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[12]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[13]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[14]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[15]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[8] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[12] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[9] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[13] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[10] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[14] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[11] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[0] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[8] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[4] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[12] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[2] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[10] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[6] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[14] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[1] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[9] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[5] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[13] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[3] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[11] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[7] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[15] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[4]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[5]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[6]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[7]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[8]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[9]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[10]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[11]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[12]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[13]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[14]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[15]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[8] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[12] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[9] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[13] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[10] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[14] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[11] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[0] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[8] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[4] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[12] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[2] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[10] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[6] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[14] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[1] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[9] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[5] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[13] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[3] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[11] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[7] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[15] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[4]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[5]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[6]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[7]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[8]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[9]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[10]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[11]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[12]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[13]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[14]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[15]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[8] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[12] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[9] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[13] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[10] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[14] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[11] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[0] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[8] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[4] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[12] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[2] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[10] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[6] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[14] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[1] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[9] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[5] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[13] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[3] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[11] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[7] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[15] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[4]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[5]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[6]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[7]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[8]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[9]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[10]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[11]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[12]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[13]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[14]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[15]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[8] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[12] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[9] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[13] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[10] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[14] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[11] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[0] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[8] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[4] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[12] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[2] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[10] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[6] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[14] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[1] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[9] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[5] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[13] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[3] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[11] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[7] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[15] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[4]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[5]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[6]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[7]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[8]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[9]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[10]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[11]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[12]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[13]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[14]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[15]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[8] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[12] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[9] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[13] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[10] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[14] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[11] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[0] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[8] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[4] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[12] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[2] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[10] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[6] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[14] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[1] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[9] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[5] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[13] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[3] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[11] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[7] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[15] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[4]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[5]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[6]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[7]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[8]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[9]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[10]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[11]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[12]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[13]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[14]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[15]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[8] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[12] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[9] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[13] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[10] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[14] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[11] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[0] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[8] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[4] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[12] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[2] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[10] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[6] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[14] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[1] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[9] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[5] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[13] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[3] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[11] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[7] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[15] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[4]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[5]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[6]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[7]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[8]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[9]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[10]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[11]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[12]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[13]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[14]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[15]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[8] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[12] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[9] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[13] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[10] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[14] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[11] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[0] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[8] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[4] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[12] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[2] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[10] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[6] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[14] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[1] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[9] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[5] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[13] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[3] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[11] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[7] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[15] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[4]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[5]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[6]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[7]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[8]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[9]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[10]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[11]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[12]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[13]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[14]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[15]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[8] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[12] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[9] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[13] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[10] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[14] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[11] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[0] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[8] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[4] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[12] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[2] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[10] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[6] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[14] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[1] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[9] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[5] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[13] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[3] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[11] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[7] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[15] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[4]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[5]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[6]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[7]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[8]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[9]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[10]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[11]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[12]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[13]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[14]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[15]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[8] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[12] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[9] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[13] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[10] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[14] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[11] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[0] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[8] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[4] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[12] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[2] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[10] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[6] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[14] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[1] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[9] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[5] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[13] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[3] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[11] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[7] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[15] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[4]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[5]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[6]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[7]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[8]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[9]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[10]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[11]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[12]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[13]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[14]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[15]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[8] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[12] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[9] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[13] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[10] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[14] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[11] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[0] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[8] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[4] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[12] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[2] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[10] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[6] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[14] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[1] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[9] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[5] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[13] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[3] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[11] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[7] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[15] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[4]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[5]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[6]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[7]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[8]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[9]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[10]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[11]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + a += ((b & c) | (~b & d)) + blocks[12]; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += ((a & b) | (~a & c)) + blocks[13]; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 7) | (d >>> 25); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + c += ((d & a) | (~d & b)) + blocks[14]; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (~c & a)) + blocks[15]; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 19) | (b >>> 13); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[8] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[12] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[9] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[13] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[10] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + cd = c & d; +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + b += (cd | (c & a) | da) + blocks[14] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b & c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>cd : Symbol(cd, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 27)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + ab = a & b; +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 5) | (d >>> 27); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d & a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da | (d & b) | ab) + blocks[11] + 1518500249; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>ab : Symbol(ab, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 19)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 9) | (c >>> 23); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 13) | (b >>> 19); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[0] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[8] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[4] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[12] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[2] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[10] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[6] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[14] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[1] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[9] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[5] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[13] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + bc = b ^ c; +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + a += (bc ^ d) + blocks[3] + 1859775393; +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + a = (a << 3) | (a >>> 29); +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + d += (bc ^ a) + blocks[11] + 1859775393; +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>bc : Symbol(bc, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 23)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + d = (d << 9) | (d >>> 23); +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + da = d ^ a; +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + c += (da ^ b) + blocks[7] + 1859775393; +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + c = (c << 11) | (c >>> 21); +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + b += (da ^ c) + blocks[15] + 1859775393; +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>da : Symbol(da, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 31)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) +>blocks : Symbol(blocks, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 35)) + + b = (b << 15) | (b >>> 17); +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + if (this.first) { +>this : Symbol(this, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 2, 22)) + + this.h0 = a + 1732584193 << 0; +>this : Symbol(this, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 2, 22)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + this.h1 = b - 271733879 << 0; +>this : Symbol(this, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 2, 22)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + this.h2 = c - 1732584194 << 0; +>this : Symbol(this, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 2, 22)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + this.h3 = d + 271733878 << 0; +>this : Symbol(this, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 2, 22)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + + this.first = false; +>this : Symbol(this, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 2, 22)) + + } else { + this.h0 = this.h0 + a << 0; +>this : Symbol(this, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 2, 22)) +>this : Symbol(this, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 2, 22)) +>a : Symbol(a, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 7)) + + this.h1 = this.h1 + b << 0; +>this : Symbol(this, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 2, 22)) +>this : Symbol(this, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 2, 22)) +>b : Symbol(b, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 10)) + + this.h2 = this.h2 + c << 0; +>this : Symbol(this, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 2, 22)) +>this : Symbol(this, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 2, 22)) +>c : Symbol(c, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 13)) + + this.h3 = this.h3 + d << 0; +>this : Symbol(this, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 2, 22)) +>this : Symbol(this, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 2, 22)) +>d : Symbol(d, Decl(binaryArithmeticControlFlowGraphNotTooLarge.ts, 3, 16)) + } +}; diff --git a/tests/baselines/reference/binaryArithmeticControlFlowGraphNotTooLarge.types b/tests/baselines/reference/binaryArithmeticControlFlowGraphNotTooLarge.types new file mode 100644 index 00000000000..73618259b5b --- /dev/null +++ b/tests/baselines/reference/binaryArithmeticControlFlowGraphNotTooLarge.types @@ -0,0 +1,16864 @@ +=== tests/cases/compiler/binaryArithmeticControlFlowGraphNotTooLarge.ts === +// Repro from #29926 (expanded 10x for good measure) + +const foo = function (this: any) { +>foo : (this: any) => void +>function (this: any) { var a, b, c, d, ab, bc, cd, da, blocks = this.blocks; if (this.first) { a = blocks[0] - 1; a = (a << 3) | (a >>> 29); d = ((a & 0xefcdab89) | (~a & 0x98badcfe)) + blocks[1] + 271733878; d = (d << 7) | (d >>> 25); c = ((d & a) | (~d & 0xefcdab89)) + blocks[2] - 1732584194; c = (c << 11) | (c >>> 21); b = ((c & d) | (~c & a)) + blocks[3] - 271733879; b = (b << 19) | (b >>> 13); } else { a = this.h0; b = this.h1; c = this.h2; d = this.h3; a += ((b & c) | (~b & d)) + blocks[0]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[1]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[2]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[3]; b = (b << 19) | (b >>> 13); } a += ((b & c) | (~b & d)) + blocks[4]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[5]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[6]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[7]; b = (b << 19) | (b >>> 13); a += ((b & c) | (~b & d)) + blocks[8]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[9]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[10]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[11]; b = (b << 19) | (b >>> 13); a += ((b & c) | (~b & d)) + blocks[12]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[13]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[14]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[15]; b = (b << 19) | (b >>> 13); bc = b & c; a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[4] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[8] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[12] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[1] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[5] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[9] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[13] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[2] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[6] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[10] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[14] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[3] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[7] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[11] + 1518500249; c = (c << 9) | (c >>> 23); b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; b = (b << 13) | (b >>> 19); bc = b ^ c; a += (bc ^ d) + blocks[0] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[8] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[4] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[12] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[2] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[10] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[6] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[14] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[1] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[9] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[5] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[13] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[3] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[11] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[7] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[15] + 1859775393; b = (b << 15) | (b >>> 17); a += ((b & c) | (~b & d)) + blocks[4]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[5]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[6]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[7]; b = (b << 19) | (b >>> 13); a += ((b & c) | (~b & d)) + blocks[8]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[9]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[10]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[11]; b = (b << 19) | (b >>> 13); a += ((b & c) | (~b & d)) + blocks[12]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[13]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[14]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[15]; b = (b << 19) | (b >>> 13); bc = b & c; a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[4] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[8] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[12] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[1] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[5] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[9] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[13] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[2] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[6] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[10] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[14] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[3] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[7] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[11] + 1518500249; c = (c << 9) | (c >>> 23); b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; b = (b << 13) | (b >>> 19); bc = b ^ c; a += (bc ^ d) + blocks[0] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[8] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[4] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[12] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[2] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[10] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[6] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[14] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[1] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[9] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[5] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[13] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[3] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[11] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[7] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[15] + 1859775393; b = (b << 15) | (b >>> 17); a += ((b & c) | (~b & d)) + blocks[4]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[5]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[6]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[7]; b = (b << 19) | (b >>> 13); a += ((b & c) | (~b & d)) + blocks[8]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[9]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[10]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[11]; b = (b << 19) | (b >>> 13); a += ((b & c) | (~b & d)) + blocks[12]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[13]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[14]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[15]; b = (b << 19) | (b >>> 13); bc = b & c; a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[4] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[8] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[12] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[1] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[5] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[9] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[13] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[2] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[6] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[10] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[14] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[3] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[7] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[11] + 1518500249; c = (c << 9) | (c >>> 23); b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; b = (b << 13) | (b >>> 19); bc = b ^ c; a += (bc ^ d) + blocks[0] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[8] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[4] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[12] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[2] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[10] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[6] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[14] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[1] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[9] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[5] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[13] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[3] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[11] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[7] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[15] + 1859775393; b = (b << 15) | (b >>> 17); a += ((b & c) | (~b & d)) + blocks[4]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[5]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[6]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[7]; b = (b << 19) | (b >>> 13); a += ((b & c) | (~b & d)) + blocks[8]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[9]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[10]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[11]; b = (b << 19) | (b >>> 13); a += ((b & c) | (~b & d)) + blocks[12]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[13]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[14]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[15]; b = (b << 19) | (b >>> 13); bc = b & c; a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[4] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[8] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[12] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[1] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[5] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[9] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[13] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[2] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[6] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[10] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[14] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[3] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[7] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[11] + 1518500249; c = (c << 9) | (c >>> 23); b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; b = (b << 13) | (b >>> 19); bc = b ^ c; a += (bc ^ d) + blocks[0] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[8] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[4] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[12] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[2] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[10] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[6] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[14] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[1] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[9] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[5] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[13] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[3] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[11] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[7] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[15] + 1859775393; b = (b << 15) | (b >>> 17); a += ((b & c) | (~b & d)) + blocks[4]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[5]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[6]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[7]; b = (b << 19) | (b >>> 13); a += ((b & c) | (~b & d)) + blocks[8]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[9]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[10]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[11]; b = (b << 19) | (b >>> 13); a += ((b & c) | (~b & d)) + blocks[12]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[13]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[14]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[15]; b = (b << 19) | (b >>> 13); bc = b & c; a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[4] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[8] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[12] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[1] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[5] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[9] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[13] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[2] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[6] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[10] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[14] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[3] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[7] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[11] + 1518500249; c = (c << 9) | (c >>> 23); b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; b = (b << 13) | (b >>> 19); bc = b ^ c; a += (bc ^ d) + blocks[0] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[8] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[4] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[12] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[2] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[10] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[6] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[14] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[1] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[9] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[5] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[13] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[3] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[11] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[7] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[15] + 1859775393; b = (b << 15) | (b >>> 17); a += ((b & c) | (~b & d)) + blocks[4]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[5]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[6]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[7]; b = (b << 19) | (b >>> 13); a += ((b & c) | (~b & d)) + blocks[8]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[9]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[10]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[11]; b = (b << 19) | (b >>> 13); a += ((b & c) | (~b & d)) + blocks[12]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[13]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[14]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[15]; b = (b << 19) | (b >>> 13); bc = b & c; a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[4] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[8] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[12] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[1] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[5] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[9] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[13] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[2] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[6] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[10] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[14] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[3] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[7] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[11] + 1518500249; c = (c << 9) | (c >>> 23); b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; b = (b << 13) | (b >>> 19); bc = b ^ c; a += (bc ^ d) + blocks[0] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[8] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[4] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[12] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[2] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[10] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[6] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[14] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[1] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[9] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[5] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[13] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[3] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[11] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[7] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[15] + 1859775393; b = (b << 15) | (b >>> 17); a += ((b & c) | (~b & d)) + blocks[4]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[5]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[6]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[7]; b = (b << 19) | (b >>> 13); a += ((b & c) | (~b & d)) + blocks[8]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[9]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[10]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[11]; b = (b << 19) | (b >>> 13); a += ((b & c) | (~b & d)) + blocks[12]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[13]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[14]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[15]; b = (b << 19) | (b >>> 13); bc = b & c; a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[4] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[8] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[12] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[1] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[5] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[9] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[13] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[2] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[6] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[10] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[14] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[3] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[7] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[11] + 1518500249; c = (c << 9) | (c >>> 23); b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; b = (b << 13) | (b >>> 19); bc = b ^ c; a += (bc ^ d) + blocks[0] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[8] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[4] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[12] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[2] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[10] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[6] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[14] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[1] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[9] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[5] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[13] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[3] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[11] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[7] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[15] + 1859775393; b = (b << 15) | (b >>> 17); a += ((b & c) | (~b & d)) + blocks[4]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[5]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[6]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[7]; b = (b << 19) | (b >>> 13); a += ((b & c) | (~b & d)) + blocks[8]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[9]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[10]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[11]; b = (b << 19) | (b >>> 13); a += ((b & c) | (~b & d)) + blocks[12]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[13]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[14]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[15]; b = (b << 19) | (b >>> 13); bc = b & c; a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[4] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[8] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[12] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[1] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[5] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[9] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[13] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[2] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[6] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[10] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[14] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[3] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[7] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[11] + 1518500249; c = (c << 9) | (c >>> 23); b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; b = (b << 13) | (b >>> 19); bc = b ^ c; a += (bc ^ d) + blocks[0] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[8] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[4] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[12] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[2] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[10] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[6] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[14] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[1] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[9] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[5] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[13] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[3] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[11] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[7] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[15] + 1859775393; b = (b << 15) | (b >>> 17); a += ((b & c) | (~b & d)) + blocks[4]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[5]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[6]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[7]; b = (b << 19) | (b >>> 13); a += ((b & c) | (~b & d)) + blocks[8]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[9]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[10]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[11]; b = (b << 19) | (b >>> 13); a += ((b & c) | (~b & d)) + blocks[12]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[13]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[14]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[15]; b = (b << 19) | (b >>> 13); bc = b & c; a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[4] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[8] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[12] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[1] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[5] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[9] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[13] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[2] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[6] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[10] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[14] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[3] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[7] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[11] + 1518500249; c = (c << 9) | (c >>> 23); b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; b = (b << 13) | (b >>> 19); bc = b ^ c; a += (bc ^ d) + blocks[0] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[8] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[4] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[12] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[2] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[10] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[6] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[14] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[1] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[9] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[5] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[13] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[3] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[11] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[7] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[15] + 1859775393; b = (b << 15) | (b >>> 17); a += ((b & c) | (~b & d)) + blocks[4]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[5]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[6]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[7]; b = (b << 19) | (b >>> 13); a += ((b & c) | (~b & d)) + blocks[8]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[9]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[10]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[11]; b = (b << 19) | (b >>> 13); a += ((b & c) | (~b & d)) + blocks[12]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[13]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[14]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[15]; b = (b << 19) | (b >>> 13); bc = b & c; a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[4] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[8] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[12] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[1] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[5] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[9] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[13] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[2] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[6] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[10] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[14] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[3] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[7] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[11] + 1518500249; c = (c << 9) | (c >>> 23); b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; b = (b << 13) | (b >>> 19); bc = b ^ c; a += (bc ^ d) + blocks[0] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[8] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[4] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[12] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[2] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[10] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[6] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[14] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[1] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[9] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[5] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[13] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[3] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[11] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[7] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[15] + 1859775393; b = (b << 15) | (b >>> 17); a += ((b & c) | (~b & d)) + blocks[4]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[5]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[6]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[7]; b = (b << 19) | (b >>> 13); a += ((b & c) | (~b & d)) + blocks[8]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[9]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[10]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[11]; b = (b << 19) | (b >>> 13); a += ((b & c) | (~b & d)) + blocks[12]; a = (a << 3) | (a >>> 29); d += ((a & b) | (~a & c)) + blocks[13]; d = (d << 7) | (d >>> 25); c += ((d & a) | (~d & b)) + blocks[14]; c = (c << 11) | (c >>> 21); b += ((c & d) | (~c & a)) + blocks[15]; b = (b << 19) | (b >>> 13); bc = b & c; a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[4] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[8] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[12] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[1] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[5] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[9] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[13] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[2] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[6] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[10] + 1518500249; c = (c << 9) | (c >>> 23); cd = c & d; b += (cd | (c & a) | da) + blocks[14] + 1518500249; b = (b << 13) | (b >>> 19); bc = b & c; a += (bc | (b & d) | cd) + blocks[3] + 1518500249; a = (a << 3) | (a >>> 29); ab = a & b; d += (ab | (a & c) | bc) + blocks[7] + 1518500249; d = (d << 5) | (d >>> 27); da = d & a; c += (da | (d & b) | ab) + blocks[11] + 1518500249; c = (c << 9) | (c >>> 23); b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; b = (b << 13) | (b >>> 19); bc = b ^ c; a += (bc ^ d) + blocks[0] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[8] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[4] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[12] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[2] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[10] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[6] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[14] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[1] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[9] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[5] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[13] + 1859775393; b = (b << 15) | (b >>> 17); bc = b ^ c; a += (bc ^ d) + blocks[3] + 1859775393; a = (a << 3) | (a >>> 29); d += (bc ^ a) + blocks[11] + 1859775393; d = (d << 9) | (d >>> 23); da = d ^ a; c += (da ^ b) + blocks[7] + 1859775393; c = (c << 11) | (c >>> 21); b += (da ^ c) + blocks[15] + 1859775393; b = (b << 15) | (b >>> 17); if (this.first) { this.h0 = a + 1732584193 << 0; this.h1 = b - 271733879 << 0; this.h2 = c - 1732584194 << 0; this.h3 = d + 271733878 << 0; this.first = false; } else { this.h0 = this.h0 + a << 0; this.h1 = this.h1 + b << 0; this.h2 = this.h2 + c << 0; this.h3 = this.h3 + d << 0; }} : (this: any) => void +>this : any + + var a, b, c, d, ab, bc, cd, da, blocks = this.blocks; +>a : any +>b : any +>c : any +>d : any +>ab : any +>bc : any +>cd : any +>da : any +>blocks : any +>this.blocks : any +>this : any +>blocks : any + + if (this.first) { +>this.first : any +>this : any +>first : any + + a = blocks[0] - 1; +>a = blocks[0] - 1 : number +>a : any +>blocks[0] - 1 : number +>blocks[0] : any +>blocks : any +>0 : 0 +>1 : 1 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d = ((a & 0xefcdab89) | (~a & 0x98badcfe)) + blocks[1] + 271733878; +>d = ((a & 0xefcdab89) | (~a & 0x98badcfe)) + blocks[1] + 271733878 : any +>d : any +>((a & 0xefcdab89) | (~a & 0x98badcfe)) + blocks[1] + 271733878 : any +>((a & 0xefcdab89) | (~a & 0x98badcfe)) + blocks[1] : any +>((a & 0xefcdab89) | (~a & 0x98badcfe)) : number +>(a & 0xefcdab89) | (~a & 0x98badcfe) : number +>(a & 0xefcdab89) : number +>a & 0xefcdab89 : number +>a : number +>0xefcdab89 : 4023233417 +>(~a & 0x98badcfe) : number +>~a & 0x98badcfe : number +>~a : number +>a : number +>0x98badcfe : 2562383102 +>blocks[1] : any +>blocks : any +>1 : 1 +>271733878 : 271733878 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : any +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : any +>25 : 25 + + c = ((d & a) | (~d & 0xefcdab89)) + blocks[2] - 1732584194; +>c = ((d & a) | (~d & 0xefcdab89)) + blocks[2] - 1732584194 : number +>c : any +>((d & a) | (~d & 0xefcdab89)) + blocks[2] - 1732584194 : number +>((d & a) | (~d & 0xefcdab89)) + blocks[2] : any +>((d & a) | (~d & 0xefcdab89)) : number +>(d & a) | (~d & 0xefcdab89) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & 0xefcdab89) : number +>~d & 0xefcdab89 : number +>~d : number +>d : number +>0xefcdab89 : 4023233417 +>blocks[2] : any +>blocks : any +>2 : 2 +>1732584194 : 1732584194 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b = ((c & d) | (~c & a)) + blocks[3] - 271733879; +>b = ((c & d) | (~c & a)) + blocks[3] - 271733879 : number +>b : any +>((c & d) | (~c & a)) + blocks[3] - 271733879 : number +>((c & d) | (~c & a)) + blocks[3] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[3] : any +>blocks : any +>3 : 3 +>271733879 : 271733879 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + } else { + a = this.h0; +>a = this.h0 : any +>a : any +>this.h0 : any +>this : any +>h0 : any + + b = this.h1; +>b = this.h1 : any +>b : any +>this.h1 : any +>this : any +>h1 : any + + c = this.h2; +>c = this.h2 : any +>c : any +>this.h2 : any +>this : any +>h2 : any + + d = this.h3; +>d = this.h3 : any +>d : any +>this.h3 : any +>this : any +>h3 : any + + a += ((b & c) | (~b & d)) + blocks[0]; +>a += ((b & c) | (~b & d)) + blocks[0] : any +>a : any +>((b & c) | (~b & d)) + blocks[0] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : any +>c : any +>(~b & d) : number +>~b & d : number +>~b : number +>b : any +>d : any +>blocks[0] : any +>blocks : any +>0 : 0 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : any +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : any +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[1]; +>d += ((a & b) | (~a & c)) + blocks[1] : any +>d : any +>((a & b) | (~a & c)) + blocks[1] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : any +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : any +>blocks[1] : any +>blocks : any +>1 : 1 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : any +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : any +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[2]; +>c += ((d & a) | (~d & b)) + blocks[2] : any +>c : any +>((d & a) | (~d & b)) + blocks[2] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : any +>blocks[2] : any +>blocks : any +>2 : 2 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : any +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : any +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[3]; +>b += ((c & d) | (~c & a)) + blocks[3] : any +>b : any +>((c & d) | (~c & a)) + blocks[3] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[3] : any +>blocks : any +>3 : 3 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : any +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : any +>13 : 13 + } + + a += ((b & c) | (~b & d)) + blocks[4]; +>a += ((b & c) | (~b & d)) + blocks[4] : any +>a : number +>((b & c) | (~b & d)) + blocks[4] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[4] : any +>blocks : any +>4 : 4 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[5]; +>d += ((a & b) | (~a & c)) + blocks[5] : any +>d : number +>((a & b) | (~a & c)) + blocks[5] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[5] : any +>blocks : any +>5 : 5 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[6]; +>c += ((d & a) | (~d & b)) + blocks[6] : any +>c : number +>((d & a) | (~d & b)) + blocks[6] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[6] : any +>blocks : any +>6 : 6 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[7]; +>b += ((c & d) | (~c & a)) + blocks[7] : any +>b : number +>((c & d) | (~c & a)) + blocks[7] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[7] : any +>blocks : any +>7 : 7 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + a += ((b & c) | (~b & d)) + blocks[8]; +>a += ((b & c) | (~b & d)) + blocks[8] : any +>a : number +>((b & c) | (~b & d)) + blocks[8] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[8] : any +>blocks : any +>8 : 8 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[9]; +>d += ((a & b) | (~a & c)) + blocks[9] : any +>d : number +>((a & b) | (~a & c)) + blocks[9] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[9] : any +>blocks : any +>9 : 9 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[10]; +>c += ((d & a) | (~d & b)) + blocks[10] : any +>c : number +>((d & a) | (~d & b)) + blocks[10] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[10] : any +>blocks : any +>10 : 10 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[11]; +>b += ((c & d) | (~c & a)) + blocks[11] : any +>b : number +>((c & d) | (~c & a)) + blocks[11] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[11] : any +>blocks : any +>11 : 11 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + a += ((b & c) | (~b & d)) + blocks[12]; +>a += ((b & c) | (~b & d)) + blocks[12] : any +>a : number +>((b & c) | (~b & d)) + blocks[12] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[12] : any +>blocks : any +>12 : 12 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[13]; +>d += ((a & b) | (~a & c)) + blocks[13] : any +>d : number +>((a & b) | (~a & c)) + blocks[13] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[13] : any +>blocks : any +>13 : 13 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[14]; +>c += ((d & a) | (~d & b)) + blocks[14] : any +>c : number +>((d & a) | (~d & b)) + blocks[14] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[14] : any +>blocks : any +>14 : 14 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[15]; +>b += ((c & d) | (~c & a)) + blocks[15] : any +>b : number +>((c & d) | (~c & a)) + blocks[15] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[15] : any +>blocks : any +>15 : 15 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; +>a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249 : any +>a : number +>(bc | (b & d) | (c & d)) + blocks[0] + 1518500249 : any +>(bc | (b & d) | (c & d)) + blocks[0] : any +>(bc | (b & d) | (c & d)) : number +>bc | (b & d) | (c & d) : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>blocks[0] : any +>blocks : any +>0 : 0 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[4] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[4] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[4] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[4] : any +>blocks : any +>4 : 4 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[8] + 1518500249; +>c += (da | (d & b) | ab) + blocks[8] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[8] + 1518500249 : any +>(da | (d & b) | ab) + blocks[8] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[8] : any +>blocks : any +>8 : 8 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[12] + 1518500249; +>b += (cd | (c & a) | da) + blocks[12] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[12] + 1518500249 : any +>(cd | (c & a) | da) + blocks[12] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[12] : any +>blocks : any +>12 : 12 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[1] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[1] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[1] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[1] : any +>blocks : any +>1 : 1 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[5] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[5] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[5] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[5] : any +>blocks : any +>5 : 5 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[9] + 1518500249; +>c += (da | (d & b) | ab) + blocks[9] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[9] + 1518500249 : any +>(da | (d & b) | ab) + blocks[9] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[9] : any +>blocks : any +>9 : 9 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[13] + 1518500249; +>b += (cd | (c & a) | da) + blocks[13] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[13] + 1518500249 : any +>(cd | (c & a) | da) + blocks[13] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[13] : any +>blocks : any +>13 : 13 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[2] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[2] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[2] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[2] : any +>blocks : any +>2 : 2 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[6] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[6] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[6] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[6] : any +>blocks : any +>6 : 6 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[10] + 1518500249; +>c += (da | (d & b) | ab) + blocks[10] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[10] + 1518500249 : any +>(da | (d & b) | ab) + blocks[10] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[10] : any +>blocks : any +>10 : 10 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[14] + 1518500249; +>b += (cd | (c & a) | da) + blocks[14] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[14] + 1518500249 : any +>(cd | (c & a) | da) + blocks[14] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[14] : any +>blocks : any +>14 : 14 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[3] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[3] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[3] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[3] : any +>blocks : any +>3 : 3 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[7] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[7] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[7] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[7] : any +>blocks : any +>7 : 7 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[11] + 1518500249; +>c += (da | (d & b) | ab) + blocks[11] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[11] + 1518500249 : any +>(da | (d & b) | ab) + blocks[11] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[11] : any +>blocks : any +>11 : 11 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; +>b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249 : any +>b : number +>((c & d) | (c & a) | da) + blocks[15] + 1518500249 : any +>((c & d) | (c & a) | da) + blocks[15] : any +>((c & d) | (c & a) | da) : number +>(c & d) | (c & a) | da : number +>(c & d) | (c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[15] : any +>blocks : any +>15 : 15 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[0] + 1859775393; +>a += (bc ^ d) + blocks[0] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[0] + 1859775393 : any +>(bc ^ d) + blocks[0] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[0] : any +>blocks : any +>0 : 0 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[8] + 1859775393; +>d += (bc ^ a) + blocks[8] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[8] + 1859775393 : any +>(bc ^ a) + blocks[8] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[8] : any +>blocks : any +>8 : 8 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[4] + 1859775393; +>c += (da ^ b) + blocks[4] + 1859775393 : any +>c : number +>(da ^ b) + blocks[4] + 1859775393 : any +>(da ^ b) + blocks[4] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[4] : any +>blocks : any +>4 : 4 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[12] + 1859775393; +>b += (da ^ c) + blocks[12] + 1859775393 : any +>b : number +>(da ^ c) + blocks[12] + 1859775393 : any +>(da ^ c) + blocks[12] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[12] : any +>blocks : any +>12 : 12 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[2] + 1859775393; +>a += (bc ^ d) + blocks[2] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[2] + 1859775393 : any +>(bc ^ d) + blocks[2] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[2] : any +>blocks : any +>2 : 2 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[10] + 1859775393; +>d += (bc ^ a) + blocks[10] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[10] + 1859775393 : any +>(bc ^ a) + blocks[10] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[10] : any +>blocks : any +>10 : 10 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[6] + 1859775393; +>c += (da ^ b) + blocks[6] + 1859775393 : any +>c : number +>(da ^ b) + blocks[6] + 1859775393 : any +>(da ^ b) + blocks[6] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[6] : any +>blocks : any +>6 : 6 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[14] + 1859775393; +>b += (da ^ c) + blocks[14] + 1859775393 : any +>b : number +>(da ^ c) + blocks[14] + 1859775393 : any +>(da ^ c) + blocks[14] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[14] : any +>blocks : any +>14 : 14 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[1] + 1859775393; +>a += (bc ^ d) + blocks[1] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[1] + 1859775393 : any +>(bc ^ d) + blocks[1] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[1] : any +>blocks : any +>1 : 1 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[9] + 1859775393; +>d += (bc ^ a) + blocks[9] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[9] + 1859775393 : any +>(bc ^ a) + blocks[9] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[9] : any +>blocks : any +>9 : 9 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[5] + 1859775393; +>c += (da ^ b) + blocks[5] + 1859775393 : any +>c : number +>(da ^ b) + blocks[5] + 1859775393 : any +>(da ^ b) + blocks[5] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[5] : any +>blocks : any +>5 : 5 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[13] + 1859775393; +>b += (da ^ c) + blocks[13] + 1859775393 : any +>b : number +>(da ^ c) + blocks[13] + 1859775393 : any +>(da ^ c) + blocks[13] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[13] : any +>blocks : any +>13 : 13 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[3] + 1859775393; +>a += (bc ^ d) + blocks[3] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[3] + 1859775393 : any +>(bc ^ d) + blocks[3] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[3] : any +>blocks : any +>3 : 3 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[11] + 1859775393; +>d += (bc ^ a) + blocks[11] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[11] + 1859775393 : any +>(bc ^ a) + blocks[11] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[11] : any +>blocks : any +>11 : 11 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[7] + 1859775393; +>c += (da ^ b) + blocks[7] + 1859775393 : any +>c : number +>(da ^ b) + blocks[7] + 1859775393 : any +>(da ^ b) + blocks[7] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[7] : any +>blocks : any +>7 : 7 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[15] + 1859775393; +>b += (da ^ c) + blocks[15] + 1859775393 : any +>b : number +>(da ^ c) + blocks[15] + 1859775393 : any +>(da ^ c) + blocks[15] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[15] : any +>blocks : any +>15 : 15 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + a += ((b & c) | (~b & d)) + blocks[4]; +>a += ((b & c) | (~b & d)) + blocks[4] : any +>a : number +>((b & c) | (~b & d)) + blocks[4] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[4] : any +>blocks : any +>4 : 4 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[5]; +>d += ((a & b) | (~a & c)) + blocks[5] : any +>d : number +>((a & b) | (~a & c)) + blocks[5] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[5] : any +>blocks : any +>5 : 5 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[6]; +>c += ((d & a) | (~d & b)) + blocks[6] : any +>c : number +>((d & a) | (~d & b)) + blocks[6] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[6] : any +>blocks : any +>6 : 6 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[7]; +>b += ((c & d) | (~c & a)) + blocks[7] : any +>b : number +>((c & d) | (~c & a)) + blocks[7] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[7] : any +>blocks : any +>7 : 7 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + a += ((b & c) | (~b & d)) + blocks[8]; +>a += ((b & c) | (~b & d)) + blocks[8] : any +>a : number +>((b & c) | (~b & d)) + blocks[8] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[8] : any +>blocks : any +>8 : 8 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[9]; +>d += ((a & b) | (~a & c)) + blocks[9] : any +>d : number +>((a & b) | (~a & c)) + blocks[9] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[9] : any +>blocks : any +>9 : 9 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[10]; +>c += ((d & a) | (~d & b)) + blocks[10] : any +>c : number +>((d & a) | (~d & b)) + blocks[10] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[10] : any +>blocks : any +>10 : 10 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[11]; +>b += ((c & d) | (~c & a)) + blocks[11] : any +>b : number +>((c & d) | (~c & a)) + blocks[11] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[11] : any +>blocks : any +>11 : 11 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + a += ((b & c) | (~b & d)) + blocks[12]; +>a += ((b & c) | (~b & d)) + blocks[12] : any +>a : number +>((b & c) | (~b & d)) + blocks[12] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[12] : any +>blocks : any +>12 : 12 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[13]; +>d += ((a & b) | (~a & c)) + blocks[13] : any +>d : number +>((a & b) | (~a & c)) + blocks[13] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[13] : any +>blocks : any +>13 : 13 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[14]; +>c += ((d & a) | (~d & b)) + blocks[14] : any +>c : number +>((d & a) | (~d & b)) + blocks[14] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[14] : any +>blocks : any +>14 : 14 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[15]; +>b += ((c & d) | (~c & a)) + blocks[15] : any +>b : number +>((c & d) | (~c & a)) + blocks[15] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[15] : any +>blocks : any +>15 : 15 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; +>a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249 : any +>a : number +>(bc | (b & d) | (c & d)) + blocks[0] + 1518500249 : any +>(bc | (b & d) | (c & d)) + blocks[0] : any +>(bc | (b & d) | (c & d)) : number +>bc | (b & d) | (c & d) : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>blocks[0] : any +>blocks : any +>0 : 0 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[4] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[4] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[4] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[4] : any +>blocks : any +>4 : 4 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[8] + 1518500249; +>c += (da | (d & b) | ab) + blocks[8] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[8] + 1518500249 : any +>(da | (d & b) | ab) + blocks[8] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[8] : any +>blocks : any +>8 : 8 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[12] + 1518500249; +>b += (cd | (c & a) | da) + blocks[12] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[12] + 1518500249 : any +>(cd | (c & a) | da) + blocks[12] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[12] : any +>blocks : any +>12 : 12 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[1] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[1] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[1] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[1] : any +>blocks : any +>1 : 1 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[5] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[5] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[5] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[5] : any +>blocks : any +>5 : 5 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[9] + 1518500249; +>c += (da | (d & b) | ab) + blocks[9] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[9] + 1518500249 : any +>(da | (d & b) | ab) + blocks[9] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[9] : any +>blocks : any +>9 : 9 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[13] + 1518500249; +>b += (cd | (c & a) | da) + blocks[13] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[13] + 1518500249 : any +>(cd | (c & a) | da) + blocks[13] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[13] : any +>blocks : any +>13 : 13 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[2] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[2] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[2] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[2] : any +>blocks : any +>2 : 2 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[6] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[6] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[6] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[6] : any +>blocks : any +>6 : 6 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[10] + 1518500249; +>c += (da | (d & b) | ab) + blocks[10] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[10] + 1518500249 : any +>(da | (d & b) | ab) + blocks[10] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[10] : any +>blocks : any +>10 : 10 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[14] + 1518500249; +>b += (cd | (c & a) | da) + blocks[14] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[14] + 1518500249 : any +>(cd | (c & a) | da) + blocks[14] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[14] : any +>blocks : any +>14 : 14 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[3] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[3] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[3] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[3] : any +>blocks : any +>3 : 3 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[7] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[7] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[7] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[7] : any +>blocks : any +>7 : 7 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[11] + 1518500249; +>c += (da | (d & b) | ab) + blocks[11] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[11] + 1518500249 : any +>(da | (d & b) | ab) + blocks[11] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[11] : any +>blocks : any +>11 : 11 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; +>b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249 : any +>b : number +>((c & d) | (c & a) | da) + blocks[15] + 1518500249 : any +>((c & d) | (c & a) | da) + blocks[15] : any +>((c & d) | (c & a) | da) : number +>(c & d) | (c & a) | da : number +>(c & d) | (c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[15] : any +>blocks : any +>15 : 15 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[0] + 1859775393; +>a += (bc ^ d) + blocks[0] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[0] + 1859775393 : any +>(bc ^ d) + blocks[0] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[0] : any +>blocks : any +>0 : 0 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[8] + 1859775393; +>d += (bc ^ a) + blocks[8] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[8] + 1859775393 : any +>(bc ^ a) + blocks[8] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[8] : any +>blocks : any +>8 : 8 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[4] + 1859775393; +>c += (da ^ b) + blocks[4] + 1859775393 : any +>c : number +>(da ^ b) + blocks[4] + 1859775393 : any +>(da ^ b) + blocks[4] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[4] : any +>blocks : any +>4 : 4 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[12] + 1859775393; +>b += (da ^ c) + blocks[12] + 1859775393 : any +>b : number +>(da ^ c) + blocks[12] + 1859775393 : any +>(da ^ c) + blocks[12] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[12] : any +>blocks : any +>12 : 12 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[2] + 1859775393; +>a += (bc ^ d) + blocks[2] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[2] + 1859775393 : any +>(bc ^ d) + blocks[2] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[2] : any +>blocks : any +>2 : 2 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[10] + 1859775393; +>d += (bc ^ a) + blocks[10] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[10] + 1859775393 : any +>(bc ^ a) + blocks[10] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[10] : any +>blocks : any +>10 : 10 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[6] + 1859775393; +>c += (da ^ b) + blocks[6] + 1859775393 : any +>c : number +>(da ^ b) + blocks[6] + 1859775393 : any +>(da ^ b) + blocks[6] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[6] : any +>blocks : any +>6 : 6 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[14] + 1859775393; +>b += (da ^ c) + blocks[14] + 1859775393 : any +>b : number +>(da ^ c) + blocks[14] + 1859775393 : any +>(da ^ c) + blocks[14] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[14] : any +>blocks : any +>14 : 14 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[1] + 1859775393; +>a += (bc ^ d) + blocks[1] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[1] + 1859775393 : any +>(bc ^ d) + blocks[1] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[1] : any +>blocks : any +>1 : 1 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[9] + 1859775393; +>d += (bc ^ a) + blocks[9] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[9] + 1859775393 : any +>(bc ^ a) + blocks[9] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[9] : any +>blocks : any +>9 : 9 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[5] + 1859775393; +>c += (da ^ b) + blocks[5] + 1859775393 : any +>c : number +>(da ^ b) + blocks[5] + 1859775393 : any +>(da ^ b) + blocks[5] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[5] : any +>blocks : any +>5 : 5 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[13] + 1859775393; +>b += (da ^ c) + blocks[13] + 1859775393 : any +>b : number +>(da ^ c) + blocks[13] + 1859775393 : any +>(da ^ c) + blocks[13] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[13] : any +>blocks : any +>13 : 13 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[3] + 1859775393; +>a += (bc ^ d) + blocks[3] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[3] + 1859775393 : any +>(bc ^ d) + blocks[3] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[3] : any +>blocks : any +>3 : 3 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[11] + 1859775393; +>d += (bc ^ a) + blocks[11] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[11] + 1859775393 : any +>(bc ^ a) + blocks[11] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[11] : any +>blocks : any +>11 : 11 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[7] + 1859775393; +>c += (da ^ b) + blocks[7] + 1859775393 : any +>c : number +>(da ^ b) + blocks[7] + 1859775393 : any +>(da ^ b) + blocks[7] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[7] : any +>blocks : any +>7 : 7 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[15] + 1859775393; +>b += (da ^ c) + blocks[15] + 1859775393 : any +>b : number +>(da ^ c) + blocks[15] + 1859775393 : any +>(da ^ c) + blocks[15] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[15] : any +>blocks : any +>15 : 15 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + a += ((b & c) | (~b & d)) + blocks[4]; +>a += ((b & c) | (~b & d)) + blocks[4] : any +>a : number +>((b & c) | (~b & d)) + blocks[4] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[4] : any +>blocks : any +>4 : 4 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[5]; +>d += ((a & b) | (~a & c)) + blocks[5] : any +>d : number +>((a & b) | (~a & c)) + blocks[5] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[5] : any +>blocks : any +>5 : 5 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[6]; +>c += ((d & a) | (~d & b)) + blocks[6] : any +>c : number +>((d & a) | (~d & b)) + blocks[6] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[6] : any +>blocks : any +>6 : 6 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[7]; +>b += ((c & d) | (~c & a)) + blocks[7] : any +>b : number +>((c & d) | (~c & a)) + blocks[7] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[7] : any +>blocks : any +>7 : 7 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + a += ((b & c) | (~b & d)) + blocks[8]; +>a += ((b & c) | (~b & d)) + blocks[8] : any +>a : number +>((b & c) | (~b & d)) + blocks[8] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[8] : any +>blocks : any +>8 : 8 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[9]; +>d += ((a & b) | (~a & c)) + blocks[9] : any +>d : number +>((a & b) | (~a & c)) + blocks[9] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[9] : any +>blocks : any +>9 : 9 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[10]; +>c += ((d & a) | (~d & b)) + blocks[10] : any +>c : number +>((d & a) | (~d & b)) + blocks[10] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[10] : any +>blocks : any +>10 : 10 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[11]; +>b += ((c & d) | (~c & a)) + blocks[11] : any +>b : number +>((c & d) | (~c & a)) + blocks[11] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[11] : any +>blocks : any +>11 : 11 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + a += ((b & c) | (~b & d)) + blocks[12]; +>a += ((b & c) | (~b & d)) + blocks[12] : any +>a : number +>((b & c) | (~b & d)) + blocks[12] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[12] : any +>blocks : any +>12 : 12 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[13]; +>d += ((a & b) | (~a & c)) + blocks[13] : any +>d : number +>((a & b) | (~a & c)) + blocks[13] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[13] : any +>blocks : any +>13 : 13 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[14]; +>c += ((d & a) | (~d & b)) + blocks[14] : any +>c : number +>((d & a) | (~d & b)) + blocks[14] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[14] : any +>blocks : any +>14 : 14 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[15]; +>b += ((c & d) | (~c & a)) + blocks[15] : any +>b : number +>((c & d) | (~c & a)) + blocks[15] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[15] : any +>blocks : any +>15 : 15 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; +>a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249 : any +>a : number +>(bc | (b & d) | (c & d)) + blocks[0] + 1518500249 : any +>(bc | (b & d) | (c & d)) + blocks[0] : any +>(bc | (b & d) | (c & d)) : number +>bc | (b & d) | (c & d) : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>blocks[0] : any +>blocks : any +>0 : 0 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[4] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[4] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[4] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[4] : any +>blocks : any +>4 : 4 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[8] + 1518500249; +>c += (da | (d & b) | ab) + blocks[8] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[8] + 1518500249 : any +>(da | (d & b) | ab) + blocks[8] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[8] : any +>blocks : any +>8 : 8 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[12] + 1518500249; +>b += (cd | (c & a) | da) + blocks[12] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[12] + 1518500249 : any +>(cd | (c & a) | da) + blocks[12] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[12] : any +>blocks : any +>12 : 12 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[1] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[1] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[1] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[1] : any +>blocks : any +>1 : 1 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[5] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[5] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[5] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[5] : any +>blocks : any +>5 : 5 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[9] + 1518500249; +>c += (da | (d & b) | ab) + blocks[9] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[9] + 1518500249 : any +>(da | (d & b) | ab) + blocks[9] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[9] : any +>blocks : any +>9 : 9 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[13] + 1518500249; +>b += (cd | (c & a) | da) + blocks[13] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[13] + 1518500249 : any +>(cd | (c & a) | da) + blocks[13] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[13] : any +>blocks : any +>13 : 13 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[2] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[2] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[2] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[2] : any +>blocks : any +>2 : 2 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[6] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[6] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[6] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[6] : any +>blocks : any +>6 : 6 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[10] + 1518500249; +>c += (da | (d & b) | ab) + blocks[10] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[10] + 1518500249 : any +>(da | (d & b) | ab) + blocks[10] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[10] : any +>blocks : any +>10 : 10 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[14] + 1518500249; +>b += (cd | (c & a) | da) + blocks[14] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[14] + 1518500249 : any +>(cd | (c & a) | da) + blocks[14] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[14] : any +>blocks : any +>14 : 14 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[3] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[3] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[3] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[3] : any +>blocks : any +>3 : 3 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[7] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[7] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[7] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[7] : any +>blocks : any +>7 : 7 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[11] + 1518500249; +>c += (da | (d & b) | ab) + blocks[11] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[11] + 1518500249 : any +>(da | (d & b) | ab) + blocks[11] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[11] : any +>blocks : any +>11 : 11 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; +>b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249 : any +>b : number +>((c & d) | (c & a) | da) + blocks[15] + 1518500249 : any +>((c & d) | (c & a) | da) + blocks[15] : any +>((c & d) | (c & a) | da) : number +>(c & d) | (c & a) | da : number +>(c & d) | (c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[15] : any +>blocks : any +>15 : 15 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[0] + 1859775393; +>a += (bc ^ d) + blocks[0] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[0] + 1859775393 : any +>(bc ^ d) + blocks[0] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[0] : any +>blocks : any +>0 : 0 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[8] + 1859775393; +>d += (bc ^ a) + blocks[8] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[8] + 1859775393 : any +>(bc ^ a) + blocks[8] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[8] : any +>blocks : any +>8 : 8 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[4] + 1859775393; +>c += (da ^ b) + blocks[4] + 1859775393 : any +>c : number +>(da ^ b) + blocks[4] + 1859775393 : any +>(da ^ b) + blocks[4] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[4] : any +>blocks : any +>4 : 4 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[12] + 1859775393; +>b += (da ^ c) + blocks[12] + 1859775393 : any +>b : number +>(da ^ c) + blocks[12] + 1859775393 : any +>(da ^ c) + blocks[12] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[12] : any +>blocks : any +>12 : 12 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[2] + 1859775393; +>a += (bc ^ d) + blocks[2] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[2] + 1859775393 : any +>(bc ^ d) + blocks[2] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[2] : any +>blocks : any +>2 : 2 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[10] + 1859775393; +>d += (bc ^ a) + blocks[10] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[10] + 1859775393 : any +>(bc ^ a) + blocks[10] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[10] : any +>blocks : any +>10 : 10 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[6] + 1859775393; +>c += (da ^ b) + blocks[6] + 1859775393 : any +>c : number +>(da ^ b) + blocks[6] + 1859775393 : any +>(da ^ b) + blocks[6] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[6] : any +>blocks : any +>6 : 6 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[14] + 1859775393; +>b += (da ^ c) + blocks[14] + 1859775393 : any +>b : number +>(da ^ c) + blocks[14] + 1859775393 : any +>(da ^ c) + blocks[14] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[14] : any +>blocks : any +>14 : 14 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[1] + 1859775393; +>a += (bc ^ d) + blocks[1] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[1] + 1859775393 : any +>(bc ^ d) + blocks[1] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[1] : any +>blocks : any +>1 : 1 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[9] + 1859775393; +>d += (bc ^ a) + blocks[9] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[9] + 1859775393 : any +>(bc ^ a) + blocks[9] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[9] : any +>blocks : any +>9 : 9 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[5] + 1859775393; +>c += (da ^ b) + blocks[5] + 1859775393 : any +>c : number +>(da ^ b) + blocks[5] + 1859775393 : any +>(da ^ b) + blocks[5] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[5] : any +>blocks : any +>5 : 5 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[13] + 1859775393; +>b += (da ^ c) + blocks[13] + 1859775393 : any +>b : number +>(da ^ c) + blocks[13] + 1859775393 : any +>(da ^ c) + blocks[13] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[13] : any +>blocks : any +>13 : 13 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[3] + 1859775393; +>a += (bc ^ d) + blocks[3] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[3] + 1859775393 : any +>(bc ^ d) + blocks[3] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[3] : any +>blocks : any +>3 : 3 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[11] + 1859775393; +>d += (bc ^ a) + blocks[11] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[11] + 1859775393 : any +>(bc ^ a) + blocks[11] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[11] : any +>blocks : any +>11 : 11 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[7] + 1859775393; +>c += (da ^ b) + blocks[7] + 1859775393 : any +>c : number +>(da ^ b) + blocks[7] + 1859775393 : any +>(da ^ b) + blocks[7] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[7] : any +>blocks : any +>7 : 7 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[15] + 1859775393; +>b += (da ^ c) + blocks[15] + 1859775393 : any +>b : number +>(da ^ c) + blocks[15] + 1859775393 : any +>(da ^ c) + blocks[15] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[15] : any +>blocks : any +>15 : 15 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + a += ((b & c) | (~b & d)) + blocks[4]; +>a += ((b & c) | (~b & d)) + blocks[4] : any +>a : number +>((b & c) | (~b & d)) + blocks[4] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[4] : any +>blocks : any +>4 : 4 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[5]; +>d += ((a & b) | (~a & c)) + blocks[5] : any +>d : number +>((a & b) | (~a & c)) + blocks[5] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[5] : any +>blocks : any +>5 : 5 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[6]; +>c += ((d & a) | (~d & b)) + blocks[6] : any +>c : number +>((d & a) | (~d & b)) + blocks[6] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[6] : any +>blocks : any +>6 : 6 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[7]; +>b += ((c & d) | (~c & a)) + blocks[7] : any +>b : number +>((c & d) | (~c & a)) + blocks[7] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[7] : any +>blocks : any +>7 : 7 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + a += ((b & c) | (~b & d)) + blocks[8]; +>a += ((b & c) | (~b & d)) + blocks[8] : any +>a : number +>((b & c) | (~b & d)) + blocks[8] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[8] : any +>blocks : any +>8 : 8 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[9]; +>d += ((a & b) | (~a & c)) + blocks[9] : any +>d : number +>((a & b) | (~a & c)) + blocks[9] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[9] : any +>blocks : any +>9 : 9 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[10]; +>c += ((d & a) | (~d & b)) + blocks[10] : any +>c : number +>((d & a) | (~d & b)) + blocks[10] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[10] : any +>blocks : any +>10 : 10 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[11]; +>b += ((c & d) | (~c & a)) + blocks[11] : any +>b : number +>((c & d) | (~c & a)) + blocks[11] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[11] : any +>blocks : any +>11 : 11 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + a += ((b & c) | (~b & d)) + blocks[12]; +>a += ((b & c) | (~b & d)) + blocks[12] : any +>a : number +>((b & c) | (~b & d)) + blocks[12] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[12] : any +>blocks : any +>12 : 12 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[13]; +>d += ((a & b) | (~a & c)) + blocks[13] : any +>d : number +>((a & b) | (~a & c)) + blocks[13] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[13] : any +>blocks : any +>13 : 13 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[14]; +>c += ((d & a) | (~d & b)) + blocks[14] : any +>c : number +>((d & a) | (~d & b)) + blocks[14] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[14] : any +>blocks : any +>14 : 14 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[15]; +>b += ((c & d) | (~c & a)) + blocks[15] : any +>b : number +>((c & d) | (~c & a)) + blocks[15] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[15] : any +>blocks : any +>15 : 15 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; +>a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249 : any +>a : number +>(bc | (b & d) | (c & d)) + blocks[0] + 1518500249 : any +>(bc | (b & d) | (c & d)) + blocks[0] : any +>(bc | (b & d) | (c & d)) : number +>bc | (b & d) | (c & d) : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>blocks[0] : any +>blocks : any +>0 : 0 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[4] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[4] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[4] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[4] : any +>blocks : any +>4 : 4 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[8] + 1518500249; +>c += (da | (d & b) | ab) + blocks[8] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[8] + 1518500249 : any +>(da | (d & b) | ab) + blocks[8] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[8] : any +>blocks : any +>8 : 8 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[12] + 1518500249; +>b += (cd | (c & a) | da) + blocks[12] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[12] + 1518500249 : any +>(cd | (c & a) | da) + blocks[12] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[12] : any +>blocks : any +>12 : 12 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[1] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[1] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[1] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[1] : any +>blocks : any +>1 : 1 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[5] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[5] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[5] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[5] : any +>blocks : any +>5 : 5 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[9] + 1518500249; +>c += (da | (d & b) | ab) + blocks[9] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[9] + 1518500249 : any +>(da | (d & b) | ab) + blocks[9] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[9] : any +>blocks : any +>9 : 9 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[13] + 1518500249; +>b += (cd | (c & a) | da) + blocks[13] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[13] + 1518500249 : any +>(cd | (c & a) | da) + blocks[13] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[13] : any +>blocks : any +>13 : 13 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[2] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[2] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[2] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[2] : any +>blocks : any +>2 : 2 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[6] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[6] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[6] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[6] : any +>blocks : any +>6 : 6 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[10] + 1518500249; +>c += (da | (d & b) | ab) + blocks[10] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[10] + 1518500249 : any +>(da | (d & b) | ab) + blocks[10] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[10] : any +>blocks : any +>10 : 10 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[14] + 1518500249; +>b += (cd | (c & a) | da) + blocks[14] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[14] + 1518500249 : any +>(cd | (c & a) | da) + blocks[14] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[14] : any +>blocks : any +>14 : 14 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[3] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[3] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[3] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[3] : any +>blocks : any +>3 : 3 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[7] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[7] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[7] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[7] : any +>blocks : any +>7 : 7 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[11] + 1518500249; +>c += (da | (d & b) | ab) + blocks[11] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[11] + 1518500249 : any +>(da | (d & b) | ab) + blocks[11] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[11] : any +>blocks : any +>11 : 11 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; +>b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249 : any +>b : number +>((c & d) | (c & a) | da) + blocks[15] + 1518500249 : any +>((c & d) | (c & a) | da) + blocks[15] : any +>((c & d) | (c & a) | da) : number +>(c & d) | (c & a) | da : number +>(c & d) | (c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[15] : any +>blocks : any +>15 : 15 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[0] + 1859775393; +>a += (bc ^ d) + blocks[0] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[0] + 1859775393 : any +>(bc ^ d) + blocks[0] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[0] : any +>blocks : any +>0 : 0 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[8] + 1859775393; +>d += (bc ^ a) + blocks[8] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[8] + 1859775393 : any +>(bc ^ a) + blocks[8] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[8] : any +>blocks : any +>8 : 8 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[4] + 1859775393; +>c += (da ^ b) + blocks[4] + 1859775393 : any +>c : number +>(da ^ b) + blocks[4] + 1859775393 : any +>(da ^ b) + blocks[4] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[4] : any +>blocks : any +>4 : 4 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[12] + 1859775393; +>b += (da ^ c) + blocks[12] + 1859775393 : any +>b : number +>(da ^ c) + blocks[12] + 1859775393 : any +>(da ^ c) + blocks[12] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[12] : any +>blocks : any +>12 : 12 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[2] + 1859775393; +>a += (bc ^ d) + blocks[2] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[2] + 1859775393 : any +>(bc ^ d) + blocks[2] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[2] : any +>blocks : any +>2 : 2 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[10] + 1859775393; +>d += (bc ^ a) + blocks[10] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[10] + 1859775393 : any +>(bc ^ a) + blocks[10] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[10] : any +>blocks : any +>10 : 10 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[6] + 1859775393; +>c += (da ^ b) + blocks[6] + 1859775393 : any +>c : number +>(da ^ b) + blocks[6] + 1859775393 : any +>(da ^ b) + blocks[6] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[6] : any +>blocks : any +>6 : 6 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[14] + 1859775393; +>b += (da ^ c) + blocks[14] + 1859775393 : any +>b : number +>(da ^ c) + blocks[14] + 1859775393 : any +>(da ^ c) + blocks[14] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[14] : any +>blocks : any +>14 : 14 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[1] + 1859775393; +>a += (bc ^ d) + blocks[1] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[1] + 1859775393 : any +>(bc ^ d) + blocks[1] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[1] : any +>blocks : any +>1 : 1 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[9] + 1859775393; +>d += (bc ^ a) + blocks[9] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[9] + 1859775393 : any +>(bc ^ a) + blocks[9] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[9] : any +>blocks : any +>9 : 9 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[5] + 1859775393; +>c += (da ^ b) + blocks[5] + 1859775393 : any +>c : number +>(da ^ b) + blocks[5] + 1859775393 : any +>(da ^ b) + blocks[5] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[5] : any +>blocks : any +>5 : 5 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[13] + 1859775393; +>b += (da ^ c) + blocks[13] + 1859775393 : any +>b : number +>(da ^ c) + blocks[13] + 1859775393 : any +>(da ^ c) + blocks[13] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[13] : any +>blocks : any +>13 : 13 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[3] + 1859775393; +>a += (bc ^ d) + blocks[3] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[3] + 1859775393 : any +>(bc ^ d) + blocks[3] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[3] : any +>blocks : any +>3 : 3 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[11] + 1859775393; +>d += (bc ^ a) + blocks[11] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[11] + 1859775393 : any +>(bc ^ a) + blocks[11] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[11] : any +>blocks : any +>11 : 11 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[7] + 1859775393; +>c += (da ^ b) + blocks[7] + 1859775393 : any +>c : number +>(da ^ b) + blocks[7] + 1859775393 : any +>(da ^ b) + blocks[7] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[7] : any +>blocks : any +>7 : 7 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[15] + 1859775393; +>b += (da ^ c) + blocks[15] + 1859775393 : any +>b : number +>(da ^ c) + blocks[15] + 1859775393 : any +>(da ^ c) + blocks[15] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[15] : any +>blocks : any +>15 : 15 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + a += ((b & c) | (~b & d)) + blocks[4]; +>a += ((b & c) | (~b & d)) + blocks[4] : any +>a : number +>((b & c) | (~b & d)) + blocks[4] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[4] : any +>blocks : any +>4 : 4 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[5]; +>d += ((a & b) | (~a & c)) + blocks[5] : any +>d : number +>((a & b) | (~a & c)) + blocks[5] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[5] : any +>blocks : any +>5 : 5 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[6]; +>c += ((d & a) | (~d & b)) + blocks[6] : any +>c : number +>((d & a) | (~d & b)) + blocks[6] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[6] : any +>blocks : any +>6 : 6 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[7]; +>b += ((c & d) | (~c & a)) + blocks[7] : any +>b : number +>((c & d) | (~c & a)) + blocks[7] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[7] : any +>blocks : any +>7 : 7 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + a += ((b & c) | (~b & d)) + blocks[8]; +>a += ((b & c) | (~b & d)) + blocks[8] : any +>a : number +>((b & c) | (~b & d)) + blocks[8] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[8] : any +>blocks : any +>8 : 8 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[9]; +>d += ((a & b) | (~a & c)) + blocks[9] : any +>d : number +>((a & b) | (~a & c)) + blocks[9] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[9] : any +>blocks : any +>9 : 9 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[10]; +>c += ((d & a) | (~d & b)) + blocks[10] : any +>c : number +>((d & a) | (~d & b)) + blocks[10] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[10] : any +>blocks : any +>10 : 10 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[11]; +>b += ((c & d) | (~c & a)) + blocks[11] : any +>b : number +>((c & d) | (~c & a)) + blocks[11] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[11] : any +>blocks : any +>11 : 11 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + a += ((b & c) | (~b & d)) + blocks[12]; +>a += ((b & c) | (~b & d)) + blocks[12] : any +>a : number +>((b & c) | (~b & d)) + blocks[12] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[12] : any +>blocks : any +>12 : 12 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[13]; +>d += ((a & b) | (~a & c)) + blocks[13] : any +>d : number +>((a & b) | (~a & c)) + blocks[13] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[13] : any +>blocks : any +>13 : 13 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[14]; +>c += ((d & a) | (~d & b)) + blocks[14] : any +>c : number +>((d & a) | (~d & b)) + blocks[14] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[14] : any +>blocks : any +>14 : 14 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[15]; +>b += ((c & d) | (~c & a)) + blocks[15] : any +>b : number +>((c & d) | (~c & a)) + blocks[15] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[15] : any +>blocks : any +>15 : 15 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; +>a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249 : any +>a : number +>(bc | (b & d) | (c & d)) + blocks[0] + 1518500249 : any +>(bc | (b & d) | (c & d)) + blocks[0] : any +>(bc | (b & d) | (c & d)) : number +>bc | (b & d) | (c & d) : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>blocks[0] : any +>blocks : any +>0 : 0 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[4] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[4] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[4] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[4] : any +>blocks : any +>4 : 4 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[8] + 1518500249; +>c += (da | (d & b) | ab) + blocks[8] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[8] + 1518500249 : any +>(da | (d & b) | ab) + blocks[8] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[8] : any +>blocks : any +>8 : 8 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[12] + 1518500249; +>b += (cd | (c & a) | da) + blocks[12] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[12] + 1518500249 : any +>(cd | (c & a) | da) + blocks[12] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[12] : any +>blocks : any +>12 : 12 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[1] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[1] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[1] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[1] : any +>blocks : any +>1 : 1 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[5] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[5] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[5] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[5] : any +>blocks : any +>5 : 5 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[9] + 1518500249; +>c += (da | (d & b) | ab) + blocks[9] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[9] + 1518500249 : any +>(da | (d & b) | ab) + blocks[9] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[9] : any +>blocks : any +>9 : 9 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[13] + 1518500249; +>b += (cd | (c & a) | da) + blocks[13] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[13] + 1518500249 : any +>(cd | (c & a) | da) + blocks[13] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[13] : any +>blocks : any +>13 : 13 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[2] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[2] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[2] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[2] : any +>blocks : any +>2 : 2 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[6] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[6] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[6] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[6] : any +>blocks : any +>6 : 6 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[10] + 1518500249; +>c += (da | (d & b) | ab) + blocks[10] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[10] + 1518500249 : any +>(da | (d & b) | ab) + blocks[10] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[10] : any +>blocks : any +>10 : 10 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[14] + 1518500249; +>b += (cd | (c & a) | da) + blocks[14] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[14] + 1518500249 : any +>(cd | (c & a) | da) + blocks[14] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[14] : any +>blocks : any +>14 : 14 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[3] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[3] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[3] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[3] : any +>blocks : any +>3 : 3 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[7] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[7] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[7] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[7] : any +>blocks : any +>7 : 7 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[11] + 1518500249; +>c += (da | (d & b) | ab) + blocks[11] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[11] + 1518500249 : any +>(da | (d & b) | ab) + blocks[11] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[11] : any +>blocks : any +>11 : 11 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; +>b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249 : any +>b : number +>((c & d) | (c & a) | da) + blocks[15] + 1518500249 : any +>((c & d) | (c & a) | da) + blocks[15] : any +>((c & d) | (c & a) | da) : number +>(c & d) | (c & a) | da : number +>(c & d) | (c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[15] : any +>blocks : any +>15 : 15 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[0] + 1859775393; +>a += (bc ^ d) + blocks[0] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[0] + 1859775393 : any +>(bc ^ d) + blocks[0] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[0] : any +>blocks : any +>0 : 0 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[8] + 1859775393; +>d += (bc ^ a) + blocks[8] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[8] + 1859775393 : any +>(bc ^ a) + blocks[8] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[8] : any +>blocks : any +>8 : 8 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[4] + 1859775393; +>c += (da ^ b) + blocks[4] + 1859775393 : any +>c : number +>(da ^ b) + blocks[4] + 1859775393 : any +>(da ^ b) + blocks[4] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[4] : any +>blocks : any +>4 : 4 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[12] + 1859775393; +>b += (da ^ c) + blocks[12] + 1859775393 : any +>b : number +>(da ^ c) + blocks[12] + 1859775393 : any +>(da ^ c) + blocks[12] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[12] : any +>blocks : any +>12 : 12 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[2] + 1859775393; +>a += (bc ^ d) + blocks[2] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[2] + 1859775393 : any +>(bc ^ d) + blocks[2] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[2] : any +>blocks : any +>2 : 2 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[10] + 1859775393; +>d += (bc ^ a) + blocks[10] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[10] + 1859775393 : any +>(bc ^ a) + blocks[10] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[10] : any +>blocks : any +>10 : 10 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[6] + 1859775393; +>c += (da ^ b) + blocks[6] + 1859775393 : any +>c : number +>(da ^ b) + blocks[6] + 1859775393 : any +>(da ^ b) + blocks[6] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[6] : any +>blocks : any +>6 : 6 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[14] + 1859775393; +>b += (da ^ c) + blocks[14] + 1859775393 : any +>b : number +>(da ^ c) + blocks[14] + 1859775393 : any +>(da ^ c) + blocks[14] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[14] : any +>blocks : any +>14 : 14 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[1] + 1859775393; +>a += (bc ^ d) + blocks[1] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[1] + 1859775393 : any +>(bc ^ d) + blocks[1] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[1] : any +>blocks : any +>1 : 1 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[9] + 1859775393; +>d += (bc ^ a) + blocks[9] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[9] + 1859775393 : any +>(bc ^ a) + blocks[9] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[9] : any +>blocks : any +>9 : 9 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[5] + 1859775393; +>c += (da ^ b) + blocks[5] + 1859775393 : any +>c : number +>(da ^ b) + blocks[5] + 1859775393 : any +>(da ^ b) + blocks[5] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[5] : any +>blocks : any +>5 : 5 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[13] + 1859775393; +>b += (da ^ c) + blocks[13] + 1859775393 : any +>b : number +>(da ^ c) + blocks[13] + 1859775393 : any +>(da ^ c) + blocks[13] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[13] : any +>blocks : any +>13 : 13 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[3] + 1859775393; +>a += (bc ^ d) + blocks[3] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[3] + 1859775393 : any +>(bc ^ d) + blocks[3] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[3] : any +>blocks : any +>3 : 3 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[11] + 1859775393; +>d += (bc ^ a) + blocks[11] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[11] + 1859775393 : any +>(bc ^ a) + blocks[11] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[11] : any +>blocks : any +>11 : 11 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[7] + 1859775393; +>c += (da ^ b) + blocks[7] + 1859775393 : any +>c : number +>(da ^ b) + blocks[7] + 1859775393 : any +>(da ^ b) + blocks[7] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[7] : any +>blocks : any +>7 : 7 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[15] + 1859775393; +>b += (da ^ c) + blocks[15] + 1859775393 : any +>b : number +>(da ^ c) + blocks[15] + 1859775393 : any +>(da ^ c) + blocks[15] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[15] : any +>blocks : any +>15 : 15 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + a += ((b & c) | (~b & d)) + blocks[4]; +>a += ((b & c) | (~b & d)) + blocks[4] : any +>a : number +>((b & c) | (~b & d)) + blocks[4] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[4] : any +>blocks : any +>4 : 4 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[5]; +>d += ((a & b) | (~a & c)) + blocks[5] : any +>d : number +>((a & b) | (~a & c)) + blocks[5] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[5] : any +>blocks : any +>5 : 5 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[6]; +>c += ((d & a) | (~d & b)) + blocks[6] : any +>c : number +>((d & a) | (~d & b)) + blocks[6] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[6] : any +>blocks : any +>6 : 6 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[7]; +>b += ((c & d) | (~c & a)) + blocks[7] : any +>b : number +>((c & d) | (~c & a)) + blocks[7] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[7] : any +>blocks : any +>7 : 7 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + a += ((b & c) | (~b & d)) + blocks[8]; +>a += ((b & c) | (~b & d)) + blocks[8] : any +>a : number +>((b & c) | (~b & d)) + blocks[8] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[8] : any +>blocks : any +>8 : 8 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[9]; +>d += ((a & b) | (~a & c)) + blocks[9] : any +>d : number +>((a & b) | (~a & c)) + blocks[9] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[9] : any +>blocks : any +>9 : 9 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[10]; +>c += ((d & a) | (~d & b)) + blocks[10] : any +>c : number +>((d & a) | (~d & b)) + blocks[10] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[10] : any +>blocks : any +>10 : 10 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[11]; +>b += ((c & d) | (~c & a)) + blocks[11] : any +>b : number +>((c & d) | (~c & a)) + blocks[11] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[11] : any +>blocks : any +>11 : 11 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + a += ((b & c) | (~b & d)) + blocks[12]; +>a += ((b & c) | (~b & d)) + blocks[12] : any +>a : number +>((b & c) | (~b & d)) + blocks[12] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[12] : any +>blocks : any +>12 : 12 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[13]; +>d += ((a & b) | (~a & c)) + blocks[13] : any +>d : number +>((a & b) | (~a & c)) + blocks[13] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[13] : any +>blocks : any +>13 : 13 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[14]; +>c += ((d & a) | (~d & b)) + blocks[14] : any +>c : number +>((d & a) | (~d & b)) + blocks[14] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[14] : any +>blocks : any +>14 : 14 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[15]; +>b += ((c & d) | (~c & a)) + blocks[15] : any +>b : number +>((c & d) | (~c & a)) + blocks[15] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[15] : any +>blocks : any +>15 : 15 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; +>a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249 : any +>a : number +>(bc | (b & d) | (c & d)) + blocks[0] + 1518500249 : any +>(bc | (b & d) | (c & d)) + blocks[0] : any +>(bc | (b & d) | (c & d)) : number +>bc | (b & d) | (c & d) : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>blocks[0] : any +>blocks : any +>0 : 0 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[4] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[4] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[4] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[4] : any +>blocks : any +>4 : 4 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[8] + 1518500249; +>c += (da | (d & b) | ab) + blocks[8] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[8] + 1518500249 : any +>(da | (d & b) | ab) + blocks[8] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[8] : any +>blocks : any +>8 : 8 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[12] + 1518500249; +>b += (cd | (c & a) | da) + blocks[12] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[12] + 1518500249 : any +>(cd | (c & a) | da) + blocks[12] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[12] : any +>blocks : any +>12 : 12 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[1] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[1] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[1] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[1] : any +>blocks : any +>1 : 1 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[5] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[5] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[5] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[5] : any +>blocks : any +>5 : 5 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[9] + 1518500249; +>c += (da | (d & b) | ab) + blocks[9] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[9] + 1518500249 : any +>(da | (d & b) | ab) + blocks[9] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[9] : any +>blocks : any +>9 : 9 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[13] + 1518500249; +>b += (cd | (c & a) | da) + blocks[13] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[13] + 1518500249 : any +>(cd | (c & a) | da) + blocks[13] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[13] : any +>blocks : any +>13 : 13 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[2] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[2] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[2] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[2] : any +>blocks : any +>2 : 2 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[6] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[6] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[6] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[6] : any +>blocks : any +>6 : 6 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[10] + 1518500249; +>c += (da | (d & b) | ab) + blocks[10] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[10] + 1518500249 : any +>(da | (d & b) | ab) + blocks[10] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[10] : any +>blocks : any +>10 : 10 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[14] + 1518500249; +>b += (cd | (c & a) | da) + blocks[14] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[14] + 1518500249 : any +>(cd | (c & a) | da) + blocks[14] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[14] : any +>blocks : any +>14 : 14 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[3] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[3] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[3] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[3] : any +>blocks : any +>3 : 3 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[7] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[7] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[7] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[7] : any +>blocks : any +>7 : 7 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[11] + 1518500249; +>c += (da | (d & b) | ab) + blocks[11] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[11] + 1518500249 : any +>(da | (d & b) | ab) + blocks[11] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[11] : any +>blocks : any +>11 : 11 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; +>b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249 : any +>b : number +>((c & d) | (c & a) | da) + blocks[15] + 1518500249 : any +>((c & d) | (c & a) | da) + blocks[15] : any +>((c & d) | (c & a) | da) : number +>(c & d) | (c & a) | da : number +>(c & d) | (c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[15] : any +>blocks : any +>15 : 15 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[0] + 1859775393; +>a += (bc ^ d) + blocks[0] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[0] + 1859775393 : any +>(bc ^ d) + blocks[0] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[0] : any +>blocks : any +>0 : 0 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[8] + 1859775393; +>d += (bc ^ a) + blocks[8] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[8] + 1859775393 : any +>(bc ^ a) + blocks[8] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[8] : any +>blocks : any +>8 : 8 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[4] + 1859775393; +>c += (da ^ b) + blocks[4] + 1859775393 : any +>c : number +>(da ^ b) + blocks[4] + 1859775393 : any +>(da ^ b) + blocks[4] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[4] : any +>blocks : any +>4 : 4 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[12] + 1859775393; +>b += (da ^ c) + blocks[12] + 1859775393 : any +>b : number +>(da ^ c) + blocks[12] + 1859775393 : any +>(da ^ c) + blocks[12] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[12] : any +>blocks : any +>12 : 12 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[2] + 1859775393; +>a += (bc ^ d) + blocks[2] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[2] + 1859775393 : any +>(bc ^ d) + blocks[2] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[2] : any +>blocks : any +>2 : 2 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[10] + 1859775393; +>d += (bc ^ a) + blocks[10] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[10] + 1859775393 : any +>(bc ^ a) + blocks[10] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[10] : any +>blocks : any +>10 : 10 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[6] + 1859775393; +>c += (da ^ b) + blocks[6] + 1859775393 : any +>c : number +>(da ^ b) + blocks[6] + 1859775393 : any +>(da ^ b) + blocks[6] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[6] : any +>blocks : any +>6 : 6 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[14] + 1859775393; +>b += (da ^ c) + blocks[14] + 1859775393 : any +>b : number +>(da ^ c) + blocks[14] + 1859775393 : any +>(da ^ c) + blocks[14] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[14] : any +>blocks : any +>14 : 14 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[1] + 1859775393; +>a += (bc ^ d) + blocks[1] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[1] + 1859775393 : any +>(bc ^ d) + blocks[1] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[1] : any +>blocks : any +>1 : 1 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[9] + 1859775393; +>d += (bc ^ a) + blocks[9] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[9] + 1859775393 : any +>(bc ^ a) + blocks[9] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[9] : any +>blocks : any +>9 : 9 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[5] + 1859775393; +>c += (da ^ b) + blocks[5] + 1859775393 : any +>c : number +>(da ^ b) + blocks[5] + 1859775393 : any +>(da ^ b) + blocks[5] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[5] : any +>blocks : any +>5 : 5 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[13] + 1859775393; +>b += (da ^ c) + blocks[13] + 1859775393 : any +>b : number +>(da ^ c) + blocks[13] + 1859775393 : any +>(da ^ c) + blocks[13] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[13] : any +>blocks : any +>13 : 13 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[3] + 1859775393; +>a += (bc ^ d) + blocks[3] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[3] + 1859775393 : any +>(bc ^ d) + blocks[3] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[3] : any +>blocks : any +>3 : 3 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[11] + 1859775393; +>d += (bc ^ a) + blocks[11] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[11] + 1859775393 : any +>(bc ^ a) + blocks[11] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[11] : any +>blocks : any +>11 : 11 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[7] + 1859775393; +>c += (da ^ b) + blocks[7] + 1859775393 : any +>c : number +>(da ^ b) + blocks[7] + 1859775393 : any +>(da ^ b) + blocks[7] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[7] : any +>blocks : any +>7 : 7 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[15] + 1859775393; +>b += (da ^ c) + blocks[15] + 1859775393 : any +>b : number +>(da ^ c) + blocks[15] + 1859775393 : any +>(da ^ c) + blocks[15] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[15] : any +>blocks : any +>15 : 15 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + a += ((b & c) | (~b & d)) + blocks[4]; +>a += ((b & c) | (~b & d)) + blocks[4] : any +>a : number +>((b & c) | (~b & d)) + blocks[4] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[4] : any +>blocks : any +>4 : 4 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[5]; +>d += ((a & b) | (~a & c)) + blocks[5] : any +>d : number +>((a & b) | (~a & c)) + blocks[5] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[5] : any +>blocks : any +>5 : 5 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[6]; +>c += ((d & a) | (~d & b)) + blocks[6] : any +>c : number +>((d & a) | (~d & b)) + blocks[6] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[6] : any +>blocks : any +>6 : 6 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[7]; +>b += ((c & d) | (~c & a)) + blocks[7] : any +>b : number +>((c & d) | (~c & a)) + blocks[7] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[7] : any +>blocks : any +>7 : 7 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + a += ((b & c) | (~b & d)) + blocks[8]; +>a += ((b & c) | (~b & d)) + blocks[8] : any +>a : number +>((b & c) | (~b & d)) + blocks[8] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[8] : any +>blocks : any +>8 : 8 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[9]; +>d += ((a & b) | (~a & c)) + blocks[9] : any +>d : number +>((a & b) | (~a & c)) + blocks[9] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[9] : any +>blocks : any +>9 : 9 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[10]; +>c += ((d & a) | (~d & b)) + blocks[10] : any +>c : number +>((d & a) | (~d & b)) + blocks[10] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[10] : any +>blocks : any +>10 : 10 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[11]; +>b += ((c & d) | (~c & a)) + blocks[11] : any +>b : number +>((c & d) | (~c & a)) + blocks[11] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[11] : any +>blocks : any +>11 : 11 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + a += ((b & c) | (~b & d)) + blocks[12]; +>a += ((b & c) | (~b & d)) + blocks[12] : any +>a : number +>((b & c) | (~b & d)) + blocks[12] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[12] : any +>blocks : any +>12 : 12 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[13]; +>d += ((a & b) | (~a & c)) + blocks[13] : any +>d : number +>((a & b) | (~a & c)) + blocks[13] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[13] : any +>blocks : any +>13 : 13 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[14]; +>c += ((d & a) | (~d & b)) + blocks[14] : any +>c : number +>((d & a) | (~d & b)) + blocks[14] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[14] : any +>blocks : any +>14 : 14 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[15]; +>b += ((c & d) | (~c & a)) + blocks[15] : any +>b : number +>((c & d) | (~c & a)) + blocks[15] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[15] : any +>blocks : any +>15 : 15 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; +>a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249 : any +>a : number +>(bc | (b & d) | (c & d)) + blocks[0] + 1518500249 : any +>(bc | (b & d) | (c & d)) + blocks[0] : any +>(bc | (b & d) | (c & d)) : number +>bc | (b & d) | (c & d) : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>blocks[0] : any +>blocks : any +>0 : 0 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[4] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[4] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[4] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[4] : any +>blocks : any +>4 : 4 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[8] + 1518500249; +>c += (da | (d & b) | ab) + blocks[8] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[8] + 1518500249 : any +>(da | (d & b) | ab) + blocks[8] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[8] : any +>blocks : any +>8 : 8 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[12] + 1518500249; +>b += (cd | (c & a) | da) + blocks[12] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[12] + 1518500249 : any +>(cd | (c & a) | da) + blocks[12] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[12] : any +>blocks : any +>12 : 12 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[1] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[1] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[1] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[1] : any +>blocks : any +>1 : 1 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[5] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[5] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[5] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[5] : any +>blocks : any +>5 : 5 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[9] + 1518500249; +>c += (da | (d & b) | ab) + blocks[9] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[9] + 1518500249 : any +>(da | (d & b) | ab) + blocks[9] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[9] : any +>blocks : any +>9 : 9 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[13] + 1518500249; +>b += (cd | (c & a) | da) + blocks[13] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[13] + 1518500249 : any +>(cd | (c & a) | da) + blocks[13] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[13] : any +>blocks : any +>13 : 13 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[2] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[2] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[2] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[2] : any +>blocks : any +>2 : 2 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[6] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[6] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[6] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[6] : any +>blocks : any +>6 : 6 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[10] + 1518500249; +>c += (da | (d & b) | ab) + blocks[10] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[10] + 1518500249 : any +>(da | (d & b) | ab) + blocks[10] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[10] : any +>blocks : any +>10 : 10 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[14] + 1518500249; +>b += (cd | (c & a) | da) + blocks[14] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[14] + 1518500249 : any +>(cd | (c & a) | da) + blocks[14] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[14] : any +>blocks : any +>14 : 14 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[3] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[3] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[3] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[3] : any +>blocks : any +>3 : 3 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[7] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[7] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[7] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[7] : any +>blocks : any +>7 : 7 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[11] + 1518500249; +>c += (da | (d & b) | ab) + blocks[11] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[11] + 1518500249 : any +>(da | (d & b) | ab) + blocks[11] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[11] : any +>blocks : any +>11 : 11 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; +>b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249 : any +>b : number +>((c & d) | (c & a) | da) + blocks[15] + 1518500249 : any +>((c & d) | (c & a) | da) + blocks[15] : any +>((c & d) | (c & a) | da) : number +>(c & d) | (c & a) | da : number +>(c & d) | (c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[15] : any +>blocks : any +>15 : 15 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[0] + 1859775393; +>a += (bc ^ d) + blocks[0] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[0] + 1859775393 : any +>(bc ^ d) + blocks[0] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[0] : any +>blocks : any +>0 : 0 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[8] + 1859775393; +>d += (bc ^ a) + blocks[8] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[8] + 1859775393 : any +>(bc ^ a) + blocks[8] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[8] : any +>blocks : any +>8 : 8 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[4] + 1859775393; +>c += (da ^ b) + blocks[4] + 1859775393 : any +>c : number +>(da ^ b) + blocks[4] + 1859775393 : any +>(da ^ b) + blocks[4] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[4] : any +>blocks : any +>4 : 4 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[12] + 1859775393; +>b += (da ^ c) + blocks[12] + 1859775393 : any +>b : number +>(da ^ c) + blocks[12] + 1859775393 : any +>(da ^ c) + blocks[12] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[12] : any +>blocks : any +>12 : 12 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[2] + 1859775393; +>a += (bc ^ d) + blocks[2] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[2] + 1859775393 : any +>(bc ^ d) + blocks[2] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[2] : any +>blocks : any +>2 : 2 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[10] + 1859775393; +>d += (bc ^ a) + blocks[10] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[10] + 1859775393 : any +>(bc ^ a) + blocks[10] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[10] : any +>blocks : any +>10 : 10 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[6] + 1859775393; +>c += (da ^ b) + blocks[6] + 1859775393 : any +>c : number +>(da ^ b) + blocks[6] + 1859775393 : any +>(da ^ b) + blocks[6] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[6] : any +>blocks : any +>6 : 6 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[14] + 1859775393; +>b += (da ^ c) + blocks[14] + 1859775393 : any +>b : number +>(da ^ c) + blocks[14] + 1859775393 : any +>(da ^ c) + blocks[14] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[14] : any +>blocks : any +>14 : 14 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[1] + 1859775393; +>a += (bc ^ d) + blocks[1] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[1] + 1859775393 : any +>(bc ^ d) + blocks[1] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[1] : any +>blocks : any +>1 : 1 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[9] + 1859775393; +>d += (bc ^ a) + blocks[9] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[9] + 1859775393 : any +>(bc ^ a) + blocks[9] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[9] : any +>blocks : any +>9 : 9 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[5] + 1859775393; +>c += (da ^ b) + blocks[5] + 1859775393 : any +>c : number +>(da ^ b) + blocks[5] + 1859775393 : any +>(da ^ b) + blocks[5] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[5] : any +>blocks : any +>5 : 5 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[13] + 1859775393; +>b += (da ^ c) + blocks[13] + 1859775393 : any +>b : number +>(da ^ c) + blocks[13] + 1859775393 : any +>(da ^ c) + blocks[13] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[13] : any +>blocks : any +>13 : 13 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[3] + 1859775393; +>a += (bc ^ d) + blocks[3] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[3] + 1859775393 : any +>(bc ^ d) + blocks[3] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[3] : any +>blocks : any +>3 : 3 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[11] + 1859775393; +>d += (bc ^ a) + blocks[11] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[11] + 1859775393 : any +>(bc ^ a) + blocks[11] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[11] : any +>blocks : any +>11 : 11 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[7] + 1859775393; +>c += (da ^ b) + blocks[7] + 1859775393 : any +>c : number +>(da ^ b) + blocks[7] + 1859775393 : any +>(da ^ b) + blocks[7] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[7] : any +>blocks : any +>7 : 7 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[15] + 1859775393; +>b += (da ^ c) + blocks[15] + 1859775393 : any +>b : number +>(da ^ c) + blocks[15] + 1859775393 : any +>(da ^ c) + blocks[15] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[15] : any +>blocks : any +>15 : 15 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + a += ((b & c) | (~b & d)) + blocks[4]; +>a += ((b & c) | (~b & d)) + blocks[4] : any +>a : number +>((b & c) | (~b & d)) + blocks[4] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[4] : any +>blocks : any +>4 : 4 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[5]; +>d += ((a & b) | (~a & c)) + blocks[5] : any +>d : number +>((a & b) | (~a & c)) + blocks[5] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[5] : any +>blocks : any +>5 : 5 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[6]; +>c += ((d & a) | (~d & b)) + blocks[6] : any +>c : number +>((d & a) | (~d & b)) + blocks[6] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[6] : any +>blocks : any +>6 : 6 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[7]; +>b += ((c & d) | (~c & a)) + blocks[7] : any +>b : number +>((c & d) | (~c & a)) + blocks[7] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[7] : any +>blocks : any +>7 : 7 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + a += ((b & c) | (~b & d)) + blocks[8]; +>a += ((b & c) | (~b & d)) + blocks[8] : any +>a : number +>((b & c) | (~b & d)) + blocks[8] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[8] : any +>blocks : any +>8 : 8 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[9]; +>d += ((a & b) | (~a & c)) + blocks[9] : any +>d : number +>((a & b) | (~a & c)) + blocks[9] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[9] : any +>blocks : any +>9 : 9 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[10]; +>c += ((d & a) | (~d & b)) + blocks[10] : any +>c : number +>((d & a) | (~d & b)) + blocks[10] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[10] : any +>blocks : any +>10 : 10 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[11]; +>b += ((c & d) | (~c & a)) + blocks[11] : any +>b : number +>((c & d) | (~c & a)) + blocks[11] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[11] : any +>blocks : any +>11 : 11 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + a += ((b & c) | (~b & d)) + blocks[12]; +>a += ((b & c) | (~b & d)) + blocks[12] : any +>a : number +>((b & c) | (~b & d)) + blocks[12] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[12] : any +>blocks : any +>12 : 12 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[13]; +>d += ((a & b) | (~a & c)) + blocks[13] : any +>d : number +>((a & b) | (~a & c)) + blocks[13] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[13] : any +>blocks : any +>13 : 13 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[14]; +>c += ((d & a) | (~d & b)) + blocks[14] : any +>c : number +>((d & a) | (~d & b)) + blocks[14] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[14] : any +>blocks : any +>14 : 14 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[15]; +>b += ((c & d) | (~c & a)) + blocks[15] : any +>b : number +>((c & d) | (~c & a)) + blocks[15] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[15] : any +>blocks : any +>15 : 15 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; +>a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249 : any +>a : number +>(bc | (b & d) | (c & d)) + blocks[0] + 1518500249 : any +>(bc | (b & d) | (c & d)) + blocks[0] : any +>(bc | (b & d) | (c & d)) : number +>bc | (b & d) | (c & d) : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>blocks[0] : any +>blocks : any +>0 : 0 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[4] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[4] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[4] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[4] : any +>blocks : any +>4 : 4 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[8] + 1518500249; +>c += (da | (d & b) | ab) + blocks[8] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[8] + 1518500249 : any +>(da | (d & b) | ab) + blocks[8] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[8] : any +>blocks : any +>8 : 8 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[12] + 1518500249; +>b += (cd | (c & a) | da) + blocks[12] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[12] + 1518500249 : any +>(cd | (c & a) | da) + blocks[12] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[12] : any +>blocks : any +>12 : 12 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[1] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[1] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[1] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[1] : any +>blocks : any +>1 : 1 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[5] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[5] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[5] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[5] : any +>blocks : any +>5 : 5 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[9] + 1518500249; +>c += (da | (d & b) | ab) + blocks[9] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[9] + 1518500249 : any +>(da | (d & b) | ab) + blocks[9] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[9] : any +>blocks : any +>9 : 9 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[13] + 1518500249; +>b += (cd | (c & a) | da) + blocks[13] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[13] + 1518500249 : any +>(cd | (c & a) | da) + blocks[13] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[13] : any +>blocks : any +>13 : 13 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[2] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[2] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[2] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[2] : any +>blocks : any +>2 : 2 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[6] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[6] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[6] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[6] : any +>blocks : any +>6 : 6 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[10] + 1518500249; +>c += (da | (d & b) | ab) + blocks[10] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[10] + 1518500249 : any +>(da | (d & b) | ab) + blocks[10] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[10] : any +>blocks : any +>10 : 10 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[14] + 1518500249; +>b += (cd | (c & a) | da) + blocks[14] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[14] + 1518500249 : any +>(cd | (c & a) | da) + blocks[14] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[14] : any +>blocks : any +>14 : 14 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[3] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[3] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[3] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[3] : any +>blocks : any +>3 : 3 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[7] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[7] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[7] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[7] : any +>blocks : any +>7 : 7 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[11] + 1518500249; +>c += (da | (d & b) | ab) + blocks[11] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[11] + 1518500249 : any +>(da | (d & b) | ab) + blocks[11] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[11] : any +>blocks : any +>11 : 11 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; +>b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249 : any +>b : number +>((c & d) | (c & a) | da) + blocks[15] + 1518500249 : any +>((c & d) | (c & a) | da) + blocks[15] : any +>((c & d) | (c & a) | da) : number +>(c & d) | (c & a) | da : number +>(c & d) | (c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[15] : any +>blocks : any +>15 : 15 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[0] + 1859775393; +>a += (bc ^ d) + blocks[0] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[0] + 1859775393 : any +>(bc ^ d) + blocks[0] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[0] : any +>blocks : any +>0 : 0 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[8] + 1859775393; +>d += (bc ^ a) + blocks[8] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[8] + 1859775393 : any +>(bc ^ a) + blocks[8] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[8] : any +>blocks : any +>8 : 8 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[4] + 1859775393; +>c += (da ^ b) + blocks[4] + 1859775393 : any +>c : number +>(da ^ b) + blocks[4] + 1859775393 : any +>(da ^ b) + blocks[4] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[4] : any +>blocks : any +>4 : 4 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[12] + 1859775393; +>b += (da ^ c) + blocks[12] + 1859775393 : any +>b : number +>(da ^ c) + blocks[12] + 1859775393 : any +>(da ^ c) + blocks[12] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[12] : any +>blocks : any +>12 : 12 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[2] + 1859775393; +>a += (bc ^ d) + blocks[2] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[2] + 1859775393 : any +>(bc ^ d) + blocks[2] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[2] : any +>blocks : any +>2 : 2 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[10] + 1859775393; +>d += (bc ^ a) + blocks[10] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[10] + 1859775393 : any +>(bc ^ a) + blocks[10] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[10] : any +>blocks : any +>10 : 10 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[6] + 1859775393; +>c += (da ^ b) + blocks[6] + 1859775393 : any +>c : number +>(da ^ b) + blocks[6] + 1859775393 : any +>(da ^ b) + blocks[6] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[6] : any +>blocks : any +>6 : 6 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[14] + 1859775393; +>b += (da ^ c) + blocks[14] + 1859775393 : any +>b : number +>(da ^ c) + blocks[14] + 1859775393 : any +>(da ^ c) + blocks[14] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[14] : any +>blocks : any +>14 : 14 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[1] + 1859775393; +>a += (bc ^ d) + blocks[1] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[1] + 1859775393 : any +>(bc ^ d) + blocks[1] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[1] : any +>blocks : any +>1 : 1 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[9] + 1859775393; +>d += (bc ^ a) + blocks[9] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[9] + 1859775393 : any +>(bc ^ a) + blocks[9] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[9] : any +>blocks : any +>9 : 9 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[5] + 1859775393; +>c += (da ^ b) + blocks[5] + 1859775393 : any +>c : number +>(da ^ b) + blocks[5] + 1859775393 : any +>(da ^ b) + blocks[5] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[5] : any +>blocks : any +>5 : 5 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[13] + 1859775393; +>b += (da ^ c) + blocks[13] + 1859775393 : any +>b : number +>(da ^ c) + blocks[13] + 1859775393 : any +>(da ^ c) + blocks[13] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[13] : any +>blocks : any +>13 : 13 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[3] + 1859775393; +>a += (bc ^ d) + blocks[3] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[3] + 1859775393 : any +>(bc ^ d) + blocks[3] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[3] : any +>blocks : any +>3 : 3 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[11] + 1859775393; +>d += (bc ^ a) + blocks[11] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[11] + 1859775393 : any +>(bc ^ a) + blocks[11] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[11] : any +>blocks : any +>11 : 11 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[7] + 1859775393; +>c += (da ^ b) + blocks[7] + 1859775393 : any +>c : number +>(da ^ b) + blocks[7] + 1859775393 : any +>(da ^ b) + blocks[7] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[7] : any +>blocks : any +>7 : 7 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[15] + 1859775393; +>b += (da ^ c) + blocks[15] + 1859775393 : any +>b : number +>(da ^ c) + blocks[15] + 1859775393 : any +>(da ^ c) + blocks[15] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[15] : any +>blocks : any +>15 : 15 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + a += ((b & c) | (~b & d)) + blocks[4]; +>a += ((b & c) | (~b & d)) + blocks[4] : any +>a : number +>((b & c) | (~b & d)) + blocks[4] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[4] : any +>blocks : any +>4 : 4 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[5]; +>d += ((a & b) | (~a & c)) + blocks[5] : any +>d : number +>((a & b) | (~a & c)) + blocks[5] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[5] : any +>blocks : any +>5 : 5 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[6]; +>c += ((d & a) | (~d & b)) + blocks[6] : any +>c : number +>((d & a) | (~d & b)) + blocks[6] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[6] : any +>blocks : any +>6 : 6 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[7]; +>b += ((c & d) | (~c & a)) + blocks[7] : any +>b : number +>((c & d) | (~c & a)) + blocks[7] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[7] : any +>blocks : any +>7 : 7 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + a += ((b & c) | (~b & d)) + blocks[8]; +>a += ((b & c) | (~b & d)) + blocks[8] : any +>a : number +>((b & c) | (~b & d)) + blocks[8] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[8] : any +>blocks : any +>8 : 8 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[9]; +>d += ((a & b) | (~a & c)) + blocks[9] : any +>d : number +>((a & b) | (~a & c)) + blocks[9] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[9] : any +>blocks : any +>9 : 9 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[10]; +>c += ((d & a) | (~d & b)) + blocks[10] : any +>c : number +>((d & a) | (~d & b)) + blocks[10] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[10] : any +>blocks : any +>10 : 10 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[11]; +>b += ((c & d) | (~c & a)) + blocks[11] : any +>b : number +>((c & d) | (~c & a)) + blocks[11] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[11] : any +>blocks : any +>11 : 11 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + a += ((b & c) | (~b & d)) + blocks[12]; +>a += ((b & c) | (~b & d)) + blocks[12] : any +>a : number +>((b & c) | (~b & d)) + blocks[12] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[12] : any +>blocks : any +>12 : 12 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[13]; +>d += ((a & b) | (~a & c)) + blocks[13] : any +>d : number +>((a & b) | (~a & c)) + blocks[13] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[13] : any +>blocks : any +>13 : 13 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[14]; +>c += ((d & a) | (~d & b)) + blocks[14] : any +>c : number +>((d & a) | (~d & b)) + blocks[14] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[14] : any +>blocks : any +>14 : 14 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[15]; +>b += ((c & d) | (~c & a)) + blocks[15] : any +>b : number +>((c & d) | (~c & a)) + blocks[15] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[15] : any +>blocks : any +>15 : 15 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; +>a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249 : any +>a : number +>(bc | (b & d) | (c & d)) + blocks[0] + 1518500249 : any +>(bc | (b & d) | (c & d)) + blocks[0] : any +>(bc | (b & d) | (c & d)) : number +>bc | (b & d) | (c & d) : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>blocks[0] : any +>blocks : any +>0 : 0 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[4] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[4] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[4] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[4] : any +>blocks : any +>4 : 4 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[8] + 1518500249; +>c += (da | (d & b) | ab) + blocks[8] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[8] + 1518500249 : any +>(da | (d & b) | ab) + blocks[8] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[8] : any +>blocks : any +>8 : 8 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[12] + 1518500249; +>b += (cd | (c & a) | da) + blocks[12] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[12] + 1518500249 : any +>(cd | (c & a) | da) + blocks[12] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[12] : any +>blocks : any +>12 : 12 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[1] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[1] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[1] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[1] : any +>blocks : any +>1 : 1 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[5] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[5] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[5] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[5] : any +>blocks : any +>5 : 5 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[9] + 1518500249; +>c += (da | (d & b) | ab) + blocks[9] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[9] + 1518500249 : any +>(da | (d & b) | ab) + blocks[9] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[9] : any +>blocks : any +>9 : 9 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[13] + 1518500249; +>b += (cd | (c & a) | da) + blocks[13] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[13] + 1518500249 : any +>(cd | (c & a) | da) + blocks[13] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[13] : any +>blocks : any +>13 : 13 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[2] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[2] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[2] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[2] : any +>blocks : any +>2 : 2 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[6] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[6] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[6] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[6] : any +>blocks : any +>6 : 6 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[10] + 1518500249; +>c += (da | (d & b) | ab) + blocks[10] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[10] + 1518500249 : any +>(da | (d & b) | ab) + blocks[10] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[10] : any +>blocks : any +>10 : 10 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[14] + 1518500249; +>b += (cd | (c & a) | da) + blocks[14] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[14] + 1518500249 : any +>(cd | (c & a) | da) + blocks[14] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[14] : any +>blocks : any +>14 : 14 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[3] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[3] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[3] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[3] : any +>blocks : any +>3 : 3 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[7] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[7] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[7] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[7] : any +>blocks : any +>7 : 7 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[11] + 1518500249; +>c += (da | (d & b) | ab) + blocks[11] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[11] + 1518500249 : any +>(da | (d & b) | ab) + blocks[11] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[11] : any +>blocks : any +>11 : 11 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; +>b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249 : any +>b : number +>((c & d) | (c & a) | da) + blocks[15] + 1518500249 : any +>((c & d) | (c & a) | da) + blocks[15] : any +>((c & d) | (c & a) | da) : number +>(c & d) | (c & a) | da : number +>(c & d) | (c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[15] : any +>blocks : any +>15 : 15 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[0] + 1859775393; +>a += (bc ^ d) + blocks[0] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[0] + 1859775393 : any +>(bc ^ d) + blocks[0] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[0] : any +>blocks : any +>0 : 0 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[8] + 1859775393; +>d += (bc ^ a) + blocks[8] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[8] + 1859775393 : any +>(bc ^ a) + blocks[8] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[8] : any +>blocks : any +>8 : 8 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[4] + 1859775393; +>c += (da ^ b) + blocks[4] + 1859775393 : any +>c : number +>(da ^ b) + blocks[4] + 1859775393 : any +>(da ^ b) + blocks[4] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[4] : any +>blocks : any +>4 : 4 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[12] + 1859775393; +>b += (da ^ c) + blocks[12] + 1859775393 : any +>b : number +>(da ^ c) + blocks[12] + 1859775393 : any +>(da ^ c) + blocks[12] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[12] : any +>blocks : any +>12 : 12 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[2] + 1859775393; +>a += (bc ^ d) + blocks[2] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[2] + 1859775393 : any +>(bc ^ d) + blocks[2] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[2] : any +>blocks : any +>2 : 2 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[10] + 1859775393; +>d += (bc ^ a) + blocks[10] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[10] + 1859775393 : any +>(bc ^ a) + blocks[10] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[10] : any +>blocks : any +>10 : 10 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[6] + 1859775393; +>c += (da ^ b) + blocks[6] + 1859775393 : any +>c : number +>(da ^ b) + blocks[6] + 1859775393 : any +>(da ^ b) + blocks[6] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[6] : any +>blocks : any +>6 : 6 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[14] + 1859775393; +>b += (da ^ c) + blocks[14] + 1859775393 : any +>b : number +>(da ^ c) + blocks[14] + 1859775393 : any +>(da ^ c) + blocks[14] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[14] : any +>blocks : any +>14 : 14 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[1] + 1859775393; +>a += (bc ^ d) + blocks[1] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[1] + 1859775393 : any +>(bc ^ d) + blocks[1] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[1] : any +>blocks : any +>1 : 1 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[9] + 1859775393; +>d += (bc ^ a) + blocks[9] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[9] + 1859775393 : any +>(bc ^ a) + blocks[9] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[9] : any +>blocks : any +>9 : 9 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[5] + 1859775393; +>c += (da ^ b) + blocks[5] + 1859775393 : any +>c : number +>(da ^ b) + blocks[5] + 1859775393 : any +>(da ^ b) + blocks[5] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[5] : any +>blocks : any +>5 : 5 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[13] + 1859775393; +>b += (da ^ c) + blocks[13] + 1859775393 : any +>b : number +>(da ^ c) + blocks[13] + 1859775393 : any +>(da ^ c) + blocks[13] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[13] : any +>blocks : any +>13 : 13 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[3] + 1859775393; +>a += (bc ^ d) + blocks[3] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[3] + 1859775393 : any +>(bc ^ d) + blocks[3] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[3] : any +>blocks : any +>3 : 3 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[11] + 1859775393; +>d += (bc ^ a) + blocks[11] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[11] + 1859775393 : any +>(bc ^ a) + blocks[11] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[11] : any +>blocks : any +>11 : 11 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[7] + 1859775393; +>c += (da ^ b) + blocks[7] + 1859775393 : any +>c : number +>(da ^ b) + blocks[7] + 1859775393 : any +>(da ^ b) + blocks[7] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[7] : any +>blocks : any +>7 : 7 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[15] + 1859775393; +>b += (da ^ c) + blocks[15] + 1859775393 : any +>b : number +>(da ^ c) + blocks[15] + 1859775393 : any +>(da ^ c) + blocks[15] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[15] : any +>blocks : any +>15 : 15 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + a += ((b & c) | (~b & d)) + blocks[4]; +>a += ((b & c) | (~b & d)) + blocks[4] : any +>a : number +>((b & c) | (~b & d)) + blocks[4] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[4] : any +>blocks : any +>4 : 4 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[5]; +>d += ((a & b) | (~a & c)) + blocks[5] : any +>d : number +>((a & b) | (~a & c)) + blocks[5] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[5] : any +>blocks : any +>5 : 5 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[6]; +>c += ((d & a) | (~d & b)) + blocks[6] : any +>c : number +>((d & a) | (~d & b)) + blocks[6] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[6] : any +>blocks : any +>6 : 6 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[7]; +>b += ((c & d) | (~c & a)) + blocks[7] : any +>b : number +>((c & d) | (~c & a)) + blocks[7] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[7] : any +>blocks : any +>7 : 7 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + a += ((b & c) | (~b & d)) + blocks[8]; +>a += ((b & c) | (~b & d)) + blocks[8] : any +>a : number +>((b & c) | (~b & d)) + blocks[8] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[8] : any +>blocks : any +>8 : 8 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[9]; +>d += ((a & b) | (~a & c)) + blocks[9] : any +>d : number +>((a & b) | (~a & c)) + blocks[9] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[9] : any +>blocks : any +>9 : 9 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[10]; +>c += ((d & a) | (~d & b)) + blocks[10] : any +>c : number +>((d & a) | (~d & b)) + blocks[10] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[10] : any +>blocks : any +>10 : 10 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[11]; +>b += ((c & d) | (~c & a)) + blocks[11] : any +>b : number +>((c & d) | (~c & a)) + blocks[11] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[11] : any +>blocks : any +>11 : 11 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + a += ((b & c) | (~b & d)) + blocks[12]; +>a += ((b & c) | (~b & d)) + blocks[12] : any +>a : number +>((b & c) | (~b & d)) + blocks[12] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[12] : any +>blocks : any +>12 : 12 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[13]; +>d += ((a & b) | (~a & c)) + blocks[13] : any +>d : number +>((a & b) | (~a & c)) + blocks[13] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[13] : any +>blocks : any +>13 : 13 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[14]; +>c += ((d & a) | (~d & b)) + blocks[14] : any +>c : number +>((d & a) | (~d & b)) + blocks[14] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[14] : any +>blocks : any +>14 : 14 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[15]; +>b += ((c & d) | (~c & a)) + blocks[15] : any +>b : number +>((c & d) | (~c & a)) + blocks[15] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[15] : any +>blocks : any +>15 : 15 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; +>a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249 : any +>a : number +>(bc | (b & d) | (c & d)) + blocks[0] + 1518500249 : any +>(bc | (b & d) | (c & d)) + blocks[0] : any +>(bc | (b & d) | (c & d)) : number +>bc | (b & d) | (c & d) : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>blocks[0] : any +>blocks : any +>0 : 0 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[4] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[4] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[4] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[4] : any +>blocks : any +>4 : 4 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[8] + 1518500249; +>c += (da | (d & b) | ab) + blocks[8] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[8] + 1518500249 : any +>(da | (d & b) | ab) + blocks[8] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[8] : any +>blocks : any +>8 : 8 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[12] + 1518500249; +>b += (cd | (c & a) | da) + blocks[12] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[12] + 1518500249 : any +>(cd | (c & a) | da) + blocks[12] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[12] : any +>blocks : any +>12 : 12 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[1] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[1] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[1] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[1] : any +>blocks : any +>1 : 1 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[5] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[5] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[5] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[5] : any +>blocks : any +>5 : 5 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[9] + 1518500249; +>c += (da | (d & b) | ab) + blocks[9] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[9] + 1518500249 : any +>(da | (d & b) | ab) + blocks[9] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[9] : any +>blocks : any +>9 : 9 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[13] + 1518500249; +>b += (cd | (c & a) | da) + blocks[13] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[13] + 1518500249 : any +>(cd | (c & a) | da) + blocks[13] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[13] : any +>blocks : any +>13 : 13 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[2] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[2] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[2] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[2] : any +>blocks : any +>2 : 2 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[6] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[6] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[6] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[6] : any +>blocks : any +>6 : 6 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[10] + 1518500249; +>c += (da | (d & b) | ab) + blocks[10] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[10] + 1518500249 : any +>(da | (d & b) | ab) + blocks[10] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[10] : any +>blocks : any +>10 : 10 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[14] + 1518500249; +>b += (cd | (c & a) | da) + blocks[14] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[14] + 1518500249 : any +>(cd | (c & a) | da) + blocks[14] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[14] : any +>blocks : any +>14 : 14 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[3] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[3] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[3] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[3] : any +>blocks : any +>3 : 3 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[7] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[7] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[7] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[7] : any +>blocks : any +>7 : 7 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[11] + 1518500249; +>c += (da | (d & b) | ab) + blocks[11] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[11] + 1518500249 : any +>(da | (d & b) | ab) + blocks[11] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[11] : any +>blocks : any +>11 : 11 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; +>b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249 : any +>b : number +>((c & d) | (c & a) | da) + blocks[15] + 1518500249 : any +>((c & d) | (c & a) | da) + blocks[15] : any +>((c & d) | (c & a) | da) : number +>(c & d) | (c & a) | da : number +>(c & d) | (c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[15] : any +>blocks : any +>15 : 15 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[0] + 1859775393; +>a += (bc ^ d) + blocks[0] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[0] + 1859775393 : any +>(bc ^ d) + blocks[0] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[0] : any +>blocks : any +>0 : 0 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[8] + 1859775393; +>d += (bc ^ a) + blocks[8] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[8] + 1859775393 : any +>(bc ^ a) + blocks[8] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[8] : any +>blocks : any +>8 : 8 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[4] + 1859775393; +>c += (da ^ b) + blocks[4] + 1859775393 : any +>c : number +>(da ^ b) + blocks[4] + 1859775393 : any +>(da ^ b) + blocks[4] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[4] : any +>blocks : any +>4 : 4 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[12] + 1859775393; +>b += (da ^ c) + blocks[12] + 1859775393 : any +>b : number +>(da ^ c) + blocks[12] + 1859775393 : any +>(da ^ c) + blocks[12] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[12] : any +>blocks : any +>12 : 12 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[2] + 1859775393; +>a += (bc ^ d) + blocks[2] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[2] + 1859775393 : any +>(bc ^ d) + blocks[2] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[2] : any +>blocks : any +>2 : 2 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[10] + 1859775393; +>d += (bc ^ a) + blocks[10] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[10] + 1859775393 : any +>(bc ^ a) + blocks[10] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[10] : any +>blocks : any +>10 : 10 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[6] + 1859775393; +>c += (da ^ b) + blocks[6] + 1859775393 : any +>c : number +>(da ^ b) + blocks[6] + 1859775393 : any +>(da ^ b) + blocks[6] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[6] : any +>blocks : any +>6 : 6 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[14] + 1859775393; +>b += (da ^ c) + blocks[14] + 1859775393 : any +>b : number +>(da ^ c) + blocks[14] + 1859775393 : any +>(da ^ c) + blocks[14] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[14] : any +>blocks : any +>14 : 14 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[1] + 1859775393; +>a += (bc ^ d) + blocks[1] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[1] + 1859775393 : any +>(bc ^ d) + blocks[1] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[1] : any +>blocks : any +>1 : 1 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[9] + 1859775393; +>d += (bc ^ a) + blocks[9] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[9] + 1859775393 : any +>(bc ^ a) + blocks[9] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[9] : any +>blocks : any +>9 : 9 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[5] + 1859775393; +>c += (da ^ b) + blocks[5] + 1859775393 : any +>c : number +>(da ^ b) + blocks[5] + 1859775393 : any +>(da ^ b) + blocks[5] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[5] : any +>blocks : any +>5 : 5 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[13] + 1859775393; +>b += (da ^ c) + blocks[13] + 1859775393 : any +>b : number +>(da ^ c) + blocks[13] + 1859775393 : any +>(da ^ c) + blocks[13] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[13] : any +>blocks : any +>13 : 13 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[3] + 1859775393; +>a += (bc ^ d) + blocks[3] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[3] + 1859775393 : any +>(bc ^ d) + blocks[3] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[3] : any +>blocks : any +>3 : 3 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[11] + 1859775393; +>d += (bc ^ a) + blocks[11] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[11] + 1859775393 : any +>(bc ^ a) + blocks[11] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[11] : any +>blocks : any +>11 : 11 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[7] + 1859775393; +>c += (da ^ b) + blocks[7] + 1859775393 : any +>c : number +>(da ^ b) + blocks[7] + 1859775393 : any +>(da ^ b) + blocks[7] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[7] : any +>blocks : any +>7 : 7 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[15] + 1859775393; +>b += (da ^ c) + blocks[15] + 1859775393 : any +>b : number +>(da ^ c) + blocks[15] + 1859775393 : any +>(da ^ c) + blocks[15] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[15] : any +>blocks : any +>15 : 15 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + a += ((b & c) | (~b & d)) + blocks[4]; +>a += ((b & c) | (~b & d)) + blocks[4] : any +>a : number +>((b & c) | (~b & d)) + blocks[4] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[4] : any +>blocks : any +>4 : 4 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[5]; +>d += ((a & b) | (~a & c)) + blocks[5] : any +>d : number +>((a & b) | (~a & c)) + blocks[5] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[5] : any +>blocks : any +>5 : 5 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[6]; +>c += ((d & a) | (~d & b)) + blocks[6] : any +>c : number +>((d & a) | (~d & b)) + blocks[6] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[6] : any +>blocks : any +>6 : 6 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[7]; +>b += ((c & d) | (~c & a)) + blocks[7] : any +>b : number +>((c & d) | (~c & a)) + blocks[7] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[7] : any +>blocks : any +>7 : 7 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + a += ((b & c) | (~b & d)) + blocks[8]; +>a += ((b & c) | (~b & d)) + blocks[8] : any +>a : number +>((b & c) | (~b & d)) + blocks[8] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[8] : any +>blocks : any +>8 : 8 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[9]; +>d += ((a & b) | (~a & c)) + blocks[9] : any +>d : number +>((a & b) | (~a & c)) + blocks[9] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[9] : any +>blocks : any +>9 : 9 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[10]; +>c += ((d & a) | (~d & b)) + blocks[10] : any +>c : number +>((d & a) | (~d & b)) + blocks[10] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[10] : any +>blocks : any +>10 : 10 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[11]; +>b += ((c & d) | (~c & a)) + blocks[11] : any +>b : number +>((c & d) | (~c & a)) + blocks[11] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[11] : any +>blocks : any +>11 : 11 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + a += ((b & c) | (~b & d)) + blocks[12]; +>a += ((b & c) | (~b & d)) + blocks[12] : any +>a : number +>((b & c) | (~b & d)) + blocks[12] : any +>((b & c) | (~b & d)) : number +>(b & c) | (~b & d) : number +>(b & c) : number +>b & c : number +>b : number +>c : number +>(~b & d) : number +>~b & d : number +>~b : number +>b : number +>d : number +>blocks[12] : any +>blocks : any +>12 : 12 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += ((a & b) | (~a & c)) + blocks[13]; +>d += ((a & b) | (~a & c)) + blocks[13] : any +>d : number +>((a & b) | (~a & c)) + blocks[13] : any +>((a & b) | (~a & c)) : number +>(a & b) | (~a & c) : number +>(a & b) : number +>a & b : number +>a : number +>b : number +>(~a & c) : number +>~a & c : number +>~a : number +>a : number +>c : number +>blocks[13] : any +>blocks : any +>13 : 13 + + d = (d << 7) | (d >>> 25); +>d = (d << 7) | (d >>> 25) : number +>d : any +>(d << 7) | (d >>> 25) : number +>(d << 7) : number +>d << 7 : number +>d : number +>7 : 7 +>(d >>> 25) : number +>d >>> 25 : number +>d : number +>25 : 25 + + c += ((d & a) | (~d & b)) + blocks[14]; +>c += ((d & a) | (~d & b)) + blocks[14] : any +>c : number +>((d & a) | (~d & b)) + blocks[14] : any +>((d & a) | (~d & b)) : number +>(d & a) | (~d & b) : number +>(d & a) : number +>d & a : number +>d : number +>a : number +>(~d & b) : number +>~d & b : number +>~d : number +>d : number +>b : number +>blocks[14] : any +>blocks : any +>14 : 14 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += ((c & d) | (~c & a)) + blocks[15]; +>b += ((c & d) | (~c & a)) + blocks[15] : any +>b : number +>((c & d) | (~c & a)) + blocks[15] : any +>((c & d) | (~c & a)) : number +>(c & d) | (~c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(~c & a) : number +>~c & a : number +>~c : number +>c : number +>a : number +>blocks[15] : any +>blocks : any +>15 : 15 + + b = (b << 19) | (b >>> 13); +>b = (b << 19) | (b >>> 13) : number +>b : any +>(b << 19) | (b >>> 13) : number +>(b << 19) : number +>b << 19 : number +>b : number +>19 : 19 +>(b >>> 13) : number +>b >>> 13 : number +>b : number +>13 : 13 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; +>a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249 : any +>a : number +>(bc | (b & d) | (c & d)) + blocks[0] + 1518500249 : any +>(bc | (b & d) | (c & d)) + blocks[0] : any +>(bc | (b & d) | (c & d)) : number +>bc | (b & d) | (c & d) : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>blocks[0] : any +>blocks : any +>0 : 0 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[4] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[4] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[4] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[4] : any +>blocks : any +>4 : 4 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[8] + 1518500249; +>c += (da | (d & b) | ab) + blocks[8] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[8] + 1518500249 : any +>(da | (d & b) | ab) + blocks[8] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[8] : any +>blocks : any +>8 : 8 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[12] + 1518500249; +>b += (cd | (c & a) | da) + blocks[12] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[12] + 1518500249 : any +>(cd | (c & a) | da) + blocks[12] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[12] : any +>blocks : any +>12 : 12 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[1] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[1] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[1] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[1] : any +>blocks : any +>1 : 1 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[5] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[5] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[5] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[5] : any +>blocks : any +>5 : 5 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[9] + 1518500249; +>c += (da | (d & b) | ab) + blocks[9] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[9] + 1518500249 : any +>(da | (d & b) | ab) + blocks[9] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[9] : any +>blocks : any +>9 : 9 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[13] + 1518500249; +>b += (cd | (c & a) | da) + blocks[13] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[13] + 1518500249 : any +>(cd | (c & a) | da) + blocks[13] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[13] : any +>blocks : any +>13 : 13 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[2] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[2] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[2] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[2] : any +>blocks : any +>2 : 2 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[6] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[6] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[6] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[6] : any +>blocks : any +>6 : 6 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[10] + 1518500249; +>c += (da | (d & b) | ab) + blocks[10] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[10] + 1518500249 : any +>(da | (d & b) | ab) + blocks[10] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[10] : any +>blocks : any +>10 : 10 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + cd = c & d; +>cd = c & d : number +>cd : any +>c & d : number +>c : number +>d : number + + b += (cd | (c & a) | da) + blocks[14] + 1518500249; +>b += (cd | (c & a) | da) + blocks[14] + 1518500249 : any +>b : number +>(cd | (c & a) | da) + blocks[14] + 1518500249 : any +>(cd | (c & a) | da) + blocks[14] : any +>(cd | (c & a) | da) : number +>cd | (c & a) | da : number +>cd | (c & a) : number +>cd : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[14] : any +>blocks : any +>14 : 14 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b & c; +>bc = b & c : number +>bc : any +>b & c : number +>b : number +>c : number + + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; +>a += (bc | (b & d) | cd) + blocks[3] + 1518500249 : any +>a : number +>(bc | (b & d) | cd) + blocks[3] + 1518500249 : any +>(bc | (b & d) | cd) + blocks[3] : any +>(bc | (b & d) | cd) : number +>bc | (b & d) | cd : number +>bc | (b & d) : number +>bc : number +>(b & d) : number +>b & d : number +>b : number +>d : number +>cd : number +>blocks[3] : any +>blocks : any +>3 : 3 +>1518500249 : 1518500249 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + ab = a & b; +>ab = a & b : number +>ab : any +>a & b : number +>a : number +>b : number + + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; +>d += (ab | (a & c) | bc) + blocks[7] + 1518500249 : any +>d : number +>(ab | (a & c) | bc) + blocks[7] + 1518500249 : any +>(ab | (a & c) | bc) + blocks[7] : any +>(ab | (a & c) | bc) : number +>ab | (a & c) | bc : number +>ab | (a & c) : number +>ab : number +>(a & c) : number +>a & c : number +>a : number +>c : number +>bc : number +>blocks[7] : any +>blocks : any +>7 : 7 +>1518500249 : 1518500249 + + d = (d << 5) | (d >>> 27); +>d = (d << 5) | (d >>> 27) : number +>d : any +>(d << 5) | (d >>> 27) : number +>(d << 5) : number +>d << 5 : number +>d : number +>5 : 5 +>(d >>> 27) : number +>d >>> 27 : number +>d : number +>27 : 27 + + da = d & a; +>da = d & a : number +>da : any +>d & a : number +>d : number +>a : number + + c += (da | (d & b) | ab) + blocks[11] + 1518500249; +>c += (da | (d & b) | ab) + blocks[11] + 1518500249 : any +>c : number +>(da | (d & b) | ab) + blocks[11] + 1518500249 : any +>(da | (d & b) | ab) + blocks[11] : any +>(da | (d & b) | ab) : number +>da | (d & b) | ab : number +>da | (d & b) : number +>da : number +>(d & b) : number +>d & b : number +>d : number +>b : number +>ab : number +>blocks[11] : any +>blocks : any +>11 : 11 +>1518500249 : 1518500249 + + c = (c << 9) | (c >>> 23); +>c = (c << 9) | (c >>> 23) : number +>c : any +>(c << 9) | (c >>> 23) : number +>(c << 9) : number +>c << 9 : number +>c : number +>9 : 9 +>(c >>> 23) : number +>c >>> 23 : number +>c : number +>23 : 23 + + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; +>b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249 : any +>b : number +>((c & d) | (c & a) | da) + blocks[15] + 1518500249 : any +>((c & d) | (c & a) | da) + blocks[15] : any +>((c & d) | (c & a) | da) : number +>(c & d) | (c & a) | da : number +>(c & d) | (c & a) : number +>(c & d) : number +>c & d : number +>c : number +>d : number +>(c & a) : number +>c & a : number +>c : number +>a : number +>da : number +>blocks[15] : any +>blocks : any +>15 : 15 +>1518500249 : 1518500249 + + b = (b << 13) | (b >>> 19); +>b = (b << 13) | (b >>> 19) : number +>b : any +>(b << 13) | (b >>> 19) : number +>(b << 13) : number +>b << 13 : number +>b : number +>13 : 13 +>(b >>> 19) : number +>b >>> 19 : number +>b : number +>19 : 19 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[0] + 1859775393; +>a += (bc ^ d) + blocks[0] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[0] + 1859775393 : any +>(bc ^ d) + blocks[0] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[0] : any +>blocks : any +>0 : 0 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[8] + 1859775393; +>d += (bc ^ a) + blocks[8] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[8] + 1859775393 : any +>(bc ^ a) + blocks[8] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[8] : any +>blocks : any +>8 : 8 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[4] + 1859775393; +>c += (da ^ b) + blocks[4] + 1859775393 : any +>c : number +>(da ^ b) + blocks[4] + 1859775393 : any +>(da ^ b) + blocks[4] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[4] : any +>blocks : any +>4 : 4 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[12] + 1859775393; +>b += (da ^ c) + blocks[12] + 1859775393 : any +>b : number +>(da ^ c) + blocks[12] + 1859775393 : any +>(da ^ c) + blocks[12] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[12] : any +>blocks : any +>12 : 12 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[2] + 1859775393; +>a += (bc ^ d) + blocks[2] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[2] + 1859775393 : any +>(bc ^ d) + blocks[2] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[2] : any +>blocks : any +>2 : 2 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[10] + 1859775393; +>d += (bc ^ a) + blocks[10] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[10] + 1859775393 : any +>(bc ^ a) + blocks[10] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[10] : any +>blocks : any +>10 : 10 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[6] + 1859775393; +>c += (da ^ b) + blocks[6] + 1859775393 : any +>c : number +>(da ^ b) + blocks[6] + 1859775393 : any +>(da ^ b) + blocks[6] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[6] : any +>blocks : any +>6 : 6 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[14] + 1859775393; +>b += (da ^ c) + blocks[14] + 1859775393 : any +>b : number +>(da ^ c) + blocks[14] + 1859775393 : any +>(da ^ c) + blocks[14] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[14] : any +>blocks : any +>14 : 14 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[1] + 1859775393; +>a += (bc ^ d) + blocks[1] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[1] + 1859775393 : any +>(bc ^ d) + blocks[1] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[1] : any +>blocks : any +>1 : 1 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[9] + 1859775393; +>d += (bc ^ a) + blocks[9] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[9] + 1859775393 : any +>(bc ^ a) + blocks[9] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[9] : any +>blocks : any +>9 : 9 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[5] + 1859775393; +>c += (da ^ b) + blocks[5] + 1859775393 : any +>c : number +>(da ^ b) + blocks[5] + 1859775393 : any +>(da ^ b) + blocks[5] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[5] : any +>blocks : any +>5 : 5 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[13] + 1859775393; +>b += (da ^ c) + blocks[13] + 1859775393 : any +>b : number +>(da ^ c) + blocks[13] + 1859775393 : any +>(da ^ c) + blocks[13] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[13] : any +>blocks : any +>13 : 13 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + bc = b ^ c; +>bc = b ^ c : number +>bc : any +>b ^ c : number +>b : number +>c : number + + a += (bc ^ d) + blocks[3] + 1859775393; +>a += (bc ^ d) + blocks[3] + 1859775393 : any +>a : number +>(bc ^ d) + blocks[3] + 1859775393 : any +>(bc ^ d) + blocks[3] : any +>(bc ^ d) : number +>bc ^ d : number +>bc : number +>d : number +>blocks[3] : any +>blocks : any +>3 : 3 +>1859775393 : 1859775393 + + a = (a << 3) | (a >>> 29); +>a = (a << 3) | (a >>> 29) : number +>a : any +>(a << 3) | (a >>> 29) : number +>(a << 3) : number +>a << 3 : number +>a : number +>3 : 3 +>(a >>> 29) : number +>a >>> 29 : number +>a : number +>29 : 29 + + d += (bc ^ a) + blocks[11] + 1859775393; +>d += (bc ^ a) + blocks[11] + 1859775393 : any +>d : number +>(bc ^ a) + blocks[11] + 1859775393 : any +>(bc ^ a) + blocks[11] : any +>(bc ^ a) : number +>bc ^ a : number +>bc : number +>a : number +>blocks[11] : any +>blocks : any +>11 : 11 +>1859775393 : 1859775393 + + d = (d << 9) | (d >>> 23); +>d = (d << 9) | (d >>> 23) : number +>d : any +>(d << 9) | (d >>> 23) : number +>(d << 9) : number +>d << 9 : number +>d : number +>9 : 9 +>(d >>> 23) : number +>d >>> 23 : number +>d : number +>23 : 23 + + da = d ^ a; +>da = d ^ a : number +>da : any +>d ^ a : number +>d : number +>a : number + + c += (da ^ b) + blocks[7] + 1859775393; +>c += (da ^ b) + blocks[7] + 1859775393 : any +>c : number +>(da ^ b) + blocks[7] + 1859775393 : any +>(da ^ b) + blocks[7] : any +>(da ^ b) : number +>da ^ b : number +>da : number +>b : number +>blocks[7] : any +>blocks : any +>7 : 7 +>1859775393 : 1859775393 + + c = (c << 11) | (c >>> 21); +>c = (c << 11) | (c >>> 21) : number +>c : any +>(c << 11) | (c >>> 21) : number +>(c << 11) : number +>c << 11 : number +>c : number +>11 : 11 +>(c >>> 21) : number +>c >>> 21 : number +>c : number +>21 : 21 + + b += (da ^ c) + blocks[15] + 1859775393; +>b += (da ^ c) + blocks[15] + 1859775393 : any +>b : number +>(da ^ c) + blocks[15] + 1859775393 : any +>(da ^ c) + blocks[15] : any +>(da ^ c) : number +>da ^ c : number +>da : number +>c : number +>blocks[15] : any +>blocks : any +>15 : 15 +>1859775393 : 1859775393 + + b = (b << 15) | (b >>> 17); +>b = (b << 15) | (b >>> 17) : number +>b : any +>(b << 15) | (b >>> 17) : number +>(b << 15) : number +>b << 15 : number +>b : number +>15 : 15 +>(b >>> 17) : number +>b >>> 17 : number +>b : number +>17 : 17 + + if (this.first) { +>this.first : any +>this : any +>first : any + + this.h0 = a + 1732584193 << 0; +>this.h0 = a + 1732584193 << 0 : number +>this.h0 : any +>this : any +>h0 : any +>a + 1732584193 << 0 : number +>a + 1732584193 : number +>a : number +>1732584193 : 1732584193 +>0 : 0 + + this.h1 = b - 271733879 << 0; +>this.h1 = b - 271733879 << 0 : number +>this.h1 : any +>this : any +>h1 : any +>b - 271733879 << 0 : number +>b - 271733879 : number +>b : number +>271733879 : 271733879 +>0 : 0 + + this.h2 = c - 1732584194 << 0; +>this.h2 = c - 1732584194 << 0 : number +>this.h2 : any +>this : any +>h2 : any +>c - 1732584194 << 0 : number +>c - 1732584194 : number +>c : number +>1732584194 : 1732584194 +>0 : 0 + + this.h3 = d + 271733878 << 0; +>this.h3 = d + 271733878 << 0 : number +>this.h3 : any +>this : any +>h3 : any +>d + 271733878 << 0 : number +>d + 271733878 : number +>d : number +>271733878 : 271733878 +>0 : 0 + + this.first = false; +>this.first = false : false +>this.first : any +>this : any +>first : any +>false : false + + } else { + this.h0 = this.h0 + a << 0; +>this.h0 = this.h0 + a << 0 : number +>this.h0 : any +>this : any +>h0 : any +>this.h0 + a << 0 : number +>this.h0 + a : any +>this.h0 : any +>this : any +>h0 : any +>a : number +>0 : 0 + + this.h1 = this.h1 + b << 0; +>this.h1 = this.h1 + b << 0 : number +>this.h1 : any +>this : any +>h1 : any +>this.h1 + b << 0 : number +>this.h1 + b : any +>this.h1 : any +>this : any +>h1 : any +>b : number +>0 : 0 + + this.h2 = this.h2 + c << 0; +>this.h2 = this.h2 + c << 0 : number +>this.h2 : any +>this : any +>h2 : any +>this.h2 + c << 0 : number +>this.h2 + c : any +>this.h2 : any +>this : any +>h2 : any +>c : number +>0 : 0 + + this.h3 = this.h3 + d << 0; +>this.h3 = this.h3 + d << 0 : number +>this.h3 : any +>this : any +>h3 : any +>this.h3 + d << 0 : number +>this.h3 + d : any +>this.h3 : any +>this : any +>h3 : any +>d : number +>0 : 0 + } +}; diff --git a/tests/baselines/reference/binderUninitializedModuleExportsAssignment.symbols b/tests/baselines/reference/binderUninitializedModuleExportsAssignment.symbols new file mode 100644 index 00000000000..73777fb2299 --- /dev/null +++ b/tests/baselines/reference/binderUninitializedModuleExportsAssignment.symbols @@ -0,0 +1,15 @@ +=== tests/cases/conformance/salsa/loop.js === +var loop1 = loop2; +>loop1 : Symbol(loop1, Decl(loop.js, 0, 3)) +>loop2 : Symbol(loop2, Decl(loop.js, 1, 3)) + +var loop2 = loop1; +>loop2 : Symbol(loop2, Decl(loop.js, 1, 3)) +>loop1 : Symbol(loop1, Decl(loop.js, 0, 3)) + +module.exports = loop2; +>module.exports : Symbol("tests/cases/conformance/salsa/loop", Decl(loop.js, 0, 0)) +>module : Symbol(export=, Decl(loop.js, 1, 18)) +>exports : Symbol(export=, Decl(loop.js, 1, 18)) +>loop2 : Symbol(loop2, Decl(loop.js, 1, 3)) + diff --git a/tests/baselines/reference/binderUninitializedModuleExportsAssignment.types b/tests/baselines/reference/binderUninitializedModuleExportsAssignment.types new file mode 100644 index 00000000000..c8b8540cc56 --- /dev/null +++ b/tests/baselines/reference/binderUninitializedModuleExportsAssignment.types @@ -0,0 +1,16 @@ +=== tests/cases/conformance/salsa/loop.js === +var loop1 = loop2; +>loop1 : any +>loop2 : any + +var loop2 = loop1; +>loop2 : any +>loop1 : any + +module.exports = loop2; +>module.exports = loop2 : any +>module.exports : any +>module : { "tests/cases/conformance/salsa/loop": any; } +>exports : any +>loop2 : any + diff --git a/tests/baselines/reference/booleanFilterAnyArray.js b/tests/baselines/reference/booleanFilterAnyArray.js new file mode 100644 index 00000000000..2cd319ca440 --- /dev/null +++ b/tests/baselines/reference/booleanFilterAnyArray.js @@ -0,0 +1,37 @@ +//// [booleanFilterAnyArray.ts] +interface Bullean { } +interface BulleanConstructor { + new(v1?: any): Bullean; + (v2?: T): v2 is T; +} + +interface Ari { + filter(cb1: (value: T) => value is S): T extends any ? Ari : Ari; + filter(cb2: (value: T) => unknown): Ari; +} +declare var Bullean: BulleanConstructor; +declare let anys: Ari; +var xs: Ari; +var xs = anys.filter(Bullean) + +declare let realanys: any[]; +var ys: any[]; +var ys = realanys.filter(Boolean) + +var foo = [{ name: 'x' }] +var foor: Array<{name: string}> +var foor = foo.filter(x => x.name) +var foos: Array +var foos = [true, true, false, null].filter((thing): thing is boolean => thing !== null) + + +//// [booleanFilterAnyArray.js] +var xs; +var xs = anys.filter(Bullean); +var ys; +var ys = realanys.filter(Boolean); +var foo = [{ name: 'x' }]; +var foor; +var foor = foo.filter(function (x) { return x.name; }); +var foos; +var foos = [true, true, false, null].filter(function (thing) { return thing !== null; }); diff --git a/tests/baselines/reference/booleanFilterAnyArray.symbols b/tests/baselines/reference/booleanFilterAnyArray.symbols new file mode 100644 index 00000000000..1e0207fdf80 --- /dev/null +++ b/tests/baselines/reference/booleanFilterAnyArray.symbols @@ -0,0 +1,108 @@ +=== tests/cases/compiler/booleanFilterAnyArray.ts === +interface Bullean { } +>Bullean : Symbol(Bullean, Decl(booleanFilterAnyArray.ts, 0, 0), Decl(booleanFilterAnyArray.ts, 10, 11)) + +interface BulleanConstructor { +>BulleanConstructor : Symbol(BulleanConstructor, Decl(booleanFilterAnyArray.ts, 0, 21)) + + new(v1?: any): Bullean; +>v1 : Symbol(v1, Decl(booleanFilterAnyArray.ts, 2, 8)) +>Bullean : Symbol(Bullean, Decl(booleanFilterAnyArray.ts, 0, 0), Decl(booleanFilterAnyArray.ts, 10, 11)) + + (v2?: T): v2 is T; +>T : Symbol(T, Decl(booleanFilterAnyArray.ts, 3, 5)) +>v2 : Symbol(v2, Decl(booleanFilterAnyArray.ts, 3, 8)) +>T : Symbol(T, Decl(booleanFilterAnyArray.ts, 3, 5)) +>v2 : Symbol(v2, Decl(booleanFilterAnyArray.ts, 3, 8)) +>T : Symbol(T, Decl(booleanFilterAnyArray.ts, 3, 5)) +} + +interface Ari { +>Ari : Symbol(Ari, Decl(booleanFilterAnyArray.ts, 4, 1)) +>T : Symbol(T, Decl(booleanFilterAnyArray.ts, 6, 14)) + + filter(cb1: (value: T) => value is S): T extends any ? Ari : Ari; +>filter : Symbol(Ari.filter, Decl(booleanFilterAnyArray.ts, 6, 18), Decl(booleanFilterAnyArray.ts, 7, 90)) +>S : Symbol(S, Decl(booleanFilterAnyArray.ts, 7, 11)) +>T : Symbol(T, Decl(booleanFilterAnyArray.ts, 6, 14)) +>cb1 : Symbol(cb1, Decl(booleanFilterAnyArray.ts, 7, 24)) +>value : Symbol(value, Decl(booleanFilterAnyArray.ts, 7, 30)) +>T : Symbol(T, Decl(booleanFilterAnyArray.ts, 6, 14)) +>value : Symbol(value, Decl(booleanFilterAnyArray.ts, 7, 30)) +>S : Symbol(S, Decl(booleanFilterAnyArray.ts, 7, 11)) +>T : Symbol(T, Decl(booleanFilterAnyArray.ts, 6, 14)) +>Ari : Symbol(Ari, Decl(booleanFilterAnyArray.ts, 4, 1)) +>Ari : Symbol(Ari, Decl(booleanFilterAnyArray.ts, 4, 1)) +>S : Symbol(S, Decl(booleanFilterAnyArray.ts, 7, 11)) + + filter(cb2: (value: T) => unknown): Ari; +>filter : Symbol(Ari.filter, Decl(booleanFilterAnyArray.ts, 6, 18), Decl(booleanFilterAnyArray.ts, 7, 90)) +>cb2 : Symbol(cb2, Decl(booleanFilterAnyArray.ts, 8, 11)) +>value : Symbol(value, Decl(booleanFilterAnyArray.ts, 8, 17)) +>T : Symbol(T, Decl(booleanFilterAnyArray.ts, 6, 14)) +>Ari : Symbol(Ari, Decl(booleanFilterAnyArray.ts, 4, 1)) +>T : Symbol(T, Decl(booleanFilterAnyArray.ts, 6, 14)) +} +declare var Bullean: BulleanConstructor; +>Bullean : Symbol(Bullean, Decl(booleanFilterAnyArray.ts, 0, 0), Decl(booleanFilterAnyArray.ts, 10, 11)) +>BulleanConstructor : Symbol(BulleanConstructor, Decl(booleanFilterAnyArray.ts, 0, 21)) + +declare let anys: Ari; +>anys : Symbol(anys, Decl(booleanFilterAnyArray.ts, 11, 11)) +>Ari : Symbol(Ari, Decl(booleanFilterAnyArray.ts, 4, 1)) + +var xs: Ari; +>xs : Symbol(xs, Decl(booleanFilterAnyArray.ts, 12, 3), Decl(booleanFilterAnyArray.ts, 13, 3)) +>Ari : Symbol(Ari, Decl(booleanFilterAnyArray.ts, 4, 1)) + +var xs = anys.filter(Bullean) +>xs : Symbol(xs, Decl(booleanFilterAnyArray.ts, 12, 3), Decl(booleanFilterAnyArray.ts, 13, 3)) +>anys.filter : Symbol(Ari.filter, Decl(booleanFilterAnyArray.ts, 6, 18), Decl(booleanFilterAnyArray.ts, 7, 90)) +>anys : Symbol(anys, Decl(booleanFilterAnyArray.ts, 11, 11)) +>filter : Symbol(Ari.filter, Decl(booleanFilterAnyArray.ts, 6, 18), Decl(booleanFilterAnyArray.ts, 7, 90)) +>Bullean : Symbol(Bullean, Decl(booleanFilterAnyArray.ts, 0, 0), Decl(booleanFilterAnyArray.ts, 10, 11)) + +declare let realanys: any[]; +>realanys : Symbol(realanys, Decl(booleanFilterAnyArray.ts, 15, 11)) + +var ys: any[]; +>ys : Symbol(ys, Decl(booleanFilterAnyArray.ts, 16, 3), Decl(booleanFilterAnyArray.ts, 17, 3)) + +var ys = realanys.filter(Boolean) +>ys : Symbol(ys, Decl(booleanFilterAnyArray.ts, 16, 3), Decl(booleanFilterAnyArray.ts, 17, 3)) +>realanys.filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>realanys : Symbol(realanys, Decl(booleanFilterAnyArray.ts, 15, 11)) +>filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) + +var foo = [{ name: 'x' }] +>foo : Symbol(foo, Decl(booleanFilterAnyArray.ts, 19, 3)) +>name : Symbol(name, Decl(booleanFilterAnyArray.ts, 19, 12)) + +var foor: Array<{name: string}> +>foor : Symbol(foor, Decl(booleanFilterAnyArray.ts, 20, 3), Decl(booleanFilterAnyArray.ts, 21, 3)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>name : Symbol(name, Decl(booleanFilterAnyArray.ts, 20, 17)) + +var foor = foo.filter(x => x.name) +>foor : Symbol(foor, Decl(booleanFilterAnyArray.ts, 20, 3), Decl(booleanFilterAnyArray.ts, 21, 3)) +>foo.filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>foo : Symbol(foo, Decl(booleanFilterAnyArray.ts, 19, 3)) +>filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>x : Symbol(x, Decl(booleanFilterAnyArray.ts, 21, 22)) +>x.name : Symbol(name, Decl(booleanFilterAnyArray.ts, 19, 12)) +>x : Symbol(x, Decl(booleanFilterAnyArray.ts, 21, 22)) +>name : Symbol(name, Decl(booleanFilterAnyArray.ts, 19, 12)) + +var foos: Array +>foos : Symbol(foos, Decl(booleanFilterAnyArray.ts, 22, 3), Decl(booleanFilterAnyArray.ts, 23, 3)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) + +var foos = [true, true, false, null].filter((thing): thing is boolean => thing !== null) +>foos : Symbol(foos, Decl(booleanFilterAnyArray.ts, 22, 3), Decl(booleanFilterAnyArray.ts, 23, 3)) +>[true, true, false, null].filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>filter : Symbol(Array.filter, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>thing : Symbol(thing, Decl(booleanFilterAnyArray.ts, 23, 45)) +>thing : Symbol(thing, Decl(booleanFilterAnyArray.ts, 23, 45)) +>thing : Symbol(thing, Decl(booleanFilterAnyArray.ts, 23, 45)) + diff --git a/tests/baselines/reference/booleanFilterAnyArray.types b/tests/baselines/reference/booleanFilterAnyArray.types new file mode 100644 index 00000000000..a1d4303ef8e --- /dev/null +++ b/tests/baselines/reference/booleanFilterAnyArray.types @@ -0,0 +1,94 @@ +=== tests/cases/compiler/booleanFilterAnyArray.ts === +interface Bullean { } +interface BulleanConstructor { + new(v1?: any): Bullean; +>v1 : any + + (v2?: T): v2 is T; +>v2 : T +} + +interface Ari { + filter(cb1: (value: T) => value is S): T extends any ? Ari : Ari; +>filter : { (cb1: (value: T) => value is S): T extends any ? Ari : Ari; (cb2: (value: T) => unknown): Ari; } +>cb1 : (value: T) => value is S +>value : T + + filter(cb2: (value: T) => unknown): Ari; +>filter : { (cb1: (value: T) => value is S): T extends any ? Ari : Ari; (cb2: (value: T) => unknown): Ari; } +>cb2 : (value: T) => unknown +>value : T +} +declare var Bullean: BulleanConstructor; +>Bullean : BulleanConstructor + +declare let anys: Ari; +>anys : Ari + +var xs: Ari; +>xs : Ari + +var xs = anys.filter(Bullean) +>xs : Ari +>anys.filter(Bullean) : Ari +>anys.filter : { (cb1: (value: any) => value is S): Ari; (cb2: (value: any) => unknown): Ari; } +>anys : Ari +>filter : { (cb1: (value: any) => value is S): Ari; (cb2: (value: any) => unknown): Ari; } +>Bullean : BulleanConstructor + +declare let realanys: any[]; +>realanys : any[] + +var ys: any[]; +>ys : any[] + +var ys = realanys.filter(Boolean) +>ys : any[] +>realanys.filter(Boolean) : any[] +>realanys.filter : { (callbackfn: (value: any, index: number, array: any[]) => value is S, thisArg?: any): S[]; (callbackfn: (value: any, index: number, array: any[]) => unknown, thisArg?: any): any[]; } +>realanys : any[] +>filter : { (callbackfn: (value: any, index: number, array: any[]) => value is S, thisArg?: any): S[]; (callbackfn: (value: any, index: number, array: any[]) => unknown, thisArg?: any): any[]; } +>Boolean : BooleanConstructor + +var foo = [{ name: 'x' }] +>foo : { name: string; }[] +>[{ name: 'x' }] : { name: string; }[] +>{ name: 'x' } : { name: string; } +>name : string +>'x' : "x" + +var foor: Array<{name: string}> +>foor : { name: string; }[] +>name : string + +var foor = foo.filter(x => x.name) +>foor : { name: string; }[] +>foo.filter(x => x.name) : { name: string; }[] +>foo.filter : { (callbackfn: (value: { name: string; }, index: number, array: { name: string; }[]) => value is S, thisArg?: any): S[]; (callbackfn: (value: { name: string; }, index: number, array: { name: string; }[]) => unknown, thisArg?: any): { name: string; }[]; } +>foo : { name: string; }[] +>filter : { (callbackfn: (value: { name: string; }, index: number, array: { name: string; }[]) => value is S, thisArg?: any): S[]; (callbackfn: (value: { name: string; }, index: number, array: { name: string; }[]) => unknown, thisArg?: any): { name: string; }[]; } +>x => x.name : (x: { name: string; }) => string +>x : { name: string; } +>x.name : string +>x : { name: string; } +>name : string + +var foos: Array +>foos : boolean[] + +var foos = [true, true, false, null].filter((thing): thing is boolean => thing !== null) +>foos : boolean[] +>[true, true, false, null].filter((thing): thing is boolean => thing !== null) : boolean[] +>[true, true, false, null].filter : { (callbackfn: (value: boolean, index: number, array: boolean[]) => value is S, thisArg?: any): S[]; (callbackfn: (value: boolean, index: number, array: boolean[]) => unknown, thisArg?: any): boolean[]; } +>[true, true, false, null] : boolean[] +>true : true +>true : true +>false : false +>null : null +>filter : { (callbackfn: (value: boolean, index: number, array: boolean[]) => value is S, thisArg?: any): S[]; (callbackfn: (value: boolean, index: number, array: boolean[]) => unknown, thisArg?: any): boolean[]; } +>(thing): thing is boolean => thing !== null : (thing: boolean) => thing is boolean +>thing : boolean +>thing !== null : boolean +>thing : boolean +>null : null + diff --git a/tests/baselines/reference/castingTuple.errors.txt b/tests/baselines/reference/castingTuple.errors.txt index 4ddb42ed2d9..0a1d592e8b1 100644 --- a/tests/baselines/reference/castingTuple.errors.txt +++ b/tests/baselines/reference/castingTuple.errors.txt @@ -71,6 +71,7 @@ tests/cases/conformance/types/tuple/castingTuple.ts(33,1): error TS2304: Cannot var array1 = numStrTuple; ~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'array1' must be of type '{}[]', but here has type 'number[]'. +!!! related TS6203 tests/cases/conformance/types/tuple/castingTuple.ts:23:5: 'array1' was also declared here. t4[2] = 10; ~~ !!! error TS2304: Cannot find name 't4'. diff --git a/tests/baselines/reference/checkInfiniteExpansionTermination.errors.txt b/tests/baselines/reference/checkInfiniteExpansionTermination.errors.txt new file mode 100644 index 00000000000..014087ff627 --- /dev/null +++ b/tests/baselines/reference/checkInfiniteExpansionTermination.errors.txt @@ -0,0 +1,32 @@ +tests/cases/compiler/checkInfiniteExpansionTermination.ts(16,1): error TS2322: Type 'ISubject' is not assignable to type 'IObservable'. + Types of property 'n' are incompatible. + Type 'IObservable' is not assignable to type 'IObservable'. + Type 'Bar[]' is not assignable to type 'Foo[]'. + Property 'x' is missing in type 'Bar' but required in type 'Foo'. + + +==== tests/cases/compiler/checkInfiniteExpansionTermination.ts (1 errors) ==== + // Regression test for #1002 + // Before fix this code would cause infinite loop + + interface IObservable { + n: IObservable; // Needed, must be T[] + } + + // Needed + interface ISubject extends IObservable { } + + interface Foo { x } + interface Bar { y } + + var values: IObservable; + var values2: ISubject; + values = values2; + ~~~~~~ +!!! error TS2322: Type 'ISubject' is not assignable to type 'IObservable'. +!!! error TS2322: Types of property 'n' are incompatible. +!!! error TS2322: Type 'IObservable' is not assignable to type 'IObservable'. +!!! error TS2322: Type 'Bar[]' is not assignable to type 'Foo[]'. +!!! error TS2322: Property 'x' is missing in type 'Bar' but required in type 'Foo'. +!!! related TS2728 tests/cases/compiler/checkInfiniteExpansionTermination.ts:11:17: 'x' is declared here. + \ No newline at end of file diff --git a/tests/baselines/reference/checkMergedGlobalUMDSymbol.errors.txt b/tests/baselines/reference/checkMergedGlobalUMDSymbol.errors.txt index f3d21e26b6e..f4b889131f1 100644 --- a/tests/baselines/reference/checkMergedGlobalUMDSymbol.errors.txt +++ b/tests/baselines/reference/checkMergedGlobalUMDSymbol.errors.txt @@ -15,6 +15,7 @@ tests/cases/compiler/global.d.ts(6,16): error TS2403: Subsequent variable declar export const THREE: typeof _three; ~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'THREE' must be of type 'typeof import("tests/cases/compiler/global")', but here has type 'typeof import("tests/cases/compiler/three")'. +!!! related TS6203 tests/cases/compiler/global.d.ts:1:1: 'THREE' was also declared here. } ==== tests/cases/compiler/test.ts (0 errors) ==== diff --git a/tests/baselines/reference/circularlyConstrainedMappedTypeContainingConditionalNoInfiniteInstantiationDepth.errors.txt b/tests/baselines/reference/circularlyConstrainedMappedTypeContainingConditionalNoInfiniteInstantiationDepth.errors.txt index 04a88a4b1e5..74835c4a55b 100644 --- a/tests/baselines/reference/circularlyConstrainedMappedTypeContainingConditionalNoInfiniteInstantiationDepth.errors.txt +++ b/tests/baselines/reference/circularlyConstrainedMappedTypeContainingConditionalNoInfiniteInstantiationDepth.errors.txt @@ -11,22 +11,28 @@ tests/cases/compiler/circularlyConstrainedMappedTypeContainingConditionalNoInfin Type 'GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. Type '(Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>]) | (Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>]) | (Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. Type 'Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. - Type 'GetProps[Extract>] | (TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. - Type 'GetProps[Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. - Type 'GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. - Type 'keyof GetProps & string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string] : GetProps[keyof GetProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. - Type 'GetProps[keyof GetProps & string] | (TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. - Type 'GetProps[keyof GetProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. - Type 'GetProps[keyof GetProps & string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. - Type 'string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string] : GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. - Type 'GetProps[string] | (TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. - Type 'GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. - Type 'GetProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. - Type 'string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string] : GetProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. - Type 'keyof GetProps & string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string] : GetProps[keyof GetProps & string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. - Type 'Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. - Type 'Extract> extends keyof TInjectedProps ? TInjectedProps[Extract>] extends GetProps[Extract>] ? GetProps[Extract>] : TInjectedProps[Extract>] : GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. - Type 'P extends keyof TInjectedProps ? TInjectedProps[P] extends GetProps[P] ? GetProps[P] : TInjectedProps[P] : GetProps[P]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. + Type '(TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>]) | GetProps[Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'TInjectedProps[keyof TInjectedProps & Extract>] | GetProps[keyof TInjectedProps & Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'TInjectedProps[keyof TInjectedProps & Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'TInjectedProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'TInjectedProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. + Type 'TInjectedProps[keyof TInjectedProps & Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. + Type 'TInjectedProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. + Type 'TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. + Type 'keyof GetProps & string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string] : GetProps[keyof GetProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'GetProps[keyof GetProps & string] | (TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'GetProps[keyof GetProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'GetProps[keyof GetProps & string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. + Type 'string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string] : GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'GetProps[string] | (TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'GetProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. + Type 'string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string] : GetProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. + Type 'keyof GetProps & string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string] : GetProps[keyof GetProps & string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. + Type 'Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. + Type 'Extract> extends keyof TInjectedProps ? TInjectedProps[Extract>] extends GetProps[Extract>] ? GetProps[Extract>] : TInjectedProps[Extract>] : GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. + Type 'P extends keyof TInjectedProps ? TInjectedProps[P] extends GetProps[P] ? GetProps[P] : TInjectedProps[P] : GetProps[P]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. ==== tests/cases/compiler/circularlyConstrainedMappedTypeContainingConditionalNoInfiniteInstantiationDepth.ts (1 errors) ==== @@ -107,20 +113,26 @@ tests/cases/compiler/circularlyConstrainedMappedTypeContainingConditionalNoInfin !!! error TS2344: Type 'GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. !!! error TS2344: Type '(Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>]) | (Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>]) | (Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. !!! error TS2344: Type 'Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. -!!! error TS2344: Type 'GetProps[Extract>] | (TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. -!!! error TS2344: Type 'GetProps[Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. -!!! error TS2344: Type 'GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. -!!! error TS2344: Type 'keyof GetProps & string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string] : GetProps[keyof GetProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. -!!! error TS2344: Type 'GetProps[keyof GetProps & string] | (TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. -!!! error TS2344: Type 'GetProps[keyof GetProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. -!!! error TS2344: Type 'GetProps[keyof GetProps & string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. -!!! error TS2344: Type 'string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string] : GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. -!!! error TS2344: Type 'GetProps[string] | (TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. -!!! error TS2344: Type 'GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. -!!! error TS2344: Type 'GetProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. -!!! error TS2344: Type 'string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string] : GetProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. -!!! error TS2344: Type 'keyof GetProps & string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string] : GetProps[keyof GetProps & string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. -!!! error TS2344: Type 'Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. -!!! error TS2344: Type 'Extract> extends keyof TInjectedProps ? TInjectedProps[Extract>] extends GetProps[Extract>] ? GetProps[Extract>] : TInjectedProps[Extract>] : GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. -!!! error TS2344: Type 'P extends keyof TInjectedProps ? TInjectedProps[P] extends GetProps[P] ? GetProps[P] : TInjectedProps[P] : GetProps[P]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. +!!! error TS2344: Type '(TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>]) | GetProps[Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'TInjectedProps[keyof TInjectedProps & Extract>] | GetProps[keyof TInjectedProps & Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'TInjectedProps[keyof TInjectedProps & Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'TInjectedProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'TInjectedProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. +!!! error TS2344: Type 'TInjectedProps[keyof TInjectedProps & Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. +!!! error TS2344: Type 'TInjectedProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. +!!! error TS2344: Type 'TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. +!!! error TS2344: Type 'keyof GetProps & string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string] : GetProps[keyof GetProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'GetProps[keyof GetProps & string] | (TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'GetProps[keyof GetProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'GetProps[keyof GetProps & string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. +!!! error TS2344: Type 'string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string] : GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'GetProps[string] | (TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'GetProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. +!!! error TS2344: Type 'string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string] : GetProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. +!!! error TS2344: Type 'keyof GetProps & string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string] : GetProps[keyof GetProps & string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. +!!! error TS2344: Type 'Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. +!!! error TS2344: Type 'Extract> extends keyof TInjectedProps ? TInjectedProps[Extract>] extends GetProps[Extract>] ? GetProps[Extract>] : TInjectedProps[Extract>] : GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. +!!! error TS2344: Type 'P extends keyof TInjectedProps ? TInjectedProps[P] extends GetProps[P] ? GetProps[P] : TInjectedProps[P] : GetProps[P]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. \ No newline at end of file diff --git a/tests/baselines/reference/classWithDuplicateIdentifier.errors.txt b/tests/baselines/reference/classWithDuplicateIdentifier.errors.txt index db48c48078c..60390e8a843 100644 --- a/tests/baselines/reference/classWithDuplicateIdentifier.errors.txt +++ b/tests/baselines/reference/classWithDuplicateIdentifier.errors.txt @@ -14,6 +14,7 @@ tests/cases/compiler/classWithDuplicateIdentifier.ts(11,5): error TS2717: Subseq !!! error TS2300: Duplicate identifier 'a'. ~ !!! error TS2717: Subsequent property declarations must have the same type. Property 'a' must be of type '() => number', but here has type 'number'. +!!! related TS6203 tests/cases/compiler/classWithDuplicateIdentifier.ts:2:5: 'a' was also declared here. } class K { b: number; // error: duplicate identifier @@ -30,5 +31,6 @@ tests/cases/compiler/classWithDuplicateIdentifier.ts(11,5): error TS2717: Subseq !!! error TS2300: Duplicate identifier 'c'. ~ !!! error TS2717: Subsequent property declarations must have the same type. Property 'c' must be of type 'number', but here has type 'string'. +!!! related TS6203 tests/cases/compiler/classWithDuplicateIdentifier.ts:10:5: 'c' was also declared here. } \ No newline at end of file diff --git a/tests/baselines/reference/commonJsIsolatedModules.js b/tests/baselines/reference/commonJsIsolatedModules.js new file mode 100644 index 00000000000..fe983eec37a --- /dev/null +++ b/tests/baselines/reference/commonJsIsolatedModules.js @@ -0,0 +1,8 @@ +//// [index.js] +module.exports = {} +var x = 1 + + +//// [index.js] +module.exports = {}; +var x = 1; diff --git a/tests/baselines/reference/commonJsIsolatedModules.symbols b/tests/baselines/reference/commonJsIsolatedModules.symbols new file mode 100644 index 00000000000..f0f9d0d7855 --- /dev/null +++ b/tests/baselines/reference/commonJsIsolatedModules.symbols @@ -0,0 +1,9 @@ +=== tests/cases/compiler/index.js === +module.exports = {} +>module.exports : Symbol("tests/cases/compiler/index", Decl(index.js, 0, 0)) +>module : Symbol(module, Decl(index.js, 0, 0)) +>exports : Symbol("tests/cases/compiler/index", Decl(index.js, 0, 0)) + +var x = 1 +>x : Symbol(x, Decl(index.js, 1, 3)) + diff --git a/tests/baselines/reference/commonJsIsolatedModules.types b/tests/baselines/reference/commonJsIsolatedModules.types new file mode 100644 index 00000000000..363b450cef9 --- /dev/null +++ b/tests/baselines/reference/commonJsIsolatedModules.types @@ -0,0 +1,12 @@ +=== tests/cases/compiler/index.js === +module.exports = {} +>module.exports = {} : typeof import("tests/cases/compiler/index") +>module.exports : typeof import("tests/cases/compiler/index") +>module : { "tests/cases/compiler/index": typeof import("tests/cases/compiler/index"); } +>exports : typeof import("tests/cases/compiler/index") +>{} : {} + +var x = 1 +>x : number +>1 : 1 + diff --git a/tests/baselines/reference/conditionalTypes1.errors.txt b/tests/baselines/reference/conditionalTypes1.errors.txt index c84ce90642a..45d3b1f99cb 100644 --- a/tests/baselines/reference/conditionalTypes1.errors.txt +++ b/tests/baselines/reference/conditionalTypes1.errors.txt @@ -19,12 +19,8 @@ tests/cases/conformance/types/conditional/conditionalTypes1.ts(104,5): error TS2 'Pick' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint '{}'. tests/cases/conformance/types/conditional/conditionalTypes1.ts(106,5): error TS2322: Type 'Pick' is not assignable to type 'Pick'. Type 'T[keyof T] extends Function ? keyof T : never' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'. - Type 'keyof T' is not assignable to type 'never'. - Type 'string | number | symbol' is not assignable to type 'never'. - Type 'string' is not assignable to type 'never'. tests/cases/conformance/types/conditional/conditionalTypes1.ts(108,5): error TS2322: Type 'Pick' is not assignable to type 'Pick'. Type 'T[keyof T] extends Function ? never : keyof T' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'. - Type 'keyof T' is not assignable to type 'never'. tests/cases/conformance/types/conditional/conditionalTypes1.ts(114,5): error TS2322: Type 'keyof T' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'. Type 'string | number | symbol' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'. Type 'string' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'. @@ -195,15 +191,11 @@ tests/cases/conformance/types/conditional/conditionalTypes1.ts(288,43): error TS ~ !!! error TS2322: Type 'Pick' is not assignable to type 'Pick'. !!! error TS2322: Type 'T[keyof T] extends Function ? keyof T : never' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'. -!!! error TS2322: Type 'keyof T' is not assignable to type 'never'. -!!! error TS2322: Type 'string | number | symbol' is not assignable to type 'never'. -!!! error TS2322: Type 'string' is not assignable to type 'never'. z = x; z = y; // Error ~ !!! error TS2322: Type 'Pick' is not assignable to type 'Pick'. !!! error TS2322: Type 'T[keyof T] extends Function ? never : keyof T' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'. -!!! error TS2322: Type 'keyof T' is not assignable to type 'never'. } function f8(x: keyof T, y: FunctionPropertyNames, z: NonFunctionPropertyNames) { @@ -399,6 +391,7 @@ tests/cases/conformance/types/conditional/conditionalTypes1.ts(288,43): error TS var z: T2; // Error, T2 is distributive, T1 isn't ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'z' must be of type 'T1', but here has type 'Foo'. +!!! related TS6203 tests/cases/conformance/types/conditional/conditionalTypes1.ts:262:9: 'z' was also declared here. } function f33() { diff --git a/tests/baselines/reference/conditionalTypes1.js b/tests/baselines/reference/conditionalTypes1.js index 5dc48518384..7ce19ce17e7 100644 --- a/tests/baselines/reference/conditionalTypes1.js +++ b/tests/baselines/reference/conditionalTypes1.js @@ -645,7 +645,7 @@ declare type T82 = Eq2; declare type T83 = Eq2; declare type Foo = T extends string ? boolean : number; declare type Bar = T extends string ? boolean : number; -declare const convert: (value: Foo) => Foo; +declare const convert: (value: Foo) => Bar; declare type Baz = Foo; declare const convert2: (value: Foo) => Foo; declare function f31(): void; diff --git a/tests/baselines/reference/conditionalTypes1.types b/tests/baselines/reference/conditionalTypes1.types index bc70e68f0ca..234fc071d74 100644 --- a/tests/baselines/reference/conditionalTypes1.types +++ b/tests/baselines/reference/conditionalTypes1.types @@ -779,8 +779,8 @@ type Bar = T extends string ? boolean : number; >Bar : Bar const convert = (value: Foo): Bar => value; ->convert : (value: Foo) => Foo ->(value: Foo): Bar => value : (value: Foo) => Foo +>convert : (value: Foo) => Bar +>(value: Foo): Bar => value : (value: Foo) => Bar >value : Foo >value : Foo @@ -832,7 +832,7 @@ function f33() { >T1 : Foo type T2 = Bar; ->T2 : Foo +>T2 : Bar var z: T1; >z : Foo diff --git a/tests/baselines/reference/conditionalTypes2.errors.txt b/tests/baselines/reference/conditionalTypes2.errors.txt index f17a55dd61c..4093bf46fb0 100644 --- a/tests/baselines/reference/conditionalTypes2.errors.txt +++ b/tests/baselines/reference/conditionalTypes2.errors.txt @@ -267,4 +267,10 @@ tests/cases/conformance/types/conditional/conditionalTypes2.ts(75,12): error TS2 }; type PCCA = ProductComplementComplement['a']; type PCCB = ProductComplementComplement['b']; + + // Repro from #31326 + + type Hmm = U extends T ? { [K in keyof U]: number } : never; + type What = Hmm<{}, { a: string }> + const w: What = { a: 4 }; \ No newline at end of file diff --git a/tests/baselines/reference/conditionalTypes2.js b/tests/baselines/reference/conditionalTypes2.js index 4f4f35e821a..cb35ac6cc2d 100644 --- a/tests/baselines/reference/conditionalTypes2.js +++ b/tests/baselines/reference/conditionalTypes2.js @@ -188,6 +188,12 @@ type ProductComplementComplement = { }; type PCCA = ProductComplementComplement['a']; type PCCB = ProductComplementComplement['b']; + +// Repro from #31326 + +type Hmm = U extends T ? { [K in keyof U]: number } : never; +type What = Hmm<{}, { a: string }> +const w: What = { a: 4 }; //// [conditionalTypes2.js] @@ -265,6 +271,7 @@ function foo(value) { toString2(value); } } +var w = { a: 4 }; //// [conditionalTypes2.d.ts] @@ -392,3 +399,10 @@ declare type ProductComplementComplement = { }; declare type PCCA = ProductComplementComplement['a']; declare type PCCB = ProductComplementComplement['b']; +declare type Hmm = U extends T ? { + [K in keyof U]: number; +} : never; +declare type What = Hmm<{}, { + a: string; +}>; +declare const w: What; diff --git a/tests/baselines/reference/conditionalTypes2.symbols b/tests/baselines/reference/conditionalTypes2.symbols index b164d26e450..f665cbc3c71 100644 --- a/tests/baselines/reference/conditionalTypes2.symbols +++ b/tests/baselines/reference/conditionalTypes2.symbols @@ -685,3 +685,25 @@ type PCCB = ProductComplementComplement['b']; >PCCB : Symbol(PCCB, Decl(conditionalTypes2.ts, 187, 45)) >ProductComplementComplement : Symbol(ProductComplementComplement, Decl(conditionalTypes2.ts, 181, 34)) +// Repro from #31326 + +type Hmm = U extends T ? { [K in keyof U]: number } : never; +>Hmm : Symbol(Hmm, Decl(conditionalTypes2.ts, 188, 45)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 192, 9)) +>U : Symbol(U, Decl(conditionalTypes2.ts, 192, 11)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 192, 9)) +>U : Symbol(U, Decl(conditionalTypes2.ts, 192, 11)) +>T : Symbol(T, Decl(conditionalTypes2.ts, 192, 9)) +>K : Symbol(K, Decl(conditionalTypes2.ts, 192, 44)) +>U : Symbol(U, Decl(conditionalTypes2.ts, 192, 11)) + +type What = Hmm<{}, { a: string }> +>What : Symbol(What, Decl(conditionalTypes2.ts, 192, 76)) +>Hmm : Symbol(Hmm, Decl(conditionalTypes2.ts, 188, 45)) +>a : Symbol(a, Decl(conditionalTypes2.ts, 193, 21)) + +const w: What = { a: 4 }; +>w : Symbol(w, Decl(conditionalTypes2.ts, 194, 5)) +>What : Symbol(What, Decl(conditionalTypes2.ts, 192, 76)) +>a : Symbol(a, Decl(conditionalTypes2.ts, 194, 17)) + diff --git a/tests/baselines/reference/conditionalTypes2.types b/tests/baselines/reference/conditionalTypes2.types index aac6ba47475..e3d949f268e 100644 --- a/tests/baselines/reference/conditionalTypes2.types +++ b/tests/baselines/reference/conditionalTypes2.types @@ -431,3 +431,18 @@ type PCCA = ProductComplementComplement['a']; type PCCB = ProductComplementComplement['b']; >PCCB : Product<"b", 1> +// Repro from #31326 + +type Hmm = U extends T ? { [K in keyof U]: number } : never; +>Hmm : Hmm + +type What = Hmm<{}, { a: string }> +>What : { a: number; } +>a : string + +const w: What = { a: 4 }; +>w : { a: number; } +>{ a: 4 } : { a: number; } +>a : number +>4 : 4 + diff --git a/tests/baselines/reference/conditionalTypesSimplifyWhenTrivial.types b/tests/baselines/reference/conditionalTypesSimplifyWhenTrivial.types index 5f513153560..27ac357703a 100644 --- a/tests/baselines/reference/conditionalTypesSimplifyWhenTrivial.types +++ b/tests/baselines/reference/conditionalTypesSimplifyWhenTrivial.types @@ -1,49 +1,49 @@ === tests/cases/compiler/conditionalTypesSimplifyWhenTrivial.ts === const fn1 = ( ->fn1 : (params: Pick) => Params ->( params: Pick>,): Params => params : (params: Pick) => Params +>fn1 : (params: Pick>) => Params +>( params: Pick>,): Params => params : (params: Pick>) => Params params: Pick>, ->params : Pick +>params : Pick> ): Params => params; ->params : Pick +>params : Pick> function fn2(x: Exclude) { ->fn2 : (x: T) => void ->x : T +>fn2 : (x: Exclude) => void +>x : Exclude var y: T = x; >y : T ->x : T +>x : Exclude x = y; >x = y : T ->x : T +>x : Exclude >y : T } const fn3 = ( ->fn3 : (params: Pick) => Params ->( params: Pick>,): Params => params : (params: Pick) => Params +>fn3 : (params: Pick>) => Params +>( params: Pick>,): Params => params : (params: Pick>) => Params params: Pick>, ->params : Pick +>params : Pick> ): Params => params; ->params : Pick +>params : Pick> function fn4(x: Extract) { ->fn4 : (x: T) => void ->x : T +>fn4 : (x: Extract) => void +>x : Extract var y: T = x; >y : T ->x : T +>x : Extract x = y; >x = y : T ->x : T +>x : Extract >y : T } @@ -57,50 +57,50 @@ type ExcludeWithDefault = T extends U ? D : T; >ExcludeWithDefault : ExcludeWithDefault const fn5 = ( ->fn5 : (params: Pick) => Params ->( params: Pick>,): Params => params : (params: Pick) => Params +>fn5 : (params: Pick>) => Params +>( params: Pick>,): Params => params : (params: Pick>) => Params params: Pick>, ->params : Pick +>params : Pick> ): Params => params; ->params : Pick +>params : Pick> function fn6(x: ExcludeWithDefault) { ->fn6 : (x: T) => void ->x : T +>fn6 : (x: ExcludeWithDefault) => void +>x : ExcludeWithDefault var y: T = x; >y : T ->x : T +>x : ExcludeWithDefault x = y; >x = y : T ->x : T +>x : ExcludeWithDefault >y : T } const fn7 = ( ->fn7 : (params: Pick) => Params ->( params: Pick>,): Params => params : (params: Pick) => Params +>fn7 : (params: Pick>) => Params +>( params: Pick>,): Params => params : (params: Pick>) => Params params: Pick>, ->params : Pick +>params : Pick> ): Params => params; ->params : Pick +>params : Pick> function fn8(x: ExtractWithDefault) { ->fn8 : (x: T) => void ->x : T +>fn8 : (x: ExtractWithDefault) => void +>x : ExtractWithDefault var y: T = x; >y : T ->x : T +>x : ExtractWithDefault x = y; >x = y : T ->x : T +>x : ExtractWithDefault >y : T } @@ -108,50 +108,50 @@ type TemplatedConditional = TCheck extends TExt >TemplatedConditional : TemplatedConditional const fn9 = ( ->fn9 : (params: Pick) => Params ->( params: Pick>,): Params => params : (params: Pick) => Params +>fn9 : (params: Pick>) => Params +>( params: Pick>,): Params => params : (params: Pick>) => Params params: Pick>, ->params : Pick +>params : Pick> ): Params => params; ->params : Pick +>params : Pick> function fn10(x: TemplatedConditional) { ->fn10 : (x: T) => void ->x : T +>fn10 : (x: TemplatedConditional) => void +>x : TemplatedConditional var y: T = x; >y : T ->x : T +>x : TemplatedConditional x = y; >x = y : T ->x : T +>x : TemplatedConditional >y : T } const fn11 = ( ->fn11 : (params: Pick) => Params ->( params: Pick>,): Params => params : (params: Pick) => Params +>fn11 : (params: Pick>) => Params +>( params: Pick>,): Params => params : (params: Pick>) => Params params: Pick>, ->params : Pick +>params : Pick> ): Params => params; ->params : Pick +>params : Pick> function fn12(x: TemplatedConditional) { ->fn12 : (x: T) => void ->x : T +>fn12 : (x: TemplatedConditional) => void +>x : TemplatedConditional var y: T = x; >y : T ->x : T +>x : TemplatedConditional x = y; >x = y : T ->x : T +>x : TemplatedConditional >y : T } diff --git a/tests/baselines/reference/consistentAliasVsNonAliasRecordBehavior.errors.txt b/tests/baselines/reference/consistentAliasVsNonAliasRecordBehavior.errors.txt new file mode 100644 index 00000000000..76de0b10e47 --- /dev/null +++ b/tests/baselines/reference/consistentAliasVsNonAliasRecordBehavior.errors.txt @@ -0,0 +1,55 @@ +tests/cases/compiler/consistentAliasVsNonAliasRecordBehavior.ts(18,5): error TS2741: Property 'a' is missing in type 'Record' but required in type 'Record2<"a", string>'. +tests/cases/compiler/consistentAliasVsNonAliasRecordBehavior.ts(22,5): error TS2741: Property 'a' is missing in type 'Record2' but required in type 'Record<"a", string>'. +tests/cases/compiler/consistentAliasVsNonAliasRecordBehavior.ts(34,5): error TS2741: Property 'a' is missing in type 'Record' but required in type 'Record2<"a", T>'. +tests/cases/compiler/consistentAliasVsNonAliasRecordBehavior.ts(38,5): error TS2741: Property 'a' is missing in type 'Record2' but required in type 'Record<"a", T>'. + + +==== tests/cases/compiler/consistentAliasVsNonAliasRecordBehavior.ts (4 errors) ==== + // TODO: FIXME: All the below cases labeled `no error` _should be an error_, and are only prevented from so being + // by incorrect variance-based relationships + // Ref: https://github.com/Microsoft/TypeScript/issues/29698 + + type Record2 = { + [P in K]: T; + }; + + function defaultRecord(x: Record<'a', string>, y: Record) { + x = y; // no error, but error expected. + } + + function customRecord(x: Record2<'a', string>, y: Record2) { + x = y; // no error, but error expected. + } + + function mixed1(x: Record2<'a', string>, y: Record) { + x = y; // error + ~ +!!! error TS2741: Property 'a' is missing in type 'Record' but required in type 'Record2<"a", string>'. + } + + function mixed2(x: Record<'a', string>, y: Record2) { + x = y; // error + ~ +!!! error TS2741: Property 'a' is missing in type 'Record2' but required in type 'Record<"a", string>'. + } + + function defaultRecord2(x: Record<'a', T>, y: Record) { + x = y; // no error, but error expected. + } + + function customRecord2(x: Record2<'a', T>, y: Record2) { + x = y; // no error, but error expected. + } + + function mixed3(x: Record2<'a', T>, y: Record) { + x = y; // error + ~ +!!! error TS2741: Property 'a' is missing in type 'Record' but required in type 'Record2<"a", T>'. + } + + function mixed4(x: Record<'a', T>, y: Record2) { + x = y; // error + ~ +!!! error TS2741: Property 'a' is missing in type 'Record2' but required in type 'Record<"a", T>'. + } + \ No newline at end of file diff --git a/tests/baselines/reference/consistentAliasVsNonAliasRecordBehavior.js b/tests/baselines/reference/consistentAliasVsNonAliasRecordBehavior.js new file mode 100644 index 00000000000..0e127e3acb7 --- /dev/null +++ b/tests/baselines/reference/consistentAliasVsNonAliasRecordBehavior.js @@ -0,0 +1,70 @@ +//// [consistentAliasVsNonAliasRecordBehavior.ts] +// TODO: FIXME: All the below cases labeled `no error` _should be an error_, and are only prevented from so being +// by incorrect variance-based relationships +// Ref: https://github.com/Microsoft/TypeScript/issues/29698 + +type Record2 = { + [P in K]: T; +}; + +function defaultRecord(x: Record<'a', string>, y: Record) { + x = y; // no error, but error expected. +} + +function customRecord(x: Record2<'a', string>, y: Record2) { + x = y; // no error, but error expected. +} + +function mixed1(x: Record2<'a', string>, y: Record) { + x = y; // error +} + +function mixed2(x: Record<'a', string>, y: Record2) { + x = y; // error +} + +function defaultRecord2(x: Record<'a', T>, y: Record) { + x = y; // no error, but error expected. +} + +function customRecord2(x: Record2<'a', T>, y: Record2) { + x = y; // no error, but error expected. +} + +function mixed3(x: Record2<'a', T>, y: Record) { + x = y; // error +} + +function mixed4(x: Record<'a', T>, y: Record2) { + x = y; // error +} + + +//// [consistentAliasVsNonAliasRecordBehavior.js] +// TODO: FIXME: All the below cases labeled `no error` _should be an error_, and are only prevented from so being +// by incorrect variance-based relationships +// Ref: https://github.com/Microsoft/TypeScript/issues/29698 +function defaultRecord(x, y) { + x = y; // no error, but error expected. +} +function customRecord(x, y) { + x = y; // no error, but error expected. +} +function mixed1(x, y) { + x = y; // error +} +function mixed2(x, y) { + x = y; // error +} +function defaultRecord2(x, y) { + x = y; // no error, but error expected. +} +function customRecord2(x, y) { + x = y; // no error, but error expected. +} +function mixed3(x, y) { + x = y; // error +} +function mixed4(x, y) { + x = y; // error +} diff --git a/tests/baselines/reference/consistentAliasVsNonAliasRecordBehavior.symbols b/tests/baselines/reference/consistentAliasVsNonAliasRecordBehavior.symbols new file mode 100644 index 00000000000..8757e1371ac --- /dev/null +++ b/tests/baselines/reference/consistentAliasVsNonAliasRecordBehavior.symbols @@ -0,0 +1,125 @@ +=== tests/cases/compiler/consistentAliasVsNonAliasRecordBehavior.ts === +// TODO: FIXME: All the below cases labeled `no error` _should be an error_, and are only prevented from so being +// by incorrect variance-based relationships +// Ref: https://github.com/Microsoft/TypeScript/issues/29698 + +type Record2 = { +>Record2 : Symbol(Record2, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 0, 0)) +>K : Symbol(K, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 4, 13)) +>T : Symbol(T, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 4, 33)) + + [P in K]: T; +>P : Symbol(P, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 5, 5)) +>K : Symbol(K, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 4, 13)) +>T : Symbol(T, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 4, 33)) + +}; + +function defaultRecord(x: Record<'a', string>, y: Record) { +>defaultRecord : Symbol(defaultRecord, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 6, 2)) +>x : Symbol(x, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 8, 23)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) +>y : Symbol(y, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 8, 46)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) + + x = y; // no error, but error expected. +>x : Symbol(x, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 8, 23)) +>y : Symbol(y, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 8, 46)) +} + +function customRecord(x: Record2<'a', string>, y: Record2) { +>customRecord : Symbol(customRecord, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 10, 1)) +>x : Symbol(x, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 12, 22)) +>Record2 : Symbol(Record2, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 0, 0)) +>y : Symbol(y, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 12, 46)) +>Record2 : Symbol(Record2, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 0, 0)) + + x = y; // no error, but error expected. +>x : Symbol(x, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 12, 22)) +>y : Symbol(y, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 12, 46)) +} + +function mixed1(x: Record2<'a', string>, y: Record) { +>mixed1 : Symbol(mixed1, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 14, 1)) +>x : Symbol(x, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 16, 16)) +>Record2 : Symbol(Record2, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 0, 0)) +>y : Symbol(y, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 16, 40)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) + + x = y; // error +>x : Symbol(x, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 16, 16)) +>y : Symbol(y, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 16, 40)) +} + +function mixed2(x: Record<'a', string>, y: Record2) { +>mixed2 : Symbol(mixed2, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 18, 1)) +>x : Symbol(x, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 20, 16)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) +>y : Symbol(y, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 20, 39)) +>Record2 : Symbol(Record2, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 0, 0)) + + x = y; // error +>x : Symbol(x, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 20, 16)) +>y : Symbol(y, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 20, 39)) +} + +function defaultRecord2(x: Record<'a', T>, y: Record) { +>defaultRecord2 : Symbol(defaultRecord2, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 22, 1)) +>T : Symbol(T, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 24, 24)) +>x : Symbol(x, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 24, 27)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) +>T : Symbol(T, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 24, 24)) +>y : Symbol(y, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 24, 45)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) +>T : Symbol(T, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 24, 24)) + + x = y; // no error, but error expected. +>x : Symbol(x, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 24, 27)) +>y : Symbol(y, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 24, 45)) +} + +function customRecord2(x: Record2<'a', T>, y: Record2) { +>customRecord2 : Symbol(customRecord2, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 26, 1)) +>T : Symbol(T, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 28, 23)) +>x : Symbol(x, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 28, 26)) +>Record2 : Symbol(Record2, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 0, 0)) +>T : Symbol(T, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 28, 23)) +>y : Symbol(y, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 28, 45)) +>Record2 : Symbol(Record2, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 0, 0)) +>T : Symbol(T, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 28, 23)) + + x = y; // no error, but error expected. +>x : Symbol(x, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 28, 26)) +>y : Symbol(y, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 28, 45)) +} + +function mixed3(x: Record2<'a', T>, y: Record) { +>mixed3 : Symbol(mixed3, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 30, 1)) +>T : Symbol(T, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 32, 16)) +>x : Symbol(x, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 32, 19)) +>Record2 : Symbol(Record2, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 0, 0)) +>T : Symbol(T, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 32, 16)) +>y : Symbol(y, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 32, 38)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) +>T : Symbol(T, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 32, 16)) + + x = y; // error +>x : Symbol(x, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 32, 19)) +>y : Symbol(y, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 32, 38)) +} + +function mixed4(x: Record<'a', T>, y: Record2) { +>mixed4 : Symbol(mixed4, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 34, 1)) +>T : Symbol(T, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 36, 16)) +>x : Symbol(x, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 36, 19)) +>Record : Symbol(Record, Decl(lib.es5.d.ts, --, --)) +>T : Symbol(T, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 36, 16)) +>y : Symbol(y, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 36, 37)) +>Record2 : Symbol(Record2, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 0, 0)) +>T : Symbol(T, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 36, 16)) + + x = y; // error +>x : Symbol(x, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 36, 19)) +>y : Symbol(y, Decl(consistentAliasVsNonAliasRecordBehavior.ts, 36, 37)) +} + diff --git a/tests/baselines/reference/consistentAliasVsNonAliasRecordBehavior.types b/tests/baselines/reference/consistentAliasVsNonAliasRecordBehavior.types new file mode 100644 index 00000000000..b37089039e1 --- /dev/null +++ b/tests/baselines/reference/consistentAliasVsNonAliasRecordBehavior.types @@ -0,0 +1,99 @@ +=== tests/cases/compiler/consistentAliasVsNonAliasRecordBehavior.ts === +// TODO: FIXME: All the below cases labeled `no error` _should be an error_, and are only prevented from so being +// by incorrect variance-based relationships +// Ref: https://github.com/Microsoft/TypeScript/issues/29698 + +type Record2 = { +>Record2 : Record2 + + [P in K]: T; +}; + +function defaultRecord(x: Record<'a', string>, y: Record) { +>defaultRecord : (x: Record<"a", string>, y: Record) => void +>x : Record<"a", string> +>y : Record + + x = y; // no error, but error expected. +>x = y : Record +>x : Record<"a", string> +>y : Record +} + +function customRecord(x: Record2<'a', string>, y: Record2) { +>customRecord : (x: Record2<"a", string>, y: Record2) => void +>x : Record2<"a", string> +>y : Record2 + + x = y; // no error, but error expected. +>x = y : Record2 +>x : Record2<"a", string> +>y : Record2 +} + +function mixed1(x: Record2<'a', string>, y: Record) { +>mixed1 : (x: Record2<"a", string>, y: Record) => void +>x : Record2<"a", string> +>y : Record + + x = y; // error +>x = y : Record +>x : Record2<"a", string> +>y : Record +} + +function mixed2(x: Record<'a', string>, y: Record2) { +>mixed2 : (x: Record<"a", string>, y: Record2) => void +>x : Record<"a", string> +>y : Record2 + + x = y; // error +>x = y : Record2 +>x : Record<"a", string> +>y : Record2 +} + +function defaultRecord2(x: Record<'a', T>, y: Record) { +>defaultRecord2 : (x: Record<"a", T>, y: Record) => void +>x : Record<"a", T> +>y : Record + + x = y; // no error, but error expected. +>x = y : Record +>x : Record<"a", T> +>y : Record +} + +function customRecord2(x: Record2<'a', T>, y: Record2) { +>customRecord2 : (x: Record2<"a", T>, y: Record2) => void +>x : Record2<"a", T> +>y : Record2 + + x = y; // no error, but error expected. +>x = y : Record2 +>x : Record2<"a", T> +>y : Record2 +} + +function mixed3(x: Record2<'a', T>, y: Record) { +>mixed3 : (x: Record2<"a", T>, y: Record) => void +>x : Record2<"a", T> +>y : Record + + x = y; // error +>x = y : Record +>x : Record2<"a", T> +>y : Record +} + +function mixed4(x: Record<'a', T>, y: Record2) { +>mixed4 : (x: Record<"a", T>, y: Record2) => void +>x : Record<"a", T> +>y : Record2 + + x = y; // error +>x = y : Record2 +>x : Record<"a", T> +>y : Record2 +} + diff --git a/tests/baselines/reference/controlFlowForCompoundAssignmentToThisMember.js b/tests/baselines/reference/controlFlowForCompoundAssignmentToThisMember.js new file mode 100644 index 00000000000..cdf74a58996 --- /dev/null +++ b/tests/baselines/reference/controlFlowForCompoundAssignmentToThisMember.js @@ -0,0 +1,36 @@ +//// [controlFlowForCompoundAssignmentToThisMember.ts] +class DatasourceCommandWidgetElement { + _commandBased: boolean; + _commandElement: unknown; + commandElement: unknown; + + constructor(target: unknown) { + if (target instanceof DatasourceCommandWidgetElement) { + this._commandBased = true; + this._commandElement = target.commandElement; + } else { + this._commandBased = false; + } + + if (this._commandBased = (target instanceof DatasourceCommandWidgetElement)) { + this._commandElement = target.commandElement; + } + } +} + +//// [controlFlowForCompoundAssignmentToThisMember.js] +var DatasourceCommandWidgetElement = /** @class */ (function () { + function DatasourceCommandWidgetElement(target) { + if (target instanceof DatasourceCommandWidgetElement) { + this._commandBased = true; + this._commandElement = target.commandElement; + } + else { + this._commandBased = false; + } + if (this._commandBased = (target instanceof DatasourceCommandWidgetElement)) { + this._commandElement = target.commandElement; + } + } + return DatasourceCommandWidgetElement; +}()); diff --git a/tests/baselines/reference/controlFlowForCompoundAssignmentToThisMember.symbols b/tests/baselines/reference/controlFlowForCompoundAssignmentToThisMember.symbols new file mode 100644 index 00000000000..4da7454f312 --- /dev/null +++ b/tests/baselines/reference/controlFlowForCompoundAssignmentToThisMember.symbols @@ -0,0 +1,57 @@ +=== tests/cases/compiler/controlFlowForCompoundAssignmentToThisMember.ts === +class DatasourceCommandWidgetElement { +>DatasourceCommandWidgetElement : Symbol(DatasourceCommandWidgetElement, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 0, 0)) + + _commandBased: boolean; +>_commandBased : Symbol(DatasourceCommandWidgetElement._commandBased, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 0, 38)) + + _commandElement: unknown; +>_commandElement : Symbol(DatasourceCommandWidgetElement._commandElement, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 1, 27)) + + commandElement: unknown; +>commandElement : Symbol(DatasourceCommandWidgetElement.commandElement, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 2, 29)) + + constructor(target: unknown) { +>target : Symbol(target, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 5, 16)) + + if (target instanceof DatasourceCommandWidgetElement) { +>target : Symbol(target, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 5, 16)) +>DatasourceCommandWidgetElement : Symbol(DatasourceCommandWidgetElement, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 0, 0)) + + this._commandBased = true; +>this._commandBased : Symbol(DatasourceCommandWidgetElement._commandBased, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 0, 38)) +>this : Symbol(DatasourceCommandWidgetElement, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 0, 0)) +>_commandBased : Symbol(DatasourceCommandWidgetElement._commandBased, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 0, 38)) + + this._commandElement = target.commandElement; +>this._commandElement : Symbol(DatasourceCommandWidgetElement._commandElement, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 1, 27)) +>this : Symbol(DatasourceCommandWidgetElement, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 0, 0)) +>_commandElement : Symbol(DatasourceCommandWidgetElement._commandElement, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 1, 27)) +>target.commandElement : Symbol(DatasourceCommandWidgetElement.commandElement, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 2, 29)) +>target : Symbol(target, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 5, 16)) +>commandElement : Symbol(DatasourceCommandWidgetElement.commandElement, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 2, 29)) + + } else { + this._commandBased = false; +>this._commandBased : Symbol(DatasourceCommandWidgetElement._commandBased, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 0, 38)) +>this : Symbol(DatasourceCommandWidgetElement, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 0, 0)) +>_commandBased : Symbol(DatasourceCommandWidgetElement._commandBased, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 0, 38)) + } + + if (this._commandBased = (target instanceof DatasourceCommandWidgetElement)) { +>this._commandBased : Symbol(DatasourceCommandWidgetElement._commandBased, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 0, 38)) +>this : Symbol(DatasourceCommandWidgetElement, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 0, 0)) +>_commandBased : Symbol(DatasourceCommandWidgetElement._commandBased, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 0, 38)) +>target : Symbol(target, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 5, 16)) +>DatasourceCommandWidgetElement : Symbol(DatasourceCommandWidgetElement, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 0, 0)) + + this._commandElement = target.commandElement; +>this._commandElement : Symbol(DatasourceCommandWidgetElement._commandElement, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 1, 27)) +>this : Symbol(DatasourceCommandWidgetElement, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 0, 0)) +>_commandElement : Symbol(DatasourceCommandWidgetElement._commandElement, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 1, 27)) +>target.commandElement : Symbol(DatasourceCommandWidgetElement.commandElement, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 2, 29)) +>target : Symbol(target, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 5, 16)) +>commandElement : Symbol(DatasourceCommandWidgetElement.commandElement, Decl(controlFlowForCompoundAssignmentToThisMember.ts, 2, 29)) + } + } +} diff --git a/tests/baselines/reference/controlFlowForCompoundAssignmentToThisMember.types b/tests/baselines/reference/controlFlowForCompoundAssignmentToThisMember.types new file mode 100644 index 00000000000..7c289daa2e0 --- /dev/null +++ b/tests/baselines/reference/controlFlowForCompoundAssignmentToThisMember.types @@ -0,0 +1,67 @@ +=== tests/cases/compiler/controlFlowForCompoundAssignmentToThisMember.ts === +class DatasourceCommandWidgetElement { +>DatasourceCommandWidgetElement : DatasourceCommandWidgetElement + + _commandBased: boolean; +>_commandBased : boolean + + _commandElement: unknown; +>_commandElement : unknown + + commandElement: unknown; +>commandElement : unknown + + constructor(target: unknown) { +>target : unknown + + if (target instanceof DatasourceCommandWidgetElement) { +>target instanceof DatasourceCommandWidgetElement : boolean +>target : unknown +>DatasourceCommandWidgetElement : typeof DatasourceCommandWidgetElement + + this._commandBased = true; +>this._commandBased = true : true +>this._commandBased : boolean +>this : this +>_commandBased : boolean +>true : true + + this._commandElement = target.commandElement; +>this._commandElement = target.commandElement : unknown +>this._commandElement : unknown +>this : this +>_commandElement : unknown +>target.commandElement : unknown +>target : DatasourceCommandWidgetElement +>commandElement : unknown + + } else { + this._commandBased = false; +>this._commandBased = false : false +>this._commandBased : boolean +>this : this +>_commandBased : boolean +>false : false + } + + if (this._commandBased = (target instanceof DatasourceCommandWidgetElement)) { +>this._commandBased = (target instanceof DatasourceCommandWidgetElement) : boolean +>this._commandBased : boolean +>this : this +>_commandBased : boolean +>(target instanceof DatasourceCommandWidgetElement) : boolean +>target instanceof DatasourceCommandWidgetElement : boolean +>target : unknown +>DatasourceCommandWidgetElement : typeof DatasourceCommandWidgetElement + + this._commandElement = target.commandElement; +>this._commandElement = target.commandElement : unknown +>this._commandElement : unknown +>this : this +>_commandElement : unknown +>target.commandElement : unknown +>target : DatasourceCommandWidgetElement +>commandElement : unknown + } + } +} diff --git a/tests/baselines/reference/controlFlowTruthiness.types b/tests/baselines/reference/controlFlowTruthiness.types index 454d094f406..17f497267ee 100644 --- a/tests/baselines/reference/controlFlowTruthiness.types +++ b/tests/baselines/reference/controlFlowTruthiness.types @@ -111,7 +111,7 @@ function f5() { >x : string y; // string | undefined ->y : string | undefined +>y : string } else { x; // string | undefined diff --git a/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.js b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.js new file mode 100644 index 00000000000..00efdd49280 --- /dev/null +++ b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.js @@ -0,0 +1,45 @@ +//// [tests/cases/compiler/declarationEmitForGlobalishSpecifierSymlink.ts] //// + +//// [impl.d.ts] +export function getA(): A; +export enum A { + Val +} +//// [index.d.ts] +export * from "./src/impl"; +//// [package.json] +{ + "name": "typescript-fsa", + "version": "1.0.0" +} +//// [impl.d.ts] +export function getA(): A; +export enum A { + Val +} +//// [index.d.ts] +export * from "./src/impl"; +//// [package.json] +{ + "name": "typescript-fsa", + "version": "1.0.0" +} +//// [index.ts] +import * as _whatever from "p2"; +import { getA } from "typescript-fsa"; + +export const a = getA(); +//// [index.d.ts] +export const a: import("typescript-fsa").A; + + + +//// [index.js] +"use strict"; +exports.__esModule = true; +var typescript_fsa_1 = require("typescript-fsa"); +exports.a = typescript_fsa_1.getA(); + + +//// [index.d.ts] +export declare const a: import("typescript-fsa").A; diff --git a/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.symbols b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.symbols new file mode 100644 index 00000000000..fa0a8593339 --- /dev/null +++ b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.symbols @@ -0,0 +1,43 @@ +=== /p1/node_modules/typescript-fsa/src/impl.d.ts === +export function getA(): A; +>getA : Symbol(getA, Decl(impl.d.ts, 0, 0)) +>A : Symbol(A, Decl(impl.d.ts, 0, 26)) + +export enum A { +>A : Symbol(A, Decl(impl.d.ts, 0, 26)) + + Val +>Val : Symbol(A.Val, Decl(impl.d.ts, 1, 15)) +} +=== /p1/node_modules/typescript-fsa/index.d.ts === +export * from "./src/impl"; +No type information for this code.=== /p2/node_modules/typescript-fsa/src/impl.d.ts === +export function getA(): A; +>getA : Symbol(getA, Decl(impl.d.ts, 0, 0)) +>A : Symbol(A, Decl(impl.d.ts, 0, 26)) + +export enum A { +>A : Symbol(A, Decl(impl.d.ts, 0, 26)) + + Val +>Val : Symbol(A.Val, Decl(impl.d.ts, 1, 15)) +} +=== /p2/node_modules/typescript-fsa/index.d.ts === +export * from "./src/impl"; +No type information for this code.=== /p1/index.ts === +import * as _whatever from "p2"; +>_whatever : Symbol(_whatever, Decl(index.ts, 0, 6)) + +import { getA } from "typescript-fsa"; +>getA : Symbol(getA, Decl(index.ts, 1, 8)) + +export const a = getA(); +>a : Symbol(a, Decl(index.ts, 3, 12)) +>getA : Symbol(getA, Decl(index.ts, 1, 8)) + +=== /p2/index.d.ts === +export const a: import("typescript-fsa").A; +>a : Symbol(a, Decl(index.d.ts, 0, 12)) +>A : Symbol(A, Decl(impl.d.ts, 0, 26)) + + diff --git a/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.types b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.types new file mode 100644 index 00000000000..3f62193fd83 --- /dev/null +++ b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink.types @@ -0,0 +1,41 @@ +=== /p1/node_modules/typescript-fsa/src/impl.d.ts === +export function getA(): A; +>getA : () => A + +export enum A { +>A : A + + Val +>Val : A +} +=== /p1/node_modules/typescript-fsa/index.d.ts === +export * from "./src/impl"; +No type information for this code.=== /p2/node_modules/typescript-fsa/src/impl.d.ts === +export function getA(): A; +>getA : () => A + +export enum A { +>A : A + + Val +>Val : A +} +=== /p2/node_modules/typescript-fsa/index.d.ts === +export * from "./src/impl"; +No type information for this code.=== /p1/index.ts === +import * as _whatever from "p2"; +>_whatever : typeof _whatever + +import { getA } from "typescript-fsa"; +>getA : () => import("/p1/node_modules/typescript-fsa/index").A + +export const a = getA(); +>a : import("/p1/node_modules/typescript-fsa/index").A +>getA() : import("/p1/node_modules/typescript-fsa/index").A +>getA : () => import("/p1/node_modules/typescript-fsa/index").A + +=== /p2/index.d.ts === +export const a: import("typescript-fsa").A; +>a : import("/p2/node_modules/typescript-fsa/index").A + + diff --git a/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.js b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.js new file mode 100644 index 00000000000..22889aba461 --- /dev/null +++ b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.js @@ -0,0 +1,33 @@ +//// [tests/cases/compiler/declarationEmitForGlobalishSpecifierSymlink2.ts] //// + +//// [impl.d.ts] +export function getA(): A; +export enum A { + Val +} +//// [index.d.ts] +export * from "./src/impl"; +//// [package.json] +{ + "name": "typescript-fsa", + "version": "1.0.0" +} +//// [index.ts] +import * as _whatever from "p2"; +import { getA } from "typescript-fsa"; + +export const a = getA(); +//// [index.d.ts] +export const a: import("typescript-fsa").A; + + + +//// [index.js] +"use strict"; +exports.__esModule = true; +var typescript_fsa_1 = require("typescript-fsa"); +exports.a = typescript_fsa_1.getA(); + + +//// [index.d.ts] +export declare const a: import("typescript-fsa").A; diff --git a/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.symbols b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.symbols new file mode 100644 index 00000000000..e183f07d558 --- /dev/null +++ b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.symbols @@ -0,0 +1,30 @@ +=== /cache/typescript-fsa/src/impl.d.ts === +export function getA(): A; +>getA : Symbol(getA, Decl(impl.d.ts, 0, 0)) +>A : Symbol(A, Decl(impl.d.ts, 0, 26)) + +export enum A { +>A : Symbol(A, Decl(impl.d.ts, 0, 26)) + + Val +>Val : Symbol(A.Val, Decl(impl.d.ts, 1, 15)) +} +=== /cache/typescript-fsa/index.d.ts === +export * from "./src/impl"; +No type information for this code.=== /p1/index.ts === +import * as _whatever from "p2"; +>_whatever : Symbol(_whatever, Decl(index.ts, 0, 6)) + +import { getA } from "typescript-fsa"; +>getA : Symbol(getA, Decl(index.ts, 1, 8)) + +export const a = getA(); +>a : Symbol(a, Decl(index.ts, 3, 12)) +>getA : Symbol(getA, Decl(index.ts, 1, 8)) + +=== /p2/index.d.ts === +export const a: import("typescript-fsa").A; +>a : Symbol(a, Decl(index.d.ts, 0, 12)) +>A : Symbol(A, Decl(impl.d.ts, 0, 26)) + + diff --git a/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.types b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.types new file mode 100644 index 00000000000..7c214ced6b6 --- /dev/null +++ b/tests/baselines/reference/declarationEmitForGlobalishSpecifierSymlink2.types @@ -0,0 +1,29 @@ +=== /cache/typescript-fsa/src/impl.d.ts === +export function getA(): A; +>getA : () => A + +export enum A { +>A : A + + Val +>Val : A +} +=== /cache/typescript-fsa/index.d.ts === +export * from "./src/impl"; +No type information for this code.=== /p1/index.ts === +import * as _whatever from "p2"; +>_whatever : typeof _whatever + +import { getA } from "typescript-fsa"; +>getA : () => import("/cache/typescript-fsa/index").A + +export const a = getA(); +>a : import("/cache/typescript-fsa/index").A +>getA() : import("/cache/typescript-fsa/index").A +>getA : () => import("/cache/typescript-fsa/index").A + +=== /p2/index.d.ts === +export const a: import("typescript-fsa").A; +>a : import("/cache/typescript-fsa/index").A + + diff --git a/tests/baselines/reference/declarationsAndAssignments.errors.txt b/tests/baselines/reference/declarationsAndAssignments.errors.txt index 312a0ed626c..b13aacbfbc3 100644 --- a/tests/baselines/reference/declarationsAndAssignments.errors.txt +++ b/tests/baselines/reference/declarationsAndAssignments.errors.txt @@ -97,6 +97,7 @@ tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts(138,9): var y: string; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'y' must be of type 'string | number', but here has type 'string'. +!!! related TS6203 tests/cases/conformance/es6/destructuring/declarationsAndAssignments.ts:56:17: 'y' was also declared here. } function f8() { diff --git a/tests/baselines/reference/destructuringAssignmentWithStrictNullChecks.js b/tests/baselines/reference/destructuringAssignmentWithStrictNullChecks.js index 52bac6e2391..78f0941415f 100644 --- a/tests/baselines/reference/destructuringAssignmentWithStrictNullChecks.js +++ b/tests/baselines/reference/destructuringAssignmentWithStrictNullChecks.js @@ -9,8 +9,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var bar; diff --git a/tests/baselines/reference/destructuringInitializerContextualTypeFromContext.js b/tests/baselines/reference/destructuringInitializerContextualTypeFromContext.js index 1215d343df0..ad434acada1 100644 --- a/tests/baselines/reference/destructuringInitializerContextualTypeFromContext.js +++ b/tests/baselines/reference/destructuringInitializerContextualTypeFromContext.js @@ -43,8 +43,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var Parent = function (_a) { diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment5.js b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment5.js index 4eb341b0561..3ad27f3bcf0 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment5.js +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment5.js @@ -12,8 +12,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; function a() { diff --git a/tests/baselines/reference/duplicateClassElements.errors.txt b/tests/baselines/reference/duplicateClassElements.errors.txt index 4ac91767768..397ee445459 100644 --- a/tests/baselines/reference/duplicateClassElements.errors.txt +++ b/tests/baselines/reference/duplicateClassElements.errors.txt @@ -97,6 +97,7 @@ tests/cases/compiler/duplicateClassElements.ts(41,12): error TS2300: Duplicate i !!! error TS2300: Duplicate identifier 'x2'. ~~ !!! error TS2717: Subsequent property declarations must have the same type. Property 'x2' must be of type 'number', but here has type 'any'. +!!! related TS6203 tests/cases/compiler/duplicateClassElements.ts:29:9: 'x2' was also declared here. get z2() { ~~ diff --git a/tests/baselines/reference/duplicateIdentifierInCatchBlock.errors.txt b/tests/baselines/reference/duplicateIdentifierInCatchBlock.errors.txt index d8065df27c8..d2216efc6e6 100644 --- a/tests/baselines/reference/duplicateIdentifierInCatchBlock.errors.txt +++ b/tests/baselines/reference/duplicateIdentifierInCatchBlock.errors.txt @@ -38,4 +38,5 @@ tests/cases/compiler/duplicateIdentifierInCatchBlock.ts(16,9): error TS2403: Sub var p: number; // error ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'p' must be of type 'string', but here has type 'number'. +!!! related TS6203 tests/cases/compiler/duplicateIdentifierInCatchBlock.ts:15:9: 'p' was also declared here. } \ No newline at end of file diff --git a/tests/baselines/reference/duplicateLocalVariable1.errors.txt b/tests/baselines/reference/duplicateLocalVariable1.errors.txt index 6f521565862..a31ca844a86 100644 --- a/tests/baselines/reference/duplicateLocalVariable1.errors.txt +++ b/tests/baselines/reference/duplicateLocalVariable1.errors.txt @@ -201,6 +201,7 @@ tests/cases/compiler/duplicateLocalVariable1.ts(186,37): error TS2356: An arithm for (var i = 0; i < 14; i++) { ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'i' must be of type 'string', but here has type 'number'. +!!! related TS6203 tests/cases/compiler/duplicateLocalVariable1.ts:181:22: 'i' was also declared here. ~~~~~~ !!! error TS2365: Operator '<' cannot be applied to types 'string' and 'number'. ~ diff --git a/tests/baselines/reference/duplicateLocalVariable2.errors.txt b/tests/baselines/reference/duplicateLocalVariable2.errors.txt index 0258e7e8460..f25de4a7047 100644 --- a/tests/baselines/reference/duplicateLocalVariable2.errors.txt +++ b/tests/baselines/reference/duplicateLocalVariable2.errors.txt @@ -33,6 +33,7 @@ tests/cases/compiler/duplicateLocalVariable2.ts(27,37): error TS2356: An arithme for (var i = 0; i < 14; i++) { ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'i' must be of type 'string', but here has type 'number'. +!!! related TS6203 tests/cases/compiler/duplicateLocalVariable2.ts:22:22: 'i' was also declared here. ~~~~~~ !!! error TS2365: Operator '<' cannot be applied to types 'string' and 'number'. ~ diff --git a/tests/baselines/reference/duplicateLocalVariable3.errors.txt b/tests/baselines/reference/duplicateLocalVariable3.errors.txt index 5dda5872da0..2255776c75c 100644 --- a/tests/baselines/reference/duplicateLocalVariable3.errors.txt +++ b/tests/baselines/reference/duplicateLocalVariable3.errors.txt @@ -15,4 +15,5 @@ tests/cases/compiler/duplicateLocalVariable3.ts(11,9): error TS2403: Subsequent var z = ""; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'z' must be of type 'number', but here has type 'string'. +!!! related TS6203 tests/cases/compiler/duplicateLocalVariable3.ts:10:9: 'z' was also declared here. } \ No newline at end of file diff --git a/tests/baselines/reference/duplicateLocalVariable4.errors.txt b/tests/baselines/reference/duplicateLocalVariable4.errors.txt index 3209c23e39e..67da21962b1 100644 --- a/tests/baselines/reference/duplicateLocalVariable4.errors.txt +++ b/tests/baselines/reference/duplicateLocalVariable4.errors.txt @@ -9,4 +9,5 @@ tests/cases/compiler/duplicateLocalVariable4.ts(6,5): error TS2403: Subsequent v var x = E; var x = E.a; ~ -!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'typeof E', but here has type 'E'. \ No newline at end of file +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'typeof E', but here has type 'E'. +!!! related TS6203 tests/cases/compiler/duplicateLocalVariable4.ts:5:5: 'x' was also declared here. \ No newline at end of file diff --git a/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage.trace.json b/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage.trace.json index c4421e45579..8711f881de8 100644 --- a/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage.trace.json +++ b/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage.trace.json @@ -2,13 +2,13 @@ "======== Resolving module 'foo/use' from '/index.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'foo/use' from 'node_modules' folder, target file type 'TypeScript'.", + "Found 'package.json' at '/node_modules/foo/package.json'.", "'package.json' does not have a 'typesVersions' field.", - "Found 'package.json' at '/node_modules/foo/package.json'. Package ID is 'foo/use/index.d.ts@1.2.3'.", "File '/node_modules/foo/use.ts' does not exist.", "File '/node_modules/foo/use.tsx' does not exist.", "File '/node_modules/foo/use.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/foo/use.d.ts', result '/node_modules/foo/use.d.ts'.", - "======== Module name 'foo/use' was successfully resolved to '/node_modules/foo/use.d.ts'. ========", + "======== Module name 'foo/use' was successfully resolved to '/node_modules/foo/use.d.ts' with Package ID 'foo/use.d.ts@1.2.3'. ========", "======== Resolving module 'a' from '/index.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'a' from 'node_modules' folder, target file type 'TypeScript'.", @@ -27,17 +27,14 @@ "File '/node_modules/foo/index.ts' does not exist.", "File '/node_modules/foo/index.tsx' does not exist.", "File '/node_modules/foo/index.d.ts' exist - use it as a name resolution result.", + "Found 'package.json' at '/node_modules/foo/package.json'.", "'package.json' does not have a 'typesVersions' field.", - "Found 'package.json' at '/node_modules/foo/package.json'. Package ID is 'foo/index.d.ts@1.2.3'.", - "======== Module name './index' was successfully resolved to '/node_modules/foo/index.d.ts'. ========", + "======== Module name './index' was successfully resolved to '/node_modules/foo/index.d.ts' with Package ID 'foo/index.d.ts@1.2.3'. ========", "======== Resolving module 'foo' from '/node_modules/a/index.d.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' does not have a 'types' field.", - "'package.json' does not have a 'main' field.", + "Found 'package.json' at '/node_modules/a/node_modules/foo/package.json'.", "'package.json' does not have a 'typesVersions' field.", - "Found 'package.json' at '/node_modules/a/node_modules/foo/package.json'. Package ID is 'foo/index.d.ts@1.2.3'.", "File '/node_modules/a/node_modules/foo.ts' does not exist.", "File '/node_modules/a/node_modules/foo.tsx' does not exist.", "File '/node_modules/a/node_modules/foo.d.ts' does not exist.", @@ -48,5 +45,5 @@ "File '/node_modules/a/node_modules/foo/index.tsx' does not exist.", "File '/node_modules/a/node_modules/foo/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/a/node_modules/foo/index.d.ts', result '/node_modules/a/node_modules/foo/index.d.ts'.", - "======== Module name 'foo' was successfully resolved to '/node_modules/a/node_modules/foo/index.d.ts'. ========" + "======== Module name 'foo' was successfully resolved to '/node_modules/a/node_modules/foo/index.d.ts' with Package ID 'foo/index.d.ts@1.2.3'. ========" ] \ No newline at end of file diff --git a/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage_scoped.trace.json b/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage_scoped.trace.json index 97340de57ca..2a4b74ad555 100644 --- a/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage_scoped.trace.json +++ b/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage_scoped.trace.json @@ -2,13 +2,13 @@ "======== Resolving module '@foo/bar/use' from '/index.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module '@foo/bar/use' from 'node_modules' folder, target file type 'TypeScript'.", + "Found 'package.json' at '/node_modules/@foo/bar/package.json'.", "'package.json' does not have a 'typesVersions' field.", - "Found 'package.json' at '/node_modules/@foo/bar/package.json'. Package ID is '@foo/bar/use/index.d.ts@1.2.3'.", "File '/node_modules/@foo/bar/use.ts' does not exist.", "File '/node_modules/@foo/bar/use.tsx' does not exist.", "File '/node_modules/@foo/bar/use.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/@foo/bar/use.d.ts', result '/node_modules/@foo/bar/use.d.ts'.", - "======== Module name '@foo/bar/use' was successfully resolved to '/node_modules/@foo/bar/use.d.ts'. ========", + "======== Module name '@foo/bar/use' was successfully resolved to '/node_modules/@foo/bar/use.d.ts' with Package ID '@foo/bar/use.d.ts@1.2.3'. ========", "======== Resolving module 'a' from '/index.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'a' from 'node_modules' folder, target file type 'TypeScript'.", @@ -27,17 +27,14 @@ "File '/node_modules/@foo/bar/index.ts' does not exist.", "File '/node_modules/@foo/bar/index.tsx' does not exist.", "File '/node_modules/@foo/bar/index.d.ts' exist - use it as a name resolution result.", + "Found 'package.json' at '/node_modules/@foo/bar/package.json'.", "'package.json' does not have a 'typesVersions' field.", - "Found 'package.json' at '/node_modules/@foo/bar/package.json'. Package ID is '@foo/bar/index.d.ts@1.2.3'.", - "======== Module name './index' was successfully resolved to '/node_modules/@foo/bar/index.d.ts'. ========", + "======== Module name './index' was successfully resolved to '/node_modules/@foo/bar/index.d.ts' with Package ID '@foo/bar/index.d.ts@1.2.3'. ========", "======== Resolving module '@foo/bar' from '/node_modules/a/index.d.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module '@foo/bar' from 'node_modules' folder, target file type 'TypeScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' does not have a 'types' field.", - "'package.json' does not have a 'main' field.", + "Found 'package.json' at '/node_modules/a/node_modules/@foo/bar/package.json'.", "'package.json' does not have a 'typesVersions' field.", - "Found 'package.json' at '/node_modules/a/node_modules/@foo/bar/package.json'. Package ID is '@foo/bar/index.d.ts@1.2.3'.", "File '/node_modules/a/node_modules/@foo/bar.ts' does not exist.", "File '/node_modules/a/node_modules/@foo/bar.tsx' does not exist.", "File '/node_modules/a/node_modules/@foo/bar.d.ts' does not exist.", @@ -48,5 +45,5 @@ "File '/node_modules/a/node_modules/@foo/bar/index.tsx' does not exist.", "File '/node_modules/a/node_modules/@foo/bar/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/a/node_modules/@foo/bar/index.d.ts', result '/node_modules/a/node_modules/@foo/bar/index.d.ts'.", - "======== Module name '@foo/bar' was successfully resolved to '/node_modules/a/node_modules/@foo/bar/index.d.ts'. ========" + "======== Module name '@foo/bar' was successfully resolved to '/node_modules/a/node_modules/@foo/bar/index.d.ts' with Package ID '@foo/bar/index.d.ts@1.2.3'. ========" ] \ No newline at end of file diff --git a/tests/baselines/reference/duplicateVariablesWithAny.errors.txt b/tests/baselines/reference/duplicateVariablesWithAny.errors.txt index 787e118ca37..0d71fde12e2 100644 --- a/tests/baselines/reference/duplicateVariablesWithAny.errors.txt +++ b/tests/baselines/reference/duplicateVariablesWithAny.errors.txt @@ -10,22 +10,26 @@ tests/cases/compiler/duplicateVariablesWithAny.ts(13,9): error TS2403: Subsequen var x = 2; //error ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'any', but here has type 'number'. +!!! related TS6203 tests/cases/compiler/duplicateVariablesWithAny.ts:2:5: 'x' was also declared here. var y = ""; var y; //error ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'y' must be of type 'string', but here has type 'any'. +!!! related TS6203 tests/cases/compiler/duplicateVariablesWithAny.ts:5:5: 'y' was also declared here. module N { var x: any; var x = 2; //error ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'any', but here has type 'number'. +!!! related TS6203 tests/cases/compiler/duplicateVariablesWithAny.ts:9:9: 'x' was also declared here. var y = ""; var y; //error ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'y' must be of type 'string', but here has type 'any'. +!!! related TS6203 tests/cases/compiler/duplicateVariablesWithAny.ts:12:9: 'y' was also declared here. } var z: any; diff --git a/tests/baselines/reference/duplicateVarsAcrossFileBoundaries.errors.txt b/tests/baselines/reference/duplicateVarsAcrossFileBoundaries.errors.txt index d4222483212..2f5e9f09634 100644 --- a/tests/baselines/reference/duplicateVarsAcrossFileBoundaries.errors.txt +++ b/tests/baselines/reference/duplicateVarsAcrossFileBoundaries.errors.txt @@ -12,18 +12,22 @@ tests/cases/compiler/duplicateVarsAcrossFileBoundaries_2.ts(3,5): error TS2403: var x = true; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'number', but here has type 'boolean'. +!!! related TS6203 tests/cases/compiler/duplicateVarsAcrossFileBoundaries_0.ts:1:5: 'x' was also declared here. var z = 3; ==== tests/cases/compiler/duplicateVarsAcrossFileBoundaries_2.ts (3 errors) ==== var x = ""; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'number', but here has type 'string'. +!!! related TS6203 tests/cases/compiler/duplicateVarsAcrossFileBoundaries_0.ts:1:5: 'x' was also declared here. var y = 3; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'y' must be of type 'string', but here has type 'number'. +!!! related TS6203 tests/cases/compiler/duplicateVarsAcrossFileBoundaries_0.ts:2:5: 'y' was also declared here. var z = false; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'z' must be of type 'number', but here has type 'boolean'. +!!! related TS6203 tests/cases/compiler/duplicateVarsAcrossFileBoundaries_1.ts:2:5: 'z' was also declared here. ==== tests/cases/compiler/duplicateVarsAcrossFileBoundaries_3.ts (0 errors) ==== var x = 0; diff --git a/tests/baselines/reference/dynamicNamesErrors.errors.txt b/tests/baselines/reference/dynamicNamesErrors.errors.txt index c39140dbd52..43ca55db4ea 100644 --- a/tests/baselines/reference/dynamicNamesErrors.errors.txt +++ b/tests/baselines/reference/dynamicNamesErrors.errors.txt @@ -35,6 +35,7 @@ tests/cases/compiler/dynamicNamesErrors.ts(25,1): error TS2322: Type 'T1' is not [c1]: string; ~~~~ !!! error TS2717: Subsequent property declarations must have the same type. Property '[c1]' must be of type 'number', but here has type 'string'. +!!! related TS6203 tests/cases/compiler/dynamicNamesErrors.ts:18:5: '[c1]' was also declared here. } let t1: T1; diff --git a/tests/baselines/reference/enumAssignabilityInInheritance.errors.txt b/tests/baselines/reference/enumAssignabilityInInheritance.errors.txt index e7c1297e1fd..e76c053a0af 100644 --- a/tests/baselines/reference/enumAssignabilityInInheritance.errors.txt +++ b/tests/baselines/reference/enumAssignabilityInInheritance.errors.txt @@ -109,10 +109,12 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/enumAssi var r4 = foo16(E.A); ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'r4' must be of type 'E', but here has type 'Object'. +!!! related TS6203 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/enumAssignabilityInInheritance.ts:22:5: 'r4' was also declared here. declare function foo17(x: {}): {}; declare function foo17(x: E): E; var r4 = foo16(E.A); ~~ -!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'r4' must be of type 'E', but here has type 'Object'. \ No newline at end of file +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'r4' must be of type 'E', but here has type 'Object'. +!!! related TS6203 tests/cases/conformance/types/typeRelationships/assignmentCompatibility/enumAssignabilityInInheritance.ts:22:5: 'r4' was also declared here. \ No newline at end of file diff --git a/tests/baselines/reference/for-inStatements.errors.txt b/tests/baselines/reference/for-inStatements.errors.txt index 50f31d669cd..03e11ff1115 100644 --- a/tests/baselines/reference/for-inStatements.errors.txt +++ b/tests/baselines/reference/for-inStatements.errors.txt @@ -39,6 +39,7 @@ tests/cases/conformance/statements/for-inStatements/for-inStatements.ts(79,15): for (var x in this) { } ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'string', but here has type 'Extract'. +!!! related TS6203 tests/cases/conformance/statements/for-inStatements/for-inStatements.ts:31:18: 'x' was also declared here. return null; } @@ -58,6 +59,7 @@ tests/cases/conformance/statements/for-inStatements/for-inStatements.ts(79,15): for (var x in this) { } ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'string', but here has type 'Extract'. +!!! related TS6203 tests/cases/conformance/statements/for-inStatements/for-inStatements.ts:48:18: 'x' was also declared here. for (var x in super.biz) { } for (var x in super.biz()) { } diff --git a/tests/baselines/reference/for-inStatementsArrayErrors.errors.txt b/tests/baselines/reference/for-inStatementsArrayErrors.errors.txt index 3ba7a73367f..2eb08a8b1f3 100644 --- a/tests/baselines/reference/for-inStatementsArrayErrors.errors.txt +++ b/tests/baselines/reference/for-inStatementsArrayErrors.errors.txt @@ -29,11 +29,13 @@ tests/cases/conformance/statements/for-inStatements/for-inStatementsArrayErrors. for (var i in a ) { ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'i' must be of type 'number', but here has type 'string'. +!!! related TS6203 tests/cases/conformance/statements/for-inStatements/for-inStatementsArrayErrors.ts:11:5: 'i' was also declared here. } var j: any; for (var j in a ) { ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'j' must be of type 'any', but here has type 'string'. +!!! related TS6203 tests/cases/conformance/statements/for-inStatements/for-inStatementsArrayErrors.ts:15:5: 'j' was also declared here. } \ No newline at end of file diff --git a/tests/baselines/reference/for-inStatementsInvalid.errors.txt b/tests/baselines/reference/for-inStatementsInvalid.errors.txt index 8e1bb29d083..e8e29b37c4e 100644 --- a/tests/baselines/reference/for-inStatementsInvalid.errors.txt +++ b/tests/baselines/reference/for-inStatementsInvalid.errors.txt @@ -73,6 +73,7 @@ tests/cases/conformance/statements/for-inStatements/for-inStatementsInvalid.ts(6 for (var x in this) { } ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'string', but here has type 'Extract'. +!!! related TS6203 tests/cases/conformance/statements/for-inStatements/for-inStatementsInvalid.ts:29:18: 'x' was also declared here. return null; } @@ -96,6 +97,7 @@ tests/cases/conformance/statements/for-inStatements/for-inStatementsInvalid.ts(6 for (var x in this) { } ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'string', but here has type 'Extract'. +!!! related TS6203 tests/cases/conformance/statements/for-inStatements/for-inStatementsInvalid.ts:46:18: 'x' was also declared here. for (var x in super.biz) { } for (var x in super.biz()) { } diff --git a/tests/baselines/reference/forLoopWithDestructuringDoesNotElideFollowingStatement.js b/tests/baselines/reference/forLoopWithDestructuringDoesNotElideFollowingStatement.js index fb2316426ee..10e30294bfc 100644 --- a/tests/baselines/reference/forLoopWithDestructuringDoesNotElideFollowingStatement.js +++ b/tests/baselines/reference/forLoopWithDestructuringDoesNotElideFollowingStatement.js @@ -9,8 +9,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var array = [{ a: 0, b: 1 }]; diff --git a/tests/baselines/reference/forStatementsMultipleInvalidDecl.errors.txt b/tests/baselines/reference/forStatementsMultipleInvalidDecl.errors.txt index 53ecb88363d..f0de0ce954b 100644 --- a/tests/baselines/reference/forStatementsMultipleInvalidDecl.errors.txt +++ b/tests/baselines/reference/forStatementsMultipleInvalidDecl.errors.txt @@ -47,46 +47,58 @@ tests/cases/conformance/statements/forStatements/forStatementsMultipleInvalidDec for( var a = 1;;){} ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a' must be of type 'any', but here has type 'number'. +!!! related TS6203 tests/cases/conformance/statements/forStatements/forStatementsMultipleInvalidDecl.ts:31:10: 'a' was also declared here. for( var a = 'a string';;){} ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a' must be of type 'any', but here has type 'string'. +!!! related TS6203 tests/cases/conformance/statements/forStatements/forStatementsMultipleInvalidDecl.ts:31:10: 'a' was also declared here. for( var a = new C();;){} ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a' must be of type 'any', but here has type 'C'. +!!! related TS6203 tests/cases/conformance/statements/forStatements/forStatementsMultipleInvalidDecl.ts:31:10: 'a' was also declared here. for( var a = new D();;){} ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a' must be of type 'any', but here has type 'D'. +!!! related TS6203 tests/cases/conformance/statements/forStatements/forStatementsMultipleInvalidDecl.ts:31:10: 'a' was also declared here. for( var a = M;;){} ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a' must be of type 'any', but here has type 'typeof M'. +!!! related TS6203 tests/cases/conformance/statements/forStatements/forStatementsMultipleInvalidDecl.ts:31:10: 'a' was also declared here. for( var b: I;;){} for( var b = new C();;){} ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'b' must be of type 'I', but here has type 'C'. +!!! related TS6203 tests/cases/conformance/statements/forStatements/forStatementsMultipleInvalidDecl.ts:38:10: 'b' was also declared here. for( var b = new C2();;){} ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'b' must be of type 'I', but here has type 'C2'. +!!! related TS6203 tests/cases/conformance/statements/forStatements/forStatementsMultipleInvalidDecl.ts:38:10: 'b' was also declared here. for(var f = F;;){} for( var f = (x: number) => '';;){} ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'f' must be of type '(x: string) => number', but here has type '(x: number) => string'. +!!! related TS6203 tests/cases/conformance/statements/forStatements/forStatementsMultipleInvalidDecl.ts:42:9: 'f' was also declared here. for(var arr: string[];;){} for( var arr = [1, 2, 3, 4];;){} ~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'arr' must be of type 'string[]', but here has type 'number[]'. +!!! related TS6203 tests/cases/conformance/statements/forStatements/forStatementsMultipleInvalidDecl.ts:45:9: 'arr' was also declared here. for( var arr = [new C(), new C2(), new D()];;){} ~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'arr' must be of type 'string[]', but here has type '(C | D)[]'. +!!! related TS6203 tests/cases/conformance/statements/forStatements/forStatementsMultipleInvalidDecl.ts:45:9: 'arr' was also declared here. for(var arr2 = [new D()];;){} for( var arr2 = new Array>();;){} ~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'arr2' must be of type 'D[]', but here has type 'D[]'. +!!! related TS6203 tests/cases/conformance/statements/forStatements/forStatementsMultipleInvalidDecl.ts:49:9: 'arr2' was also declared here. for(var m: typeof M;;){} for( var m = M.A;;){} ~ -!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'm' must be of type 'typeof M', but here has type 'typeof A'. \ No newline at end of file +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'm' must be of type 'typeof M', but here has type 'typeof A'. +!!! related TS6203 tests/cases/conformance/statements/forStatements/forStatementsMultipleInvalidDecl.ts:52:9: 'm' was also declared here. \ No newline at end of file diff --git a/tests/baselines/reference/functionArgShadowing.errors.txt b/tests/baselines/reference/functionArgShadowing.errors.txt index 93022178452..c3ba60a80cd 100644 --- a/tests/baselines/reference/functionArgShadowing.errors.txt +++ b/tests/baselines/reference/functionArgShadowing.errors.txt @@ -10,6 +10,7 @@ tests/cases/compiler/functionArgShadowing.ts(10,7): error TS2403: Subsequent var var x: B = new B(); ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'A', but here has type 'B'. +!!! related TS6203 tests/cases/compiler/functionArgShadowing.ts:3:14: 'x' was also declared here. x.bar(); // the property bar does not exist on a value of type A ~~~ !!! error TS2339: Property 'bar' does not exist on type 'A'. @@ -20,6 +21,7 @@ tests/cases/compiler/functionArgShadowing.ts(10,7): error TS2403: Subsequent var var p: string; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'p' must be of type 'number', but here has type 'string'. +!!! related TS6203 tests/cases/compiler/functionArgShadowing.ts:9:14: 'p' was also declared here. var n: number = p; } diff --git a/tests/baselines/reference/genericIsNeverEmptyObject.js b/tests/baselines/reference/genericIsNeverEmptyObject.js index d914813ed99..692f34bfcc4 100644 --- a/tests/baselines/reference/genericIsNeverEmptyObject.js +++ b/tests/baselines/reference/genericIsNeverEmptyObject.js @@ -29,8 +29,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; function test(obj) { diff --git a/tests/baselines/reference/genericIsNeverEmptyObject.types b/tests/baselines/reference/genericIsNeverEmptyObject.types index 3a49e723e76..5d2b4d9d57f 100644 --- a/tests/baselines/reference/genericIsNeverEmptyObject.types +++ b/tests/baselines/reference/genericIsNeverEmptyObject.types @@ -2,18 +2,18 @@ // Repro from #29067 function test(obj: T) { ->test : (obj: T) => Omit & { b: string; } +>test : (obj: T) => Pick> & { b: string; } >a : string >obj : T let { a, ...rest } = obj; >a : string ->rest : Omit +>rest : Pick> >obj : T return { ...rest, b: a }; ->{ ...rest, b: a } : Omit & { b: string; } ->rest : Omit +>{ ...rest, b: a } : Pick> & { b: string; } +>rest : Pick> >b : string >a : string } @@ -30,7 +30,7 @@ let o2: { b: string, x: number } = test(o1); >o2 : { b: string; x: number; } >b : string >x : number ->test(o1) : Omit<{ a: string; x: number; }, "a"> & { b: string; } ->test : (obj: T) => Omit & { b: string; } +>test(o1) : Pick<{ a: string; x: number; }, "x"> & { b: string; } +>test : (obj: T) => Pick> & { b: string; } >o1 : { a: string; x: number; } diff --git a/tests/baselines/reference/genericObjectRest.js b/tests/baselines/reference/genericObjectRest.js index 33de97a3d5f..33815e1bb98 100644 --- a/tests/baselines/reference/genericObjectRest.js +++ b/tests/baselines/reference/genericObjectRest.js @@ -35,8 +35,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; const a = 'a'; diff --git a/tests/baselines/reference/genericObjectRest.types b/tests/baselines/reference/genericObjectRest.types index ba5145dccba..c2fcaad7cb8 100644 --- a/tests/baselines/reference/genericObjectRest.types +++ b/tests/baselines/reference/genericObjectRest.types @@ -16,7 +16,7 @@ function f1(obj: T) { let { a: a1, ...r1 } = obj; >a : any >a1 : string ->r1 : Omit +>r1 : Pick> >obj : T let { a: a2, b: b2, ...r2 } = obj; @@ -24,24 +24,24 @@ function f1(obj: T) { >a2 : string >b : any >b2 : number ->r2 : Omit +>r2 : Pick> >obj : T let { 'a': a3, ...r3 } = obj; >a3 : string ->r3 : Omit +>r3 : Pick> >obj : T let { ['a']: a4, ...r4 } = obj; >'a' : "a" >a4 : string ->r4 : Omit +>r4 : Pick> >obj : T let { [a]: a5, ...r5 } = obj; >a : "a" >a5 : string ->r5 : Omit +>r5 : Pick> >obj : T } @@ -68,7 +68,7 @@ function f2(obj: T) { >a1 : string >sb : unique symbol >b1 : number ->r1 : Omit +>r1 : Pick> >obj : T } @@ -83,7 +83,7 @@ function f3(obj: T, k1: K1, k2: K2) { >a1 : T[K1] >k2 : K2 >a2 : T[K2] ->r1 : Omit +>r1 : Pick> >obj : T } @@ -104,7 +104,7 @@ function f4(obj: Item, k1: K1, k2: >a1 : Item[K1] >k2 : K2 >a2 : Item[K2] ->r1 : Omit +>r1 : Pick | Exclude<"b", K1 | K2> | Exclude<"c", K1 | K2>> >obj : Item } diff --git a/tests/baselines/reference/gettersAndSettersErrors.errors.txt b/tests/baselines/reference/gettersAndSettersErrors.errors.txt index e2a4bb3a146..013e195876e 100644 --- a/tests/baselines/reference/gettersAndSettersErrors.errors.txt +++ b/tests/baselines/reference/gettersAndSettersErrors.errors.txt @@ -24,6 +24,7 @@ tests/cases/compiler/gettersAndSettersErrors.ts(12,16): error TS2379: Getter and !!! error TS2300: Duplicate identifier 'Foo'. ~~~ !!! error TS2717: Subsequent property declarations must have the same type. Property 'Foo' must be of type 'string', but here has type 'number'. +!!! related TS6203 tests/cases/compiler/gettersAndSettersErrors.ts:2:16: 'Foo' was also declared here. public get Goo(v:string):string {return null;} // error - getters must not have a parameter ~~~ !!! error TS1056: Accessors are only available when targeting ECMAScript 5 and higher. diff --git a/tests/baselines/reference/globalThisUnknownNoImplicitAny.errors.txt b/tests/baselines/reference/globalThisUnknownNoImplicitAny.errors.txt index 0668d03f93b..907a6cd1ced 100644 --- a/tests/baselines/reference/globalThisUnknownNoImplicitAny.errors.txt +++ b/tests/baselines/reference/globalThisUnknownNoImplicitAny.errors.txt @@ -2,8 +2,10 @@ tests/cases/conformance/es2019/globalThisUnknownNoImplicitAny.ts(4,5): error TS2 tests/cases/conformance/es2019/globalThisUnknownNoImplicitAny.ts(5,6): error TS7017: Element implicitly has an 'any' type because type 'typeof globalThis' has no index signature. tests/cases/conformance/es2019/globalThisUnknownNoImplicitAny.ts(6,12): error TS7017: Element implicitly has an 'any' type because type 'typeof globalThis' has no index signature. tests/cases/conformance/es2019/globalThisUnknownNoImplicitAny.ts(8,5): error TS7015: Element implicitly has an 'any' type because index expression is not of type 'number'. -tests/cases/conformance/es2019/globalThisUnknownNoImplicitAny.ts(9,1): error TS7017: Element implicitly has an 'any' type because type 'typeof globalThis' has no index signature. -tests/cases/conformance/es2019/globalThisUnknownNoImplicitAny.ts(10,1): error TS7017: Element implicitly has an 'any' type because type 'typeof globalThis' has no index signature. +tests/cases/conformance/es2019/globalThisUnknownNoImplicitAny.ts(9,1): error TS7053: Element implicitly has an 'any' type because expression of type '"hi"' can't be used to index type 'typeof globalThis'. + Property 'hi' does not exist on type 'typeof globalThis'. +tests/cases/conformance/es2019/globalThisUnknownNoImplicitAny.ts(10,1): error TS7053: Element implicitly has an 'any' type because expression of type '"hi"' can't be used to index type 'typeof globalThis'. + Property 'hi' does not exist on type 'typeof globalThis'. ==== tests/cases/conformance/es2019/globalThisUnknownNoImplicitAny.ts (6 errors) ==== @@ -25,8 +27,10 @@ tests/cases/conformance/es2019/globalThisUnknownNoImplicitAny.ts(10,1): error TS !!! error TS7015: Element implicitly has an 'any' type because index expression is not of type 'number'. this['hi'] ~~~~~~~~~~ -!!! error TS7017: Element implicitly has an 'any' type because type 'typeof globalThis' has no index signature. +!!! error TS7053: Element implicitly has an 'any' type because expression of type '"hi"' can't be used to index type 'typeof globalThis'. +!!! error TS7053: Property 'hi' does not exist on type 'typeof globalThis'. globalThis['hi'] ~~~~~~~~~~~~~~~~ -!!! error TS7017: Element implicitly has an 'any' type because type 'typeof globalThis' has no index signature. +!!! error TS7053: Element implicitly has an 'any' type because expression of type '"hi"' can't be used to index type 'typeof globalThis'. +!!! error TS7053: Property 'hi' does not exist on type 'typeof globalThis'. \ No newline at end of file diff --git a/tests/baselines/reference/identityForSignaturesWithTypeParametersAndAny.errors.txt b/tests/baselines/reference/identityForSignaturesWithTypeParametersAndAny.errors.txt index 60239280226..092bfaaeeb3 100644 --- a/tests/baselines/reference/identityForSignaturesWithTypeParametersAndAny.errors.txt +++ b/tests/baselines/reference/identityForSignaturesWithTypeParametersAndAny.errors.txt @@ -12,18 +12,22 @@ tests/cases/compiler/identityForSignaturesWithTypeParametersAndAny.ts(14,5): err var g: (x: any, y: any) => any; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'g' must be of type '(x: T, y: U) => T', but here has type '(x: any, y: any) => any'. +!!! related TS6203 tests/cases/compiler/identityForSignaturesWithTypeParametersAndAny.ts:4:5: 'g' was also declared here. var h: (x: T, y: U) => T; var h: (x: any, y: any) => any; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'h' must be of type '(x: T, y: U) => T', but here has type '(x: any, y: any) => any'. +!!! related TS6203 tests/cases/compiler/identityForSignaturesWithTypeParametersAndAny.ts:7:5: 'h' was also declared here. var i: (x: T, y: U) => T; var i: (x: any, y: string) => any; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'i' must be of type '(x: T, y: U) => T', but here has type '(x: any, y: string) => any'. +!!! related TS6203 tests/cases/compiler/identityForSignaturesWithTypeParametersAndAny.ts:10:5: 'i' was also declared here. var j: (x: T, y: U) => T; var j: (x: any, y: any) => string; ~ -!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'j' must be of type '(x: T, y: U) => T', but here has type '(x: any, y: any) => string'. \ No newline at end of file +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'j' must be of type '(x: T, y: U) => T', but here has type '(x: any, y: any) => string'. +!!! related TS6203 tests/cases/compiler/identityForSignaturesWithTypeParametersAndAny.ts:13:5: 'j' was also declared here. \ No newline at end of file diff --git a/tests/baselines/reference/importHelpersInIsolatedModules.errors.txt b/tests/baselines/reference/importHelpersInIsolatedModules.errors.txt index 7a53c1c8c99..9655daa3325 100644 --- a/tests/baselines/reference/importHelpersInIsolatedModules.errors.txt +++ b/tests/baselines/reference/importHelpersInIsolatedModules.errors.txt @@ -1,4 +1,4 @@ -tests/cases/compiler/script.ts(1,1): error TS1208: Cannot compile namespaces when the '--isolatedModules' flag is provided. +tests/cases/compiler/script.ts(1,1): error TS1208: All files must be modules when the '--isolatedModules' flag is provided. ==== tests/cases/compiler/external.ts (0 errors) ==== @@ -16,7 +16,7 @@ tests/cases/compiler/script.ts(1,1): error TS1208: Cannot compile namespaces whe ==== tests/cases/compiler/script.ts (1 errors) ==== class A { } ~~~~~ -!!! error TS1208: Cannot compile namespaces when the '--isolatedModules' flag is provided. +!!! error TS1208: All files must be modules when the '--isolatedModules' flag is provided. class B extends A { } declare var dec: any; diff --git a/tests/baselines/reference/inlinedAliasAssignableToConstraintSameAsAlias.types b/tests/baselines/reference/inlinedAliasAssignableToConstraintSameAsAlias.types index 086aa5c976e..d337fbc718a 100644 --- a/tests/baselines/reference/inlinedAliasAssignableToConstraintSameAsAlias.types +++ b/tests/baselines/reference/inlinedAliasAssignableToConstraintSameAsAlias.types @@ -31,7 +31,7 @@ class A { >z : A[] whereRelated< // Works // Type is same as A1, but is not assignable to type A ->whereRelated : () => number +>whereRelated : >() => number RF extends RelationFields = RelationFields, N extends Name = Name, diff --git a/tests/baselines/reference/instanceMemberWithComputedPropertyName.js b/tests/baselines/reference/instanceMemberWithComputedPropertyName.js new file mode 100644 index 00000000000..eba55c9899e --- /dev/null +++ b/tests/baselines/reference/instanceMemberWithComputedPropertyName.js @@ -0,0 +1,22 @@ +//// [instanceMemberWithComputedPropertyName.ts] +// https://github.com/microsoft/TypeScript/issues/30953 +const x = 1; +class C { + [x] = true; + constructor() { + const { a, b } = { a: 1, b: 2 }; + } +} + +//// [instanceMemberWithComputedPropertyName.js] +var _a; +// https://github.com/microsoft/TypeScript/issues/30953 +var x = 1; +var C = /** @class */ (function () { + function C() { + this[_a] = true; + var _b = { a: 1, b: 2 }, a = _b.a, b = _b.b; + } + return C; +}()); +_a = x; diff --git a/tests/baselines/reference/instanceMemberWithComputedPropertyName.symbols b/tests/baselines/reference/instanceMemberWithComputedPropertyName.symbols new file mode 100644 index 00000000000..3d405c89cc8 --- /dev/null +++ b/tests/baselines/reference/instanceMemberWithComputedPropertyName.symbols @@ -0,0 +1,20 @@ +=== tests/cases/conformance/classes/propertyMemberDeclarations/instanceMemberWithComputedPropertyName.ts === +// https://github.com/microsoft/TypeScript/issues/30953 +const x = 1; +>x : Symbol(x, Decl(instanceMemberWithComputedPropertyName.ts, 1, 5)) + +class C { +>C : Symbol(C, Decl(instanceMemberWithComputedPropertyName.ts, 1, 12)) + + [x] = true; +>[x] : Symbol(C[x], Decl(instanceMemberWithComputedPropertyName.ts, 2, 9)) +>x : Symbol(x, Decl(instanceMemberWithComputedPropertyName.ts, 1, 5)) + + constructor() { + const { a, b } = { a: 1, b: 2 }; +>a : Symbol(a, Decl(instanceMemberWithComputedPropertyName.ts, 5, 15)) +>b : Symbol(b, Decl(instanceMemberWithComputedPropertyName.ts, 5, 18)) +>a : Symbol(a, Decl(instanceMemberWithComputedPropertyName.ts, 5, 26)) +>b : Symbol(b, Decl(instanceMemberWithComputedPropertyName.ts, 5, 32)) + } +} diff --git a/tests/baselines/reference/instanceMemberWithComputedPropertyName.types b/tests/baselines/reference/instanceMemberWithComputedPropertyName.types new file mode 100644 index 00000000000..f98cc7bb80a --- /dev/null +++ b/tests/baselines/reference/instanceMemberWithComputedPropertyName.types @@ -0,0 +1,25 @@ +=== tests/cases/conformance/classes/propertyMemberDeclarations/instanceMemberWithComputedPropertyName.ts === +// https://github.com/microsoft/TypeScript/issues/30953 +const x = 1; +>x : 1 +>1 : 1 + +class C { +>C : C + + [x] = true; +>[x] : boolean +>x : 1 +>true : true + + constructor() { + const { a, b } = { a: 1, b: 2 }; +>a : number +>b : number +>{ a: 1, b: 2 } : { a: number; b: number; } +>a : number +>1 : 1 +>b : number +>2 : 2 + } +} diff --git a/tests/baselines/reference/interfaceDeclaration1.errors.txt b/tests/baselines/reference/interfaceDeclaration1.errors.txt index 64410b44c55..b4c41ca350e 100644 --- a/tests/baselines/reference/interfaceDeclaration1.errors.txt +++ b/tests/baselines/reference/interfaceDeclaration1.errors.txt @@ -30,6 +30,7 @@ tests/cases/compiler/interfaceDeclaration1.ts(52,11): error TS2320: Interface 'i !!! error TS2300: Duplicate identifier 'item'. ~~~~ !!! error TS2717: Subsequent property declarations must have the same type. Property 'item' must be of type 'any', but here has type 'number'. +!!! related TS6203 tests/cases/compiler/interfaceDeclaration1.ts:7:5: 'item' was also declared here. } interface I3 { diff --git a/tests/baselines/reference/intersectionsOfLargeUnions2.errors.txt b/tests/baselines/reference/intersectionsOfLargeUnions2.errors.txt index a8d4f797fea..bad3705abc0 100644 --- a/tests/baselines/reference/intersectionsOfLargeUnions2.errors.txt +++ b/tests/baselines/reference/intersectionsOfLargeUnions2.errors.txt @@ -10,7 +10,7 @@ tests/cases/compiler/intersectionsOfLargeUnions2.ts(31,15): error TS2536: Type ' interface ElementTagNameMap { ~~~~~~~~~~~~~~~~~ !!! error TS2300: Duplicate identifier 'ElementTagNameMap'. -!!! related TS6203 /.ts/lib.dom.d.ts:18109:6: 'ElementTagNameMap' was also declared here. +!!! related TS6203 /.ts/lib.dom.d.ts:18110:6: 'ElementTagNameMap' was also declared here. [index: number]: HTMLElement } diff --git a/tests/baselines/reference/invalidMultipleVariableDeclarations.errors.txt b/tests/baselines/reference/invalidMultipleVariableDeclarations.errors.txt index 3ec718f3b25..a43b9b0c271 100644 --- a/tests/baselines/reference/invalidMultipleVariableDeclarations.errors.txt +++ b/tests/baselines/reference/invalidMultipleVariableDeclarations.errors.txt @@ -47,46 +47,58 @@ tests/cases/conformance/statements/VariableStatements/invalidMultipleVariableDec var a = 1; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a' must be of type 'any', but here has type 'number'. +!!! related TS6203 tests/cases/conformance/statements/VariableStatements/invalidMultipleVariableDeclarations.ts:31:5: 'a' was also declared here. var a = 'a string'; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a' must be of type 'any', but here has type 'string'. +!!! related TS6203 tests/cases/conformance/statements/VariableStatements/invalidMultipleVariableDeclarations.ts:31:5: 'a' was also declared here. var a = new C(); ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a' must be of type 'any', but here has type 'C'. +!!! related TS6203 tests/cases/conformance/statements/VariableStatements/invalidMultipleVariableDeclarations.ts:31:5: 'a' was also declared here. var a = new D(); ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a' must be of type 'any', but here has type 'D'. +!!! related TS6203 tests/cases/conformance/statements/VariableStatements/invalidMultipleVariableDeclarations.ts:31:5: 'a' was also declared here. var a = M; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a' must be of type 'any', but here has type 'typeof M'. +!!! related TS6203 tests/cases/conformance/statements/VariableStatements/invalidMultipleVariableDeclarations.ts:31:5: 'a' was also declared here. var b: I; var b = new C(); ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'b' must be of type 'I', but here has type 'C'. +!!! related TS6203 tests/cases/conformance/statements/VariableStatements/invalidMultipleVariableDeclarations.ts:38:5: 'b' was also declared here. var b = new C2(); ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'b' must be of type 'I', but here has type 'C2'. +!!! related TS6203 tests/cases/conformance/statements/VariableStatements/invalidMultipleVariableDeclarations.ts:38:5: 'b' was also declared here. var f = F; var f = (x: number) => ''; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'f' must be of type '(x: string) => number', but here has type '(x: number) => string'. +!!! related TS6203 tests/cases/conformance/statements/VariableStatements/invalidMultipleVariableDeclarations.ts:42:5: 'f' was also declared here. var arr: string[]; var arr = [1, 2, 3, 4]; ~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'arr' must be of type 'string[]', but here has type 'number[]'. +!!! related TS6203 tests/cases/conformance/statements/VariableStatements/invalidMultipleVariableDeclarations.ts:45:5: 'arr' was also declared here. var arr = [new C(), new C2(), new D()]; ~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'arr' must be of type 'string[]', but here has type '(C | D)[]'. +!!! related TS6203 tests/cases/conformance/statements/VariableStatements/invalidMultipleVariableDeclarations.ts:45:5: 'arr' was also declared here. var arr2 = [new D()]; var arr2 = new Array>(); ~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'arr2' must be of type 'D[]', but here has type 'D[]'. +!!! related TS6203 tests/cases/conformance/statements/VariableStatements/invalidMultipleVariableDeclarations.ts:49:5: 'arr2' was also declared here. var m: typeof M; var m = M.A; ~ -!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'm' must be of type 'typeof M', but here has type 'typeof A'. \ No newline at end of file +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'm' must be of type 'typeof M', but here has type 'typeof A'. +!!! related TS6203 tests/cases/conformance/statements/VariableStatements/invalidMultipleVariableDeclarations.ts:52:5: 'm' was also declared here. \ No newline at end of file diff --git a/tests/baselines/reference/invariantGenericErrorElaboration.errors.txt b/tests/baselines/reference/invariantGenericErrorElaboration.errors.txt new file mode 100644 index 00000000000..0bd79bcf11d --- /dev/null +++ b/tests/baselines/reference/invariantGenericErrorElaboration.errors.txt @@ -0,0 +1,52 @@ +tests/cases/compiler/invariantGenericErrorElaboration.ts(3,7): error TS2322: Type 'Num' is not assignable to type 'Runtype'. + Types of property 'constraint' are incompatible. + Type 'Constraint' is not assignable to type 'Constraint>'. + Types of property 'constraint' are incompatible. + Type 'Constraint>' is not assignable to type 'Constraint>>'. + Types of property 'constraint' are incompatible. + Type 'Constraint>>' is not assignable to type 'Constraint>>>'. + Type 'Constraint>>' is not assignable to type 'Constraint>'. + Types of property 'underlying' are incompatible. + Type 'Constraint>' is not assignable to type 'Constraint'. +tests/cases/compiler/invariantGenericErrorElaboration.ts(4,19): error TS2322: Type 'Num' is not assignable to type 'Runtype'. + + +==== tests/cases/compiler/invariantGenericErrorElaboration.ts (2 errors) ==== + // Repro from #19746 + + const wat: Runtype = Num; + ~~~ +!!! error TS2322: Type 'Num' is not assignable to type 'Runtype'. +!!! error TS2322: Types of property 'constraint' are incompatible. +!!! error TS2322: Type 'Constraint' is not assignable to type 'Constraint>'. +!!! error TS2322: Types of property 'constraint' are incompatible. +!!! error TS2322: Type 'Constraint>' is not assignable to type 'Constraint>>'. +!!! error TS2322: Types of property 'constraint' are incompatible. +!!! error TS2322: Type 'Constraint>>' is not assignable to type 'Constraint>>>'. +!!! error TS2322: Type 'Constraint>>' is not assignable to type 'Constraint>'. +!!! error TS2322: Types of property 'underlying' are incompatible. +!!! error TS2322: Type 'Constraint>' is not assignable to type 'Constraint'. +!!! related TS2728 tests/cases/compiler/invariantGenericErrorElaboration.ts:12:3: 'tag' is declared here. + const Foo = Obj({ foo: Num }) + ~~~ +!!! error TS2322: Type 'Num' is not assignable to type 'Runtype'. +!!! related TS6501 tests/cases/compiler/invariantGenericErrorElaboration.ts:17:34: The expected type comes from this index signature. + + interface Runtype { + constraint: Constraint + witness: A + } + + interface Num extends Runtype { + tag: 'number' + } + declare const Num: Num + + interface Obj }> extends Runtype<{[K in keyof O]: O[K]['witness'] }> {} + declare function Obj }>(fields: O): Obj; + + interface Constraint> extends Runtype { + underlying: A, + check: (x: A['witness']) => void, + } + \ No newline at end of file diff --git a/tests/baselines/reference/invariantGenericErrorElaboration.types b/tests/baselines/reference/invariantGenericErrorElaboration.types index 86aec86face..7c4bdd46d03 100644 --- a/tests/baselines/reference/invariantGenericErrorElaboration.types +++ b/tests/baselines/reference/invariantGenericErrorElaboration.types @@ -6,8 +6,8 @@ const wat: Runtype = Num; >Num : Num const Foo = Obj({ foo: Num }) ->Foo : Obj<{ foo: Num; }> ->Obj({ foo: Num }) : Obj<{ foo: Num; }> +>Foo : any +>Obj({ foo: Num }) : any >Obj : ; }>(fields: O) => Obj >{ foo: Num } : { foo: Num; } >foo : Num diff --git a/tests/baselines/reference/isolatedModulesNoExternalModule.errors.txt b/tests/baselines/reference/isolatedModulesNoExternalModule.errors.txt index 6d0f12bb1ab..2ca0a1139fb 100644 --- a/tests/baselines/reference/isolatedModulesNoExternalModule.errors.txt +++ b/tests/baselines/reference/isolatedModulesNoExternalModule.errors.txt @@ -1,7 +1,7 @@ -tests/cases/compiler/file1.ts(1,1): error TS1208: Cannot compile namespaces when the '--isolatedModules' flag is provided. +tests/cases/compiler/file1.ts(1,1): error TS1208: All files must be modules when the '--isolatedModules' flag is provided. ==== tests/cases/compiler/file1.ts (1 errors) ==== var x; ~~~ -!!! error TS1208: Cannot compile namespaces when the '--isolatedModules' flag is provided. \ No newline at end of file +!!! error TS1208: All files must be modules when the '--isolatedModules' flag is provided. \ No newline at end of file diff --git a/tests/baselines/reference/isolatedModulesOut.errors.txt b/tests/baselines/reference/isolatedModulesOut.errors.txt index 5581ece62e6..ef9455189d0 100644 --- a/tests/baselines/reference/isolatedModulesOut.errors.txt +++ b/tests/baselines/reference/isolatedModulesOut.errors.txt @@ -1,6 +1,6 @@ error TS5053: Option 'out' cannot be specified with option 'isolatedModules'. tests/cases/compiler/file1.ts(1,1): error TS6131: Cannot compile modules using option 'out' unless the '--module' flag is 'amd' or 'system'. -tests/cases/compiler/file2.ts(1,1): error TS1208: Cannot compile namespaces when the '--isolatedModules' flag is provided. +tests/cases/compiler/file2.ts(1,1): error TS1208: All files must be modules when the '--isolatedModules' flag is provided. !!! error TS5053: Option 'out' cannot be specified with option 'isolatedModules'. @@ -11,4 +11,4 @@ tests/cases/compiler/file2.ts(1,1): error TS1208: Cannot compile namespaces when ==== tests/cases/compiler/file2.ts (1 errors) ==== var y; ~~~ -!!! error TS1208: Cannot compile namespaces when the '--isolatedModules' flag is provided. \ No newline at end of file +!!! error TS1208: All files must be modules when the '--isolatedModules' flag is provided. \ No newline at end of file diff --git a/tests/baselines/reference/isolatedModulesPlainFile-AMD.errors.txt b/tests/baselines/reference/isolatedModulesPlainFile-AMD.errors.txt index d24da5e09cc..6c34c9953f0 100644 --- a/tests/baselines/reference/isolatedModulesPlainFile-AMD.errors.txt +++ b/tests/baselines/reference/isolatedModulesPlainFile-AMD.errors.txt @@ -1,9 +1,9 @@ -tests/cases/compiler/isolatedModulesPlainFile-AMD.ts(1,1): error TS1208: Cannot compile namespaces when the '--isolatedModules' flag is provided. +tests/cases/compiler/isolatedModulesPlainFile-AMD.ts(1,1): error TS1208: All files must be modules when the '--isolatedModules' flag is provided. ==== tests/cases/compiler/isolatedModulesPlainFile-AMD.ts (1 errors) ==== declare function run(a: number): void; ~~~~~~~ -!!! error TS1208: Cannot compile namespaces when the '--isolatedModules' flag is provided. +!!! error TS1208: All files must be modules when the '--isolatedModules' flag is provided. run(1); \ No newline at end of file diff --git a/tests/baselines/reference/isolatedModulesPlainFile-CommonJS.errors.txt b/tests/baselines/reference/isolatedModulesPlainFile-CommonJS.errors.txt index 43d18c54eb9..61a6021bf73 100644 --- a/tests/baselines/reference/isolatedModulesPlainFile-CommonJS.errors.txt +++ b/tests/baselines/reference/isolatedModulesPlainFile-CommonJS.errors.txt @@ -1,9 +1,9 @@ -tests/cases/compiler/isolatedModulesPlainFile-CommonJS.ts(1,1): error TS1208: Cannot compile namespaces when the '--isolatedModules' flag is provided. +tests/cases/compiler/isolatedModulesPlainFile-CommonJS.ts(1,1): error TS1208: All files must be modules when the '--isolatedModules' flag is provided. ==== tests/cases/compiler/isolatedModulesPlainFile-CommonJS.ts (1 errors) ==== declare function run(a: number): void; ~~~~~~~ -!!! error TS1208: Cannot compile namespaces when the '--isolatedModules' flag is provided. +!!! error TS1208: All files must be modules when the '--isolatedModules' flag is provided. run(1); \ No newline at end of file diff --git a/tests/baselines/reference/isolatedModulesPlainFile-ES6.errors.txt b/tests/baselines/reference/isolatedModulesPlainFile-ES6.errors.txt index 56316072aff..d1f9d635b0e 100644 --- a/tests/baselines/reference/isolatedModulesPlainFile-ES6.errors.txt +++ b/tests/baselines/reference/isolatedModulesPlainFile-ES6.errors.txt @@ -1,9 +1,9 @@ -tests/cases/compiler/isolatedModulesPlainFile-ES6.ts(1,1): error TS1208: Cannot compile namespaces when the '--isolatedModules' flag is provided. +tests/cases/compiler/isolatedModulesPlainFile-ES6.ts(1,1): error TS1208: All files must be modules when the '--isolatedModules' flag is provided. ==== tests/cases/compiler/isolatedModulesPlainFile-ES6.ts (1 errors) ==== declare function run(a: number): void; ~~~~~~~ -!!! error TS1208: Cannot compile namespaces when the '--isolatedModules' flag is provided. +!!! error TS1208: All files must be modules when the '--isolatedModules' flag is provided. run(1); \ No newline at end of file diff --git a/tests/baselines/reference/isolatedModulesPlainFile-System.errors.txt b/tests/baselines/reference/isolatedModulesPlainFile-System.errors.txt index b1e2ba643fa..e955549d754 100644 --- a/tests/baselines/reference/isolatedModulesPlainFile-System.errors.txt +++ b/tests/baselines/reference/isolatedModulesPlainFile-System.errors.txt @@ -1,9 +1,9 @@ -tests/cases/compiler/isolatedModulesPlainFile-System.ts(1,1): error TS1208: Cannot compile namespaces when the '--isolatedModules' flag is provided. +tests/cases/compiler/isolatedModulesPlainFile-System.ts(1,1): error TS1208: All files must be modules when the '--isolatedModules' flag is provided. ==== tests/cases/compiler/isolatedModulesPlainFile-System.ts (1 errors) ==== declare function run(a: number): void; ~~~~~~~ -!!! error TS1208: Cannot compile namespaces when the '--isolatedModules' flag is provided. +!!! error TS1208: All files must be modules when the '--isolatedModules' flag is provided. run(1); \ No newline at end of file diff --git a/tests/baselines/reference/isolatedModulesPlainFile-UMD.errors.txt b/tests/baselines/reference/isolatedModulesPlainFile-UMD.errors.txt index 29dfe4f67fb..1b7a01dd5bc 100644 --- a/tests/baselines/reference/isolatedModulesPlainFile-UMD.errors.txt +++ b/tests/baselines/reference/isolatedModulesPlainFile-UMD.errors.txt @@ -1,9 +1,9 @@ -tests/cases/compiler/isolatedModulesPlainFile-UMD.ts(1,1): error TS1208: Cannot compile namespaces when the '--isolatedModules' flag is provided. +tests/cases/compiler/isolatedModulesPlainFile-UMD.ts(1,1): error TS1208: All files must be modules when the '--isolatedModules' flag is provided. ==== tests/cases/compiler/isolatedModulesPlainFile-UMD.ts (1 errors) ==== declare function run(a: number): void; ~~~~~~~ -!!! error TS1208: Cannot compile namespaces when the '--isolatedModules' flag is provided. +!!! error TS1208: All files must be modules when the '--isolatedModules' flag is provided. run(1); \ No newline at end of file diff --git a/tests/baselines/reference/jsFileCompilationDuplicateVariableErrorReported.errors.txt b/tests/baselines/reference/jsFileCompilationDuplicateVariableErrorReported.errors.txt index f1374d95767..9e46d6225a2 100644 --- a/tests/baselines/reference/jsFileCompilationDuplicateVariableErrorReported.errors.txt +++ b/tests/baselines/reference/jsFileCompilationDuplicateVariableErrorReported.errors.txt @@ -9,4 +9,5 @@ tests/cases/compiler/a.ts(1,5): error TS2403: Subsequent variable declarations m ==== tests/cases/compiler/a.ts (1 errors) ==== var x = 10; // Error reported so no declaration file generated? ~ -!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'string', but here has type 'number'. \ No newline at end of file +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'string', but here has type 'number'. +!!! related TS6203 tests/cases/compiler/b.js:1:5: 'x' was also declared here. \ No newline at end of file diff --git a/tests/baselines/reference/keyofAndIndexedAccess2.errors.txt b/tests/baselines/reference/keyofAndIndexedAccess2.errors.txt index 5b749df2cab..40ccd13dac4 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess2.errors.txt +++ b/tests/baselines/reference/keyofAndIndexedAccess2.errors.txt @@ -15,7 +15,8 @@ tests/cases/conformance/types/keyof/keyofAndIndexedAccess2.ts(26,7): error TS233 tests/cases/conformance/types/keyof/keyofAndIndexedAccess2.ts(27,5): error TS2322: Type '1' is not assignable to type 'T[keyof T]'. tests/cases/conformance/types/keyof/keyofAndIndexedAccess2.ts(31,5): error TS2322: Type '{ [key: string]: number; }' is not assignable to type '{ [P in K]: number; }'. tests/cases/conformance/types/keyof/keyofAndIndexedAccess2.ts(38,5): error TS2322: Type '{ [x: string]: number; }' is not assignable to type '{ [P in K]: number; }'. -tests/cases/conformance/types/keyof/keyofAndIndexedAccess2.ts(50,3): error TS7017: Element implicitly has an 'any' type because type 'Item' has no index signature. +tests/cases/conformance/types/keyof/keyofAndIndexedAccess2.ts(50,3): error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'Item'. + No index signature with a parameter of type 'string' was found on type 'Item'. tests/cases/conformance/types/keyof/keyofAndIndexedAccess2.ts(51,3): error TS2322: Type '123' is not assignable to type 'string & number'. Type '123' is not assignable to type 'string'. tests/cases/conformance/types/keyof/keyofAndIndexedAccess2.ts(52,3): error TS2322: Type '123' is not assignable to type 'T[keyof T]'. @@ -112,7 +113,8 @@ tests/cases/conformance/types/keyof/keyofAndIndexedAccess2.ts(108,5): error TS23 function f10(obj: T, k1: string, k2: keyof Item, k3: keyof T, k4: K) { obj[k1] = 123; // Error ~~~~~~~ -!!! error TS7017: Element implicitly has an 'any' type because type 'Item' has no index signature. +!!! error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'Item'. +!!! error TS7053: No index signature with a parameter of type 'string' was found on type 'Item'. obj[k2] = 123; // Error ~~~~~~~ !!! error TS2322: Type '123' is not assignable to type 'string & number'. @@ -219,4 +221,23 @@ tests/cases/conformance/types/keyof/keyofAndIndexedAccess2.ts(108,5): error TS23 let x: Array[K] = 'abc'; let y: ReadonlyArray[K] = 'abc'; } + + // Repro from #31439 + + export class c { + [x: string]: string; + constructor() { + this["a"] = "b"; + } + } + + // Repro from #31385 + + type Foo = { [key: string]: { [K in keyof T]: K }[keyof T] }; + + type Bar = { [key: string]: { [K in keyof T]: [K] }[keyof T] }; + + type Baz> = { [K in keyof Q]: T[Q[K]] }; + + type Qux> = { [K in keyof Q]: T[Q[K]["0"]] }; \ No newline at end of file diff --git a/tests/baselines/reference/keyofAndIndexedAccess2.js b/tests/baselines/reference/keyofAndIndexedAccess2.js index 7bf53b9fba4..7547a3f84c5 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess2.js +++ b/tests/baselines/reference/keyofAndIndexedAccess2.js @@ -136,6 +136,25 @@ function fn4() { let x: Array[K] = 'abc'; let y: ReadonlyArray[K] = 'abc'; } + +// Repro from #31439 + +export class c { + [x: string]: string; + constructor() { + this["a"] = "b"; + } +} + +// Repro from #31385 + +type Foo = { [key: string]: { [K in keyof T]: K }[keyof T] }; + +type Bar = { [key: string]: { [K in keyof T]: [K] }[keyof T] }; + +type Baz> = { [K in keyof Q]: T[Q[K]] }; + +type Qux> = { [K in keyof Q]: T[Q[K]["0"]] }; //// [keyofAndIndexedAccess2.js] @@ -226,3 +245,9 @@ function fn4() { let x = 'abc'; let y = 'abc'; } +// Repro from #31439 +export class c { + constructor() { + this["a"] = "b"; + } +} diff --git a/tests/baselines/reference/keyofAndIndexedAccess2.symbols b/tests/baselines/reference/keyofAndIndexedAccess2.symbols index 2155451ef74..91602f93e1d 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess2.symbols +++ b/tests/baselines/reference/keyofAndIndexedAccess2.symbols @@ -503,3 +503,61 @@ function fn4() { >K : Symbol(K, Decl(keyofAndIndexedAccess2.ts, 133, 13)) } +// Repro from #31439 + +export class c { +>c : Symbol(c, Decl(keyofAndIndexedAccess2.ts, 136, 1)) + + [x: string]: string; +>x : Symbol(x, Decl(keyofAndIndexedAccess2.ts, 141, 3)) + + constructor() { + this["a"] = "b"; +>this : Symbol(c, Decl(keyofAndIndexedAccess2.ts, 136, 1)) + } +} + +// Repro from #31385 + +type Foo = { [key: string]: { [K in keyof T]: K }[keyof T] }; +>Foo : Symbol(Foo, Decl(keyofAndIndexedAccess2.ts, 145, 1)) +>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 149, 9)) +>key : Symbol(key, Decl(keyofAndIndexedAccess2.ts, 149, 17)) +>K : Symbol(K, Decl(keyofAndIndexedAccess2.ts, 149, 34)) +>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 149, 9)) +>K : Symbol(K, Decl(keyofAndIndexedAccess2.ts, 149, 34)) +>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 149, 9)) + +type Bar = { [key: string]: { [K in keyof T]: [K] }[keyof T] }; +>Bar : Symbol(Bar, Decl(keyofAndIndexedAccess2.ts, 149, 64)) +>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 151, 9)) +>key : Symbol(key, Decl(keyofAndIndexedAccess2.ts, 151, 17)) +>K : Symbol(K, Decl(keyofAndIndexedAccess2.ts, 151, 34)) +>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 151, 9)) +>K : Symbol(K, Decl(keyofAndIndexedAccess2.ts, 151, 34)) +>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 151, 9)) + +type Baz> = { [K in keyof Q]: T[Q[K]] }; +>Baz : Symbol(Baz, Decl(keyofAndIndexedAccess2.ts, 151, 66)) +>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 153, 9)) +>Q : Symbol(Q, Decl(keyofAndIndexedAccess2.ts, 153, 11)) +>Foo : Symbol(Foo, Decl(keyofAndIndexedAccess2.ts, 145, 1)) +>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 153, 9)) +>K : Symbol(K, Decl(keyofAndIndexedAccess2.ts, 153, 35)) +>Q : Symbol(Q, Decl(keyofAndIndexedAccess2.ts, 153, 11)) +>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 153, 9)) +>Q : Symbol(Q, Decl(keyofAndIndexedAccess2.ts, 153, 11)) +>K : Symbol(K, Decl(keyofAndIndexedAccess2.ts, 153, 35)) + +type Qux> = { [K in keyof Q]: T[Q[K]["0"]] }; +>Qux : Symbol(Qux, Decl(keyofAndIndexedAccess2.ts, 153, 60)) +>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 155, 9)) +>Q : Symbol(Q, Decl(keyofAndIndexedAccess2.ts, 155, 11)) +>Bar : Symbol(Bar, Decl(keyofAndIndexedAccess2.ts, 149, 64)) +>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 155, 9)) +>K : Symbol(K, Decl(keyofAndIndexedAccess2.ts, 155, 35)) +>Q : Symbol(Q, Decl(keyofAndIndexedAccess2.ts, 155, 11)) +>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 155, 9)) +>Q : Symbol(Q, Decl(keyofAndIndexedAccess2.ts, 155, 11)) +>K : Symbol(K, Decl(keyofAndIndexedAccess2.ts, 155, 35)) + diff --git a/tests/baselines/reference/keyofAndIndexedAccess2.types b/tests/baselines/reference/keyofAndIndexedAccess2.types index af43ed0f4eb..45cf1d4bad5 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess2.types +++ b/tests/baselines/reference/keyofAndIndexedAccess2.types @@ -499,3 +499,37 @@ function fn4() { >'abc' : "abc" } +// Repro from #31439 + +export class c { +>c : c + + [x: string]: string; +>x : string + + constructor() { + this["a"] = "b"; +>this["a"] = "b" : "b" +>this["a"] : string +>this : this +>"a" : "a" +>"b" : "b" + } +} + +// Repro from #31385 + +type Foo = { [key: string]: { [K in keyof T]: K }[keyof T] }; +>Foo : Foo +>key : string + +type Bar = { [key: string]: { [K in keyof T]: [K] }[keyof T] }; +>Bar : Bar +>key : string + +type Baz> = { [K in keyof Q]: T[Q[K]] }; +>Baz : Baz + +type Qux> = { [K in keyof Q]: T[Q[K]["0"]] }; +>Qux : Qux + diff --git a/tests/baselines/reference/library-reference-10.trace.json b/tests/baselines/reference/library-reference-10.trace.json index 37f8ab543ca..92b5b035079 100644 --- a/tests/baselines/reference/library-reference-10.trace.json +++ b/tests/baselines/reference/library-reference-10.trace.json @@ -1,18 +1,16 @@ [ "======== Resolving type reference directive 'jquery', containing file '/foo/consumer.ts', root directory './types'. ========", "Resolving with primary search path './types'.", - "'package.json' has 'typings' field 'jquery.d.ts' that references 'types/jquery/jquery.d.ts'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at './types/jquery/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "'package.json' has 'typings' field 'jquery.d.ts' that references 'types/jquery/jquery.d.ts'.", "File 'types/jquery/jquery.d.ts' exist - use it as a name resolution result.", "Resolving real path for 'types/jquery/jquery.d.ts', result '/foo/types/jquery/jquery.d.ts'.", "======== Type reference directive 'jquery' was successfully resolved to '/foo/types/jquery/jquery.d.ts', primary: true. ========", "======== Resolving type reference directive 'jquery', containing file '/foo/__inferred type names__.ts', root directory './types'. ========", "Resolving with primary search path './types'.", - "'package.json' has 'typings' field 'jquery.d.ts' that references 'types/jquery/jquery.d.ts'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at './types/jquery/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "'package.json' has 'typings' field 'jquery.d.ts' that references 'types/jquery/jquery.d.ts'.", "File 'types/jquery/jquery.d.ts' exist - use it as a name resolution result.", "Resolving real path for 'types/jquery/jquery.d.ts', result '/foo/types/jquery/jquery.d.ts'.", diff --git a/tests/baselines/reference/library-reference-11.trace.json b/tests/baselines/reference/library-reference-11.trace.json index b5e324d8c36..ff1905707a3 100644 --- a/tests/baselines/reference/library-reference-11.trace.json +++ b/tests/baselines/reference/library-reference-11.trace.json @@ -3,9 +3,8 @@ "Root directory cannot be determined, skipping primary search paths.", "Looking up in 'node_modules' folder, initial location '/a/b'.", "Directory '/a/b/node_modules' does not exist, skipping all lookups in it.", - "'package.json' has 'typings' field 'jquery.d.ts' that references '/a/node_modules/jquery/jquery.d.ts'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/a/node_modules/jquery/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "File '/a/node_modules/jquery.d.ts' does not exist.", "'package.json' has 'typings' field 'jquery.d.ts' that references '/a/node_modules/jquery/jquery.d.ts'.", "File '/a/node_modules/jquery/jquery.d.ts' exist - use it as a name resolution result.", diff --git a/tests/baselines/reference/library-reference-12.trace.json b/tests/baselines/reference/library-reference-12.trace.json index 1421f1501d9..63be1cc32a3 100644 --- a/tests/baselines/reference/library-reference-12.trace.json +++ b/tests/baselines/reference/library-reference-12.trace.json @@ -3,10 +3,8 @@ "Root directory cannot be determined, skipping primary search paths.", "Looking up in 'node_modules' folder, initial location '/a/b'.", "Directory '/a/b/node_modules' does not exist, skipping all lookups in it.", - "'package.json' does not have a 'typings' field.", - "'package.json' has 'types' field 'dist/jquery.d.ts' that references '/a/node_modules/jquery/dist/jquery.d.ts'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/a/node_modules/jquery/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "File '/a/node_modules/jquery.d.ts' does not exist.", "'package.json' does not have a 'typings' field.", "'package.json' has 'types' field 'dist/jquery.d.ts' that references '/a/node_modules/jquery/dist/jquery.d.ts'.", diff --git a/tests/baselines/reference/library-reference-2.trace.json b/tests/baselines/reference/library-reference-2.trace.json index b9b4cf08ca2..d4f50990005 100644 --- a/tests/baselines/reference/library-reference-2.trace.json +++ b/tests/baselines/reference/library-reference-2.trace.json @@ -1,10 +1,8 @@ [ "======== Resolving type reference directive 'jquery', containing file '/consumer.ts', root directory '/types'. ========", "Resolving with primary search path '/types'.", - "'package.json' does not have a 'typings' field.", - "'package.json' has 'types' field 'jquery.d.ts' that references '/types/jquery/jquery.d.ts'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/types/jquery/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "'package.json' does not have a 'typings' field.", "'package.json' has 'types' field 'jquery.d.ts' that references '/types/jquery/jquery.d.ts'.", "File '/types/jquery/jquery.d.ts' exist - use it as a name resolution result.", @@ -12,10 +10,8 @@ "======== Type reference directive 'jquery' was successfully resolved to '/types/jquery/jquery.d.ts', primary: true. ========", "======== Resolving type reference directive 'jquery', containing file '/test/__inferred type names__.ts', root directory '/types'. ========", "Resolving with primary search path '/types'.", - "'package.json' does not have a 'typings' field.", - "'package.json' has 'types' field 'jquery.d.ts' that references '/types/jquery/jquery.d.ts'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/types/jquery/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "'package.json' does not have a 'typings' field.", "'package.json' has 'types' field 'jquery.d.ts' that references '/types/jquery/jquery.d.ts'.", "File '/types/jquery/jquery.d.ts' exist - use it as a name resolution result.", diff --git a/tests/baselines/reference/literalTypeWidening.js b/tests/baselines/reference/literalTypeWidening.js index 93655fe0fc9..ff1f41aa7eb 100644 --- a/tests/baselines/reference/literalTypeWidening.js +++ b/tests/baselines/reference/literalTypeWidening.js @@ -156,8 +156,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; exports.__esModule = true; diff --git a/tests/baselines/reference/literalTypeWidening.types b/tests/baselines/reference/literalTypeWidening.types index 81db0bfc36f..95bde9a08ac 100644 --- a/tests/baselines/reference/literalTypeWidening.types +++ b/tests/baselines/reference/literalTypeWidening.types @@ -443,14 +443,14 @@ function test(obj: T): T { let { a, ...rest } = obj; >a : string ->rest : Omit +>rest : Pick> >obj : T return { a: 'hello', ...rest } as T; >{ a: 'hello', ...rest } as T : T ->{ a: 'hello', ...rest } : { a: string; } & Omit +>{ a: 'hello', ...rest } : { a: string; } & Pick> >a : string >'hello' : "hello" ->rest : Omit +>rest : Pick> } diff --git a/tests/baselines/reference/mappedTypeConstraints.js b/tests/baselines/reference/mappedTypeConstraints.js index 0565af1c6ec..3f701cee86e 100644 --- a/tests/baselines/reference/mappedTypeConstraints.js +++ b/tests/baselines/reference/mappedTypeConstraints.js @@ -42,8 +42,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; function f0(obj) { diff --git a/tests/baselines/reference/mappedTypeConstraints.symbols b/tests/baselines/reference/mappedTypeConstraints.symbols index 4a793fd0dc3..3601ffc3de8 100644 --- a/tests/baselines/reference/mappedTypeConstraints.symbols +++ b/tests/baselines/reference/mappedTypeConstraints.symbols @@ -132,9 +132,9 @@ const modifier = (targetProps: T) => { >targetProps : Symbol(targetProps, Decl(mappedTypeConstraints.ts, 30, 41)) rest.foo; ->rest.foo : Symbol(foo) +>rest.foo : Symbol(foo, Decl(mappedTypeConstraints.ts, 25, 20)) >rest : Symbol(rest, Decl(mappedTypeConstraints.ts, 31, 13)) ->foo : Symbol(foo) +>foo : Symbol(foo, Decl(mappedTypeConstraints.ts, 25, 20)) }; diff --git a/tests/baselines/reference/mappedTypeConstraints.types b/tests/baselines/reference/mappedTypeConstraints.types index 98ae325e6be..3e42e2a2e98 100644 --- a/tests/baselines/reference/mappedTypeConstraints.types +++ b/tests/baselines/reference/mappedTypeConstraints.types @@ -98,12 +98,12 @@ const modifier = (targetProps: T) => { let {bar, ...rest} = targetProps; >bar : string ->rest : Omit +>rest : Pick> >targetProps : T rest.foo; >rest.foo : T["foo"] ->rest : Omit +>rest : Pick> >foo : T["foo"] }; diff --git a/tests/baselines/reference/mappedTypeErrors.errors.txt b/tests/baselines/reference/mappedTypeErrors.errors.txt index 254d1cca1a8..0dc68732e81 100644 --- a/tests/baselines/reference/mappedTypeErrors.errors.txt +++ b/tests/baselines/reference/mappedTypeErrors.errors.txt @@ -133,12 +133,15 @@ tests/cases/conformance/types/mapped/mappedTypeErrors.ts(152,17): error TS2339: var x: { [P in keyof T]?: T[P] }; // Error ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type '{ [P in keyof T]: T[P]; }', but here has type '{ [P in keyof T]?: T[P] | undefined; }'. +!!! related TS6203 tests/cases/conformance/types/mapped/mappedTypeErrors.ts:58:9: 'x' was also declared here. var x: { readonly [P in keyof T]: T[P] }; // Error ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type '{ [P in keyof T]: T[P]; }', but here has type '{ readonly [P in keyof T]: T[P]; }'. +!!! related TS6203 tests/cases/conformance/types/mapped/mappedTypeErrors.ts:58:9: 'x' was also declared here. var x: { readonly [P in keyof T]?: T[P] }; // Error ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type '{ [P in keyof T]: T[P]; }', but here has type '{ readonly [P in keyof T]?: T[P] | undefined; }'. +!!! related TS6203 tests/cases/conformance/types/mapped/mappedTypeErrors.ts:58:9: 'x' was also declared here. } function f12() { @@ -146,6 +149,7 @@ tests/cases/conformance/types/mapped/mappedTypeErrors.ts(152,17): error TS2339: var x: { [P in keyof T]: T[P][] }; // Error ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type '{ [P in keyof T]: T[P]; }', but here has type '{ [P in keyof T]: T[P][]; }'. +!!! related TS6203 tests/cases/conformance/types/mapped/mappedTypeErrors.ts:65:9: 'x' was also declared here. } // Check that inferences to mapped types are secondary diff --git a/tests/baselines/reference/mappedTypeInferenceErrors.errors.txt b/tests/baselines/reference/mappedTypeInferenceErrors.errors.txt index f83f01f77bf..0c5e835db96 100644 --- a/tests/baselines/reference/mappedTypeInferenceErrors.errors.txt +++ b/tests/baselines/reference/mappedTypeInferenceErrors.errors.txt @@ -20,7 +20,7 @@ tests/cases/conformance/types/mapped/mappedTypeInferenceErrors.ts(16,9): error T baz: 42 ~~~ !!! error TS2322: Type 'number' is not assignable to type '() => unknown'. -!!! related TS6500 tests/cases/conformance/types/mapped/mappedTypeInferenceErrors.ts:16:9: The expected type comes from property 'baz' which is declared here on type 'ComputedOf<{ bar: number; baz: unknown; }>' +!!! related TS6500 tests/cases/conformance/types/mapped/mappedTypeInferenceErrors.ts:16:9: The expected type comes from property 'baz' which is declared here on type 'ComputedOf<{ bar: unknown; baz: unknown; }>' } }); \ No newline at end of file diff --git a/tests/baselines/reference/mappedTypes5.errors.txt b/tests/baselines/reference/mappedTypes5.errors.txt index 3b9f3423941..d0c32cd1dd9 100644 --- a/tests/baselines/reference/mappedTypes5.errors.txt +++ b/tests/baselines/reference/mappedTypes5.errors.txt @@ -1,8 +1,6 @@ tests/cases/conformance/types/mapped/mappedTypes5.ts(6,9): error TS2322: Type 'Partial' is not assignable to type 'Readonly'. tests/cases/conformance/types/mapped/mappedTypes5.ts(8,9): error TS2322: Type 'Partial>' is not assignable to type 'Readonly'. tests/cases/conformance/types/mapped/mappedTypes5.ts(9,9): error TS2322: Type 'Readonly>' is not assignable to type 'Readonly'. - Type 'Partial' is not assignable to type 'T'. - 'Partial' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint '{}'. ==== tests/cases/conformance/types/mapped/mappedTypes5.ts (3 errors) ==== @@ -21,8 +19,6 @@ tests/cases/conformance/types/mapped/mappedTypes5.ts(9,9): error TS2322: Type 'R let b4: Readonly = rp; // Error ~~ !!! error TS2322: Type 'Readonly>' is not assignable to type 'Readonly'. -!!! error TS2322: Type 'Partial' is not assignable to type 'T'. -!!! error TS2322: 'Partial' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint '{}'. let c1: Partial> = p; let c2: Partial> = r; let c3: Partial> = pr; diff --git a/tests/baselines/reference/mergedInterfacesWithConflictingPropertyNames.errors.txt b/tests/baselines/reference/mergedInterfacesWithConflictingPropertyNames.errors.txt index 523cad05465..6bb0e02f4eb 100644 --- a/tests/baselines/reference/mergedInterfacesWithConflictingPropertyNames.errors.txt +++ b/tests/baselines/reference/mergedInterfacesWithConflictingPropertyNames.errors.txt @@ -12,6 +12,7 @@ tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithConfli x: number; ~ !!! error TS2717: Subsequent property declarations must have the same type. Property 'x' must be of type 'string', but here has type 'number'. +!!! related TS6203 tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithConflictingPropertyNames.ts:2:5: 'x' was also declared here. } module M { @@ -23,6 +24,7 @@ tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithConfli x: number; // error ~ !!! error TS2717: Subsequent property declarations must have the same type. Property 'x' must be of type 'T', but here has type 'number'. +!!! related TS6203 tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithConflictingPropertyNames.ts:11:9: 'x' was also declared here. } } @@ -49,5 +51,6 @@ tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithConfli x: number; // error ~ !!! error TS2717: Subsequent property declarations must have the same type. Property 'x' must be of type 'T', but here has type 'number'. +!!! related TS6203 tests/cases/conformance/interfaces/declarationMerging/mergedInterfacesWithConflictingPropertyNames.ts:33:9: 'x' was also declared here. } } \ No newline at end of file diff --git a/tests/baselines/reference/methodSignatureHandledDeclarationKindForSymbol.errors.txt b/tests/baselines/reference/methodSignatureHandledDeclarationKindForSymbol.errors.txt index 99fd038bbb9..edb66f56dd3 100644 --- a/tests/baselines/reference/methodSignatureHandledDeclarationKindForSymbol.errors.txt +++ b/tests/baselines/reference/methodSignatureHandledDeclarationKindForSymbol.errors.txt @@ -10,6 +10,7 @@ tests/cases/compiler/methodSignatureHandledDeclarationKindForSymbol.ts(6,5): err bold: string; ~~~~ !!! error TS2717: Subsequent property declarations must have the same type. Property 'bold' must be of type '() => string', but here has type 'string'. +!!! related TS6203 tests/cases/compiler/methodSignatureHandledDeclarationKindForSymbol.ts:2:5: 'bold' was also declared here. } \ No newline at end of file diff --git a/tests/baselines/reference/missingAndExcessProperties.errors.txt b/tests/baselines/reference/missingAndExcessProperties.errors.txt index 0ee69d9af30..7972d770320 100644 --- a/tests/baselines/reference/missingAndExcessProperties.errors.txt +++ b/tests/baselines/reference/missingAndExcessProperties.errors.txt @@ -31,6 +31,7 @@ tests/cases/conformance/es6/destructuring/missingAndExcessProperties.ts(31,16): var { x = 1, y } = {}; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'any', but here has type 'number'. +!!! related TS6203 tests/cases/conformance/es6/destructuring/missingAndExcessProperties.ts:3:11: 'x' was also declared here. ~ !!! error TS2525: Initializer provides no value for this binding element and the binding element has no default value. var { x, y = 1 } = {}; @@ -38,11 +39,14 @@ tests/cases/conformance/es6/destructuring/missingAndExcessProperties.ts(31,16): !!! error TS2525: Initializer provides no value for this binding element and the binding element has no default value. ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'y' must be of type 'any', but here has type 'number'. +!!! related TS6203 tests/cases/conformance/es6/destructuring/missingAndExcessProperties.ts:3:14: 'y' was also declared here. var { x = 1, y = 1 } = {}; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'any', but here has type 'number'. +!!! related TS6203 tests/cases/conformance/es6/destructuring/missingAndExcessProperties.ts:3:11: 'x' was also declared here. ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'y' must be of type 'any', but here has type 'number'. +!!! related TS6203 tests/cases/conformance/es6/destructuring/missingAndExcessProperties.ts:3:14: 'y' was also declared here. } // Missing properties diff --git a/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.js b/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.js new file mode 100644 index 00000000000..9f09bea10cf --- /dev/null +++ b/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.js @@ -0,0 +1,44 @@ +//// [tests/cases/compiler/moduleResolutionPackageIdWithRelativeAndAbsolutePath.ts] //// + +//// [package.json] +{ + "name": "troublesome-lib", + "version": "1.17.1" +} +//// [Compactable.d.ts] +import { Option } from './Option'; +export class Compactable { + option: Option; +} +//// [Option.d.ts] +export class Option { + someProperty: string; +} +//// [app.d.ts] +import { Option } from "troublesome-lib/lib/Option"; +export class SharedOption extends Option { } +export const makeSharedOption: () => SharedOption; +//// [index.d.ts] +import { Compactable } from "troublesome-lib/lib/Compactable"; // Including this will resolve Option as relative through the imports of compactable +//// [package.json] +{ + "name": "troublesome-lib", + "version": "1.17.1" +} +//// [Compactable.d.ts] +import { Option } from './Option'; +export class Compactable { + option: Option; +} +//// [Option.d.ts] +export class Option { + someProperty: string; +} +//// [app.ts] +import * as t from "anotherLib"; // Include the lib that recursively includes option as relative module resolution in this directory +import { makeSharedOption } from "@shared/lib/app"; // Includes option as module in shared folder but as module in node_modules folder + + +//// [/project/src/app.js] +"use strict"; +exports.__esModule = true; diff --git a/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.symbols b/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.symbols new file mode 100644 index 00000000000..1e4d65e10b3 --- /dev/null +++ b/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.symbols @@ -0,0 +1,48 @@ +=== /project/src/app.ts === +import * as t from "anotherLib"; // Include the lib that recursively includes option as relative module resolution in this directory +>t : Symbol(t, Decl(app.ts, 0, 6)) + +import { makeSharedOption } from "@shared/lib/app"; // Includes option as module in shared folder but as module in node_modules folder +>makeSharedOption : Symbol(makeSharedOption, Decl(app.ts, 1, 8)) + +=== /shared/node_modules/troublesome-lib/lib/Option.d.ts === +export class Option { +>Option : Symbol(Option, Decl(Option.d.ts, 0, 0)) + + someProperty: string; +>someProperty : Symbol(Option.someProperty, Decl(Option.d.ts, 0, 21)) +} +=== /shared/lib/app.d.ts === +import { Option } from "troublesome-lib/lib/Option"; +>Option : Symbol(Option, Decl(app.d.ts, 0, 8)) + +export class SharedOption extends Option { } +>SharedOption : Symbol(SharedOption, Decl(app.d.ts, 0, 52)) +>Option : Symbol(Option, Decl(app.d.ts, 0, 8)) + +export const makeSharedOption: () => SharedOption; +>makeSharedOption : Symbol(makeSharedOption, Decl(app.d.ts, 2, 12)) +>SharedOption : Symbol(SharedOption, Decl(app.d.ts, 0, 52)) + +=== /project/node_modules/anotherLib/index.d.ts === +import { Compactable } from "troublesome-lib/lib/Compactable"; // Including this will resolve Option as relative through the imports of compactable +>Compactable : Symbol(Compactable, Decl(index.d.ts, 0, 8)) + +=== /project/node_modules/troublesome-lib/lib/Compactable.d.ts === +import { Option } from './Option'; +>Option : Symbol(Option, Decl(Compactable.d.ts, 0, 8)) + +export class Compactable { +>Compactable : Symbol(Compactable, Decl(Compactable.d.ts, 0, 34)) + + option: Option; +>option : Symbol(Compactable.option, Decl(Compactable.d.ts, 1, 26)) +>Option : Symbol(Option, Decl(Compactable.d.ts, 0, 8)) +} +=== /project/node_modules/troublesome-lib/lib/Option.d.ts === +export class Option { +>Option : Symbol(Option, Decl(Option.d.ts, 0, 0)) + + someProperty: string; +>someProperty : Symbol(Option.someProperty, Decl(Option.d.ts, 0, 21)) +} diff --git a/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.trace.json b/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.trace.json new file mode 100644 index 00000000000..e3d7b5dea54 --- /dev/null +++ b/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.trace.json @@ -0,0 +1,76 @@ +[ + "======== Resolving module 'anotherLib' from '/project/src/app.ts'. ========", + "Module resolution kind is not specified, using 'NodeJs'.", + "'baseUrl' option is set to '/project', using this value to resolve non-relative module name 'anotherLib'.", + "'paths' option is specified, looking for a pattern to match module name 'anotherLib'.", + "'baseUrl' option is set to '/project', using this value to resolve non-relative module name 'anotherLib'.", + "Resolving module name 'anotherLib' relative to base url '/project' - '/project/anotherLib'.", + "Loading module as file / folder, candidate module location '/project/anotherLib', target file type 'TypeScript'.", + "File '/project/anotherLib.ts' does not exist.", + "File '/project/anotherLib.tsx' does not exist.", + "File '/project/anotherLib.d.ts' does not exist.", + "Directory '/project/anotherLib' does not exist, skipping all lookups in it.", + "Loading module 'anotherLib' from 'node_modules' folder, target file type 'TypeScript'.", + "Directory '/project/src/node_modules' does not exist, skipping all lookups in it.", + "File '/project/node_modules/anotherLib/package.json' does not exist.", + "File '/project/node_modules/anotherLib.ts' does not exist.", + "File '/project/node_modules/anotherLib.tsx' does not exist.", + "File '/project/node_modules/anotherLib.d.ts' does not exist.", + "File '/project/node_modules/anotherLib/index.ts' does not exist.", + "File '/project/node_modules/anotherLib/index.tsx' does not exist.", + "File '/project/node_modules/anotherLib/index.d.ts' exist - use it as a name resolution result.", + "Resolving real path for '/project/node_modules/anotherLib/index.d.ts', result '/project/node_modules/anotherLib/index.d.ts'.", + "======== Module name 'anotherLib' was successfully resolved to '/project/node_modules/anotherLib/index.d.ts'. ========", + "======== Resolving module '@shared/lib/app' from '/project/src/app.ts'. ========", + "Module resolution kind is not specified, using 'NodeJs'.", + "'baseUrl' option is set to '/project', using this value to resolve non-relative module name '@shared/lib/app'.", + "'paths' option is specified, looking for a pattern to match module name '@shared/lib/app'.", + "Module name '@shared/lib/app', matched pattern '@shared/*'.", + "Trying substitution '../shared/*', candidate module location: '../shared/lib/app'.", + "Loading module as file / folder, candidate module location '/shared/lib/app', target file type 'TypeScript'.", + "File '/shared/lib/app.ts' does not exist.", + "File '/shared/lib/app.tsx' does not exist.", + "File '/shared/lib/app.d.ts' exist - use it as a name resolution result.", + "======== Module name '@shared/lib/app' was successfully resolved to '/shared/lib/app.d.ts'. ========", + "======== Resolving module 'troublesome-lib/lib/Compactable' from '/project/node_modules/anotherLib/index.d.ts'. ========", + "Module resolution kind is not specified, using 'NodeJs'.", + "'baseUrl' option is set to '/project', using this value to resolve non-relative module name 'troublesome-lib/lib/Compactable'.", + "'paths' option is specified, looking for a pattern to match module name 'troublesome-lib/lib/Compactable'.", + "'baseUrl' option is set to '/project', using this value to resolve non-relative module name 'troublesome-lib/lib/Compactable'.", + "Resolving module name 'troublesome-lib/lib/Compactable' relative to base url '/project' - '/project/troublesome-lib/lib/Compactable'.", + "Loading module as file / folder, candidate module location '/project/troublesome-lib/lib/Compactable', target file type 'TypeScript'.", + "Loading module 'troublesome-lib/lib/Compactable' from 'node_modules' folder, target file type 'TypeScript'.", + "Directory '/project/node_modules/anotherLib/node_modules' does not exist, skipping all lookups in it.", + "Found 'package.json' at '/project/node_modules/troublesome-lib/package.json'.", + "'package.json' does not have a 'typesVersions' field.", + "File '/project/node_modules/troublesome-lib/lib/Compactable.ts' does not exist.", + "File '/project/node_modules/troublesome-lib/lib/Compactable.tsx' does not exist.", + "File '/project/node_modules/troublesome-lib/lib/Compactable.d.ts' exist - use it as a name resolution result.", + "Resolving real path for '/project/node_modules/troublesome-lib/lib/Compactable.d.ts', result '/project/node_modules/troublesome-lib/lib/Compactable.d.ts'.", + "======== Module name 'troublesome-lib/lib/Compactable' was successfully resolved to '/project/node_modules/troublesome-lib/lib/Compactable.d.ts' with Package ID 'troublesome-lib/lib/Compactable.d.ts@1.17.1'. ========", + "======== Resolving module './Option' from '/project/node_modules/troublesome-lib/lib/Compactable.d.ts'. ========", + "Module resolution kind is not specified, using 'NodeJs'.", + "Loading module as file / folder, candidate module location '/project/node_modules/troublesome-lib/lib/Option', target file type 'TypeScript'.", + "File '/project/node_modules/troublesome-lib/lib/Option.ts' does not exist.", + "File '/project/node_modules/troublesome-lib/lib/Option.tsx' does not exist.", + "File '/project/node_modules/troublesome-lib/lib/Option.d.ts' exist - use it as a name resolution result.", + "Found 'package.json' at '/project/node_modules/troublesome-lib/package.json'.", + "'package.json' does not have a 'typesVersions' field.", + "======== Module name './Option' was successfully resolved to '/project/node_modules/troublesome-lib/lib/Option.d.ts' with Package ID 'troublesome-lib/lib/Option.d.ts@1.17.1'. ========", + "======== Resolving module 'troublesome-lib/lib/Option' from '/shared/lib/app.d.ts'. ========", + "Module resolution kind is not specified, using 'NodeJs'.", + "'baseUrl' option is set to '/project', using this value to resolve non-relative module name 'troublesome-lib/lib/Option'.", + "'paths' option is specified, looking for a pattern to match module name 'troublesome-lib/lib/Option'.", + "'baseUrl' option is set to '/project', using this value to resolve non-relative module name 'troublesome-lib/lib/Option'.", + "Resolving module name 'troublesome-lib/lib/Option' relative to base url '/project' - '/project/troublesome-lib/lib/Option'.", + "Loading module as file / folder, candidate module location '/project/troublesome-lib/lib/Option', target file type 'TypeScript'.", + "Loading module 'troublesome-lib/lib/Option' from 'node_modules' folder, target file type 'TypeScript'.", + "Directory '/shared/lib/node_modules' does not exist, skipping all lookups in it.", + "Found 'package.json' at '/shared/node_modules/troublesome-lib/package.json'.", + "'package.json' does not have a 'typesVersions' field.", + "File '/shared/node_modules/troublesome-lib/lib/Option.ts' does not exist.", + "File '/shared/node_modules/troublesome-lib/lib/Option.tsx' does not exist.", + "File '/shared/node_modules/troublesome-lib/lib/Option.d.ts' exist - use it as a name resolution result.", + "Resolving real path for '/shared/node_modules/troublesome-lib/lib/Option.d.ts', result '/shared/node_modules/troublesome-lib/lib/Option.d.ts'.", + "======== Module name 'troublesome-lib/lib/Option' was successfully resolved to '/shared/node_modules/troublesome-lib/lib/Option.d.ts' with Package ID 'troublesome-lib/lib/Option.d.ts@1.17.1'. ========" +] \ No newline at end of file diff --git a/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.types b/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.types new file mode 100644 index 00000000000..f3aa22e7df2 --- /dev/null +++ b/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.types @@ -0,0 +1,46 @@ +=== /project/src/app.ts === +import * as t from "anotherLib"; // Include the lib that recursively includes option as relative module resolution in this directory +>t : typeof t + +import { makeSharedOption } from "@shared/lib/app"; // Includes option as module in shared folder but as module in node_modules folder +>makeSharedOption : () => import("/shared/lib/app").SharedOption + +=== /shared/node_modules/troublesome-lib/lib/Option.d.ts === +export class Option { +>Option : Option + + someProperty: string; +>someProperty : string +} +=== /shared/lib/app.d.ts === +import { Option } from "troublesome-lib/lib/Option"; +>Option : typeof Option + +export class SharedOption extends Option { } +>SharedOption : SharedOption +>Option : Option + +export const makeSharedOption: () => SharedOption; +>makeSharedOption : () => SharedOption + +=== /project/node_modules/anotherLib/index.d.ts === +import { Compactable } from "troublesome-lib/lib/Compactable"; // Including this will resolve Option as relative through the imports of compactable +>Compactable : typeof Compactable + +=== /project/node_modules/troublesome-lib/lib/Compactable.d.ts === +import { Option } from './Option'; +>Option : typeof Option + +export class Compactable { +>Compactable : Compactable + + option: Option; +>option : Option +} +=== /project/node_modules/troublesome-lib/lib/Option.d.ts === +export class Option { +>Option : Option + + someProperty: string; +>someProperty : string +} diff --git a/tests/baselines/reference/moduleResolutionWithExtensions_unexpected.trace.json b/tests/baselines/reference/moduleResolutionWithExtensions_unexpected.trace.json index d386774db15..28e150aa345 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions_unexpected.trace.json +++ b/tests/baselines/reference/moduleResolutionWithExtensions_unexpected.trace.json @@ -2,11 +2,8 @@ "======== Resolving module 'normalize.css' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'normalize.css' from 'node_modules' folder, target file type 'TypeScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' does not have a 'types' field.", - "'package.json' has 'main' field 'normalize.css' that references '/node_modules/normalize.css/normalize.css'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/node_modules/normalize.css/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "File '/node_modules/normalize.css.ts' does not exist.", "File '/node_modules/normalize.css.tsx' does not exist.", "File '/node_modules/normalize.css.d.ts' does not exist.", @@ -25,11 +22,8 @@ "File '/node_modules/normalize.css/index.d.ts' does not exist.", "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", "Loading module 'normalize.css' from 'node_modules' folder, target file type 'JavaScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' does not have a 'types' field.", - "'package.json' has 'main' field 'normalize.css' that references '/node_modules/normalize.css/normalize.css'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/node_modules/normalize.css/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "File '/node_modules/normalize.css.js' does not exist.", "File '/node_modules/normalize.css.jsx' does not exist.", "'package.json' has 'main' field 'normalize.css' that references '/node_modules/normalize.css/normalize.css'.", diff --git a/tests/baselines/reference/moduleResolutionWithExtensions_unexpected2.trace.json b/tests/baselines/reference/moduleResolutionWithExtensions_unexpected2.trace.json index 09a7bf81c98..a92c5953af3 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions_unexpected2.trace.json +++ b/tests/baselines/reference/moduleResolutionWithExtensions_unexpected2.trace.json @@ -2,10 +2,8 @@ "======== Resolving module 'foo' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' has 'types' field 'foo.js' that references '/node_modules/foo/foo.js'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/node_modules/foo/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "File '/node_modules/foo.ts' does not exist.", "File '/node_modules/foo.tsx' does not exist.", "File '/node_modules/foo.d.ts' does not exist.", @@ -27,10 +25,8 @@ "File '/node_modules/foo/index.d.ts' does not exist.", "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", "Loading module 'foo' from 'node_modules' folder, target file type 'JavaScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' has 'types' field 'foo.js' that references '/node_modules/foo/foo.js'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/node_modules/foo/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "File '/node_modules/foo.js' does not exist.", "File '/node_modules/foo.jsx' does not exist.", "'package.json' does not have a 'main' field.", diff --git a/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot.trace.json b/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot.trace.json index dbd645d9d65..a0ff3e6a5f7 100644 --- a/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot.trace.json +++ b/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot.trace.json @@ -2,10 +2,8 @@ "======== Resolving module 'foo/bar' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'foo/bar' from 'node_modules' folder, target file type 'TypeScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' has 'types' field 'types.d.ts' that references '/node_modules/foo/bar/types.d.ts'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/node_modules/foo/bar/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "File '/node_modules/foo/bar.ts' does not exist.", "File '/node_modules/foo/bar.tsx' does not exist.", "File '/node_modules/foo/bar.d.ts' does not exist.", diff --git a/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot_fakeScopedPackage.trace.json b/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot_fakeScopedPackage.trace.json index e47dcc86b12..ebeee4299fe 100644 --- a/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot_fakeScopedPackage.trace.json +++ b/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot_fakeScopedPackage.trace.json @@ -2,10 +2,8 @@ "======== Resolving module 'foo/@bar' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'foo/@bar' from 'node_modules' folder, target file type 'TypeScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' has 'types' field 'types.d.ts' that references '/node_modules/foo/@bar/types.d.ts'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/node_modules/foo/@bar/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "File '/node_modules/foo/@bar.ts' does not exist.", "File '/node_modules/foo/@bar.tsx' does not exist.", "File '/node_modules/foo/@bar.d.ts' does not exist.", diff --git a/tests/baselines/reference/moduleResolution_packageJson_scopedPackage.trace.json b/tests/baselines/reference/moduleResolution_packageJson_scopedPackage.trace.json index a8e509ff6e8..959e178b57e 100644 --- a/tests/baselines/reference/moduleResolution_packageJson_scopedPackage.trace.json +++ b/tests/baselines/reference/moduleResolution_packageJson_scopedPackage.trace.json @@ -2,10 +2,8 @@ "======== Resolving module '@foo/bar' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module '@foo/bar' from 'node_modules' folder, target file type 'TypeScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' has 'types' field 'types.d.ts' that references '/node_modules/@foo/bar/types.d.ts'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/node_modules/@foo/bar/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "File '/node_modules/@foo/bar.ts' does not exist.", "File '/node_modules/@foo/bar.tsx' does not exist.", "File '/node_modules/@foo/bar.d.ts' does not exist.", diff --git a/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot.trace.json b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot.trace.json index 873805b8b57..aafca116d0b 100644 --- a/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot.trace.json +++ b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot.trace.json @@ -3,22 +3,31 @@ "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'foo/bar' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/foo/bar/package.json' does not exist.", + "Found 'package.json' at '/node_modules/foo/package.json'.", "'package.json' does not have a 'typesVersions' field.", - "Found 'package.json' at '/node_modules/foo/package.json'. Package ID is 'foo/bar/index.d.ts@1.2.3'.", "File '/node_modules/foo/bar.ts' does not exist.", "File '/node_modules/foo/bar.tsx' does not exist.", "File '/node_modules/foo/bar.d.ts' does not exist.", + "'package.json' does not have a 'typings' field.", + "'package.json' has 'types' field 'types.d.ts' that references '/node_modules/foo/bar/types.d.ts'.", + "File '/node_modules/foo/bar/types.d.ts' does not exist.", + "Loading module as file / folder, candidate module location '/node_modules/foo/bar/types.d.ts', target file type 'TypeScript'.", + "File '/node_modules/foo/bar/types.d.ts.ts' does not exist.", + "File '/node_modules/foo/bar/types.d.ts.tsx' does not exist.", + "File '/node_modules/foo/bar/types.d.ts.d.ts' does not exist.", + "Directory '/node_modules/foo/bar/types.d.ts' does not exist, skipping all lookups in it.", "File '/node_modules/foo/bar/index.ts' does not exist.", "File '/node_modules/foo/bar/index.tsx' does not exist.", "File '/node_modules/foo/bar/index.d.ts' does not exist.", "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", "Loading module 'foo/bar' from 'node_modules' folder, target file type 'JavaScript'.", "File '/node_modules/foo/bar/package.json' does not exist.", + "Found 'package.json' at '/node_modules/foo/package.json'.", "'package.json' does not have a 'typesVersions' field.", - "Found 'package.json' at '/node_modules/foo/package.json'. Package ID is 'foo/bar/index.d.ts@1.2.3'.", "File '/node_modules/foo/bar.js' does not exist.", "File '/node_modules/foo/bar.jsx' does not exist.", + "'package.json' does not have a 'main' field.", "File '/node_modules/foo/bar/index.js' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/foo/bar/index.js', result '/node_modules/foo/bar/index.js'.", - "======== Module name 'foo/bar' was successfully resolved to '/node_modules/foo/bar/index.js'. ========" + "======== Module name 'foo/bar' was successfully resolved to '/node_modules/foo/bar/index.js' with Package ID 'foo/bar/index.js@1.2.3'. ========" ] \ No newline at end of file diff --git a/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_fakeScopedPackage.trace.json b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_fakeScopedPackage.trace.json index 95beae1393e..f41b1ca0710 100644 --- a/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_fakeScopedPackage.trace.json +++ b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_fakeScopedPackage.trace.json @@ -3,22 +3,31 @@ "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'foo/@bar' from 'node_modules' folder, target file type 'TypeScript'.", "File '/node_modules/foo/@bar/package.json' does not exist.", + "Found 'package.json' at '/node_modules/foo/package.json'.", "'package.json' does not have a 'typesVersions' field.", - "Found 'package.json' at '/node_modules/foo/package.json'. Package ID is 'foo/@bar/index.d.ts@1.2.3'.", "File '/node_modules/foo/@bar.ts' does not exist.", "File '/node_modules/foo/@bar.tsx' does not exist.", "File '/node_modules/foo/@bar.d.ts' does not exist.", + "'package.json' does not have a 'typings' field.", + "'package.json' has 'types' field 'types.d.ts' that references '/node_modules/foo/@bar/types.d.ts'.", + "File '/node_modules/foo/@bar/types.d.ts' does not exist.", + "Loading module as file / folder, candidate module location '/node_modules/foo/@bar/types.d.ts', target file type 'TypeScript'.", + "File '/node_modules/foo/@bar/types.d.ts.ts' does not exist.", + "File '/node_modules/foo/@bar/types.d.ts.tsx' does not exist.", + "File '/node_modules/foo/@bar/types.d.ts.d.ts' does not exist.", + "Directory '/node_modules/foo/@bar/types.d.ts' does not exist, skipping all lookups in it.", "File '/node_modules/foo/@bar/index.ts' does not exist.", "File '/node_modules/foo/@bar/index.tsx' does not exist.", "File '/node_modules/foo/@bar/index.d.ts' does not exist.", "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", "Loading module 'foo/@bar' from 'node_modules' folder, target file type 'JavaScript'.", "File '/node_modules/foo/@bar/package.json' does not exist.", + "Found 'package.json' at '/node_modules/foo/package.json'.", "'package.json' does not have a 'typesVersions' field.", - "Found 'package.json' at '/node_modules/foo/package.json'. Package ID is 'foo/@bar/index.d.ts@1.2.3'.", "File '/node_modules/foo/@bar.js' does not exist.", "File '/node_modules/foo/@bar.jsx' does not exist.", + "'package.json' does not have a 'main' field.", "File '/node_modules/foo/@bar/index.js' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/foo/@bar/index.js', result '/node_modules/foo/@bar/index.js'.", - "======== Module name 'foo/@bar' was successfully resolved to '/node_modules/foo/@bar/index.js'. ========" + "======== Module name 'foo/@bar' was successfully resolved to '/node_modules/foo/@bar/index.js' with Package ID 'foo/@bar/index.js@1.2.3'. ========" ] \ No newline at end of file diff --git a/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.trace.json b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.trace.json index 4d7ae487813..cf2b1082bf8 100644 --- a/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.trace.json +++ b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.trace.json @@ -2,11 +2,8 @@ "======== Resolving module 'foo' from '/index.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' does not have a 'types' field.", - "'package.json' has 'main' field 'src/index.js' that references '/node_modules/foo/src/index.js'.", + "Found 'package.json' at '/node_modules/foo/package.json'.", "'package.json' does not have a 'typesVersions' field.", - "Found 'package.json' at '/node_modules/foo/package.json'. Package ID is 'foo/src/index.d.ts@1.2.3'.", "File '/node_modules/foo.ts' does not exist.", "File '/node_modules/foo.tsx' does not exist.", "File '/node_modules/foo.d.ts' does not exist.", @@ -23,5 +20,5 @@ "File '/node_modules/foo/src/index.tsx' does not exist.", "File '/node_modules/foo/src/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/foo/src/index.d.ts', result '/node_modules/foo/src/index.d.ts'.", - "======== Module name 'foo' was successfully resolved to '/node_modules/foo/src/index.d.ts'. ========" + "======== Module name 'foo' was successfully resolved to '/node_modules/foo/src/index.d.ts' with Package ID 'foo/src/index.d.ts@1.2.3'. ========" ] \ No newline at end of file diff --git a/tests/baselines/reference/negateOperatorInvalidOperations.errors.txt b/tests/baselines/reference/negateOperatorInvalidOperations.errors.txt index 105a1af9efe..0792565f063 100644 --- a/tests/baselines/reference/negateOperatorInvalidOperations.errors.txt +++ b/tests/baselines/reference/negateOperatorInvalidOperations.errors.txt @@ -44,5 +44,6 @@ tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperator var NUMBER =-; ~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'NUMBER' must be of type 'any', but here has type 'number'. +!!! related TS6203 tests/cases/conformance/expressions/unaryOperators/negateOperator/negateOperatorInvalidOperations.ts:4:19: 'NUMBER' was also declared here. ~ !!! error TS1109: Expression expected. \ No newline at end of file diff --git a/tests/baselines/reference/noImplicitAnyForIn.errors.txt b/tests/baselines/reference/noImplicitAnyForIn.errors.txt index b384735d82e..c66a7e07f96 100644 --- a/tests/baselines/reference/noImplicitAnyForIn.errors.txt +++ b/tests/baselines/reference/noImplicitAnyForIn.errors.txt @@ -1,5 +1,7 @@ -tests/cases/compiler/noImplicitAnyForIn.ts(7,18): error TS7017: Element implicitly has an 'any' type because type '{}' has no index signature. -tests/cases/compiler/noImplicitAnyForIn.ts(14,18): error TS7017: Element implicitly has an 'any' type because type '{}' has no index signature. +tests/cases/compiler/noImplicitAnyForIn.ts(7,18): error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{}'. + No index signature with a parameter of type 'string' was found on type '{}'. +tests/cases/compiler/noImplicitAnyForIn.ts(14,18): error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{}'. + No index signature with a parameter of type 'string' was found on type '{}'. tests/cases/compiler/noImplicitAnyForIn.ts(28,5): error TS7005: Variable 'n' implicitly has an 'any[][]' type. tests/cases/compiler/noImplicitAnyForIn.ts(30,6): error TS2405: The left-hand side of a 'for...in' statement must be of type 'string' or 'any'. @@ -13,7 +15,8 @@ tests/cases/compiler/noImplicitAnyForIn.ts(30,6): error TS2405: The left-hand si //Should yield an implicit 'any' error var _j = x[i][j]; ~~~~~~~ -!!! error TS7017: Element implicitly has an 'any' type because type '{}' has no index signature. +!!! error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{}'. +!!! error TS7053: No index signature with a parameter of type 'string' was found on type '{}'. } for (var k in x[0]) { @@ -22,7 +25,8 @@ tests/cases/compiler/noImplicitAnyForIn.ts(30,6): error TS2405: The left-hand si //Should yield an implicit 'any' error var k2 = k1[k]; ~~~~~ -!!! error TS7017: Element implicitly has an 'any' type because type '{}' has no index signature. +!!! error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{}'. +!!! error TS7053: No index signature with a parameter of type 'string' was found on type '{}'. } } diff --git a/tests/baselines/reference/noImplicitAnyIndexing.errors.txt b/tests/baselines/reference/noImplicitAnyIndexing.errors.txt index 8d1d3ea6c46..f9631f29aa1 100644 --- a/tests/baselines/reference/noImplicitAnyIndexing.errors.txt +++ b/tests/baselines/reference/noImplicitAnyIndexing.errors.txt @@ -1,7 +1,9 @@ tests/cases/compiler/noImplicitAnyIndexing.ts(12,37): error TS7015: Element implicitly has an 'any' type because index expression is not of type 'number'. -tests/cases/compiler/noImplicitAnyIndexing.ts(19,9): error TS7017: Element implicitly has an 'any' type because type '{}' has no index signature. -tests/cases/compiler/noImplicitAnyIndexing.ts(22,9): error TS7017: Element implicitly has an 'any' type because type '{}' has no index signature. -tests/cases/compiler/noImplicitAnyIndexing.ts(30,10): error TS7017: Element implicitly has an 'any' type because type '{}' has no index signature. +tests/cases/compiler/noImplicitAnyIndexing.ts(19,9): error TS7053: Element implicitly has an 'any' type because expression of type '"hi"' can't be used to index type '{}'. + Property 'hi' does not exist on type '{}'. +tests/cases/compiler/noImplicitAnyIndexing.ts(22,9): error TS7053: Element implicitly has an 'any' type because expression of type '10' can't be used to index type '{}'. + Property '10' does not exist on type '{}'. +tests/cases/compiler/noImplicitAnyIndexing.ts(30,10): error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type '{}'. ==== tests/cases/compiler/noImplicitAnyIndexing.ts (4 errors) ==== @@ -27,12 +29,14 @@ tests/cases/compiler/noImplicitAnyIndexing.ts(30,10): error TS7017: Element impl // Should report an implicit 'any'. var x = {}["hi"]; ~~~~~~~~ -!!! error TS7017: Element implicitly has an 'any' type because type '{}' has no index signature. +!!! error TS7053: Element implicitly has an 'any' type because expression of type '"hi"' can't be used to index type '{}'. +!!! error TS7053: Property 'hi' does not exist on type '{}'. // Should report an implicit 'any'. var y = {}[10]; ~~~~~~ -!!! error TS7017: Element implicitly has an 'any' type because type '{}' has no index signature. +!!! error TS7053: Element implicitly has an 'any' type because expression of type '10' can't be used to index type '{}'. +!!! error TS7053: Property '10' does not exist on type '{}'. var hi: any = "hi"; @@ -42,7 +46,7 @@ tests/cases/compiler/noImplicitAnyIndexing.ts(30,10): error TS7017: Element impl // Should report an implicit 'any'. var z1 = emptyObj[hi]; ~~~~~~~~~~~~ -!!! error TS7017: Element implicitly has an 'any' type because type '{}' has no index signature. +!!! error TS7053: Element implicitly has an 'any' type because expression of type 'any' can't be used to index type '{}'. var z2 = (emptyObj)[hi]; interface MyMap { diff --git a/tests/baselines/reference/noImplicitAnyLoopCrash.errors.txt b/tests/baselines/reference/noImplicitAnyLoopCrash.errors.txt new file mode 100644 index 00000000000..2937f133749 --- /dev/null +++ b/tests/baselines/reference/noImplicitAnyLoopCrash.errors.txt @@ -0,0 +1,18 @@ +tests/cases/compiler/noImplicitAnyLoopCrash.ts(4,16): error TS2556: Expected 0 arguments, but got 1 or more. +tests/cases/compiler/noImplicitAnyLoopCrash.ts(4,19): error TS2461: Type 'number' is not an array type. +tests/cases/compiler/noImplicitAnyLoopCrash.ts(4,19): error TS2461: Type 'undefined' is not an array type. + + +==== tests/cases/compiler/noImplicitAnyLoopCrash.ts (3 errors) ==== + let foo = () => {}; + let bar; + while (1) { + bar = ~foo(...bar); + ~~~~~~ +!!! error TS2556: Expected 0 arguments, but got 1 or more. + ~~~ +!!! error TS2461: Type 'number' is not an array type. + ~~~ +!!! error TS2461: Type 'undefined' is not an array type. + } + \ No newline at end of file diff --git a/tests/baselines/reference/noImplicitAnyLoopCrash.js b/tests/baselines/reference/noImplicitAnyLoopCrash.js new file mode 100644 index 00000000000..36f8a7470b2 --- /dev/null +++ b/tests/baselines/reference/noImplicitAnyLoopCrash.js @@ -0,0 +1,14 @@ +//// [noImplicitAnyLoopCrash.ts] +let foo = () => {}; +let bar; +while (1) { + bar = ~foo(...bar); +} + + +//// [noImplicitAnyLoopCrash.js] +var foo = function () { }; +var bar; +while (1) { + bar = ~foo.apply(void 0, bar); +} diff --git a/tests/baselines/reference/noImplicitAnyLoopCrash.symbols b/tests/baselines/reference/noImplicitAnyLoopCrash.symbols new file mode 100644 index 00000000000..1bac6fac5ab --- /dev/null +++ b/tests/baselines/reference/noImplicitAnyLoopCrash.symbols @@ -0,0 +1,14 @@ +=== tests/cases/compiler/noImplicitAnyLoopCrash.ts === +let foo = () => {}; +>foo : Symbol(foo, Decl(noImplicitAnyLoopCrash.ts, 0, 3)) + +let bar; +>bar : Symbol(bar, Decl(noImplicitAnyLoopCrash.ts, 1, 3)) + +while (1) { + bar = ~foo(...bar); +>bar : Symbol(bar, Decl(noImplicitAnyLoopCrash.ts, 1, 3)) +>foo : Symbol(foo, Decl(noImplicitAnyLoopCrash.ts, 0, 3)) +>bar : Symbol(bar, Decl(noImplicitAnyLoopCrash.ts, 1, 3)) +} + diff --git a/tests/baselines/reference/noImplicitAnyLoopCrash.types b/tests/baselines/reference/noImplicitAnyLoopCrash.types new file mode 100644 index 00000000000..2e698c0673e --- /dev/null +++ b/tests/baselines/reference/noImplicitAnyLoopCrash.types @@ -0,0 +1,21 @@ +=== tests/cases/compiler/noImplicitAnyLoopCrash.ts === +let foo = () => {}; +>foo : () => void +>() => {} : () => void + +let bar; +>bar : any + +while (1) { +>1 : 1 + + bar = ~foo(...bar); +>bar = ~foo(...bar) : number +>bar : any +>~foo(...bar) : number +>foo(...bar) : void +>foo : () => void +>...bar : any +>bar : number +} + diff --git a/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.errors.txt b/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.errors.txt index 6df52aea46a..0d2fc1b860e 100644 --- a/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.errors.txt +++ b/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.errors.txt @@ -1,16 +1,29 @@ -tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts(1,9): error TS7017: Element implicitly has an 'any' type because type '{}' has no index signature. +tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts(1,9): error TS7053: Element implicitly has an 'any' type because expression of type '"hello"' can't be used to index type '{}'. + Property 'hello' does not exist on type '{}'. tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts(7,1): error TS7052: Element implicitly has an 'any' type because type '{ get: (key: string) => string; }' has no index signature. Did you mean to call 'get' ? tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts(8,13): error TS7052: Element implicitly has an 'any' type because type '{ get: (key: string) => string; }' has no index signature. Did you mean to call 'get' ? -tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts(13,13): error TS7017: Element implicitly has an 'any' type because type '{ set: (key: string) => string; }' has no index signature. +tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts(13,13): error TS7053: Element implicitly has an 'any' type because expression of type '"hello"' can't be used to index type '{ set: (key: string) => string; }'. + Property 'hello' does not exist on type '{ set: (key: string) => string; }'. tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts(19,1): error TS7052: Element implicitly has an 'any' type because type '{ set: (key: string) => string; get: (key: string) => string; }' has no index signature. Did you mean to call 'set' ? tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts(20,1): error TS7052: Element implicitly has an 'any' type because type '{ set: (key: string) => string; get: (key: string) => string; }' has no index signature. Did you mean to call 'set' ? tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts(21,1): error TS7052: Element implicitly has an 'any' type because type '{ set: (key: string) => string; get: (key: string) => string; }' has no index signature. Did you mean to call 'set' ? +tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts(26,1): error TS7053: Element implicitly has an 'any' type because expression of type '"a" | "b" | "c"' can't be used to index type '{ a: number; }'. + Property 'b' does not exist on type '{ a: number; }'. +tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts(30,1): error TS7053: Element implicitly has an 'any' type because expression of type '"c"' can't be used to index type '{ a: number; }'. + Property 'c' does not exist on type '{ a: number; }'. +tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts(33,1): error TS7053: Element implicitly has an 'any' type because expression of type 'unique symbol' can't be used to index type '{ a: number; }'. + Property '[sym]' does not exist on type '{ a: number; }'. +tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts(37,1): error TS7053: Element implicitly has an 'any' type because expression of type 'NumEnum' can't be used to index type '{ a: number; }'. + Property '[NumEnum.a]' does not exist on type '{ a: number; }'. +tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts(42,1): error TS7053: Element implicitly has an 'any' type because expression of type 'StrEnum' can't be used to index type '{ a: number; }'. + Property '[StrEnum.b]' does not exist on type '{ a: number; }'. -==== tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts (7 errors) ==== +==== tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts (12 errors) ==== var a = {}["hello"]; ~~~~~~~~~~~ -!!! error TS7017: Element implicitly has an 'any' type because type '{}' has no index signature. +!!! error TS7053: Element implicitly has an 'any' type because expression of type '"hello"' can't be used to index type '{}'. +!!! error TS7053: Property 'hello' does not exist on type '{}'. var b: string = { '': 'foo' }['']; var c = { @@ -28,7 +41,8 @@ tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts(21,1): error TS7052: }; const bar = d['hello']; ~~~~~~~~~~ -!!! error TS7017: Element implicitly has an 'any' type because type '{ set: (key: string) => string; }' has no index signature. +!!! error TS7053: Element implicitly has an 'any' type because expression of type '"hello"' can't be used to index type '{ set: (key: string) => string; }'. +!!! error TS7053: Property 'hello' does not exist on type '{ set: (key: string) => string; }'. var e = { set: (key: string) => 'foobar', @@ -44,4 +58,39 @@ tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts(21,1): error TS7052: ~~~~~~~~~~ !!! error TS7052: Element implicitly has an 'any' type because type '{ set: (key: string) => string; get: (key: string) => string; }' has no index signature. Did you mean to call 'set' ? + const o = { a: 0 }; + + declare const k: "a" | "b" | "c"; + o[k]; + ~~~~ +!!! error TS7053: Element implicitly has an 'any' type because expression of type '"a" | "b" | "c"' can't be used to index type '{ a: number; }'. +!!! error TS7053: Property 'b' does not exist on type '{ a: number; }'. + + + declare const k2: "c"; + o[k2]; + ~~~~~ +!!! error TS7053: Element implicitly has an 'any' type because expression of type '"c"' can't be used to index type '{ a: number; }'. +!!! error TS7053: Property 'c' does not exist on type '{ a: number; }'. + + declare const sym : unique symbol; + o[sym]; + ~~~~~~ +!!! error TS7053: Element implicitly has an 'any' type because expression of type 'unique symbol' can't be used to index type '{ a: number; }'. +!!! error TS7053: Property '[sym]' does not exist on type '{ a: number; }'. + + enum NumEnum { a, b } + let numEnumKey: NumEnum; + o[numEnumKey]; + ~~~~~~~~~~~~~ +!!! error TS7053: Element implicitly has an 'any' type because expression of type 'NumEnum' can't be used to index type '{ a: number; }'. +!!! error TS7053: Property '[NumEnum.a]' does not exist on type '{ a: number; }'. + + + enum StrEnum { a = "a", b = "b" } + let strEnumKey: StrEnum; + o[strEnumKey]; + ~~~~~~~~~~~~~ +!!! error TS7053: Element implicitly has an 'any' type because expression of type 'StrEnum' can't be used to index type '{ a: number; }'. +!!! error TS7053: Property '[StrEnum.b]' does not exist on type '{ a: number; }'. \ No newline at end of file diff --git a/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.js b/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.js index a02740351cf..572d9f38caf 100644 --- a/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.js +++ b/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.js @@ -21,6 +21,26 @@ e['hello'] = 'modified'; e['hello'] += 1; e['hello'] ++; +const o = { a: 0 }; + +declare const k: "a" | "b" | "c"; +o[k]; + + +declare const k2: "c"; +o[k2]; + +declare const sym : unique symbol; +o[sym]; + +enum NumEnum { a, b } +let numEnumKey: NumEnum; +o[numEnumKey]; + + +enum StrEnum { a = "a", b = "b" } +let strEnumKey: StrEnum; +o[strEnumKey]; //// [noImplicitAnyStringIndexerOnObject.js] @@ -42,3 +62,21 @@ var e = { e['hello'] = 'modified'; e['hello'] += 1; e['hello']++; +var o = { a: 0 }; +o[k]; +o[k2]; +o[sym]; +var NumEnum; +(function (NumEnum) { + NumEnum[NumEnum["a"] = 0] = "a"; + NumEnum[NumEnum["b"] = 1] = "b"; +})(NumEnum || (NumEnum = {})); +var numEnumKey; +o[numEnumKey]; +var StrEnum; +(function (StrEnum) { + StrEnum["a"] = "a"; + StrEnum["b"] = "b"; +})(StrEnum || (StrEnum = {})); +var strEnumKey; +o[strEnumKey]; diff --git a/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.symbols b/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.symbols index f86c0d14b6f..307144b8563 100644 --- a/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.symbols +++ b/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.symbols @@ -55,4 +55,56 @@ e['hello'] += 1; e['hello'] ++; >e : Symbol(e, Decl(noImplicitAnyStringIndexerOnObject.ts, 14, 3)) +const o = { a: 0 }; +>o : Symbol(o, Decl(noImplicitAnyStringIndexerOnObject.ts, 22, 5)) +>a : Symbol(a, Decl(noImplicitAnyStringIndexerOnObject.ts, 22, 11)) + +declare const k: "a" | "b" | "c"; +>k : Symbol(k, Decl(noImplicitAnyStringIndexerOnObject.ts, 24, 13)) + +o[k]; +>o : Symbol(o, Decl(noImplicitAnyStringIndexerOnObject.ts, 22, 5)) +>k : Symbol(k, Decl(noImplicitAnyStringIndexerOnObject.ts, 24, 13)) + + +declare const k2: "c"; +>k2 : Symbol(k2, Decl(noImplicitAnyStringIndexerOnObject.ts, 28, 13)) + +o[k2]; +>o : Symbol(o, Decl(noImplicitAnyStringIndexerOnObject.ts, 22, 5)) +>k2 : Symbol(k2, Decl(noImplicitAnyStringIndexerOnObject.ts, 28, 13)) + +declare const sym : unique symbol; +>sym : Symbol(sym, Decl(noImplicitAnyStringIndexerOnObject.ts, 31, 13)) + +o[sym]; +>o : Symbol(o, Decl(noImplicitAnyStringIndexerOnObject.ts, 22, 5)) +>sym : Symbol(sym, Decl(noImplicitAnyStringIndexerOnObject.ts, 31, 13)) + +enum NumEnum { a, b } +>NumEnum : Symbol(NumEnum, Decl(noImplicitAnyStringIndexerOnObject.ts, 32, 7)) +>a : Symbol(NumEnum.a, Decl(noImplicitAnyStringIndexerOnObject.ts, 34, 14)) +>b : Symbol(NumEnum.b, Decl(noImplicitAnyStringIndexerOnObject.ts, 34, 17)) + +let numEnumKey: NumEnum; +>numEnumKey : Symbol(numEnumKey, Decl(noImplicitAnyStringIndexerOnObject.ts, 35, 3)) +>NumEnum : Symbol(NumEnum, Decl(noImplicitAnyStringIndexerOnObject.ts, 32, 7)) + +o[numEnumKey]; +>o : Symbol(o, Decl(noImplicitAnyStringIndexerOnObject.ts, 22, 5)) +>numEnumKey : Symbol(numEnumKey, Decl(noImplicitAnyStringIndexerOnObject.ts, 35, 3)) + + +enum StrEnum { a = "a", b = "b" } +>StrEnum : Symbol(StrEnum, Decl(noImplicitAnyStringIndexerOnObject.ts, 36, 14)) +>a : Symbol(StrEnum.a, Decl(noImplicitAnyStringIndexerOnObject.ts, 39, 14)) +>b : Symbol(StrEnum.b, Decl(noImplicitAnyStringIndexerOnObject.ts, 39, 23)) + +let strEnumKey: StrEnum; +>strEnumKey : Symbol(strEnumKey, Decl(noImplicitAnyStringIndexerOnObject.ts, 40, 3)) +>StrEnum : Symbol(StrEnum, Decl(noImplicitAnyStringIndexerOnObject.ts, 36, 14)) + +o[strEnumKey]; +>o : Symbol(o, Decl(noImplicitAnyStringIndexerOnObject.ts, 22, 5)) +>strEnumKey : Symbol(strEnumKey, Decl(noImplicitAnyStringIndexerOnObject.ts, 40, 3)) diff --git a/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.types b/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.types index dcf01d8c5e8..fa74a192248 100644 --- a/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.types +++ b/tests/baselines/reference/noImplicitAnyStringIndexerOnObject.types @@ -89,4 +89,63 @@ e['hello'] ++; >e : { set: (key: string) => string; get: (key: string) => string; } >'hello' : "hello" +const o = { a: 0 }; +>o : { a: number; } +>{ a: 0 } : { a: number; } +>a : number +>0 : 0 + +declare const k: "a" | "b" | "c"; +>k : "a" | "b" | "c" + +o[k]; +>o[k] : any +>o : { a: number; } +>k : "a" | "b" | "c" + + +declare const k2: "c"; +>k2 : "c" + +o[k2]; +>o[k2] : any +>o : { a: number; } +>k2 : "c" + +declare const sym : unique symbol; +>sym : unique symbol + +o[sym]; +>o[sym] : any +>o : { a: number; } +>sym : unique symbol + +enum NumEnum { a, b } +>NumEnum : NumEnum +>a : NumEnum.a +>b : NumEnum.b + +let numEnumKey: NumEnum; +>numEnumKey : NumEnum + +o[numEnumKey]; +>o[numEnumKey] : any +>o : { a: number; } +>numEnumKey : NumEnum + + +enum StrEnum { a = "a", b = "b" } +>StrEnum : StrEnum +>a : StrEnum.a +>"a" : "a" +>b : StrEnum.b +>"b" : "b" + +let strEnumKey: StrEnum; +>strEnumKey : StrEnum + +o[strEnumKey]; +>o[strEnumKey] : any +>o : { a: number; } +>strEnumKey : StrEnum diff --git a/tests/baselines/reference/nonPrimitiveAccessProperty.js b/tests/baselines/reference/nonPrimitiveAccessProperty.js index abfe2605e32..fb678ef3218 100644 --- a/tests/baselines/reference/nonPrimitiveAccessProperty.js +++ b/tests/baselines/reference/nonPrimitiveAccessProperty.js @@ -13,8 +13,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var a; diff --git a/tests/baselines/reference/nonPrimitiveIndexingWithForInNoImplicitAny.errors.txt b/tests/baselines/reference/nonPrimitiveIndexingWithForInNoImplicitAny.errors.txt index f7f2ee3db16..07f52bf3e6f 100644 --- a/tests/baselines/reference/nonPrimitiveIndexingWithForInNoImplicitAny.errors.txt +++ b/tests/baselines/reference/nonPrimitiveIndexingWithForInNoImplicitAny.errors.txt @@ -1,4 +1,5 @@ -tests/cases/conformance/types/nonPrimitive/nonPrimitiveIndexingWithForInNoImplicitAny.ts(4,17): error TS7017: Element implicitly has an 'any' type because type '{}' has no index signature. +tests/cases/conformance/types/nonPrimitive/nonPrimitiveIndexingWithForInNoImplicitAny.ts(4,17): error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{}'. + No index signature with a parameter of type 'string' was found on type '{}'. ==== tests/cases/conformance/types/nonPrimitive/nonPrimitiveIndexingWithForInNoImplicitAny.ts (1 errors) ==== @@ -7,6 +8,7 @@ tests/cases/conformance/types/nonPrimitive/nonPrimitiveIndexingWithForInNoImplic for (var key in a) { var value = a[key]; // error ~~~~~~ -!!! error TS7017: Element implicitly has an 'any' type because type '{}' has no index signature. +!!! error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{}'. +!!! error TS7053: No index signature with a parameter of type 'string' was found on type '{}'. } \ No newline at end of file diff --git a/tests/baselines/reference/normalizedIntersectionTooComplex.errors.txt b/tests/baselines/reference/normalizedIntersectionTooComplex.errors.txt new file mode 100644 index 00000000000..4e214eff507 --- /dev/null +++ b/tests/baselines/reference/normalizedIntersectionTooComplex.errors.txt @@ -0,0 +1,46 @@ +tests/cases/compiler/normalizedIntersectionTooComplex.ts(36,14): error TS2590: Expression produces a union type that is too complex to represent. +tests/cases/compiler/normalizedIntersectionTooComplex.ts(36,40): error TS7006: Parameter 'x' implicitly has an 'any' type. + + +==== tests/cases/compiler/normalizedIntersectionTooComplex.ts (2 errors) ==== + // Repro from #30050 + + interface Obj { + ref: T; + } + interface Func { + (x: T): void; + } + type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never; + type CtorOf = (arg: UnionToIntersection) => T; + + interface Big { + "0": { common?: string; "0"?: number, ref?: Obj | Func; } + "1": { common?: string; "1"?: number, ref?: Obj | Func; } + "2": { common?: string; "2"?: number, ref?: Obj | Func; } + "3": { common?: string; "3"?: number, ref?: Obj | Func; } + "4": { common?: string; "4"?: number, ref?: Obj | Func; } + "5": { common?: string; "5"?: number, ref?: Obj | Func; } + "6": { common?: string; "6"?: number, ref?: Obj | Func; } + "7": { common?: string; "7"?: number, ref?: Obj | Func; } + "8": { common?: string; "8"?: number, ref?: Obj | Func; } + "9": { common?: string; "9"?: number, ref?: Obj | Func; } + "10": { common?: string; "10"?: number, ref?: Obj | Func; } + "11": { common?: string; "11"?: number, ref?: Obj | Func; } + "12": { common?: string; "12"?: number, ref?: Obj | Func; } + "13": { common?: string; "13"?: number, ref?: Obj | Func; } + "14": { common?: string; "14"?: number, ref?: Obj | Func; } + "15": { common?: string; "15"?: number, ref?: Obj | Func; } + "16": { common?: string; "16"?: number, ref?: Obj | Func; } + "17": { common?: string; "17"?: number, ref?: Obj | Func; } + } + declare function getCtor(comp: T): CtorOf + + declare var all: keyof Big; + const ctor = getCtor(all); + const comp = ctor({ common: "ok", ref: x => console.log(x) }); + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2590: Expression produces a union type that is too complex to represent. + ~ +!!! error TS7006: Parameter 'x' implicitly has an 'any' type. + \ No newline at end of file diff --git a/tests/baselines/reference/normalizedIntersectionTooComplex.js b/tests/baselines/reference/normalizedIntersectionTooComplex.js new file mode 100644 index 00000000000..d55189f7a1c --- /dev/null +++ b/tests/baselines/reference/normalizedIntersectionTooComplex.js @@ -0,0 +1,44 @@ +//// [normalizedIntersectionTooComplex.ts] +// Repro from #30050 + +interface Obj { + ref: T; +} +interface Func { + (x: T): void; +} +type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never; +type CtorOf = (arg: UnionToIntersection) => T; + +interface Big { + "0": { common?: string; "0"?: number, ref?: Obj | Func; } + "1": { common?: string; "1"?: number, ref?: Obj | Func; } + "2": { common?: string; "2"?: number, ref?: Obj | Func; } + "3": { common?: string; "3"?: number, ref?: Obj | Func; } + "4": { common?: string; "4"?: number, ref?: Obj | Func; } + "5": { common?: string; "5"?: number, ref?: Obj | Func; } + "6": { common?: string; "6"?: number, ref?: Obj | Func; } + "7": { common?: string; "7"?: number, ref?: Obj | Func; } + "8": { common?: string; "8"?: number, ref?: Obj | Func; } + "9": { common?: string; "9"?: number, ref?: Obj | Func; } + "10": { common?: string; "10"?: number, ref?: Obj | Func; } + "11": { common?: string; "11"?: number, ref?: Obj | Func; } + "12": { common?: string; "12"?: number, ref?: Obj | Func; } + "13": { common?: string; "13"?: number, ref?: Obj | Func; } + "14": { common?: string; "14"?: number, ref?: Obj | Func; } + "15": { common?: string; "15"?: number, ref?: Obj | Func; } + "16": { common?: string; "16"?: number, ref?: Obj | Func; } + "17": { common?: string; "17"?: number, ref?: Obj | Func; } +} +declare function getCtor(comp: T): CtorOf + +declare var all: keyof Big; +const ctor = getCtor(all); +const comp = ctor({ common: "ok", ref: x => console.log(x) }); + + +//// [normalizedIntersectionTooComplex.js] +"use strict"; +// Repro from #30050 +var ctor = getCtor(all); +var comp = ctor({ common: "ok", ref: function (x) { return console.log(x); } }); diff --git a/tests/baselines/reference/normalizedIntersectionTooComplex.symbols b/tests/baselines/reference/normalizedIntersectionTooComplex.symbols new file mode 100644 index 00000000000..0854ef907df --- /dev/null +++ b/tests/baselines/reference/normalizedIntersectionTooComplex.symbols @@ -0,0 +1,250 @@ +=== tests/cases/compiler/normalizedIntersectionTooComplex.ts === +// Repro from #30050 + +interface Obj { +>Obj : Symbol(Obj, Decl(normalizedIntersectionTooComplex.ts, 0, 0)) +>T : Symbol(T, Decl(normalizedIntersectionTooComplex.ts, 2, 14)) + + ref: T; +>ref : Symbol(Obj.ref, Decl(normalizedIntersectionTooComplex.ts, 2, 18)) +>T : Symbol(T, Decl(normalizedIntersectionTooComplex.ts, 2, 14)) +} +interface Func { +>Func : Symbol(Func, Decl(normalizedIntersectionTooComplex.ts, 4, 1)) +>T : Symbol(T, Decl(normalizedIntersectionTooComplex.ts, 5, 15)) + + (x: T): void; +>x : Symbol(x, Decl(normalizedIntersectionTooComplex.ts, 6, 2)) +>T : Symbol(T, Decl(normalizedIntersectionTooComplex.ts, 5, 15)) +} +type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never; +>UnionToIntersection : Symbol(UnionToIntersection, Decl(normalizedIntersectionTooComplex.ts, 7, 1)) +>U : Symbol(U, Decl(normalizedIntersectionTooComplex.ts, 8, 25)) +>U : Symbol(U, Decl(normalizedIntersectionTooComplex.ts, 8, 25)) +>k : Symbol(k, Decl(normalizedIntersectionTooComplex.ts, 8, 48)) +>U : Symbol(U, Decl(normalizedIntersectionTooComplex.ts, 8, 25)) +>k : Symbol(k, Decl(normalizedIntersectionTooComplex.ts, 8, 81)) +>I : Symbol(I, Decl(normalizedIntersectionTooComplex.ts, 8, 89)) +>I : Symbol(I, Decl(normalizedIntersectionTooComplex.ts, 8, 89)) + +type CtorOf = (arg: UnionToIntersection) => T; +>CtorOf : Symbol(CtorOf, Decl(normalizedIntersectionTooComplex.ts, 8, 114)) +>T : Symbol(T, Decl(normalizedIntersectionTooComplex.ts, 9, 12)) +>arg : Symbol(arg, Decl(normalizedIntersectionTooComplex.ts, 9, 18)) +>UnionToIntersection : Symbol(UnionToIntersection, Decl(normalizedIntersectionTooComplex.ts, 7, 1)) +>T : Symbol(T, Decl(normalizedIntersectionTooComplex.ts, 9, 12)) +>T : Symbol(T, Decl(normalizedIntersectionTooComplex.ts, 9, 12)) + +interface Big { +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) + + "0": { common?: string; "0"?: number, ref?: Obj | Func; } +>"0" : Symbol(Big["0"], Decl(normalizedIntersectionTooComplex.ts, 11, 15)) +>common : Symbol(common, Decl(normalizedIntersectionTooComplex.ts, 12, 10)) +>"0" : Symbol("0", Decl(normalizedIntersectionTooComplex.ts, 12, 27)) +>ref : Symbol(ref, Decl(normalizedIntersectionTooComplex.ts, 12, 41)) +>Obj : Symbol(Obj, Decl(normalizedIntersectionTooComplex.ts, 0, 0)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) +>Func : Symbol(Func, Decl(normalizedIntersectionTooComplex.ts, 4, 1)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) + + "1": { common?: string; "1"?: number, ref?: Obj | Func; } +>"1" : Symbol(Big["1"], Decl(normalizedIntersectionTooComplex.ts, 12, 81)) +>common : Symbol(common, Decl(normalizedIntersectionTooComplex.ts, 13, 10)) +>"1" : Symbol("1", Decl(normalizedIntersectionTooComplex.ts, 13, 27)) +>ref : Symbol(ref, Decl(normalizedIntersectionTooComplex.ts, 13, 41)) +>Obj : Symbol(Obj, Decl(normalizedIntersectionTooComplex.ts, 0, 0)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) +>Func : Symbol(Func, Decl(normalizedIntersectionTooComplex.ts, 4, 1)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) + + "2": { common?: string; "2"?: number, ref?: Obj | Func; } +>"2" : Symbol(Big["2"], Decl(normalizedIntersectionTooComplex.ts, 13, 81)) +>common : Symbol(common, Decl(normalizedIntersectionTooComplex.ts, 14, 10)) +>"2" : Symbol("2", Decl(normalizedIntersectionTooComplex.ts, 14, 27)) +>ref : Symbol(ref, Decl(normalizedIntersectionTooComplex.ts, 14, 41)) +>Obj : Symbol(Obj, Decl(normalizedIntersectionTooComplex.ts, 0, 0)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) +>Func : Symbol(Func, Decl(normalizedIntersectionTooComplex.ts, 4, 1)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) + + "3": { common?: string; "3"?: number, ref?: Obj | Func; } +>"3" : Symbol(Big["3"], Decl(normalizedIntersectionTooComplex.ts, 14, 81)) +>common : Symbol(common, Decl(normalizedIntersectionTooComplex.ts, 15, 10)) +>"3" : Symbol("3", Decl(normalizedIntersectionTooComplex.ts, 15, 27)) +>ref : Symbol(ref, Decl(normalizedIntersectionTooComplex.ts, 15, 41)) +>Obj : Symbol(Obj, Decl(normalizedIntersectionTooComplex.ts, 0, 0)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) +>Func : Symbol(Func, Decl(normalizedIntersectionTooComplex.ts, 4, 1)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) + + "4": { common?: string; "4"?: number, ref?: Obj | Func; } +>"4" : Symbol(Big["4"], Decl(normalizedIntersectionTooComplex.ts, 15, 81)) +>common : Symbol(common, Decl(normalizedIntersectionTooComplex.ts, 16, 10)) +>"4" : Symbol("4", Decl(normalizedIntersectionTooComplex.ts, 16, 27)) +>ref : Symbol(ref, Decl(normalizedIntersectionTooComplex.ts, 16, 41)) +>Obj : Symbol(Obj, Decl(normalizedIntersectionTooComplex.ts, 0, 0)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) +>Func : Symbol(Func, Decl(normalizedIntersectionTooComplex.ts, 4, 1)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) + + "5": { common?: string; "5"?: number, ref?: Obj | Func; } +>"5" : Symbol(Big["5"], Decl(normalizedIntersectionTooComplex.ts, 16, 81)) +>common : Symbol(common, Decl(normalizedIntersectionTooComplex.ts, 17, 10)) +>"5" : Symbol("5", Decl(normalizedIntersectionTooComplex.ts, 17, 27)) +>ref : Symbol(ref, Decl(normalizedIntersectionTooComplex.ts, 17, 41)) +>Obj : Symbol(Obj, Decl(normalizedIntersectionTooComplex.ts, 0, 0)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) +>Func : Symbol(Func, Decl(normalizedIntersectionTooComplex.ts, 4, 1)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) + + "6": { common?: string; "6"?: number, ref?: Obj | Func; } +>"6" : Symbol(Big["6"], Decl(normalizedIntersectionTooComplex.ts, 17, 81)) +>common : Symbol(common, Decl(normalizedIntersectionTooComplex.ts, 18, 10)) +>"6" : Symbol("6", Decl(normalizedIntersectionTooComplex.ts, 18, 27)) +>ref : Symbol(ref, Decl(normalizedIntersectionTooComplex.ts, 18, 41)) +>Obj : Symbol(Obj, Decl(normalizedIntersectionTooComplex.ts, 0, 0)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) +>Func : Symbol(Func, Decl(normalizedIntersectionTooComplex.ts, 4, 1)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) + + "7": { common?: string; "7"?: number, ref?: Obj | Func; } +>"7" : Symbol(Big["7"], Decl(normalizedIntersectionTooComplex.ts, 18, 81)) +>common : Symbol(common, Decl(normalizedIntersectionTooComplex.ts, 19, 10)) +>"7" : Symbol("7", Decl(normalizedIntersectionTooComplex.ts, 19, 27)) +>ref : Symbol(ref, Decl(normalizedIntersectionTooComplex.ts, 19, 41)) +>Obj : Symbol(Obj, Decl(normalizedIntersectionTooComplex.ts, 0, 0)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) +>Func : Symbol(Func, Decl(normalizedIntersectionTooComplex.ts, 4, 1)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) + + "8": { common?: string; "8"?: number, ref?: Obj | Func; } +>"8" : Symbol(Big["8"], Decl(normalizedIntersectionTooComplex.ts, 19, 81)) +>common : Symbol(common, Decl(normalizedIntersectionTooComplex.ts, 20, 10)) +>"8" : Symbol("8", Decl(normalizedIntersectionTooComplex.ts, 20, 27)) +>ref : Symbol(ref, Decl(normalizedIntersectionTooComplex.ts, 20, 41)) +>Obj : Symbol(Obj, Decl(normalizedIntersectionTooComplex.ts, 0, 0)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) +>Func : Symbol(Func, Decl(normalizedIntersectionTooComplex.ts, 4, 1)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) + + "9": { common?: string; "9"?: number, ref?: Obj | Func; } +>"9" : Symbol(Big["9"], Decl(normalizedIntersectionTooComplex.ts, 20, 81)) +>common : Symbol(common, Decl(normalizedIntersectionTooComplex.ts, 21, 10)) +>"9" : Symbol("9", Decl(normalizedIntersectionTooComplex.ts, 21, 27)) +>ref : Symbol(ref, Decl(normalizedIntersectionTooComplex.ts, 21, 41)) +>Obj : Symbol(Obj, Decl(normalizedIntersectionTooComplex.ts, 0, 0)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) +>Func : Symbol(Func, Decl(normalizedIntersectionTooComplex.ts, 4, 1)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) + + "10": { common?: string; "10"?: number, ref?: Obj | Func; } +>"10" : Symbol(Big["10"], Decl(normalizedIntersectionTooComplex.ts, 21, 81)) +>common : Symbol(common, Decl(normalizedIntersectionTooComplex.ts, 22, 11)) +>"10" : Symbol("10", Decl(normalizedIntersectionTooComplex.ts, 22, 28)) +>ref : Symbol(ref, Decl(normalizedIntersectionTooComplex.ts, 22, 43)) +>Obj : Symbol(Obj, Decl(normalizedIntersectionTooComplex.ts, 0, 0)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) +>Func : Symbol(Func, Decl(normalizedIntersectionTooComplex.ts, 4, 1)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) + + "11": { common?: string; "11"?: number, ref?: Obj | Func; } +>"11" : Symbol(Big["11"], Decl(normalizedIntersectionTooComplex.ts, 22, 85)) +>common : Symbol(common, Decl(normalizedIntersectionTooComplex.ts, 23, 11)) +>"11" : Symbol("11", Decl(normalizedIntersectionTooComplex.ts, 23, 28)) +>ref : Symbol(ref, Decl(normalizedIntersectionTooComplex.ts, 23, 43)) +>Obj : Symbol(Obj, Decl(normalizedIntersectionTooComplex.ts, 0, 0)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) +>Func : Symbol(Func, Decl(normalizedIntersectionTooComplex.ts, 4, 1)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) + + "12": { common?: string; "12"?: number, ref?: Obj | Func; } +>"12" : Symbol(Big["12"], Decl(normalizedIntersectionTooComplex.ts, 23, 85)) +>common : Symbol(common, Decl(normalizedIntersectionTooComplex.ts, 24, 11)) +>"12" : Symbol("12", Decl(normalizedIntersectionTooComplex.ts, 24, 28)) +>ref : Symbol(ref, Decl(normalizedIntersectionTooComplex.ts, 24, 43)) +>Obj : Symbol(Obj, Decl(normalizedIntersectionTooComplex.ts, 0, 0)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) +>Func : Symbol(Func, Decl(normalizedIntersectionTooComplex.ts, 4, 1)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) + + "13": { common?: string; "13"?: number, ref?: Obj | Func; } +>"13" : Symbol(Big["13"], Decl(normalizedIntersectionTooComplex.ts, 24, 85)) +>common : Symbol(common, Decl(normalizedIntersectionTooComplex.ts, 25, 11)) +>"13" : Symbol("13", Decl(normalizedIntersectionTooComplex.ts, 25, 28)) +>ref : Symbol(ref, Decl(normalizedIntersectionTooComplex.ts, 25, 43)) +>Obj : Symbol(Obj, Decl(normalizedIntersectionTooComplex.ts, 0, 0)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) +>Func : Symbol(Func, Decl(normalizedIntersectionTooComplex.ts, 4, 1)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) + + "14": { common?: string; "14"?: number, ref?: Obj | Func; } +>"14" : Symbol(Big["14"], Decl(normalizedIntersectionTooComplex.ts, 25, 85)) +>common : Symbol(common, Decl(normalizedIntersectionTooComplex.ts, 26, 11)) +>"14" : Symbol("14", Decl(normalizedIntersectionTooComplex.ts, 26, 28)) +>ref : Symbol(ref, Decl(normalizedIntersectionTooComplex.ts, 26, 43)) +>Obj : Symbol(Obj, Decl(normalizedIntersectionTooComplex.ts, 0, 0)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) +>Func : Symbol(Func, Decl(normalizedIntersectionTooComplex.ts, 4, 1)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) + + "15": { common?: string; "15"?: number, ref?: Obj | Func; } +>"15" : Symbol(Big["15"], Decl(normalizedIntersectionTooComplex.ts, 26, 85)) +>common : Symbol(common, Decl(normalizedIntersectionTooComplex.ts, 27, 11)) +>"15" : Symbol("15", Decl(normalizedIntersectionTooComplex.ts, 27, 28)) +>ref : Symbol(ref, Decl(normalizedIntersectionTooComplex.ts, 27, 43)) +>Obj : Symbol(Obj, Decl(normalizedIntersectionTooComplex.ts, 0, 0)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) +>Func : Symbol(Func, Decl(normalizedIntersectionTooComplex.ts, 4, 1)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) + + "16": { common?: string; "16"?: number, ref?: Obj | Func; } +>"16" : Symbol(Big["16"], Decl(normalizedIntersectionTooComplex.ts, 27, 85)) +>common : Symbol(common, Decl(normalizedIntersectionTooComplex.ts, 28, 11)) +>"16" : Symbol("16", Decl(normalizedIntersectionTooComplex.ts, 28, 28)) +>ref : Symbol(ref, Decl(normalizedIntersectionTooComplex.ts, 28, 43)) +>Obj : Symbol(Obj, Decl(normalizedIntersectionTooComplex.ts, 0, 0)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) +>Func : Symbol(Func, Decl(normalizedIntersectionTooComplex.ts, 4, 1)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) + + "17": { common?: string; "17"?: number, ref?: Obj | Func; } +>"17" : Symbol(Big["17"], Decl(normalizedIntersectionTooComplex.ts, 28, 85)) +>common : Symbol(common, Decl(normalizedIntersectionTooComplex.ts, 29, 11)) +>"17" : Symbol("17", Decl(normalizedIntersectionTooComplex.ts, 29, 28)) +>ref : Symbol(ref, Decl(normalizedIntersectionTooComplex.ts, 29, 43)) +>Obj : Symbol(Obj, Decl(normalizedIntersectionTooComplex.ts, 0, 0)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) +>Func : Symbol(Func, Decl(normalizedIntersectionTooComplex.ts, 4, 1)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) +} +declare function getCtor(comp: T): CtorOf +>getCtor : Symbol(getCtor, Decl(normalizedIntersectionTooComplex.ts, 30, 1)) +>T : Symbol(T, Decl(normalizedIntersectionTooComplex.ts, 31, 25)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) +>comp : Symbol(comp, Decl(normalizedIntersectionTooComplex.ts, 31, 46)) +>T : Symbol(T, Decl(normalizedIntersectionTooComplex.ts, 31, 25)) +>CtorOf : Symbol(CtorOf, Decl(normalizedIntersectionTooComplex.ts, 8, 114)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) +>T : Symbol(T, Decl(normalizedIntersectionTooComplex.ts, 31, 25)) + +declare var all: keyof Big; +>all : Symbol(all, Decl(normalizedIntersectionTooComplex.ts, 33, 11)) +>Big : Symbol(Big, Decl(normalizedIntersectionTooComplex.ts, 9, 52)) + +const ctor = getCtor(all); +>ctor : Symbol(ctor, Decl(normalizedIntersectionTooComplex.ts, 34, 5)) +>getCtor : Symbol(getCtor, Decl(normalizedIntersectionTooComplex.ts, 30, 1)) +>all : Symbol(all, Decl(normalizedIntersectionTooComplex.ts, 33, 11)) + +const comp = ctor({ common: "ok", ref: x => console.log(x) }); +>comp : Symbol(comp, Decl(normalizedIntersectionTooComplex.ts, 35, 5)) +>ctor : Symbol(ctor, Decl(normalizedIntersectionTooComplex.ts, 34, 5)) +>common : Symbol(common, Decl(normalizedIntersectionTooComplex.ts, 35, 19)) +>ref : Symbol(ref, Decl(normalizedIntersectionTooComplex.ts, 35, 33)) +>x : Symbol(x, Decl(normalizedIntersectionTooComplex.ts, 35, 38)) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>x : Symbol(x, Decl(normalizedIntersectionTooComplex.ts, 35, 38)) + diff --git a/tests/baselines/reference/normalizedIntersectionTooComplex.types b/tests/baselines/reference/normalizedIntersectionTooComplex.types new file mode 100644 index 00000000000..6750b0b0c73 --- /dev/null +++ b/tests/baselines/reference/normalizedIntersectionTooComplex.types @@ -0,0 +1,158 @@ +=== tests/cases/compiler/normalizedIntersectionTooComplex.ts === +// Repro from #30050 + +interface Obj { + ref: T; +>ref : T +} +interface Func { + (x: T): void; +>x : T +} +type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never; +>UnionToIntersection : UnionToIntersection +>k : U +>k : I + +type CtorOf = (arg: UnionToIntersection) => T; +>CtorOf : CtorOf +>arg : UnionToIntersection + +interface Big { + "0": { common?: string; "0"?: number, ref?: Obj | Func; } +>"0" : { common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; } +>common : string | undefined +>"0" : number | undefined +>ref : Obj<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined + + "1": { common?: string; "1"?: number, ref?: Obj | Func; } +>"1" : { common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; } +>common : string | undefined +>"1" : number | undefined +>ref : Obj<{ common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined + + "2": { common?: string; "2"?: number, ref?: Obj | Func; } +>"2" : { common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; } +>common : string | undefined +>"2" : number | undefined +>ref : Obj<{ common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined + + "3": { common?: string; "3"?: number, ref?: Obj | Func; } +>"3" : { common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; } +>common : string | undefined +>"3" : number | undefined +>ref : Obj<{ common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined + + "4": { common?: string; "4"?: number, ref?: Obj | Func; } +>"4" : { common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; } +>common : string | undefined +>"4" : number | undefined +>ref : Obj<{ common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined + + "5": { common?: string; "5"?: number, ref?: Obj | Func; } +>"5" : { common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; } +>common : string | undefined +>"5" : number | undefined +>ref : Obj<{ common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined + + "6": { common?: string; "6"?: number, ref?: Obj | Func; } +>"6" : { common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; } +>common : string | undefined +>"6" : number | undefined +>ref : Obj<{ common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined + + "7": { common?: string; "7"?: number, ref?: Obj | Func; } +>"7" : { common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; } +>common : string | undefined +>"7" : number | undefined +>ref : Obj<{ common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined + + "8": { common?: string; "8"?: number, ref?: Obj | Func; } +>"8" : { common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; } +>common : string | undefined +>"8" : number | undefined +>ref : Obj<{ common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined + + "9": { common?: string; "9"?: number, ref?: Obj | Func; } +>"9" : { common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; } +>common : string | undefined +>"9" : number | undefined +>ref : Obj<{ common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined + + "10": { common?: string; "10"?: number, ref?: Obj | Func; } +>"10" : { common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; } +>common : string | undefined +>"10" : number | undefined +>ref : Obj<{ common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined + + "11": { common?: string; "11"?: number, ref?: Obj | Func; } +>"11" : { common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; } +>common : string | undefined +>"11" : number | undefined +>ref : Obj<{ common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined + + "12": { common?: string; "12"?: number, ref?: Obj | Func; } +>"12" : { common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; } +>common : string | undefined +>"12" : number | undefined +>ref : Obj<{ common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined + + "13": { common?: string; "13"?: number, ref?: Obj | Func; } +>"13" : { common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; } +>common : string | undefined +>"13" : number | undefined +>ref : Obj<{ common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined + + "14": { common?: string; "14"?: number, ref?: Obj | Func; } +>"14" : { common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; } +>common : string | undefined +>"14" : number | undefined +>ref : Obj<{ common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined + + "15": { common?: string; "15"?: number, ref?: Obj | Func; } +>"15" : { common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; } +>common : string | undefined +>"15" : number | undefined +>ref : Obj<{ common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined + + "16": { common?: string; "16"?: number, ref?: Obj | Func; } +>"16" : { common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; } +>common : string | undefined +>"16" : number | undefined +>ref : Obj<{ common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined + + "17": { common?: string; "17"?: number, ref?: Obj | Func; } +>"17" : { common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; } +>common : string | undefined +>"17" : number | undefined +>ref : Obj<{ common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; }> | Func<{ common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; }> | undefined +} +declare function getCtor(comp: T): CtorOf +>getCtor : (comp: T) => CtorOf +>comp : T + +declare var all: keyof Big; +>all : "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" + +const ctor = getCtor(all); +>ctor : CtorOf<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; }> +>getCtor(all) : CtorOf<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; }> +>getCtor : (comp: T) => CtorOf +>all : "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" + +const comp = ctor({ common: "ok", ref: x => console.log(x) }); +>comp : { common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; } +>ctor({ common: "ok", ref: x => console.log(x) }) : { common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; } +>ctor : CtorOf<{ common?: string | undefined; "0"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "1"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "2"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "3"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "4"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "5"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "6"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "7"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "8"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "9"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "10"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "11"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "12"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "13"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "14"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "15"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "16"?: number | undefined; ref?: Obj | Func | undefined; } | { common?: string | undefined; "17"?: number | undefined; ref?: Obj | Func | undefined; }> +>{ common: "ok", ref: x => console.log(x) } : { common: string; ref: (x: any) => void; } +>common : string +>"ok" : "ok" +>ref : (x: any) => void +>x => console.log(x) : (x: any) => void +>x : any +>console.log(x) : void +>console.log : (message?: any, ...optionalParams: any[]) => void +>console : Console +>log : (message?: any, ...optionalParams: any[]) => void +>x : any + diff --git a/tests/baselines/reference/numericStringNamedPropertyEquivalence.errors.txt b/tests/baselines/reference/numericStringNamedPropertyEquivalence.errors.txt index 8f0a27e03d9..7d3ff163300 100644 --- a/tests/baselines/reference/numericStringNamedPropertyEquivalence.errors.txt +++ b/tests/baselines/reference/numericStringNamedPropertyEquivalence.errors.txt @@ -37,6 +37,7 @@ tests/cases/conformance/types/objectTypeLiteral/propertySignatures/numericString !!! error TS2300: Duplicate identifier '1'. ~~~ !!! error TS2717: Subsequent property declarations must have the same type. Property '1.0' must be of type 'number', but here has type 'string'. +!!! related TS6203 tests/cases/conformance/types/objectTypeLiteral/propertySignatures/numericStringNamedPropertyEquivalence.ts:16:5: '1.0' was also declared here. } var b = { diff --git a/tests/baselines/reference/objectBindingPattern_restElementWithPropertyName.js b/tests/baselines/reference/objectBindingPattern_restElementWithPropertyName.js index a63527b8c35..580dc2b606f 100644 --- a/tests/baselines/reference/objectBindingPattern_restElementWithPropertyName.js +++ b/tests/baselines/reference/objectBindingPattern_restElementWithPropertyName.js @@ -8,8 +8,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var b = __rest({}, []); diff --git a/tests/baselines/reference/objectLiteralContextualTyping.errors.txt b/tests/baselines/reference/objectLiteralContextualTyping.errors.txt index b73b7b43a89..2ff2a7287f8 100644 --- a/tests/baselines/reference/objectLiteralContextualTyping.errors.txt +++ b/tests/baselines/reference/objectLiteralContextualTyping.errors.txt @@ -33,4 +33,5 @@ tests/cases/conformance/expressions/contextualTyping/objectLiteralContextualTypi var b: {}; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'b' must be of type 'unknown', but here has type '{}'. +!!! related TS6203 tests/cases/conformance/expressions/contextualTyping/objectLiteralContextualTyping.ts:28:5: 'b' was also declared here. \ No newline at end of file diff --git a/tests/baselines/reference/objectRest.errors.txt b/tests/baselines/reference/objectRest.errors.txt index 02f64fbd4e2..f6fd179d28d 100644 --- a/tests/baselines/reference/objectRest.errors.txt +++ b/tests/baselines/reference/objectRest.errors.txt @@ -62,6 +62,7 @@ tests/cases/conformance/types/rest/objectRest.ts(44,53): error TS2739: Type '{}' !!! error TS2537: Type '{ a: number; b: string; }' has no matching index signature for type 'string'. ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'o' must be of type '{ a: number; b: string; }', but here has type '{}'. +!!! related TS6203 tests/cases/conformance/types/rest/objectRest.ts:1:5: 'o' was also declared here. ({ [computed]: stillNotGreat, [computed2]: soSo, ...o } = o); ~~~~~~~~ !!! error TS2537: Type '{ a: number; b: string; }' has no matching index signature for type 'string'. diff --git a/tests/baselines/reference/objectRest.js b/tests/baselines/reference/objectRest.js index c9d6a2a7d2b..12abea0e339 100644 --- a/tests/baselines/reference/objectRest.js +++ b/tests/baselines/reference/objectRest.js @@ -53,8 +53,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var _a, _b, _c, _d, _e; diff --git a/tests/baselines/reference/objectRestAssignment.js b/tests/baselines/reference/objectRestAssignment.js index 711e5de42c0..0d4eb6ffb63 100644 --- a/tests/baselines/reference/objectRestAssignment.js +++ b/tests/baselines/reference/objectRestAssignment.js @@ -20,8 +20,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var _a, _b, _c; diff --git a/tests/baselines/reference/objectRestCatchES5.js b/tests/baselines/reference/objectRestCatchES5.js new file mode 100644 index 00000000000..210e8cec3bf --- /dev/null +++ b/tests/baselines/reference/objectRestCatchES5.js @@ -0,0 +1,21 @@ +//// [objectRestCatchES5.ts] +let a = 1, b = 2; +try {} catch ({ a, ...b }) {} + +//// [objectRestCatchES5.js] +var __rest = (this && this.__rest) || function (s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +}; +var a = 1, b = 2; +try { } +catch (_a) { + var a_1 = _a.a, b_1 = __rest(_a, ["a"]); +} diff --git a/tests/baselines/reference/objectRestCatchES5.symbols b/tests/baselines/reference/objectRestCatchES5.symbols new file mode 100644 index 00000000000..007424bd6c3 --- /dev/null +++ b/tests/baselines/reference/objectRestCatchES5.symbols @@ -0,0 +1,9 @@ +=== tests/cases/conformance/types/rest/objectRestCatchES5.ts === +let a = 1, b = 2; +>a : Symbol(a, Decl(objectRestCatchES5.ts, 0, 3)) +>b : Symbol(b, Decl(objectRestCatchES5.ts, 0, 10)) + +try {} catch ({ a, ...b }) {} +>a : Symbol(a, Decl(objectRestCatchES5.ts, 1, 15)) +>b : Symbol(b, Decl(objectRestCatchES5.ts, 1, 18)) + diff --git a/tests/baselines/reference/objectRestCatchES5.types b/tests/baselines/reference/objectRestCatchES5.types new file mode 100644 index 00000000000..3d6b0a3e695 --- /dev/null +++ b/tests/baselines/reference/objectRestCatchES5.types @@ -0,0 +1,11 @@ +=== tests/cases/conformance/types/rest/objectRestCatchES5.ts === +let a = 1, b = 2; +>a : number +>1 : 1 +>b : number +>2 : 2 + +try {} catch ({ a, ...b }) {} +>a : any +>b : any + diff --git a/tests/baselines/reference/objectRestForOf.js b/tests/baselines/reference/objectRestForOf.js index 7ff72db06e5..f946e42444c 100644 --- a/tests/baselines/reference/objectRestForOf.js +++ b/tests/baselines/reference/objectRestForOf.js @@ -20,8 +20,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; let array; diff --git a/tests/baselines/reference/objectRestNegative.js b/tests/baselines/reference/objectRestNegative.js index 915e0a0e867..46172e25bbe 100644 --- a/tests/baselines/reference/objectRestNegative.js +++ b/tests/baselines/reference/objectRestNegative.js @@ -24,8 +24,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var o = { a: 1, b: 'no' }; diff --git a/tests/baselines/reference/objectRestNegative.types b/tests/baselines/reference/objectRestNegative.types index 7cc174299e4..58ed1902f6d 100644 --- a/tests/baselines/reference/objectRestNegative.types +++ b/tests/baselines/reference/objectRestNegative.types @@ -36,18 +36,18 @@ function stillMustBeLast({ ...mustBeLast, a }: { a: number, b: string }): void { >b : string } function generic(t: T) { ->generic : (t: T) => Omit +>generic : (t: T) => Pick> >x : any >y : any >t : T let { x, ...rest } = t; >x : any ->rest : Omit +>rest : Pick> >t : T return rest; ->rest : Omit +>rest : Pick> } let rest: { b: string } diff --git a/tests/baselines/reference/objectRestParameter.js b/tests/baselines/reference/objectRestParameter.js index a73e9b77b38..4f90b723a0e 100644 --- a/tests/baselines/reference/objectRestParameter.js +++ b/tests/baselines/reference/objectRestParameter.js @@ -27,8 +27,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; function cloneAgain(_a) { diff --git a/tests/baselines/reference/objectRestParameterES5.js b/tests/baselines/reference/objectRestParameterES5.js index 7f81d6d736c..1d7f518b54a 100644 --- a/tests/baselines/reference/objectRestParameterES5.js +++ b/tests/baselines/reference/objectRestParameterES5.js @@ -27,8 +27,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; function cloneAgain(_a) { diff --git a/tests/baselines/reference/objectRestPropertyMustBeLast.errors.txt b/tests/baselines/reference/objectRestPropertyMustBeLast.errors.txt new file mode 100644 index 00000000000..bdcb420dc83 --- /dev/null +++ b/tests/baselines/reference/objectRestPropertyMustBeLast.errors.txt @@ -0,0 +1,21 @@ +tests/cases/conformance/types/rest/objectRestPropertyMustBeLast.ts(1,9): error TS2462: A rest element must be last in a destructuring pattern. +tests/cases/conformance/types/rest/objectRestPropertyMustBeLast.ts(2,3): error TS2462: A rest element must be last in a destructuring pattern. +tests/cases/conformance/types/rest/objectRestPropertyMustBeLast.ts(4,9): error TS2462: A rest element must be last in a destructuring pattern. +tests/cases/conformance/types/rest/objectRestPropertyMustBeLast.ts(5,3): error TS2462: A rest element must be last in a destructuring pattern. + + +==== tests/cases/conformance/types/rest/objectRestPropertyMustBeLast.ts (4 errors) ==== + var {...a, x } = { x: 1 }; // Error, rest must be last property + ~ +!!! error TS2462: A rest element must be last in a destructuring pattern. + ({...a, x } = { x: 1 }); // Error, rest must be last property + ~~~~ +!!! error TS2462: A rest element must be last in a destructuring pattern. + + var {...a, x, ...b } = { x: 1 }; // Error, rest must be last property + ~ +!!! error TS2462: A rest element must be last in a destructuring pattern. + ({...a, x, ...b } = { x: 1 }); // Error, rest must be last property + ~~~~ +!!! error TS2462: A rest element must be last in a destructuring pattern. + \ No newline at end of file diff --git a/tests/baselines/reference/objectRestPropertyMustBeLast.js b/tests/baselines/reference/objectRestPropertyMustBeLast.js new file mode 100644 index 00000000000..dc91f72dbc7 --- /dev/null +++ b/tests/baselines/reference/objectRestPropertyMustBeLast.js @@ -0,0 +1,25 @@ +//// [objectRestPropertyMustBeLast.ts] +var {...a, x } = { x: 1 }; // Error, rest must be last property +({...a, x } = { x: 1 }); // Error, rest must be last property + +var {...a, x, ...b } = { x: 1 }; // Error, rest must be last property +({...a, x, ...b } = { x: 1 }); // Error, rest must be last property + + +//// [objectRestPropertyMustBeLast.js] +var __rest = (this && this.__rest) || function (s, e) { + var t = {}; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) + t[p] = s[p]; + if (s != null && typeof Object.getOwnPropertySymbols === "function") + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } + return t; +}; +var _a, _b; +var _c = { x: 1 }, x = _c.x; // Error, rest must be last property +(_a = { x: 1 }, (x = _a.x, _a)); // Error, rest must be last property +var _d = { x: 1 }, x = _d.x, b = __rest(_d, ["a", "x"]); // Error, rest must be last property +(_b = { x: 1 }, (x = _b.x, _b), b = __rest(_b, ["x"])); // Error, rest must be last property diff --git a/tests/baselines/reference/objectRestPropertyMustBeLast.symbols b/tests/baselines/reference/objectRestPropertyMustBeLast.symbols new file mode 100644 index 00000000000..7163f2a98c9 --- /dev/null +++ b/tests/baselines/reference/objectRestPropertyMustBeLast.symbols @@ -0,0 +1,23 @@ +=== tests/cases/conformance/types/rest/objectRestPropertyMustBeLast.ts === +var {...a, x } = { x: 1 }; // Error, rest must be last property +>a : Symbol(a, Decl(objectRestPropertyMustBeLast.ts, 0, 5), Decl(objectRestPropertyMustBeLast.ts, 3, 5)) +>x : Symbol(x, Decl(objectRestPropertyMustBeLast.ts, 0, 10), Decl(objectRestPropertyMustBeLast.ts, 3, 10)) +>x : Symbol(x, Decl(objectRestPropertyMustBeLast.ts, 0, 18)) + +({...a, x } = { x: 1 }); // Error, rest must be last property +>a : Symbol(a, Decl(objectRestPropertyMustBeLast.ts, 0, 5), Decl(objectRestPropertyMustBeLast.ts, 3, 5)) +>x : Symbol(x, Decl(objectRestPropertyMustBeLast.ts, 1, 7)) +>x : Symbol(x, Decl(objectRestPropertyMustBeLast.ts, 1, 15)) + +var {...a, x, ...b } = { x: 1 }; // Error, rest must be last property +>a : Symbol(a, Decl(objectRestPropertyMustBeLast.ts, 0, 5), Decl(objectRestPropertyMustBeLast.ts, 3, 5)) +>x : Symbol(x, Decl(objectRestPropertyMustBeLast.ts, 0, 10), Decl(objectRestPropertyMustBeLast.ts, 3, 10)) +>b : Symbol(b, Decl(objectRestPropertyMustBeLast.ts, 3, 13)) +>x : Symbol(x, Decl(objectRestPropertyMustBeLast.ts, 3, 24)) + +({...a, x, ...b } = { x: 1 }); // Error, rest must be last property +>a : Symbol(a, Decl(objectRestPropertyMustBeLast.ts, 0, 5), Decl(objectRestPropertyMustBeLast.ts, 3, 5)) +>x : Symbol(x, Decl(objectRestPropertyMustBeLast.ts, 4, 7)) +>b : Symbol(b, Decl(objectRestPropertyMustBeLast.ts, 3, 13)) +>x : Symbol(x, Decl(objectRestPropertyMustBeLast.ts, 4, 21)) + diff --git a/tests/baselines/reference/objectRestPropertyMustBeLast.types b/tests/baselines/reference/objectRestPropertyMustBeLast.types new file mode 100644 index 00000000000..8f8aafe6e0f --- /dev/null +++ b/tests/baselines/reference/objectRestPropertyMustBeLast.types @@ -0,0 +1,37 @@ +=== tests/cases/conformance/types/rest/objectRestPropertyMustBeLast.ts === +var {...a, x } = { x: 1 }; // Error, rest must be last property +>a : {} +>x : number +>{ x: 1 } : { x: number; } +>x : number +>1 : 1 + +({...a, x } = { x: 1 }); // Error, rest must be last property +>({...a, x } = { x: 1 }) : { x: number; } +>{...a, x } = { x: 1 } : { x: number; } +>{...a, x } : { x: number; } +>a : {} +>x : number +>{ x: 1 } : { x: number; } +>x : number +>1 : 1 + +var {...a, x, ...b } = { x: 1 }; // Error, rest must be last property +>a : {} +>x : number +>b : {} +>{ x: 1 } : { x: number; } +>x : number +>1 : 1 + +({...a, x, ...b } = { x: 1 }); // Error, rest must be last property +>({...a, x, ...b } = { x: 1 }) : { x: number; } +>{...a, x, ...b } = { x: 1 } : { x: number; } +>{...a, x, ...b } : { x: number; } +>a : {} +>x : number +>b : {} +>{ x: 1 } : { x: number; } +>x : number +>1 : 1 + diff --git a/tests/baselines/reference/objectRestReadonly.js b/tests/baselines/reference/objectRestReadonly.js index a940dbf52cc..b00846861d9 100644 --- a/tests/baselines/reference/objectRestReadonly.js +++ b/tests/baselines/reference/objectRestReadonly.js @@ -23,8 +23,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var obj = { diff --git a/tests/baselines/reference/objectSpreadIndexSignature.errors.txt b/tests/baselines/reference/objectSpreadIndexSignature.errors.txt index dede126d063..5c373b82ae4 100644 --- a/tests/baselines/reference/objectSpreadIndexSignature.errors.txt +++ b/tests/baselines/reference/objectSpreadIndexSignature.errors.txt @@ -1,4 +1,5 @@ -tests/cases/conformance/types/spread/objectSpreadIndexSignature.ts(6,1): error TS7017: Element implicitly has an 'any' type because type '{ b: number; a: number; }' has no index signature. +tests/cases/conformance/types/spread/objectSpreadIndexSignature.ts(6,1): error TS7053: Element implicitly has an 'any' type because expression of type '101' can't be used to index type '{ b: number; a: number; }'. + Property '101' does not exist on type '{ b: number; a: number; }'. ==== tests/cases/conformance/types/spread/objectSpreadIndexSignature.ts (1 errors) ==== @@ -9,7 +10,8 @@ tests/cases/conformance/types/spread/objectSpreadIndexSignature.ts(6,1): error T // only indexed has indexer, so i[101]: any i[101]; ~~~~~~ -!!! error TS7017: Element implicitly has an 'any' type because type '{ b: number; a: number; }' has no index signature. +!!! error TS7053: Element implicitly has an 'any' type because expression of type '101' can't be used to index type '{ b: number; a: number; }'. +!!! error TS7053: Property '101' does not exist on type '{ b: number; a: number; }'. let ii = { ...indexed1, ...indexed2 }; // both have indexer, so i[1001]: number | boolean ii[1001]; diff --git a/tests/baselines/reference/omitTypeHelperModifiers01.errors.txt b/tests/baselines/reference/omitTypeHelperModifiers01.errors.txt new file mode 100644 index 00000000000..e175a537032 --- /dev/null +++ b/tests/baselines/reference/omitTypeHelperModifiers01.errors.txt @@ -0,0 +1,27 @@ +tests/cases/compiler/omitTypeHelperModifiers01.ts(16,7): error TS2540: Cannot assign to 'c' because it is a read-only property. + + +==== tests/cases/compiler/omitTypeHelperModifiers01.ts (1 errors) ==== + type A = { + a: number; + b?: string; + readonly c: boolean; + d: unknown; + }; + + type B = Omit; + + function f(x: B) { + const b = x.b; + x.b = "hello"; + x.b = undefined; + + const c = x.c; + x.c = true; + ~ +!!! error TS2540: Cannot assign to 'c' because it is a read-only property. + + const d = x.d; + x.d = d; + } + \ No newline at end of file diff --git a/tests/baselines/reference/omitTypeHelperModifiers01.js b/tests/baselines/reference/omitTypeHelperModifiers01.js new file mode 100644 index 00000000000..4ddfbf0c682 --- /dev/null +++ b/tests/baselines/reference/omitTypeHelperModifiers01.js @@ -0,0 +1,34 @@ +//// [omitTypeHelperModifiers01.ts] +type A = { + a: number; + b?: string; + readonly c: boolean; + d: unknown; +}; + +type B = Omit; + +function f(x: B) { + const b = x.b; + x.b = "hello"; + x.b = undefined; + + const c = x.c; + x.c = true; + + const d = x.d; + x.d = d; +} + + +//// [omitTypeHelperModifiers01.js] +"use strict"; +function f(x) { + var b = x.b; + x.b = "hello"; + x.b = undefined; + var c = x.c; + x.c = true; + var d = x.d; + x.d = d; +} diff --git a/tests/baselines/reference/omitTypeHelperModifiers01.symbols b/tests/baselines/reference/omitTypeHelperModifiers01.symbols new file mode 100644 index 00000000000..39a33606781 --- /dev/null +++ b/tests/baselines/reference/omitTypeHelperModifiers01.symbols @@ -0,0 +1,69 @@ +=== tests/cases/compiler/omitTypeHelperModifiers01.ts === +type A = { +>A : Symbol(A, Decl(omitTypeHelperModifiers01.ts, 0, 0)) + + a: number; +>a : Symbol(a, Decl(omitTypeHelperModifiers01.ts, 0, 10)) + + b?: string; +>b : Symbol(b, Decl(omitTypeHelperModifiers01.ts, 1, 14)) + + readonly c: boolean; +>c : Symbol(c, Decl(omitTypeHelperModifiers01.ts, 2, 15)) + + d: unknown; +>d : Symbol(d, Decl(omitTypeHelperModifiers01.ts, 3, 24)) + +}; + +type B = Omit; +>B : Symbol(B, Decl(omitTypeHelperModifiers01.ts, 5, 2)) +>Omit : Symbol(Omit, Decl(lib.es5.d.ts, --, --)) +>A : Symbol(A, Decl(omitTypeHelperModifiers01.ts, 0, 0)) + +function f(x: B) { +>f : Symbol(f, Decl(omitTypeHelperModifiers01.ts, 7, 22)) +>x : Symbol(x, Decl(omitTypeHelperModifiers01.ts, 9, 11)) +>B : Symbol(B, Decl(omitTypeHelperModifiers01.ts, 5, 2)) + + const b = x.b; +>b : Symbol(b, Decl(omitTypeHelperModifiers01.ts, 10, 9)) +>x.b : Symbol(b, Decl(omitTypeHelperModifiers01.ts, 1, 14)) +>x : Symbol(x, Decl(omitTypeHelperModifiers01.ts, 9, 11)) +>b : Symbol(b, Decl(omitTypeHelperModifiers01.ts, 1, 14)) + + x.b = "hello"; +>x.b : Symbol(b, Decl(omitTypeHelperModifiers01.ts, 1, 14)) +>x : Symbol(x, Decl(omitTypeHelperModifiers01.ts, 9, 11)) +>b : Symbol(b, Decl(omitTypeHelperModifiers01.ts, 1, 14)) + + x.b = undefined; +>x.b : Symbol(b, Decl(omitTypeHelperModifiers01.ts, 1, 14)) +>x : Symbol(x, Decl(omitTypeHelperModifiers01.ts, 9, 11)) +>b : Symbol(b, Decl(omitTypeHelperModifiers01.ts, 1, 14)) +>undefined : Symbol(undefined) + + const c = x.c; +>c : Symbol(c, Decl(omitTypeHelperModifiers01.ts, 14, 9)) +>x.c : Symbol(c, Decl(omitTypeHelperModifiers01.ts, 2, 15)) +>x : Symbol(x, Decl(omitTypeHelperModifiers01.ts, 9, 11)) +>c : Symbol(c, Decl(omitTypeHelperModifiers01.ts, 2, 15)) + + x.c = true; +>x.c : Symbol(c, Decl(omitTypeHelperModifiers01.ts, 2, 15)) +>x : Symbol(x, Decl(omitTypeHelperModifiers01.ts, 9, 11)) +>c : Symbol(c, Decl(omitTypeHelperModifiers01.ts, 2, 15)) + + const d = x.d; +>d : Symbol(d, Decl(omitTypeHelperModifiers01.ts, 17, 9)) +>x.d : Symbol(d, Decl(omitTypeHelperModifiers01.ts, 3, 24)) +>x : Symbol(x, Decl(omitTypeHelperModifiers01.ts, 9, 11)) +>d : Symbol(d, Decl(omitTypeHelperModifiers01.ts, 3, 24)) + + x.d = d; +>x.d : Symbol(d, Decl(omitTypeHelperModifiers01.ts, 3, 24)) +>x : Symbol(x, Decl(omitTypeHelperModifiers01.ts, 9, 11)) +>d : Symbol(d, Decl(omitTypeHelperModifiers01.ts, 3, 24)) +>d : Symbol(d, Decl(omitTypeHelperModifiers01.ts, 17, 9)) +} + diff --git a/tests/baselines/reference/omitTypeHelperModifiers01.types b/tests/baselines/reference/omitTypeHelperModifiers01.types new file mode 100644 index 00000000000..da5f61b6986 --- /dev/null +++ b/tests/baselines/reference/omitTypeHelperModifiers01.types @@ -0,0 +1,72 @@ +=== tests/cases/compiler/omitTypeHelperModifiers01.ts === +type A = { +>A : A + + a: number; +>a : number + + b?: string; +>b : string | undefined + + readonly c: boolean; +>c : boolean + + d: unknown; +>d : unknown + +}; + +type B = Omit; +>B : Pick + +function f(x: B) { +>f : (x: Pick) => void +>x : Pick + + const b = x.b; +>b : string | undefined +>x.b : string | undefined +>x : Pick +>b : string | undefined + + x.b = "hello"; +>x.b = "hello" : "hello" +>x.b : string | undefined +>x : Pick +>b : string | undefined +>"hello" : "hello" + + x.b = undefined; +>x.b = undefined : undefined +>x.b : string | undefined +>x : Pick +>b : string | undefined +>undefined : undefined + + const c = x.c; +>c : boolean +>x.c : boolean +>x : Pick +>c : boolean + + x.c = true; +>x.c = true : true +>x.c : any +>x : Pick +>c : any +>true : true + + const d = x.d; +>d : unknown +>x.d : unknown +>x : Pick +>d : unknown + + x.d = d; +>x.d = d : unknown +>x.d : unknown +>x : Pick +>d : unknown +>d : unknown +} + diff --git a/tests/baselines/reference/omitTypeTestErrors01.errors.txt b/tests/baselines/reference/omitTypeTestErrors01.errors.txt index 6b65e292b55..a66ab384b89 100644 --- a/tests/baselines/reference/omitTypeTestErrors01.errors.txt +++ b/tests/baselines/reference/omitTypeTestErrors01.errors.txt @@ -1,5 +1,5 @@ -tests/cases/compiler/omitTypeTestErrors01.ts(11,16): error TS2339: Property 'c' does not exist on type 'Omit'. -tests/cases/compiler/omitTypeTestErrors01.ts(15,16): error TS2339: Property 'b' does not exist on type 'Omit'. +tests/cases/compiler/omitTypeTestErrors01.ts(11,16): error TS2339: Property 'c' does not exist on type 'Pick'. +tests/cases/compiler/omitTypeTestErrors01.ts(15,16): error TS2339: Property 'b' does not exist on type 'Pick'. ==== tests/cases/compiler/omitTypeTestErrors01.ts (2 errors) ==== @@ -15,13 +15,13 @@ tests/cases/compiler/omitTypeTestErrors01.ts(15,16): error TS2339: Property 'b' export function getBarC(bar: Bar) { return bar.c; ~ -!!! error TS2339: Property 'c' does not exist on type 'Omit'. +!!! error TS2339: Property 'c' does not exist on type 'Pick'. } export function getBazB(baz: Baz) { return baz.b; ~ -!!! error TS2339: Property 'b' does not exist on type 'Omit'. +!!! error TS2339: Property 'b' does not exist on type 'Pick'. } \ No newline at end of file diff --git a/tests/baselines/reference/omitTypeTestErrors01.types b/tests/baselines/reference/omitTypeTestErrors01.types index 4b286c2c89c..e7282016868 100644 --- a/tests/baselines/reference/omitTypeTestErrors01.types +++ b/tests/baselines/reference/omitTypeTestErrors01.types @@ -11,28 +11,28 @@ interface Foo { } export type Bar = Omit; ->Bar : Omit +>Bar : Pick export type Baz = Omit; ->Baz : Omit +>Baz : Pick export function getBarC(bar: Bar) { ->getBarC : (bar: Omit) => any ->bar : Omit +>getBarC : (bar: Pick) => any +>bar : Pick return bar.c; >bar.c : any ->bar : Omit +>bar : Pick >c : any } export function getBazB(baz: Baz) { ->getBazB : (baz: Omit) => any ->baz : Omit +>getBazB : (baz: Pick) => any +>baz : Pick return baz.b; >baz.b : any ->baz : Omit +>baz : Pick >b : any } diff --git a/tests/baselines/reference/omitTypeTests01.symbols b/tests/baselines/reference/omitTypeTests01.symbols index 93b49291785..d614f65daff 100644 --- a/tests/baselines/reference/omitTypeTests01.symbols +++ b/tests/baselines/reference/omitTypeTests01.symbols @@ -28,9 +28,9 @@ export function getBarA(bar: Bar) { >Bar : Symbol(Bar, Decl(omitTypeTests01.ts, 4, 1)) return bar.a; ->bar.a : Symbol(a) +>bar.a : Symbol(a, Decl(omitTypeTests01.ts, 0, 15)) >bar : Symbol(bar, Decl(omitTypeTests01.ts, 9, 24)) ->a : Symbol(a) +>a : Symbol(a, Decl(omitTypeTests01.ts, 0, 15)) } export function getBazA(baz: Baz) { @@ -39,9 +39,9 @@ export function getBazA(baz: Baz) { >Baz : Symbol(Baz, Decl(omitTypeTests01.ts, 6, 33)) return baz.a; ->baz.a : Symbol(a) +>baz.a : Symbol(a, Decl(omitTypeTests01.ts, 0, 15)) >baz : Symbol(baz, Decl(omitTypeTests01.ts, 13, 24)) ->a : Symbol(a) +>a : Symbol(a, Decl(omitTypeTests01.ts, 0, 15)) } diff --git a/tests/baselines/reference/omitTypeTests01.types b/tests/baselines/reference/omitTypeTests01.types index 549fcccc0f2..c07894ee2dc 100644 --- a/tests/baselines/reference/omitTypeTests01.types +++ b/tests/baselines/reference/omitTypeTests01.types @@ -11,28 +11,28 @@ interface Foo { } export type Bar = Omit; ->Bar : Omit +>Bar : Pick export type Baz = Omit; ->Baz : Omit +>Baz : Pick export function getBarA(bar: Bar) { ->getBarA : (bar: Omit) => string ->bar : Omit +>getBarA : (bar: Pick) => string +>bar : Pick return bar.a; >bar.a : string ->bar : Omit +>bar : Pick >a : string } export function getBazA(baz: Baz) { ->getBazA : (baz: Omit) => string ->baz : Omit +>getBazA : (baz: Pick) => string +>baz : Pick return baz.a; >baz.a : string ->baz : Omit +>baz : Pick >a : string } diff --git a/tests/baselines/reference/optionalParamterAndVariableDeclaration2.errors.txt b/tests/baselines/reference/optionalParamterAndVariableDeclaration2.errors.txt index 982318d2f25..df38f7d2051 100644 --- a/tests/baselines/reference/optionalParamterAndVariableDeclaration2.errors.txt +++ b/tests/baselines/reference/optionalParamterAndVariableDeclaration2.errors.txt @@ -7,6 +7,7 @@ tests/cases/compiler/optionalParamterAndVariableDeclaration2.ts(3,13): error TS2 var options = (options || 0); ~~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'options' must be of type 'number | undefined', but here has type 'number'. +!!! related TS6203 tests/cases/compiler/optionalParamterAndVariableDeclaration2.ts:2:17: 'options' was also declared here. } } \ No newline at end of file diff --git a/tests/baselines/reference/orderMattersForSignatureGroupIdentity.errors.txt b/tests/baselines/reference/orderMattersForSignatureGroupIdentity.errors.txt index f108f0ea92d..fc8d68f1af8 100644 --- a/tests/baselines/reference/orderMattersForSignatureGroupIdentity.errors.txt +++ b/tests/baselines/reference/orderMattersForSignatureGroupIdentity.errors.txt @@ -33,6 +33,7 @@ tests/cases/compiler/orderMattersForSignatureGroupIdentity.ts(24,5): error TS234 var w: C; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'w' must be of type 'A', but here has type 'C'. +!!! related TS6203 tests/cases/compiler/orderMattersForSignatureGroupIdentity.ts:21:5: 'w' was also declared here. w({ s: "", n: 0 }).toLowerCase(); ~~~~~ diff --git a/tests/baselines/reference/overloadResolution.errors.txt b/tests/baselines/reference/overloadResolution.errors.txt index 27d0392ca8d..fde241d62cc 100644 --- a/tests/baselines/reference/overloadResolution.errors.txt +++ b/tests/baselines/reference/overloadResolution.errors.txt @@ -120,6 +120,7 @@ tests/cases/conformance/expressions/functionCalls/overloadResolution.ts(91,22): var n = fn5((n) => n.toFixed()); ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'n' must be of type 'number', but here has type 'string'. +!!! related TS6203 tests/cases/conformance/expressions/functionCalls/overloadResolution.ts:54:5: 'n' was also declared here. ~~~~~~~ !!! error TS2339: Property 'toFixed' does not exist on type 'string'. var s = fn5((n) => n.substr(0)); diff --git a/tests/baselines/reference/overloadResolutionConstructors.errors.txt b/tests/baselines/reference/overloadResolutionConstructors.errors.txt index 2e09a84d138..40b660c7eaf 100644 --- a/tests/baselines/reference/overloadResolutionConstructors.errors.txt +++ b/tests/baselines/reference/overloadResolutionConstructors.errors.txt @@ -129,6 +129,7 @@ tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors var n = new fn5((n) => n.toFixed()); ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'n' must be of type 'number', but here has type 'string'. +!!! related TS6203 tests/cases/conformance/expressions/functionCalls/overloadResolutionConstructors.ts:58:5: 'n' was also declared here. ~~~~~~~ !!! error TS2339: Property 'toFixed' does not exist on type 'string'. var s = new fn5((n) => n.substr(0)); diff --git a/tests/baselines/reference/packageJsonMain.trace.json b/tests/baselines/reference/packageJsonMain.trace.json index 1f722312e1d..2144b6eb15c 100644 --- a/tests/baselines/reference/packageJsonMain.trace.json +++ b/tests/baselines/reference/packageJsonMain.trace.json @@ -2,11 +2,8 @@ "======== Resolving module 'foo' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' does not have a 'types' field.", - "'package.json' has 'main' field 'oof' that references '/node_modules/foo/oof'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/node_modules/foo/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "File '/node_modules/foo.ts' does not exist.", "File '/node_modules/foo.tsx' does not exist.", "File '/node_modules/foo.d.ts' does not exist.", @@ -24,11 +21,8 @@ "File '/node_modules/foo/index.d.ts' does not exist.", "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", "Loading module 'foo' from 'node_modules' folder, target file type 'JavaScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' does not have a 'types' field.", - "'package.json' has 'main' field 'oof' that references '/node_modules/foo/oof'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/node_modules/foo/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "File '/node_modules/foo.js' does not exist.", "File '/node_modules/foo.jsx' does not exist.", "'package.json' has 'main' field 'oof' that references '/node_modules/foo/oof'.", @@ -40,11 +34,8 @@ "======== Resolving module 'bar' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'bar' from 'node_modules' folder, target file type 'TypeScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' does not have a 'types' field.", - "'package.json' has 'main' field 'rab.js' that references '/node_modules/bar/rab.js'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/node_modules/bar/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "File '/node_modules/bar.ts' does not exist.", "File '/node_modules/bar.tsx' does not exist.", "File '/node_modules/bar.d.ts' does not exist.", @@ -67,11 +58,8 @@ "File '/node_modules/bar/index.d.ts' does not exist.", "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", "Loading module 'bar' from 'node_modules' folder, target file type 'JavaScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' does not have a 'types' field.", - "'package.json' has 'main' field 'rab.js' that references '/node_modules/bar/rab.js'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/node_modules/bar/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "File '/node_modules/bar.js' does not exist.", "File '/node_modules/bar.jsx' does not exist.", "'package.json' has 'main' field 'rab.js' that references '/node_modules/bar/rab.js'.", @@ -81,11 +69,8 @@ "======== Resolving module 'baz' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'baz' from 'node_modules' folder, target file type 'TypeScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' does not have a 'types' field.", - "'package.json' has 'main' field 'zab' that references '/node_modules/baz/zab'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/node_modules/baz/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "File '/node_modules/baz.ts' does not exist.", "File '/node_modules/baz.tsx' does not exist.", "File '/node_modules/baz.d.ts' does not exist.", @@ -105,11 +90,8 @@ "File '/node_modules/baz/index.d.ts' does not exist.", "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", "Loading module 'baz' from 'node_modules' folder, target file type 'JavaScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' does not have a 'types' field.", - "'package.json' has 'main' field 'zab' that references '/node_modules/baz/zab'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/node_modules/baz/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "File '/node_modules/baz.js' does not exist.", "File '/node_modules/baz.jsx' does not exist.", "'package.json' has 'main' field 'zab' that references '/node_modules/baz/zab'.", diff --git a/tests/baselines/reference/packageJsonMain_isNonRecursive.trace.json b/tests/baselines/reference/packageJsonMain_isNonRecursive.trace.json index f2f16ec6aeb..5bdd8a7e90c 100644 --- a/tests/baselines/reference/packageJsonMain_isNonRecursive.trace.json +++ b/tests/baselines/reference/packageJsonMain_isNonRecursive.trace.json @@ -2,11 +2,8 @@ "======== Resolving module 'foo' from '/a.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'foo' from 'node_modules' folder, target file type 'TypeScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' does not have a 'types' field.", - "'package.json' has 'main' field 'oof' that references '/node_modules/foo/oof'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/node_modules/foo/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "File '/node_modules/foo.ts' does not exist.", "File '/node_modules/foo.tsx' does not exist.", "File '/node_modules/foo.d.ts' does not exist.", @@ -26,11 +23,8 @@ "File '/node_modules/foo/index.d.ts' does not exist.", "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", "Loading module 'foo' from 'node_modules' folder, target file type 'JavaScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' does not have a 'types' field.", - "'package.json' has 'main' field 'oof' that references '/node_modules/foo/oof'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/node_modules/foo/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "File '/node_modules/foo.js' does not exist.", "File '/node_modules/foo.jsx' does not exist.", "'package.json' has 'main' field 'oof' that references '/node_modules/foo/oof'.", diff --git a/tests/baselines/reference/parameterInitializerBeforeDestructuringEmit.js b/tests/baselines/reference/parameterInitializerBeforeDestructuringEmit.js index 91a5484b6ee..294b76e1335 100644 --- a/tests/baselines/reference/parameterInitializerBeforeDestructuringEmit.js +++ b/tests/baselines/reference/parameterInitializerBeforeDestructuringEmit.js @@ -26,8 +26,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; function foobar(_a) { diff --git a/tests/baselines/reference/parserCastVersusArrowFunction1.errors.txt b/tests/baselines/reference/parserCastVersusArrowFunction1.errors.txt index e2d90538b8c..9a34f75ce40 100644 --- a/tests/baselines/reference/parserCastVersusArrowFunction1.errors.txt +++ b/tests/baselines/reference/parserCastVersusArrowFunction1.errors.txt @@ -25,12 +25,15 @@ tests/cases/conformance/parser/ecmascript5/Generics/parserCastVersusArrowFunctio var v = (a) => 1; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'v' must be of type '() => number', but here has type '(a: any) => number'. +!!! related TS6203 tests/cases/conformance/parser/ecmascript5/Generics/parserCastVersusArrowFunction1.ts:1:5: 'v' was also declared here. var v = (a, b) => 1; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'v' must be of type '() => number', but here has type '(a: any, b: any) => number'. +!!! related TS6203 tests/cases/conformance/parser/ecmascript5/Generics/parserCastVersusArrowFunction1.ts:1:5: 'v' was also declared here. var v = (a = 1, b = 2) => 1; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'v' must be of type '() => number', but here has type '(a?: number, b?: number) => number'. +!!! related TS6203 tests/cases/conformance/parser/ecmascript5/Generics/parserCastVersusArrowFunction1.ts:1:5: 'v' was also declared here. var v = (a); ~ diff --git a/tests/baselines/reference/promiseIdentity2.errors.txt b/tests/baselines/reference/promiseIdentity2.errors.txt index edfba2f42bc..0b5ba8d0ff0 100644 --- a/tests/baselines/reference/promiseIdentity2.errors.txt +++ b/tests/baselines/reference/promiseIdentity2.errors.txt @@ -14,4 +14,5 @@ tests/cases/compiler/promiseIdentity2.ts(11,5): error TS2403: Subsequent variabl var x: IPromise; var x: Promise; ~ -!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'IPromise', but here has type 'Promise'. \ No newline at end of file +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'IPromise', but here has type 'Promise'. +!!! related TS6203 tests/cases/compiler/promiseIdentity2.ts:10:5: 'x' was also declared here. \ No newline at end of file diff --git a/tests/baselines/reference/promiseIdentityWithAny2.errors.txt b/tests/baselines/reference/promiseIdentityWithAny2.errors.txt index 9d01438b88c..bedb948b078 100644 --- a/tests/baselines/reference/promiseIdentityWithAny2.errors.txt +++ b/tests/baselines/reference/promiseIdentityWithAny2.errors.txt @@ -15,6 +15,7 @@ tests/cases/compiler/promiseIdentityWithAny2.ts(22,5): error TS2403: Subsequent var x: Promise; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'IPromise', but here has type 'Promise'. +!!! related TS6203 tests/cases/compiler/promiseIdentityWithAny2.ts:9:5: 'x' was also declared here. interface IPromise2 { @@ -28,4 +29,5 @@ tests/cases/compiler/promiseIdentityWithAny2.ts(22,5): error TS2403: Subsequent var y: IPromise2; var y: Promise2; ~ -!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'y' must be of type 'IPromise2', but here has type 'Promise2'. \ No newline at end of file +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'y' must be of type 'IPromise2', but here has type 'Promise2'. +!!! related TS6203 tests/cases/compiler/promiseIdentityWithAny2.ts:21:5: 'y' was also declared here. \ No newline at end of file diff --git a/tests/baselines/reference/propertyAccess.errors.txt b/tests/baselines/reference/propertyAccess.errors.txt index a183ad79c11..1351a46e099 100644 --- a/tests/baselines/reference/propertyAccess.errors.txt +++ b/tests/baselines/reference/propertyAccess.errors.txt @@ -170,4 +170,5 @@ tests/cases/conformance/expressions/propertyAccess/propertyAccess.ts(149,5): err var x3: A; ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x3' must be of type 'A | B', but here has type 'A'. +!!! related TS6203 tests/cases/conformance/expressions/propertyAccess/propertyAccess.ts:148:5: 'x3' was also declared here. \ No newline at end of file diff --git a/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.errors.txt b/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.errors.txt index d5fda181096..0211bf321bf 100644 --- a/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.errors.txt +++ b/tests/baselines/reference/propertyAccessStringIndexSignatureNoImplicitAny.errors.txt @@ -1,5 +1,6 @@ tests/cases/conformance/expressions/propertyAccess/propertyAccessStringIndexSignatureNoImplicitAny.ts(10,7): error TS2339: Property 'nope' does not exist on type 'Empty'. -tests/cases/conformance/expressions/propertyAccess/propertyAccessStringIndexSignatureNoImplicitAny.ts(11,1): error TS7017: Element implicitly has an 'any' type because type 'Empty' has no index signature. +tests/cases/conformance/expressions/propertyAccess/propertyAccessStringIndexSignatureNoImplicitAny.ts(11,1): error TS7053: Element implicitly has an 'any' type because expression of type '"not allowed either"' can't be used to index type 'Empty'. + Property 'not allowed either' does not exist on type 'Empty'. ==== tests/cases/conformance/expressions/propertyAccess/propertyAccessStringIndexSignatureNoImplicitAny.ts (2 errors) ==== @@ -17,5 +18,6 @@ tests/cases/conformance/expressions/propertyAccess/propertyAccessStringIndexSign !!! error TS2339: Property 'nope' does not exist on type 'Empty'. empty["not allowed either"]; ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS7017: Element implicitly has an 'any' type because type 'Empty' has no index signature. +!!! error TS7053: Element implicitly has an 'any' type because expression of type '"not allowed either"' can't be used to index type 'Empty'. +!!! error TS7053: Property 'not allowed either' does not exist on type 'Empty'. \ No newline at end of file diff --git a/tests/baselines/reference/propertyIdentityWithPrivacyMismatch.errors.txt b/tests/baselines/reference/propertyIdentityWithPrivacyMismatch.errors.txt index 4c5644f6b76..f2ac54f6e7c 100644 --- a/tests/baselines/reference/propertyIdentityWithPrivacyMismatch.errors.txt +++ b/tests/baselines/reference/propertyIdentityWithPrivacyMismatch.errors.txt @@ -10,6 +10,7 @@ tests/cases/compiler/propertyIdentityWithPrivacyMismatch_1.ts(13,5): error TS240 var x: m2.Foo; // Should be error (mod1.Foo !== mod2.Foo) ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'Foo', but here has type 'Foo'. +!!! related TS6203 tests/cases/compiler/propertyIdentityWithPrivacyMismatch_1.ts:4:5: 'x' was also declared here. class Foo1 { private n; } @@ -20,6 +21,7 @@ tests/cases/compiler/propertyIdentityWithPrivacyMismatch_1.ts(13,5): error TS240 var y: Foo2; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'y' must be of type 'Foo1', but here has type 'Foo2'. +!!! related TS6203 tests/cases/compiler/propertyIdentityWithPrivacyMismatch_1.ts:12:5: 'y' was also declared here. ==== tests/cases/compiler/propertyIdentityWithPrivacyMismatch_0.ts (0 errors) ==== declare module 'mod1' { class Foo { diff --git a/tests/baselines/reference/reactReduxLikeDeferredInferenceAllowsAssignment.errors.txt b/tests/baselines/reference/reactReduxLikeDeferredInferenceAllowsAssignment.errors.txt index a480d4f3e4e..8c7e2f57eda 100644 --- a/tests/baselines/reference/reactReduxLikeDeferredInferenceAllowsAssignment.errors.txt +++ b/tests/baselines/reference/reactReduxLikeDeferredInferenceAllowsAssignment.errors.txt @@ -11,22 +11,28 @@ tests/cases/compiler/reactReduxLikeDeferredInferenceAllowsAssignment.ts(76,50): Type 'GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. Type '(Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>]) | (Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>]) | (Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. Type 'Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. - Type 'GetProps[Extract>] | (TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. - Type 'GetProps[Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. - Type 'GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. - Type 'keyof GetProps & string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string] : GetProps[keyof GetProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. - Type 'GetProps[keyof GetProps & string] | (TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. - Type 'GetProps[keyof GetProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. - Type 'GetProps[keyof GetProps & string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. - Type 'string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string] : GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. - Type 'GetProps[string] | (TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. - Type 'GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. - Type 'GetProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. - Type 'string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string] : GetProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. - Type 'keyof GetProps & string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string] : GetProps[keyof GetProps & string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. - Type 'Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. - Type 'Extract> extends keyof TInjectedProps ? TInjectedProps[Extract>] extends GetProps[Extract>] ? GetProps[Extract>] : TInjectedProps[Extract>] : GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. - Type 'P extends keyof TInjectedProps ? TInjectedProps[P] extends GetProps[P] ? GetProps[P] : TInjectedProps[P] : GetProps[P]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. + Type '(TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>]) | GetProps[Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'TInjectedProps[keyof TInjectedProps & Extract>] | GetProps[keyof TInjectedProps & Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'TInjectedProps[keyof TInjectedProps & Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'TInjectedProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'TInjectedProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. + Type 'TInjectedProps[keyof TInjectedProps & Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. + Type 'TInjectedProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. + Type 'TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. + Type 'keyof GetProps & string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string] : GetProps[keyof GetProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'GetProps[keyof GetProps & string] | (TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'GetProps[keyof GetProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'GetProps[keyof GetProps & string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. + Type 'string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string] : GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'GetProps[string] | (TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'GetProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. + Type 'string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string] : GetProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. + Type 'keyof GetProps & string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string] : GetProps[keyof GetProps & string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. + Type 'Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. + Type 'Extract> extends keyof TInjectedProps ? TInjectedProps[Extract>] extends GetProps[Extract>] ? GetProps[Extract>] : TInjectedProps[Extract>] : GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. + Type 'P extends keyof TInjectedProps ? TInjectedProps[P] extends GetProps[P] ? GetProps[P] : TInjectedProps[P] : GetProps[P]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. ==== tests/cases/compiler/reactReduxLikeDeferredInferenceAllowsAssignment.ts (1 errors) ==== @@ -120,22 +126,28 @@ tests/cases/compiler/reactReduxLikeDeferredInferenceAllowsAssignment.ts(76,50): !!! error TS2344: Type 'GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. !!! error TS2344: Type '(Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>]) | (Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>]) | (Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. !!! error TS2344: Type 'Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. -!!! error TS2344: Type 'GetProps[Extract>] | (TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. -!!! error TS2344: Type 'GetProps[Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. -!!! error TS2344: Type 'GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. -!!! error TS2344: Type 'keyof GetProps & string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string] : GetProps[keyof GetProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. -!!! error TS2344: Type 'GetProps[keyof GetProps & string] | (TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. -!!! error TS2344: Type 'GetProps[keyof GetProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. -!!! error TS2344: Type 'GetProps[keyof GetProps & string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. -!!! error TS2344: Type 'string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string] : GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. -!!! error TS2344: Type 'GetProps[string] | (TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. -!!! error TS2344: Type 'GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. -!!! error TS2344: Type 'GetProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. -!!! error TS2344: Type 'string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string] : GetProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. -!!! error TS2344: Type 'keyof GetProps & string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string] : GetProps[keyof GetProps & string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. -!!! error TS2344: Type 'Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. -!!! error TS2344: Type 'Extract> extends keyof TInjectedProps ? TInjectedProps[Extract>] extends GetProps[Extract>] ? GetProps[Extract>] : TInjectedProps[Extract>] : GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. -!!! error TS2344: Type 'P extends keyof TInjectedProps ? TInjectedProps[P] extends GetProps[P] ? GetProps[P] : TInjectedProps[P] : GetProps[P]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. +!!! error TS2344: Type '(TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>]) | GetProps[Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'TInjectedProps[keyof TInjectedProps & Extract>] | GetProps[keyof TInjectedProps & Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'TInjectedProps[keyof TInjectedProps & Extract>]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'TInjectedProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'TInjectedProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. +!!! error TS2344: Type 'TInjectedProps[keyof TInjectedProps & Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. +!!! error TS2344: Type 'TInjectedProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. +!!! error TS2344: Type 'TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. +!!! error TS2344: Type 'keyof GetProps & string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string] : GetProps[keyof GetProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'GetProps[keyof GetProps & string] | (TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'GetProps[keyof GetProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'GetProps[keyof GetProps & string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. +!!! error TS2344: Type 'string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string] : GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'GetProps[string] | (TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string])' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'GetProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. +!!! error TS2344: Type 'string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string] : GetProps[string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. +!!! error TS2344: Type 'keyof GetProps & string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string] : GetProps[keyof GetProps & string]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. +!!! error TS2344: Type 'Extract> extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & Extract>] extends GetProps[keyof TInjectedProps & Extract>] ? GetProps[keyof TInjectedProps & Extract>] : TInjectedProps[keyof TInjectedProps & Extract>] : GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. +!!! error TS2344: Type 'Extract> extends keyof TInjectedProps ? TInjectedProps[Extract>] extends GetProps[Extract>] ? GetProps[Extract>] : TInjectedProps[Extract>] : GetProps[Extract>]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. +!!! error TS2344: Type 'P extends keyof TInjectedProps ? TInjectedProps[P] extends GetProps[P] ? GetProps[P] : TInjectedProps[P] : GetProps[P]' is not assignable to type 'TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never'. >; declare const connect: { diff --git a/tests/baselines/reference/readonlyArraysAndTuples.errors.txt b/tests/baselines/reference/readonlyArraysAndTuples.errors.txt index 3680b78bb1b..39f377f4ee9 100644 --- a/tests/baselines/reference/readonlyArraysAndTuples.errors.txt +++ b/tests/baselines/reference/readonlyArraysAndTuples.errors.txt @@ -9,9 +9,16 @@ tests/cases/conformance/types/tuple/readonlyArraysAndTuples.ts(22,5): error TS27 tests/cases/conformance/types/tuple/readonlyArraysAndTuples.ts(23,5): error TS4104: The type 'readonly [string, string]' is 'readonly' and cannot be assigned to the mutable type '[string, string]'. tests/cases/conformance/types/tuple/readonlyArraysAndTuples.ts(24,5): error TS2739: Type 'string[]' is missing the following properties from type 'readonly [string, string]': 0, 1 tests/cases/conformance/types/tuple/readonlyArraysAndTuples.ts(25,5): error TS2739: Type 'readonly string[]' is missing the following properties from type 'readonly [string, string]': 0, 1 +tests/cases/conformance/types/tuple/readonlyArraysAndTuples.ts(30,3): error TS2540: Cannot assign to '0' because it is a read-only property. +tests/cases/conformance/types/tuple/readonlyArraysAndTuples.ts(31,3): error TS2540: Cannot assign to '1' because it is a read-only property. +tests/cases/conformance/types/tuple/readonlyArraysAndTuples.ts(32,1): error TS2542: Index signature in type 'readonly [number, number, ...number[]]' only permits reading. +tests/cases/conformance/types/tuple/readonlyArraysAndTuples.ts(33,8): error TS2542: Index signature in type 'readonly [number, number, ...number[]]' only permits reading. +tests/cases/conformance/types/tuple/readonlyArraysAndTuples.ts(34,1): error TS2542: Index signature in type 'readonly [number, number, ...number[]]' only permits reading. +tests/cases/conformance/types/tuple/readonlyArraysAndTuples.ts(35,1): error TS2542: Index signature in type 'readonly [number, number, ...number[]]' only permits reading. +tests/cases/conformance/types/tuple/readonlyArraysAndTuples.ts(36,8): error TS2542: Index signature in type 'readonly [number, number, ...number[]]' only permits reading. -==== tests/cases/conformance/types/tuple/readonlyArraysAndTuples.ts (11 errors) ==== +==== tests/cases/conformance/types/tuple/readonlyArraysAndTuples.ts (18 errors) ==== type T10 = string[]; type T11 = Array; type T12 = readonly string[]; @@ -61,4 +68,27 @@ tests/cases/conformance/types/tuple/readonlyArraysAndTuples.ts(25,5): error TS27 !!! error TS2739: Type 'readonly string[]' is missing the following properties from type 'readonly [string, string]': 0, 1 rt = mt; } + + declare var v: readonly[number, number, ...number[]]; + v[0] = 1; // Error + ~ +!!! error TS2540: Cannot assign to '0' because it is a read-only property. + v[1] = 1; // Error + ~ +!!! error TS2540: Cannot assign to '1' because it is a read-only property. + v[2] = 1; // Error + ~~~~ +!!! error TS2542: Index signature in type 'readonly [number, number, ...number[]]' only permits reading. + delete v[2]; // Error + ~~~~ +!!! error TS2542: Index signature in type 'readonly [number, number, ...number[]]' only permits reading. + v[0 + 1] = 1; // Error + ~~~~~~~~ +!!! error TS2542: Index signature in type 'readonly [number, number, ...number[]]' only permits reading. + v[0 + 2] = 1; // Error + ~~~~~~~~ +!!! error TS2542: Index signature in type 'readonly [number, number, ...number[]]' only permits reading. + delete v[0 + 1]; // Error + ~~~~~~~~ +!!! error TS2542: Index signature in type 'readonly [number, number, ...number[]]' only permits reading. \ No newline at end of file diff --git a/tests/baselines/reference/readonlyArraysAndTuples.js b/tests/baselines/reference/readonlyArraysAndTuples.js index 0ba392dadb4..f293ad01b7b 100644 --- a/tests/baselines/reference/readonlyArraysAndTuples.js +++ b/tests/baselines/reference/readonlyArraysAndTuples.js @@ -26,6 +26,15 @@ function f1(ma: string[], ra: readonly string[], mt: [string, string], rt: reado rt = ra; // Error rt = mt; } + +declare var v: readonly[number, number, ...number[]]; +v[0] = 1; // Error +v[1] = 1; // Error +v[2] = 1; // Error +delete v[2]; // Error +v[0 + 1] = 1; // Error +v[0 + 2] = 1; // Error +delete v[0 + 1]; // Error //// [readonlyArraysAndTuples.js] @@ -44,6 +53,13 @@ function f1(ma, ra, mt, rt) { rt = ra; // Error rt = mt; } +v[0] = 1; // Error +v[1] = 1; // Error +v[2] = 1; // Error +delete v[2]; // Error +v[0 + 1] = 1; // Error +v[0 + 2] = 1; // Error +delete v[0 + 1]; // Error //// [readonlyArraysAndTuples.d.ts] @@ -58,3 +74,4 @@ declare type T31 = readonly T; declare type T32 = readonly readonly string[]; declare type T33 = readonly Array; declare function f1(ma: string[], ra: readonly string[], mt: [string, string], rt: readonly [string, string]): void; +declare var v: readonly [number, number, ...number[]]; diff --git a/tests/baselines/reference/readonlyArraysAndTuples.symbols b/tests/baselines/reference/readonlyArraysAndTuples.symbols index c7c371af0d8..53b425fec09 100644 --- a/tests/baselines/reference/readonlyArraysAndTuples.symbols +++ b/tests/baselines/reference/readonlyArraysAndTuples.symbols @@ -90,3 +90,29 @@ function f1(ma: string[], ra: readonly string[], mt: [string, string], rt: reado >mt : Symbol(mt, Decl(readonlyArraysAndTuples.ts, 13, 48)) } +declare var v: readonly[number, number, ...number[]]; +>v : Symbol(v, Decl(readonlyArraysAndTuples.ts, 28, 11)) + +v[0] = 1; // Error +>v : Symbol(v, Decl(readonlyArraysAndTuples.ts, 28, 11)) +>0 : Symbol(0) + +v[1] = 1; // Error +>v : Symbol(v, Decl(readonlyArraysAndTuples.ts, 28, 11)) +>1 : Symbol(1) + +v[2] = 1; // Error +>v : Symbol(v, Decl(readonlyArraysAndTuples.ts, 28, 11)) + +delete v[2]; // Error +>v : Symbol(v, Decl(readonlyArraysAndTuples.ts, 28, 11)) + +v[0 + 1] = 1; // Error +>v : Symbol(v, Decl(readonlyArraysAndTuples.ts, 28, 11)) + +v[0 + 2] = 1; // Error +>v : Symbol(v, Decl(readonlyArraysAndTuples.ts, 28, 11)) + +delete v[0 + 1]; // Error +>v : Symbol(v, Decl(readonlyArraysAndTuples.ts, 28, 11)) + diff --git a/tests/baselines/reference/readonlyArraysAndTuples.types b/tests/baselines/reference/readonlyArraysAndTuples.types index 9ffb409d526..5075319ef95 100644 --- a/tests/baselines/reference/readonlyArraysAndTuples.types +++ b/tests/baselines/reference/readonlyArraysAndTuples.types @@ -97,3 +97,59 @@ function f1(ma: string[], ra: readonly string[], mt: [string, string], rt: reado >mt : [string, string] } +declare var v: readonly[number, number, ...number[]]; +>v : readonly [number, number, ...number[]] + +v[0] = 1; // Error +>v[0] = 1 : 1 +>v[0] : any +>v : readonly [number, number, ...number[]] +>0 : 0 +>1 : 1 + +v[1] = 1; // Error +>v[1] = 1 : 1 +>v[1] : any +>v : readonly [number, number, ...number[]] +>1 : 1 +>1 : 1 + +v[2] = 1; // Error +>v[2] = 1 : 1 +>v[2] : number +>v : readonly [number, number, ...number[]] +>2 : 2 +>1 : 1 + +delete v[2]; // Error +>delete v[2] : boolean +>v[2] : number +>v : readonly [number, number, ...number[]] +>2 : 2 + +v[0 + 1] = 1; // Error +>v[0 + 1] = 1 : 1 +>v[0 + 1] : number +>v : readonly [number, number, ...number[]] +>0 + 1 : number +>0 : 0 +>1 : 1 +>1 : 1 + +v[0 + 2] = 1; // Error +>v[0 + 2] = 1 : 1 +>v[0 + 2] : number +>v : readonly [number, number, ...number[]] +>0 + 2 : number +>0 : 0 +>2 : 2 +>1 : 1 + +delete v[0 + 1]; // Error +>delete v[0 + 1] : boolean +>v[0 + 1] : number +>v : readonly [number, number, ...number[]] +>0 + 1 : number +>0 : 0 +>1 : 1 + diff --git a/tests/baselines/reference/reassignStaticProp.errors.txt b/tests/baselines/reference/reassignStaticProp.errors.txt index b1bfb869d68..bd62f1aa80d 100644 --- a/tests/baselines/reference/reassignStaticProp.errors.txt +++ b/tests/baselines/reference/reassignStaticProp.errors.txt @@ -12,6 +12,7 @@ tests/cases/compiler/reassignStaticProp.ts(5,12): error TS2717: Subsequent prope !!! error TS2300: Duplicate identifier 'bar'. ~~~ !!! error TS2717: Subsequent property declarations must have the same type. Property 'bar' must be of type 'number', but here has type 'string'. +!!! related TS6203 tests/cases/compiler/reassignStaticProp.ts:3:12: 'bar' was also declared here. } diff --git a/tests/baselines/reference/recursiveTypeComparison.errors.txt b/tests/baselines/reference/recursiveTypeComparison.errors.txt new file mode 100644 index 00000000000..f647763b2e2 --- /dev/null +++ b/tests/baselines/reference/recursiveTypeComparison.errors.txt @@ -0,0 +1,27 @@ +tests/cases/compiler/recursiveTypeComparison.ts(14,5): error TS2322: Type 'Observable<{}>' is not assignable to type 'Property'. + Types of property 'needThisOne' are incompatible. + Type 'Observable<{}>' is not assignable to type 'Observable'. + Type '{}' is not assignable to type 'number'. + + +==== tests/cases/compiler/recursiveTypeComparison.ts (1 errors) ==== + // Before fix this would take an exceeding long time to complete (#1170) + + interface Observable { + // This member can't be of type T, Property, or Observable + needThisOne: Observable; + // Add more to make it slower + expo1: Property; // 0.31 seconds in check + expo2: Property; // 3.11 seconds + expo3: Property; // 82.28 seconds + } + interface Property extends Observable { } + + var p: Observable<{}>; + var stuck: Property = p; + ~~~~~ +!!! error TS2322: Type 'Observable<{}>' is not assignable to type 'Property'. +!!! error TS2322: Types of property 'needThisOne' are incompatible. +!!! error TS2322: Type 'Observable<{}>' is not assignable to type 'Observable'. +!!! error TS2322: Type '{}' is not assignable to type 'number'. + \ No newline at end of file diff --git a/tests/baselines/reference/requiredMappedTypeModifierTrumpsVariance.errors.txt b/tests/baselines/reference/requiredMappedTypeModifierTrumpsVariance.errors.txt new file mode 100644 index 00000000000..83871b29096 --- /dev/null +++ b/tests/baselines/reference/requiredMappedTypeModifierTrumpsVariance.errors.txt @@ -0,0 +1,61 @@ +tests/cases/compiler/requiredMappedTypeModifierTrumpsVariance.ts(5,1): error TS2741: Property 'a' is missing in type 'Required<{ b?: 1; x: 1; }>' but required in type 'Required<{ a?: 1; x: 1; }>'. +tests/cases/compiler/requiredMappedTypeModifierTrumpsVariance.ts(6,1): error TS2741: Property 'b' is missing in type 'Required<{ a?: 1; x: 1; }>' but required in type 'Required<{ b?: 1; x: 1; }>'. +tests/cases/compiler/requiredMappedTypeModifierTrumpsVariance.ts(8,3): error TS2339: Property 'b' does not exist on type 'Required<{ a?: 1; x: 1; }>'. +tests/cases/compiler/requiredMappedTypeModifierTrumpsVariance.ts(9,3): error TS2339: Property 'a' does not exist on type 'Required<{ b?: 1; x: 1; }>'. +tests/cases/compiler/requiredMappedTypeModifierTrumpsVariance.ts(18,1): error TS2322: Type 'Foo<{ b?: 1; x: 1; }>' is not assignable to type 'Foo<{ a?: 1; x: 1; }>'. + Types of property 'a' are incompatible. + Property 'a' is missing in type 'Required<{ b?: 1; x: 1; }>' but required in type 'Required<{ a?: 1; x: 1; }>'. +tests/cases/compiler/requiredMappedTypeModifierTrumpsVariance.ts(19,1): error TS2322: Type 'Foo<{ a?: 1; x: 1; }>' is not assignable to type 'Foo<{ b?: 1; x: 1; }>'. + Types of property 'a' are incompatible. + Property 'b' is missing in type 'Required<{ a?: 1; x: 1; }>' but required in type 'Required<{ b?: 1; x: 1; }>'. +tests/cases/compiler/requiredMappedTypeModifierTrumpsVariance.ts(21,6): error TS2339: Property 'b' does not exist on type 'Required<{ a?: 1; x: 1; }>'. +tests/cases/compiler/requiredMappedTypeModifierTrumpsVariance.ts(22,6): error TS2339: Property 'a' does not exist on type 'Required<{ b?: 1; x: 1; }>'. + + +==== tests/cases/compiler/requiredMappedTypeModifierTrumpsVariance.ts (8 errors) ==== + const a: Required<{ a?: 1; x: 1 }> = { a: 1, x: 1 }; + const b: Required<{ b?: 1; x: 1 }> = { b: 1, x: 1 }; + export let A = a; + export let B = b; + A = b; // Should Error + ~ +!!! error TS2741: Property 'a' is missing in type 'Required<{ b?: 1; x: 1; }>' but required in type 'Required<{ a?: 1; x: 1; }>'. +!!! related TS2728 tests/cases/compiler/requiredMappedTypeModifierTrumpsVariance.ts:1:21: 'a' is declared here. + B = a; // Should Error + ~ +!!! error TS2741: Property 'b' is missing in type 'Required<{ a?: 1; x: 1; }>' but required in type 'Required<{ b?: 1; x: 1; }>'. +!!! related TS2728 tests/cases/compiler/requiredMappedTypeModifierTrumpsVariance.ts:2:21: 'b' is declared here. + + a.b; // Property 'b' does not exist on type 'Required<{ a?: 1; x: 1; }>'. + ~ +!!! error TS2339: Property 'b' does not exist on type 'Required<{ a?: 1; x: 1; }>'. + b.a; // Property 'a' does not exist on type 'Required<{ b?: 1; x: 1; }>'. + ~ +!!! error TS2339: Property 'a' does not exist on type 'Required<{ b?: 1; x: 1; }>'. + + interface Foo { + a: Required; + } + const aa: Foo<{ a?: 1; x: 1 }> = { a: { a: 1, x: 1 } }; + const bb: Foo<{ b?: 1; x: 1 }> = { a: { b: 1, x: 1 } }; + export let AA = aa; + export let BB = bb; + AA = bb; // Should Error + ~~ +!!! error TS2322: Type 'Foo<{ b?: 1; x: 1; }>' is not assignable to type 'Foo<{ a?: 1; x: 1; }>'. +!!! error TS2322: Types of property 'a' are incompatible. +!!! error TS2322: Property 'a' is missing in type 'Required<{ b?: 1; x: 1; }>' but required in type 'Required<{ a?: 1; x: 1; }>'. +!!! related TS2728 tests/cases/compiler/requiredMappedTypeModifierTrumpsVariance.ts:14:17: 'a' is declared here. + BB = aa; // Should Error + ~~ +!!! error TS2322: Type 'Foo<{ a?: 1; x: 1; }>' is not assignable to type 'Foo<{ b?: 1; x: 1; }>'. +!!! error TS2322: Types of property 'a' are incompatible. +!!! error TS2322: Property 'b' is missing in type 'Required<{ a?: 1; x: 1; }>' but required in type 'Required<{ b?: 1; x: 1; }>'. +!!! related TS2728 tests/cases/compiler/requiredMappedTypeModifierTrumpsVariance.ts:15:17: 'b' is declared here. + + aa.a.b; // Property 'b' does not exist on type 'Required<{ a?: 1; x: 1; }>'. + ~ +!!! error TS2339: Property 'b' does not exist on type 'Required<{ a?: 1; x: 1; }>'. + bb.a.a; // Property 'a' does not exist on type 'Required<{ b?: 1; x: 1; }>'. + ~ +!!! error TS2339: Property 'a' does not exist on type 'Required<{ b?: 1; x: 1; }>'. \ No newline at end of file diff --git a/tests/baselines/reference/requiredMappedTypeModifierTrumpsVariance.js b/tests/baselines/reference/requiredMappedTypeModifierTrumpsVariance.js new file mode 100644 index 00000000000..b84c28781eb --- /dev/null +++ b/tests/baselines/reference/requiredMappedTypeModifierTrumpsVariance.js @@ -0,0 +1,43 @@ +//// [requiredMappedTypeModifierTrumpsVariance.ts] +const a: Required<{ a?: 1; x: 1 }> = { a: 1, x: 1 }; +const b: Required<{ b?: 1; x: 1 }> = { b: 1, x: 1 }; +export let A = a; +export let B = b; +A = b; // Should Error +B = a; // Should Error + +a.b; // Property 'b' does not exist on type 'Required<{ a?: 1; x: 1; }>'. +b.a; // Property 'a' does not exist on type 'Required<{ b?: 1; x: 1; }>'. + +interface Foo { + a: Required; +} +const aa: Foo<{ a?: 1; x: 1 }> = { a: { a: 1, x: 1 } }; +const bb: Foo<{ b?: 1; x: 1 }> = { a: { b: 1, x: 1 } }; +export let AA = aa; +export let BB = bb; +AA = bb; // Should Error +BB = aa; // Should Error + +aa.a.b; // Property 'b' does not exist on type 'Required<{ a?: 1; x: 1; }>'. +bb.a.a; // Property 'a' does not exist on type 'Required<{ b?: 1; x: 1; }>'. + +//// [requiredMappedTypeModifierTrumpsVariance.js] +"use strict"; +exports.__esModule = true; +var a = { a: 1, x: 1 }; +var b = { b: 1, x: 1 }; +exports.A = a; +exports.B = b; +exports.A = b; // Should Error +exports.B = a; // Should Error +a.b; // Property 'b' does not exist on type 'Required<{ a?: 1; x: 1; }>'. +b.a; // Property 'a' does not exist on type 'Required<{ b?: 1; x: 1; }>'. +var aa = { a: { a: 1, x: 1 } }; +var bb = { a: { b: 1, x: 1 } }; +exports.AA = aa; +exports.BB = bb; +exports.AA = bb; // Should Error +exports.BB = aa; // Should Error +aa.a.b; // Property 'b' does not exist on type 'Required<{ a?: 1; x: 1; }>'. +bb.a.a; // Property 'a' does not exist on type 'Required<{ b?: 1; x: 1; }>'. diff --git a/tests/baselines/reference/requiredMappedTypeModifierTrumpsVariance.symbols b/tests/baselines/reference/requiredMappedTypeModifierTrumpsVariance.symbols new file mode 100644 index 00000000000..726e89040f2 --- /dev/null +++ b/tests/baselines/reference/requiredMappedTypeModifierTrumpsVariance.symbols @@ -0,0 +1,92 @@ +=== tests/cases/compiler/requiredMappedTypeModifierTrumpsVariance.ts === +const a: Required<{ a?: 1; x: 1 }> = { a: 1, x: 1 }; +>a : Symbol(a, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 0, 5)) +>Required : Symbol(Required, Decl(lib.es5.d.ts, --, --)) +>a : Symbol(a, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 0, 19)) +>x : Symbol(x, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 0, 26)) +>a : Symbol(a, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 0, 38)) +>x : Symbol(x, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 0, 44)) + +const b: Required<{ b?: 1; x: 1 }> = { b: 1, x: 1 }; +>b : Symbol(b, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 1, 5)) +>Required : Symbol(Required, Decl(lib.es5.d.ts, --, --)) +>b : Symbol(b, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 1, 19)) +>x : Symbol(x, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 1, 26)) +>b : Symbol(b, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 1, 38)) +>x : Symbol(x, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 1, 44)) + +export let A = a; +>A : Symbol(A, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 2, 10)) +>a : Symbol(a, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 0, 5)) + +export let B = b; +>B : Symbol(B, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 3, 10)) +>b : Symbol(b, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 1, 5)) + +A = b; // Should Error +>A : Symbol(A, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 2, 10)) +>b : Symbol(b, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 1, 5)) + +B = a; // Should Error +>B : Symbol(B, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 3, 10)) +>a : Symbol(a, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 0, 5)) + +a.b; // Property 'b' does not exist on type 'Required<{ a?: 1; x: 1; }>'. +>a : Symbol(a, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 0, 5)) + +b.a; // Property 'a' does not exist on type 'Required<{ b?: 1; x: 1; }>'. +>b : Symbol(b, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 1, 5)) + +interface Foo { +>Foo : Symbol(Foo, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 8, 4)) +>T : Symbol(T, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 10, 14)) + + a: Required; +>a : Symbol(Foo.a, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 10, 18)) +>Required : Symbol(Required, Decl(lib.es5.d.ts, --, --)) +>T : Symbol(T, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 10, 14)) +} +const aa: Foo<{ a?: 1; x: 1 }> = { a: { a: 1, x: 1 } }; +>aa : Symbol(aa, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 13, 5)) +>Foo : Symbol(Foo, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 8, 4)) +>a : Symbol(a, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 13, 15)) +>x : Symbol(x, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 13, 22)) +>a : Symbol(a, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 13, 34)) +>a : Symbol(a, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 13, 39)) +>x : Symbol(x, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 13, 45)) + +const bb: Foo<{ b?: 1; x: 1 }> = { a: { b: 1, x: 1 } }; +>bb : Symbol(bb, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 14, 5)) +>Foo : Symbol(Foo, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 8, 4)) +>b : Symbol(b, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 14, 15)) +>x : Symbol(x, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 14, 22)) +>a : Symbol(a, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 14, 34)) +>b : Symbol(b, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 14, 39)) +>x : Symbol(x, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 14, 45)) + +export let AA = aa; +>AA : Symbol(AA, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 15, 10)) +>aa : Symbol(aa, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 13, 5)) + +export let BB = bb; +>BB : Symbol(BB, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 16, 10)) +>bb : Symbol(bb, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 14, 5)) + +AA = bb; // Should Error +>AA : Symbol(AA, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 15, 10)) +>bb : Symbol(bb, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 14, 5)) + +BB = aa; // Should Error +>BB : Symbol(BB, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 16, 10)) +>aa : Symbol(aa, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 13, 5)) + +aa.a.b; // Property 'b' does not exist on type 'Required<{ a?: 1; x: 1; }>'. +>aa.a : Symbol(Foo.a, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 10, 18)) +>aa : Symbol(aa, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 13, 5)) +>a : Symbol(Foo.a, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 10, 18)) + +bb.a.a; // Property 'a' does not exist on type 'Required<{ b?: 1; x: 1; }>'. +>bb.a : Symbol(Foo.a, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 10, 18)) +>bb : Symbol(bb, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 14, 5)) +>a : Symbol(Foo.a, Decl(requiredMappedTypeModifierTrumpsVariance.ts, 10, 18)) + diff --git a/tests/baselines/reference/requiredMappedTypeModifierTrumpsVariance.types b/tests/baselines/reference/requiredMappedTypeModifierTrumpsVariance.types new file mode 100644 index 00000000000..f9d482c8fc3 --- /dev/null +++ b/tests/baselines/reference/requiredMappedTypeModifierTrumpsVariance.types @@ -0,0 +1,109 @@ +=== tests/cases/compiler/requiredMappedTypeModifierTrumpsVariance.ts === +const a: Required<{ a?: 1; x: 1 }> = { a: 1, x: 1 }; +>a : Required<{ a?: 1; x: 1; }> +>a : 1 +>x : 1 +>{ a: 1, x: 1 } : { a: 1; x: 1; } +>a : 1 +>1 : 1 +>x : 1 +>1 : 1 + +const b: Required<{ b?: 1; x: 1 }> = { b: 1, x: 1 }; +>b : Required<{ b?: 1; x: 1; }> +>b : 1 +>x : 1 +>{ b: 1, x: 1 } : { b: 1; x: 1; } +>b : 1 +>1 : 1 +>x : 1 +>1 : 1 + +export let A = a; +>A : Required<{ a?: 1; x: 1; }> +>a : Required<{ a?: 1; x: 1; }> + +export let B = b; +>B : Required<{ b?: 1; x: 1; }> +>b : Required<{ b?: 1; x: 1; }> + +A = b; // Should Error +>A = b : Required<{ b?: 1; x: 1; }> +>A : Required<{ a?: 1; x: 1; }> +>b : Required<{ b?: 1; x: 1; }> + +B = a; // Should Error +>B = a : Required<{ a?: 1; x: 1; }> +>B : Required<{ b?: 1; x: 1; }> +>a : Required<{ a?: 1; x: 1; }> + +a.b; // Property 'b' does not exist on type 'Required<{ a?: 1; x: 1; }>'. +>a.b : any +>a : Required<{ a?: 1; x: 1; }> +>b : any + +b.a; // Property 'a' does not exist on type 'Required<{ b?: 1; x: 1; }>'. +>b.a : any +>b : Required<{ b?: 1; x: 1; }> +>a : any + +interface Foo { + a: Required; +>a : Required +} +const aa: Foo<{ a?: 1; x: 1 }> = { a: { a: 1, x: 1 } }; +>aa : Foo<{ a?: 1; x: 1; }> +>a : 1 +>x : 1 +>{ a: { a: 1, x: 1 } } : { a: { a: 1; x: 1; }; } +>a : { a: 1; x: 1; } +>{ a: 1, x: 1 } : { a: 1; x: 1; } +>a : 1 +>1 : 1 +>x : 1 +>1 : 1 + +const bb: Foo<{ b?: 1; x: 1 }> = { a: { b: 1, x: 1 } }; +>bb : Foo<{ b?: 1; x: 1; }> +>b : 1 +>x : 1 +>{ a: { b: 1, x: 1 } } : { a: { b: 1; x: 1; }; } +>a : { b: 1; x: 1; } +>{ b: 1, x: 1 } : { b: 1; x: 1; } +>b : 1 +>1 : 1 +>x : 1 +>1 : 1 + +export let AA = aa; +>AA : Foo<{ a?: 1; x: 1; }> +>aa : Foo<{ a?: 1; x: 1; }> + +export let BB = bb; +>BB : Foo<{ b?: 1; x: 1; }> +>bb : Foo<{ b?: 1; x: 1; }> + +AA = bb; // Should Error +>AA = bb : Foo<{ b?: 1; x: 1; }> +>AA : Foo<{ a?: 1; x: 1; }> +>bb : Foo<{ b?: 1; x: 1; }> + +BB = aa; // Should Error +>BB = aa : Foo<{ a?: 1; x: 1; }> +>BB : Foo<{ b?: 1; x: 1; }> +>aa : Foo<{ a?: 1; x: 1; }> + +aa.a.b; // Property 'b' does not exist on type 'Required<{ a?: 1; x: 1; }>'. +>aa.a.b : any +>aa.a : Required<{ a?: 1; x: 1; }> +>aa : Foo<{ a?: 1; x: 1; }> +>a : Required<{ a?: 1; x: 1; }> +>b : any + +bb.a.a; // Property 'a' does not exist on type 'Required<{ b?: 1; x: 1; }>'. +>bb.a.a : any +>bb.a : Required<{ b?: 1; x: 1; }> +>bb : Foo<{ b?: 1; x: 1; }> +>a : Required<{ b?: 1; x: 1; }> +>a : any + diff --git a/tests/baselines/reference/restIntersection.js b/tests/baselines/reference/restIntersection.js index d1f9aa3094c..8fc9be83d14 100644 --- a/tests/baselines/reference/restIntersection.js +++ b/tests/baselines/reference/restIntersection.js @@ -11,8 +11,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var intersection; diff --git a/tests/baselines/reference/restInvalidArgumentType.js b/tests/baselines/reference/restInvalidArgumentType.js index 75b52a8c6e8..b28c69226f0 100644 --- a/tests/baselines/reference/restInvalidArgumentType.js +++ b/tests/baselines/reference/restInvalidArgumentType.js @@ -61,8 +61,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var E; diff --git a/tests/baselines/reference/restParameterWithBindingPattern3.js b/tests/baselines/reference/restParameterWithBindingPattern3.js index 00342e7f741..9f52594f7cb 100644 --- a/tests/baselines/reference/restParameterWithBindingPattern3.js +++ b/tests/baselines/reference/restParameterWithBindingPattern3.js @@ -15,8 +15,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; function a() { diff --git a/tests/baselines/reference/restPropertyWithBindingPattern.js b/tests/baselines/reference/restPropertyWithBindingPattern.js index c4a4795d682..9b260f5cefd 100644 --- a/tests/baselines/reference/restPropertyWithBindingPattern.js +++ b/tests/baselines/reference/restPropertyWithBindingPattern.js @@ -10,8 +10,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var _a, _b; diff --git a/tests/baselines/reference/restUnion.js b/tests/baselines/reference/restUnion.js index 09a6243d2a9..14f0c65acbc 100644 --- a/tests/baselines/reference/restUnion.js +++ b/tests/baselines/reference/restUnion.js @@ -21,8 +21,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var union; diff --git a/tests/baselines/reference/restUnion2.js b/tests/baselines/reference/restUnion2.js index 437ea780193..4506e85b220 100644 --- a/tests/baselines/reference/restUnion2.js +++ b/tests/baselines/reference/restUnion2.js @@ -15,8 +15,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var rest2; diff --git a/tests/baselines/reference/restUnion3.js b/tests/baselines/reference/restUnion3.js index 0dbfc425754..69b1e74af81 100644 --- a/tests/baselines/reference/restUnion3.js +++ b/tests/baselines/reference/restUnion3.js @@ -15,8 +15,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var rest4; diff --git a/tests/baselines/reference/reverseMappedPartiallyInferableTypes.errors.txt b/tests/baselines/reference/reverseMappedPartiallyInferableTypes.errors.txt new file mode 100644 index 00000000000..63ea9a9f279 --- /dev/null +++ b/tests/baselines/reference/reverseMappedPartiallyInferableTypes.errors.txt @@ -0,0 +1,101 @@ +tests/cases/compiler/reverseMappedPartiallyInferableTypes.ts(91,20): error TS2571: Object is of type 'unknown'. + + +==== tests/cases/compiler/reverseMappedPartiallyInferableTypes.ts (1 errors) ==== + // Repro from #30505 + + export type Prop = { (): T } + export type PropType = Prop; + export type PropDefaultValue = T; + + + export type PropValidatorFunction = (value: T) => boolean; + export type PropValidator = PropOptions; + + + export type PropOptions = { + type: PropType; + + value?: PropDefaultValue, + required?: boolean; + validator?: PropValidatorFunction; + } + + export type RecordPropsDefinition = { + [K in keyof T]: PropValidator + } + export type PropsDefinition = RecordPropsDefinition; + + + declare function extend({ props }: { props: PropsDefinition }): PropsDefinition; + + interface MyType { + valid: boolean; + } + + const r = extend({ + props: { + notResolved: { + type: Object as PropType, + validator: x => { + return x.valid; + } + }, + explicit: { + type: Object as PropType, + validator: (x: MyType) => { + return x.valid; + } + } + } + }) + + r.explicit + r.notResolved + r.explicit.required + r.notResolved.required + + // Modified repro from #30505 + + type Box = { + contents?: T; + contains?(content: T): boolean; + }; + + type Mapped = { + [K in keyof T]: Box; + } + + declare function id(arg: Mapped): Mapped; + + // All properties have inferable types + + const obj1 = id({ + foo: { + contents: "" + } + }); + + // Some properties have inferable types + + const obj2 = id({ + foo: { + contents: "", + contains(k) { + return k.length > 0; + } + } + }); + + // No properties have inferable types + + const obj3 = id({ + foo: { + contains(k) { + return k.length > 0; + ~ +!!! error TS2571: Object is of type 'unknown'. + } + } + }); + \ No newline at end of file diff --git a/tests/baselines/reference/reverseMappedPartiallyInferableTypes.js b/tests/baselines/reference/reverseMappedPartiallyInferableTypes.js new file mode 100644 index 00000000000..e5a9c2a57ae --- /dev/null +++ b/tests/baselines/reference/reverseMappedPartiallyInferableTypes.js @@ -0,0 +1,144 @@ +//// [reverseMappedPartiallyInferableTypes.ts] +// Repro from #30505 + +export type Prop = { (): T } +export type PropType = Prop; +export type PropDefaultValue = T; + + +export type PropValidatorFunction = (value: T) => boolean; +export type PropValidator = PropOptions; + + +export type PropOptions = { + type: PropType; + + value?: PropDefaultValue, + required?: boolean; + validator?: PropValidatorFunction; +} + +export type RecordPropsDefinition = { + [K in keyof T]: PropValidator +} +export type PropsDefinition = RecordPropsDefinition; + + +declare function extend({ props }: { props: PropsDefinition }): PropsDefinition; + +interface MyType { + valid: boolean; +} + +const r = extend({ + props: { + notResolved: { + type: Object as PropType, + validator: x => { + return x.valid; + } + }, + explicit: { + type: Object as PropType, + validator: (x: MyType) => { + return x.valid; + } + } + } +}) + +r.explicit +r.notResolved +r.explicit.required +r.notResolved.required + +// Modified repro from #30505 + +type Box = { + contents?: T; + contains?(content: T): boolean; +}; + +type Mapped = { + [K in keyof T]: Box; +} + +declare function id(arg: Mapped): Mapped; + +// All properties have inferable types + +const obj1 = id({ + foo: { + contents: "" + } +}); + +// Some properties have inferable types + +const obj2 = id({ + foo: { + contents: "", + contains(k) { + return k.length > 0; + } + } +}); + +// No properties have inferable types + +const obj3 = id({ + foo: { + contains(k) { + return k.length > 0; + } + } +}); + + +//// [reverseMappedPartiallyInferableTypes.js] +"use strict"; +// Repro from #30505 +exports.__esModule = true; +var r = extend({ + props: { + notResolved: { + type: Object, + validator: function (x) { + return x.valid; + } + }, + explicit: { + type: Object, + validator: function (x) { + return x.valid; + } + } + } +}); +r.explicit; +r.notResolved; +r.explicit.required; +r.notResolved.required; +// All properties have inferable types +var obj1 = id({ + foo: { + contents: "" + } +}); +// Some properties have inferable types +var obj2 = id({ + foo: { + contents: "", + contains: function (k) { + return k.length > 0; + } + } +}); +// No properties have inferable types +var obj3 = id({ + foo: { + contains: function (k) { + return k.length > 0; + } + } +}); diff --git a/tests/baselines/reference/reverseMappedPartiallyInferableTypes.symbols b/tests/baselines/reference/reverseMappedPartiallyInferableTypes.symbols new file mode 100644 index 00000000000..ac264a37e9e --- /dev/null +++ b/tests/baselines/reference/reverseMappedPartiallyInferableTypes.symbols @@ -0,0 +1,259 @@ +=== tests/cases/compiler/reverseMappedPartiallyInferableTypes.ts === +// Repro from #30505 + +export type Prop = { (): T } +>Prop : Symbol(Prop, Decl(reverseMappedPartiallyInferableTypes.ts, 0, 0)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 2, 17)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 2, 17)) + +export type PropType = Prop; +>PropType : Symbol(PropType, Decl(reverseMappedPartiallyInferableTypes.ts, 2, 31)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 3, 21)) +>Prop : Symbol(Prop, Decl(reverseMappedPartiallyInferableTypes.ts, 0, 0)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 3, 21)) + +export type PropDefaultValue = T; +>PropDefaultValue : Symbol(PropDefaultValue, Decl(reverseMappedPartiallyInferableTypes.ts, 3, 34)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 4, 29)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 4, 29)) + + +export type PropValidatorFunction = (value: T) => boolean; +>PropValidatorFunction : Symbol(PropValidatorFunction, Decl(reverseMappedPartiallyInferableTypes.ts, 4, 36)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 7, 34)) +>value : Symbol(value, Decl(reverseMappedPartiallyInferableTypes.ts, 7, 40)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 7, 34)) + +export type PropValidator = PropOptions; +>PropValidator : Symbol(PropValidator, Decl(reverseMappedPartiallyInferableTypes.ts, 7, 61)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 8, 26)) +>PropOptions : Symbol(PropOptions, Decl(reverseMappedPartiallyInferableTypes.ts, 8, 46)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 8, 26)) + + +export type PropOptions = { +>PropOptions : Symbol(PropOptions, Decl(reverseMappedPartiallyInferableTypes.ts, 8, 46)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 11, 24)) + + type: PropType; +>type : Symbol(type, Decl(reverseMappedPartiallyInferableTypes.ts, 11, 30)) +>PropType : Symbol(PropType, Decl(reverseMappedPartiallyInferableTypes.ts, 2, 31)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 11, 24)) + + value?: PropDefaultValue, +>value : Symbol(value, Decl(reverseMappedPartiallyInferableTypes.ts, 12, 22)) +>PropDefaultValue : Symbol(PropDefaultValue, Decl(reverseMappedPartiallyInferableTypes.ts, 3, 34)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 11, 24)) + + required?: boolean; +>required : Symbol(required, Decl(reverseMappedPartiallyInferableTypes.ts, 14, 32)) + + validator?: PropValidatorFunction; +>validator : Symbol(validator, Decl(reverseMappedPartiallyInferableTypes.ts, 15, 23)) +>PropValidatorFunction : Symbol(PropValidatorFunction, Decl(reverseMappedPartiallyInferableTypes.ts, 4, 36)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 11, 24)) +} + +export type RecordPropsDefinition = { +>RecordPropsDefinition : Symbol(RecordPropsDefinition, Decl(reverseMappedPartiallyInferableTypes.ts, 17, 1)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 19, 34)) + + [K in keyof T]: PropValidator +>K : Symbol(K, Decl(reverseMappedPartiallyInferableTypes.ts, 20, 5)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 19, 34)) +>PropValidator : Symbol(PropValidator, Decl(reverseMappedPartiallyInferableTypes.ts, 7, 61)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 19, 34)) +>K : Symbol(K, Decl(reverseMappedPartiallyInferableTypes.ts, 20, 5)) +} +export type PropsDefinition = RecordPropsDefinition; +>PropsDefinition : Symbol(PropsDefinition, Decl(reverseMappedPartiallyInferableTypes.ts, 21, 1)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 22, 28)) +>RecordPropsDefinition : Symbol(RecordPropsDefinition, Decl(reverseMappedPartiallyInferableTypes.ts, 17, 1)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 22, 28)) + + +declare function extend({ props }: { props: PropsDefinition }): PropsDefinition; +>extend : Symbol(extend, Decl(reverseMappedPartiallyInferableTypes.ts, 22, 58)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 25, 24)) +>props : Symbol(props, Decl(reverseMappedPartiallyInferableTypes.ts, 25, 28)) +>props : Symbol(props, Decl(reverseMappedPartiallyInferableTypes.ts, 25, 39)) +>PropsDefinition : Symbol(PropsDefinition, Decl(reverseMappedPartiallyInferableTypes.ts, 21, 1)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 25, 24)) +>PropsDefinition : Symbol(PropsDefinition, Decl(reverseMappedPartiallyInferableTypes.ts, 21, 1)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 25, 24)) + +interface MyType { +>MyType : Symbol(MyType, Decl(reverseMappedPartiallyInferableTypes.ts, 25, 90)) + + valid: boolean; +>valid : Symbol(MyType.valid, Decl(reverseMappedPartiallyInferableTypes.ts, 27, 18)) +} + +const r = extend({ +>r : Symbol(r, Decl(reverseMappedPartiallyInferableTypes.ts, 31, 5)) +>extend : Symbol(extend, Decl(reverseMappedPartiallyInferableTypes.ts, 22, 58)) + + props: { +>props : Symbol(props, Decl(reverseMappedPartiallyInferableTypes.ts, 31, 18)) + + notResolved: { +>notResolved : Symbol(notResolved, Decl(reverseMappedPartiallyInferableTypes.ts, 32, 12)) + + type: Object as PropType, +>type : Symbol(type, Decl(reverseMappedPartiallyInferableTypes.ts, 33, 22)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>PropType : Symbol(PropType, Decl(reverseMappedPartiallyInferableTypes.ts, 2, 31)) +>MyType : Symbol(MyType, Decl(reverseMappedPartiallyInferableTypes.ts, 25, 90)) + + validator: x => { +>validator : Symbol(validator, Decl(reverseMappedPartiallyInferableTypes.ts, 34, 45)) +>x : Symbol(x, Decl(reverseMappedPartiallyInferableTypes.ts, 35, 22)) + + return x.valid; +>x.valid : Symbol(MyType.valid, Decl(reverseMappedPartiallyInferableTypes.ts, 27, 18)) +>x : Symbol(x, Decl(reverseMappedPartiallyInferableTypes.ts, 35, 22)) +>valid : Symbol(MyType.valid, Decl(reverseMappedPartiallyInferableTypes.ts, 27, 18)) + } + }, + explicit: { +>explicit : Symbol(explicit, Decl(reverseMappedPartiallyInferableTypes.ts, 38, 10)) + + type: Object as PropType, +>type : Symbol(type, Decl(reverseMappedPartiallyInferableTypes.ts, 39, 19)) +>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>PropType : Symbol(PropType, Decl(reverseMappedPartiallyInferableTypes.ts, 2, 31)) +>MyType : Symbol(MyType, Decl(reverseMappedPartiallyInferableTypes.ts, 25, 90)) + + validator: (x: MyType) => { +>validator : Symbol(validator, Decl(reverseMappedPartiallyInferableTypes.ts, 40, 45)) +>x : Symbol(x, Decl(reverseMappedPartiallyInferableTypes.ts, 41, 24)) +>MyType : Symbol(MyType, Decl(reverseMappedPartiallyInferableTypes.ts, 25, 90)) + + return x.valid; +>x.valid : Symbol(MyType.valid, Decl(reverseMappedPartiallyInferableTypes.ts, 27, 18)) +>x : Symbol(x, Decl(reverseMappedPartiallyInferableTypes.ts, 41, 24)) +>valid : Symbol(MyType.valid, Decl(reverseMappedPartiallyInferableTypes.ts, 27, 18)) + } + } + } +}) + +r.explicit +>r.explicit : Symbol(explicit, Decl(reverseMappedPartiallyInferableTypes.ts, 38, 10)) +>r : Symbol(r, Decl(reverseMappedPartiallyInferableTypes.ts, 31, 5)) +>explicit : Symbol(explicit, Decl(reverseMappedPartiallyInferableTypes.ts, 38, 10)) + +r.notResolved +>r.notResolved : Symbol(notResolved, Decl(reverseMappedPartiallyInferableTypes.ts, 32, 12)) +>r : Symbol(r, Decl(reverseMappedPartiallyInferableTypes.ts, 31, 5)) +>notResolved : Symbol(notResolved, Decl(reverseMappedPartiallyInferableTypes.ts, 32, 12)) + +r.explicit.required +>r.explicit.required : Symbol(required, Decl(reverseMappedPartiallyInferableTypes.ts, 14, 32)) +>r.explicit : Symbol(explicit, Decl(reverseMappedPartiallyInferableTypes.ts, 38, 10)) +>r : Symbol(r, Decl(reverseMappedPartiallyInferableTypes.ts, 31, 5)) +>explicit : Symbol(explicit, Decl(reverseMappedPartiallyInferableTypes.ts, 38, 10)) +>required : Symbol(required, Decl(reverseMappedPartiallyInferableTypes.ts, 14, 32)) + +r.notResolved.required +>r.notResolved.required : Symbol(required, Decl(reverseMappedPartiallyInferableTypes.ts, 14, 32)) +>r.notResolved : Symbol(notResolved, Decl(reverseMappedPartiallyInferableTypes.ts, 32, 12)) +>r : Symbol(r, Decl(reverseMappedPartiallyInferableTypes.ts, 31, 5)) +>notResolved : Symbol(notResolved, Decl(reverseMappedPartiallyInferableTypes.ts, 32, 12)) +>required : Symbol(required, Decl(reverseMappedPartiallyInferableTypes.ts, 14, 32)) + +// Modified repro from #30505 + +type Box = { +>Box : Symbol(Box, Decl(reverseMappedPartiallyInferableTypes.ts, 51, 22)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 55, 9)) + + contents?: T; +>contents : Symbol(contents, Decl(reverseMappedPartiallyInferableTypes.ts, 55, 15)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 55, 9)) + + contains?(content: T): boolean; +>contains : Symbol(contains, Decl(reverseMappedPartiallyInferableTypes.ts, 56, 17)) +>content : Symbol(content, Decl(reverseMappedPartiallyInferableTypes.ts, 57, 14)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 55, 9)) + +}; + +type Mapped = { +>Mapped : Symbol(Mapped, Decl(reverseMappedPartiallyInferableTypes.ts, 58, 2)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 60, 12)) + + [K in keyof T]: Box; +>K : Symbol(K, Decl(reverseMappedPartiallyInferableTypes.ts, 61, 5)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 60, 12)) +>Box : Symbol(Box, Decl(reverseMappedPartiallyInferableTypes.ts, 51, 22)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 60, 12)) +>K : Symbol(K, Decl(reverseMappedPartiallyInferableTypes.ts, 61, 5)) +} + +declare function id(arg: Mapped): Mapped; +>id : Symbol(id, Decl(reverseMappedPartiallyInferableTypes.ts, 62, 1)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 64, 20)) +>arg : Symbol(arg, Decl(reverseMappedPartiallyInferableTypes.ts, 64, 23)) +>Mapped : Symbol(Mapped, Decl(reverseMappedPartiallyInferableTypes.ts, 58, 2)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 64, 20)) +>Mapped : Symbol(Mapped, Decl(reverseMappedPartiallyInferableTypes.ts, 58, 2)) +>T : Symbol(T, Decl(reverseMappedPartiallyInferableTypes.ts, 64, 20)) + +// All properties have inferable types + +const obj1 = id({ +>obj1 : Symbol(obj1, Decl(reverseMappedPartiallyInferableTypes.ts, 68, 5)) +>id : Symbol(id, Decl(reverseMappedPartiallyInferableTypes.ts, 62, 1)) + + foo: { +>foo : Symbol(foo, Decl(reverseMappedPartiallyInferableTypes.ts, 68, 17)) + + contents: "" +>contents : Symbol(contents, Decl(reverseMappedPartiallyInferableTypes.ts, 69, 10)) + } +}); + +// Some properties have inferable types + +const obj2 = id({ +>obj2 : Symbol(obj2, Decl(reverseMappedPartiallyInferableTypes.ts, 76, 5)) +>id : Symbol(id, Decl(reverseMappedPartiallyInferableTypes.ts, 62, 1)) + + foo: { +>foo : Symbol(foo, Decl(reverseMappedPartiallyInferableTypes.ts, 76, 17)) + + contents: "", +>contents : Symbol(contents, Decl(reverseMappedPartiallyInferableTypes.ts, 77, 10)) + + contains(k) { +>contains : Symbol(contains, Decl(reverseMappedPartiallyInferableTypes.ts, 78, 21)) +>k : Symbol(k, Decl(reverseMappedPartiallyInferableTypes.ts, 79, 17)) + + return k.length > 0; +>k.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) +>k : Symbol(k, Decl(reverseMappedPartiallyInferableTypes.ts, 79, 17)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) + } + } +}); + +// No properties have inferable types + +const obj3 = id({ +>obj3 : Symbol(obj3, Decl(reverseMappedPartiallyInferableTypes.ts, 87, 5)) +>id : Symbol(id, Decl(reverseMappedPartiallyInferableTypes.ts, 62, 1)) + + foo: { +>foo : Symbol(foo, Decl(reverseMappedPartiallyInferableTypes.ts, 87, 17)) + + contains(k) { +>contains : Symbol(contains, Decl(reverseMappedPartiallyInferableTypes.ts, 88, 10)) +>k : Symbol(k, Decl(reverseMappedPartiallyInferableTypes.ts, 89, 17)) + + return k.length > 0; +>k : Symbol(k, Decl(reverseMappedPartiallyInferableTypes.ts, 89, 17)) + } + } +}); + diff --git a/tests/baselines/reference/reverseMappedPartiallyInferableTypes.types b/tests/baselines/reference/reverseMappedPartiallyInferableTypes.types new file mode 100644 index 00000000000..49cd5cf8962 --- /dev/null +++ b/tests/baselines/reference/reverseMappedPartiallyInferableTypes.types @@ -0,0 +1,231 @@ +=== tests/cases/compiler/reverseMappedPartiallyInferableTypes.ts === +// Repro from #30505 + +export type Prop = { (): T } +>Prop : Prop + +export type PropType = Prop; +>PropType : Prop + +export type PropDefaultValue = T; +>PropDefaultValue : T + + +export type PropValidatorFunction = (value: T) => boolean; +>PropValidatorFunction : PropValidatorFunction +>value : T + +export type PropValidator = PropOptions; +>PropValidator : PropOptions + + +export type PropOptions = { +>PropOptions : PropOptions + + type: PropType; +>type : Prop + + value?: PropDefaultValue, +>value : T | undefined + + required?: boolean; +>required : boolean | undefined + + validator?: PropValidatorFunction; +>validator : PropValidatorFunction | undefined +} + +export type RecordPropsDefinition = { +>RecordPropsDefinition : RecordPropsDefinition + + [K in keyof T]: PropValidator +} +export type PropsDefinition = RecordPropsDefinition; +>PropsDefinition : RecordPropsDefinition + + +declare function extend({ props }: { props: PropsDefinition }): PropsDefinition; +>extend : ({ props }: { props: RecordPropsDefinition; }) => RecordPropsDefinition +>props : RecordPropsDefinition +>props : RecordPropsDefinition + +interface MyType { + valid: boolean; +>valid : boolean +} + +const r = extend({ +>r : RecordPropsDefinition<{ notResolved: MyType; explicit: MyType; }> +>extend({ props: { notResolved: { type: Object as PropType, validator: x => { return x.valid; } }, explicit: { type: Object as PropType, validator: (x: MyType) => { return x.valid; } } }}) : RecordPropsDefinition<{ notResolved: MyType; explicit: MyType; }> +>extend : ({ props }: { props: RecordPropsDefinition; }) => RecordPropsDefinition +>{ props: { notResolved: { type: Object as PropType, validator: x => { return x.valid; } }, explicit: { type: Object as PropType, validator: (x: MyType) => { return x.valid; } } }} : { props: { notResolved: { type: Prop; validator: (x: MyType) => boolean; }; explicit: { type: Prop; validator: (x: MyType) => boolean; }; }; } + + props: { +>props : { notResolved: { type: Prop; validator: (x: MyType) => boolean; }; explicit: { type: Prop; validator: (x: MyType) => boolean; }; } +>{ notResolved: { type: Object as PropType, validator: x => { return x.valid; } }, explicit: { type: Object as PropType, validator: (x: MyType) => { return x.valid; } } } : { notResolved: { type: Prop; validator: (x: MyType) => boolean; }; explicit: { type: Prop; validator: (x: MyType) => boolean; }; } + + notResolved: { +>notResolved : { type: Prop; validator: (x: MyType) => boolean; } +>{ type: Object as PropType, validator: x => { return x.valid; } } : { type: Prop; validator: (x: MyType) => boolean; } + + type: Object as PropType, +>type : Prop +>Object as PropType : Prop +>Object : ObjectConstructor + + validator: x => { +>validator : (x: MyType) => boolean +>x => { return x.valid; } : (x: MyType) => boolean +>x : MyType + + return x.valid; +>x.valid : boolean +>x : MyType +>valid : boolean + } + }, + explicit: { +>explicit : { type: Prop; validator: (x: MyType) => boolean; } +>{ type: Object as PropType, validator: (x: MyType) => { return x.valid; } } : { type: Prop; validator: (x: MyType) => boolean; } + + type: Object as PropType, +>type : Prop +>Object as PropType : Prop +>Object : ObjectConstructor + + validator: (x: MyType) => { +>validator : (x: MyType) => boolean +>(x: MyType) => { return x.valid; } : (x: MyType) => boolean +>x : MyType + + return x.valid; +>x.valid : boolean +>x : MyType +>valid : boolean + } + } + } +}) + +r.explicit +>r.explicit : PropOptions +>r : RecordPropsDefinition<{ notResolved: MyType; explicit: MyType; }> +>explicit : PropOptions + +r.notResolved +>r.notResolved : PropOptions +>r : RecordPropsDefinition<{ notResolved: MyType; explicit: MyType; }> +>notResolved : PropOptions + +r.explicit.required +>r.explicit.required : boolean | undefined +>r.explicit : PropOptions +>r : RecordPropsDefinition<{ notResolved: MyType; explicit: MyType; }> +>explicit : PropOptions +>required : boolean | undefined + +r.notResolved.required +>r.notResolved.required : boolean | undefined +>r.notResolved : PropOptions +>r : RecordPropsDefinition<{ notResolved: MyType; explicit: MyType; }> +>notResolved : PropOptions +>required : boolean | undefined + +// Modified repro from #30505 + +type Box = { +>Box : Box + + contents?: T; +>contents : T | undefined + + contains?(content: T): boolean; +>contains : ((content: T) => boolean) | undefined +>content : T + +}; + +type Mapped = { +>Mapped : Mapped + + [K in keyof T]: Box; +} + +declare function id(arg: Mapped): Mapped; +>id : (arg: Mapped) => Mapped +>arg : Mapped + +// All properties have inferable types + +const obj1 = id({ +>obj1 : Mapped<{ foo: string; }> +>id({ foo: { contents: "" }}) : Mapped<{ foo: string; }> +>id : (arg: Mapped) => Mapped +>{ foo: { contents: "" }} : { foo: { contents: string; }; } + + foo: { +>foo : { contents: string; } +>{ contents: "" } : { contents: string; } + + contents: "" +>contents : string +>"" : "" + } +}); + +// Some properties have inferable types + +const obj2 = id({ +>obj2 : Mapped<{ foo: string; }> +>id({ foo: { contents: "", contains(k) { return k.length > 0; } }}) : Mapped<{ foo: string; }> +>id : (arg: Mapped) => Mapped +>{ foo: { contents: "", contains(k) { return k.length > 0; } }} : { foo: { contents: string; contains(k: string): boolean; }; } + + foo: { +>foo : { contents: string; contains(k: string): boolean; } +>{ contents: "", contains(k) { return k.length > 0; } } : { contents: string; contains(k: string): boolean; } + + contents: "", +>contents : string +>"" : "" + + contains(k) { +>contains : (k: string) => boolean +>k : string + + return k.length > 0; +>k.length > 0 : boolean +>k.length : number +>k : string +>length : number +>0 : 0 + } + } +}); + +// No properties have inferable types + +const obj3 = id({ +>obj3 : Mapped +>id({ foo: { contains(k) { return k.length > 0; } }}) : Mapped +>id : (arg: Mapped) => Mapped +>{ foo: { contains(k) { return k.length > 0; } }} : { foo: { contains(k: unknown): boolean; }; } + + foo: { +>foo : { contains(k: unknown): boolean; } +>{ contains(k) { return k.length > 0; } } : { contains(k: unknown): boolean; } + + contains(k) { +>contains : (k: unknown) => boolean +>k : unknown + + return k.length > 0; +>k.length > 0 : boolean +>k.length : any +>k : unknown +>length : any +>0 : 0 + } + } +}); + diff --git a/tests/baselines/reference/smartSelection_JSDoc.baseline b/tests/baselines/reference/smartSelection_JSDoc.baseline new file mode 100644 index 00000000000..6f223644e43 --- /dev/null +++ b/tests/baselines/reference/smartSelection_JSDoc.baseline @@ -0,0 +1,30 @@ +// Not a JSDoc comment +/** + * @param {number} x The number to square + */ +function /**/square(x) { + return x * x; +} + + + square + + +function square(x) { + return x * x; +} + +/** + * @param {number} x The number to square + */ +function square(x) { + return x * x; +} + +// Not a JSDoc comment +/** + * @param {number} x The number to square + */ +function square(x) { + return x * x; +} \ No newline at end of file diff --git a/tests/baselines/reference/smartSelection_behindCaret.baseline b/tests/baselines/reference/smartSelection_behindCaret.baseline new file mode 100644 index 00000000000..6b7b393f7ea --- /dev/null +++ b/tests/baselines/reference/smartSelection_behindCaret.baseline @@ -0,0 +1,4 @@ +let/**/ x: string + +let +let x: string \ No newline at end of file diff --git a/tests/baselines/reference/smartSelection_bindingPatterns.baseline b/tests/baselines/reference/smartSelection_bindingPatterns.baseline new file mode 100644 index 00000000000..78f3e4a10b7 --- /dev/null +++ b/tests/baselines/reference/smartSelection_bindingPatterns.baseline @@ -0,0 +1,27 @@ +const { /**/x, y: a, ...zs = {} } = {}; + + x + x, y: a, ...zs = {} + { x, y: a, ...zs = {} } +const { x, y: a, ...zs = {} } = {}; + +================================================================================ + +const { x, y: /**/a, ...zs = {} } = {}; + + a + y: a + x, y: a, ...zs = {} + { x, y: a, ...zs = {} } +const { x, y: a, ...zs = {} } = {}; + +================================================================================ + +const { x, y: a, .../**/zs = {} } = {}; + + zs + ...zs + ...zs = {} + x, y: a, ...zs = {} + { x, y: a, ...zs = {} } +const { x, y: a, ...zs = {} } = {}; \ No newline at end of file diff --git a/tests/baselines/reference/smartSelection_complex.baseline b/tests/baselines/reference/smartSelection_complex.baseline new file mode 100644 index 00000000000..c16b1912ae7 --- /dev/null +++ b/tests/baselines/reference/smartSelection_complex.baseline @@ -0,0 +1,12 @@ +type X = IsExactlyAny

extends true ? T : ({ [K in keyof P]: IsExactlyAny extends true ? K extends keyof T ? T[K] : P[/**/K] : P[K]; } & Pick>) + + K + P[K] + K extends keyof T ? T[K] : P[K] + IsExactlyAny extends true ? K extends keyof T ? T[K] : P[K] : P[K] + [K in keyof P]: IsExactlyAny extends true ? K extends keyof T ? T[K] : P[K] : P[K]; + { [K in keyof P]: IsExactlyAny extends true ? K extends keyof T ? T[K] : P[K] : P[K]; } + { [K in keyof P]: IsExactlyAny extends true ? K extends keyof T ? T[K] : P[K] : P[K]; } & Pick> + ({ [K in keyof P]: IsExactlyAny extends true ? K extends keyof T ? T[K] : P[K] : P[K]; } & Pick>) + IsExactlyAny

extends true ? T : ({ [K in keyof P]: IsExactlyAny extends true ? K extends keyof T ? T[K] : P[K] : P[K]; } & Pick>) +type X = IsExactlyAny

extends true ? T : ({ [K in keyof P]: IsExactlyAny extends true ? K extends keyof T ? T[K] : P[K] : P[K]; } & Pick>) \ No newline at end of file diff --git a/tests/baselines/reference/smartSelection_emptyRanges.baseline b/tests/baselines/reference/smartSelection_emptyRanges.baseline new file mode 100644 index 00000000000..8ec58d839ab --- /dev/null +++ b/tests/baselines/reference/smartSelection_emptyRanges.baseline @@ -0,0 +1,140 @@ +class HomePage { + componentDidMount(/**/) { + if (this.props.username) { + return ''; + } + } +} + + + ) + + + componentDidMount() { + if (this.props.username) { + return ''; + } + } + + + ↲ +••componentDidMount() { + if (this.props.username) { + return ''; + } + }↲ + + +class HomePage { + componentDidMount() { + if (this.props.username) { + return ''; + } + } +} + +================================================================================ + +class HomePage { + componentDidMount() { + if (this.props.username/**/) { + return ''; + } + } +} + + + ) + + + if (this.props.username) { + return ''; + } + + + ↲ +••••if (this.props.username) { + return ''; + }↲ +•• + + + componentDidMount() { + if (this.props.username) { + return ''; + } + } + + + ↲ +••componentDidMount() { + if (this.props.username) { + return ''; + } + }↲ + + +class HomePage { + componentDidMount() { + if (this.props.username) { + return ''; + } + } +} + +================================================================================ + +class HomePage { + componentDidMount() { + if (this.props.username) { + return '/**/'; + } + } +} + + + '' + + + return ''; + + + ↲ +••••••return '';↲ +•••• + + + if (this.props.username) { + return ''; + } + + + ↲ +••••if (this.props.username) { + return ''; + }↲ +•• + + + componentDidMount() { + if (this.props.username) { + return ''; + } + } + + + ↲ +••componentDidMount() { + if (this.props.username) { + return ''; + } + }↲ + + +class HomePage { + componentDidMount() { + if (this.props.username) { + return ''; + } + } +} \ No newline at end of file diff --git a/tests/baselines/reference/smartSelection_functionParams1.baseline b/tests/baselines/reference/smartSelection_functionParams1.baseline new file mode 100644 index 00000000000..1162ceb917a --- /dev/null +++ b/tests/baselines/reference/smartSelection_functionParams1.baseline @@ -0,0 +1,25 @@ +function f(/**/p, q?, ...r: any[] = []) {} + + p + p, q?, ...r: any[] = [] +function f(p, q?, ...r: any[] = []) {} + +================================================================================ + +function f(p, /**/q?, ...r: any[] = []) {} + + q + q? + p, q?, ...r: any[] = [] +function f(p, q?, ...r: any[] = []) {} + +================================================================================ + +function f(p, q?, /**/...r: any[] = []) {} + + ... + ...r + ...r: any[] + ...r: any[] = [] + p, q?, ...r: any[] = [] +function f(p, q?, ...r: any[] = []) {} \ No newline at end of file diff --git a/tests/baselines/reference/smartSelection_functionParams2.baseline b/tests/baselines/reference/smartSelection_functionParams2.baseline new file mode 100644 index 00000000000..5f355ff0f0e --- /dev/null +++ b/tests/baselines/reference/smartSelection_functionParams2.baseline @@ -0,0 +1,18 @@ +function f( + a, + /**/b +) {} + + + b + + + ↲ +••a, + b↲ + + +function f( + a, + b +) {} \ No newline at end of file diff --git a/tests/baselines/reference/smartSelection_imports.baseline b/tests/baselines/reference/smartSelection_imports.baseline new file mode 100644 index 00000000000..f3a449ee13e --- /dev/null +++ b/tests/baselines/reference/smartSelection_imports.baseline @@ -0,0 +1,29 @@ +import { /**/x as y, z } from './z'; +import { b } from './'; + +console.log(1); + + + x + + + x as y + + + x as y, z + + + { x as y, z } + + +import { x as y, z } from './z'; + + +import { x as y, z } from './z'; +import { b } from './'; + + +import { x as y, z } from './z'; +import { b } from './'; + +console.log(1); \ No newline at end of file diff --git a/tests/baselines/reference/smartSelection_loneVariableDeclaration.baseline b/tests/baselines/reference/smartSelection_loneVariableDeclaration.baseline new file mode 100644 index 00000000000..df2345bd20f --- /dev/null +++ b/tests/baselines/reference/smartSelection_loneVariableDeclaration.baseline @@ -0,0 +1,4 @@ +const /**/x = 3; + + x +const x = 3; \ No newline at end of file diff --git a/tests/baselines/reference/smartSelection_mappedTypes.baseline b/tests/baselines/reference/smartSelection_mappedTypes.baseline new file mode 100644 index 00000000000..5dd6b37d7fe --- /dev/null +++ b/tests/baselines/reference/smartSelection_mappedTypes.baseline @@ -0,0 +1,65 @@ +type M = { /**/-readonly [K in keyof any]-?: any }; + + - + -readonly + -readonly [K in keyof any]-? + -readonly [K in keyof any]-?: any + { -readonly [K in keyof any]-?: any } +type M = { -readonly [K in keyof any]-?: any }; + +================================================================================ + +type M = { -re/**/adonly [K in keyof any]-?: any }; + + readonly + -readonly + -readonly [K in keyof any]-? + -readonly [K in keyof any]-?: any + { -readonly [K in keyof any]-?: any } +type M = { -readonly [K in keyof any]-?: any }; + +================================================================================ + +type M = { -readonly /**/[K in keyof any]-?: any }; + + [ + [K in keyof any] + -readonly [K in keyof any]-? + -readonly [K in keyof any]-?: any + { -readonly [K in keyof any]-?: any } +type M = { -readonly [K in keyof any]-?: any }; + +================================================================================ + +type M = { -readonly [K in ke/**/yof any]-?: any }; + + keyof + keyof any + K in keyof any + [K in keyof any] + -readonly [K in keyof any]-? + -readonly [K in keyof any]-?: any + { -readonly [K in keyof any]-?: any } +type M = { -readonly [K in keyof any]-?: any }; + +================================================================================ + +type M = { -readonly [K in keyof any]/**/-?: any }; + + - + -? + -readonly [K in keyof any]-? + -readonly [K in keyof any]-?: any + { -readonly [K in keyof any]-?: any } +type M = { -readonly [K in keyof any]-?: any }; + +================================================================================ + +type M = { -readonly [K in keyof any]-/**/?: any }; + + ? + -? + -readonly [K in keyof any]-? + -readonly [K in keyof any]-?: any + { -readonly [K in keyof any]-?: any } +type M = { -readonly [K in keyof any]-?: any }; \ No newline at end of file diff --git a/tests/baselines/reference/smartSelection_objectTypes.baseline b/tests/baselines/reference/smartSelection_objectTypes.baseline new file mode 100644 index 00000000000..612d5df2faa --- /dev/null +++ b/tests/baselines/reference/smartSelection_objectTypes.baseline @@ -0,0 +1,174 @@ +type X = { + /**/foo?: string; + readonly bar: { x: number }; + meh +} + + + foo + + + foo? + + + foo?: string; + + + ↲ +••foo?: string; + readonly bar: { x: number }; + meh↲ + + + { + foo?: string; + readonly bar: { x: number }; + meh +} + +type X = { + foo?: string; + readonly bar: { x: number }; + meh +} + +================================================================================ + +type X = { + foo?: string; + /**/readonly bar: { x: number }; + meh +} + + + readonly + + + readonly bar + + + readonly bar: { x: number }; + + + ↲ +••foo?: string; + readonly bar: { x: number }; + meh↲ + + + { + foo?: string; + readonly bar: { x: number }; + meh +} + +type X = { + foo?: string; + readonly bar: { x: number }; + meh +} + +================================================================================ + +type X = { + foo?: string; + readonly /**/bar: { x: number }; + meh +} + + + bar + + + readonly bar + + + readonly bar: { x: number }; + + + ↲ +••foo?: string; + readonly bar: { x: number }; + meh↲ + + + { + foo?: string; + readonly bar: { x: number }; + meh +} + +type X = { + foo?: string; + readonly bar: { x: number }; + meh +} + +================================================================================ + +type X = { + foo?: string; + readonly bar: { x: num/**/ber }; + meh +} + + + number + + + x: number + + + { x: number } + + + readonly bar: { x: number }; + + + ↲ +••foo?: string; + readonly bar: { x: number }; + meh↲ + + + { + foo?: string; + readonly bar: { x: number }; + meh +} + +type X = { + foo?: string; + readonly bar: { x: number }; + meh +} + +================================================================================ + +type X = { + foo?: string; + readonly bar: { x: number }; + /**/meh +} + + + meh + + + ↲ +••foo?: string; + readonly bar: { x: number }; + meh↲ + + + { + foo?: string; + readonly bar: { x: number }; + meh +} + +type X = { + foo?: string; + readonly bar: { x: number }; + meh +} \ No newline at end of file diff --git a/tests/baselines/reference/smartSelection_simple1.baseline b/tests/baselines/reference/smartSelection_simple1.baseline new file mode 100644 index 00000000000..f28c607c524 --- /dev/null +++ b/tests/baselines/reference/smartSelection_simple1.baseline @@ -0,0 +1,116 @@ +class Foo { + bar(a, b) { + if (/**/a === b) { + return true; + } + return false; + } +} + + + a + + + a === b + + + if (a === b) { + return true; + } + + + ↲ +••••••if (a === b) { + return true; + } + return false;↲ +•• + + + bar(a, b) { + if (a === b) { + return true; + } + return false; + } + + + ↲ +••bar(a, b) { + if (a === b) { + return true; + } + return false; + }↲ + + +class Foo { + bar(a, b) { + if (a === b) { + return true; + } + return false; + } +} + +================================================================================ + +class Foo { + bar(a, b) { + if (a === b) { + return tr/**/ue; + } + return false; + } +} + + + true + + + return true; + + + ↲ +••••••••••return true;↲ +•••••• + + + if (a === b) { + return true; + } + + + ↲ +••••••if (a === b) { + return true; + } + return false;↲ +•• + + + bar(a, b) { + if (a === b) { + return true; + } + return false; + } + + + ↲ +••bar(a, b) { + if (a === b) { + return true; + } + return false; + }↲ + + +class Foo { + bar(a, b) { + if (a === b) { + return true; + } + return false; + } +} \ No newline at end of file diff --git a/tests/baselines/reference/smartSelection_simple2.baseline b/tests/baselines/reference/smartSelection_simple2.baseline new file mode 100644 index 00000000000..2c4b520d449 --- /dev/null +++ b/tests/baselines/reference/smartSelection_simple2.baseline @@ -0,0 +1,63 @@ +export interface IService { + _serviceBrand: any; + + open(ho/**/st: number, data: any): Promise; + bar(): void +} + + + host + + + host: number + + + host: number, data: any + + + open(host: number, data: any): Promise; + + + ↲ +••_serviceBrand: any; + + open(host: number, data: any): Promise; + bar(): void↲ + + +export interface IService { + _serviceBrand: any; + + open(host: number, data: any): Promise; + bar(): void +} + +================================================================================ + +export interface IService { + _serviceBrand: any; + + open(host: number, data: any): Promise; + bar(): void/**/ +} + + + void + + + bar(): void + + + ↲ +••_serviceBrand: any; + + open(host: number, data: any): Promise; + bar(): void↲ + + +export interface IService { + _serviceBrand: any; + + open(host: number, data: any): Promise; + bar(): void +} \ No newline at end of file diff --git a/tests/baselines/reference/smartSelection_templateStrings.baseline b/tests/baselines/reference/smartSelection_templateStrings.baseline new file mode 100644 index 00000000000..91fec157842 --- /dev/null +++ b/tests/baselines/reference/smartSelection_templateStrings.baseline @@ -0,0 +1,37 @@ +`a /**/b ${ + 'c' +} d` + + + a b ${ + 'c' +} d + +`a b ${ + 'c' +} d` + +================================================================================ + +`a b ${ + '/**/c' +} d` + + + c + + + 'c' + + + ${ + 'c' +} + + a b ${ + 'c' +} d + +`a b ${ + 'c' +} d` \ No newline at end of file diff --git a/tests/baselines/reference/spreadUnion2.errors.txt b/tests/baselines/reference/spreadUnion2.errors.txt index 0115c449930..f2c1bc75778 100644 --- a/tests/baselines/reference/spreadUnion2.errors.txt +++ b/tests/baselines/reference/spreadUnion2.errors.txt @@ -14,28 +14,34 @@ tests/cases/conformance/types/spread/spreadUnion2.ts(18,5): error TS2403: Subseq var o1 = { ...undefinedUnion }; ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'o1' must be of type '{} | { a: number; }', but here has type '{}'. +!!! related TS6203 tests/cases/conformance/types/spread/spreadUnion2.ts:4:5: 'o1' was also declared here. var o2: {} | { b: number }; var o2 = { ...nullUnion }; ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'o2' must be of type '{} | { b: number; }', but here has type '{}'. +!!! related TS6203 tests/cases/conformance/types/spread/spreadUnion2.ts:7:5: 'o2' was also declared here. var o3: {} | { a: number } | { b: number } | { a: number, b: number }; var o3 = { ...undefinedUnion, ...nullUnion }; ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'o3' must be of type '{} | { a: number; } | { b: number; } | { a: number; b: number; }', but here has type '{}'. +!!! related TS6203 tests/cases/conformance/types/spread/spreadUnion2.ts:10:5: 'o3' was also declared here. var o3 = { ...nullUnion, ...undefinedUnion }; ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'o3' must be of type '{} | { a: number; } | { b: number; } | { a: number; b: number; }', but here has type '{}'. +!!! related TS6203 tests/cases/conformance/types/spread/spreadUnion2.ts:10:5: 'o3' was also declared here. var o4: {} | { a: number }; var o4 = { ...undefinedUnion, ...undefinedUnion }; ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'o4' must be of type '{} | { a: number; }', but here has type '{}'. +!!! related TS6203 tests/cases/conformance/types/spread/spreadUnion2.ts:14:5: 'o4' was also declared here. var o5: {} | { b: number }; var o5 = { ...nullUnion, ...nullUnion }; ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'o5' must be of type '{} | { b: number; }', but here has type '{}'. +!!! related TS6203 tests/cases/conformance/types/spread/spreadUnion2.ts:17:5: 'o5' was also declared here. \ No newline at end of file diff --git a/tests/baselines/reference/strictFunctionTypesErrors.errors.txt b/tests/baselines/reference/strictFunctionTypesErrors.errors.txt index d24b88a7a94..3ff04c44fb7 100644 --- a/tests/baselines/reference/strictFunctionTypesErrors.errors.txt +++ b/tests/baselines/reference/strictFunctionTypesErrors.errors.txt @@ -62,9 +62,13 @@ tests/cases/compiler/strictFunctionTypesErrors.ts(84,1): error TS2322: Type 'Fun tests/cases/compiler/strictFunctionTypesErrors.ts(111,1): error TS2322: Type 'Comparer2' is not assignable to type 'Comparer2'. Property 'dog' is missing in type 'Animal' but required in type 'Dog'. tests/cases/compiler/strictFunctionTypesErrors.ts(126,1): error TS2322: Type 'Crate' is not assignable to type 'Crate'. - Type 'Animal' is not assignable to type 'Dog'. + Types of property 'onSetItem' are incompatible. + Type '(item: Dog) => void' is not assignable to type '(item: Animal) => void'. + Types of parameters 'item' and 'item' are incompatible. + Type 'Animal' is not assignable to type 'Dog'. tests/cases/compiler/strictFunctionTypesErrors.ts(127,1): error TS2322: Type 'Crate' is not assignable to type 'Crate'. - Type 'Animal' is not assignable to type 'Dog'. + Types of property 'item' are incompatible. + Type 'Animal' is not assignable to type 'Dog'. tests/cases/compiler/strictFunctionTypesErrors.ts(133,1): error TS2322: Type '(f: (x: Dog) => Dog) => void' is not assignable to type '(f: (x: Animal) => Animal) => void'. Types of parameters 'f' and 'f' are incompatible. Type 'Animal' is not assignable to type 'Dog'. @@ -304,11 +308,15 @@ tests/cases/compiler/strictFunctionTypesErrors.ts(155,5): error TS2322: Type '(c animalCrate = dogCrate; // Error ~~~~~~~~~~~ !!! error TS2322: Type 'Crate' is not assignable to type 'Crate'. -!!! error TS2322: Type 'Animal' is not assignable to type 'Dog'. +!!! error TS2322: Types of property 'onSetItem' are incompatible. +!!! error TS2322: Type '(item: Dog) => void' is not assignable to type '(item: Animal) => void'. +!!! error TS2322: Types of parameters 'item' and 'item' are incompatible. +!!! error TS2322: Type 'Animal' is not assignable to type 'Dog'. dogCrate = animalCrate; // Error ~~~~~~~~ !!! error TS2322: Type 'Crate' is not assignable to type 'Crate'. -!!! error TS2322: Type 'Animal' is not assignable to type 'Dog'. +!!! error TS2322: Types of property 'item' are incompatible. +!!! error TS2322: Type 'Animal' is not assignable to type 'Dog'. // Verify that callback parameters are strictly checked diff --git a/tests/baselines/reference/strictTupleLength.errors.txt b/tests/baselines/reference/strictTupleLength.errors.txt index 933c6e4dcdb..78cf7b47e97 100644 --- a/tests/baselines/reference/strictTupleLength.errors.txt +++ b/tests/baselines/reference/strictTupleLength.errors.txt @@ -17,9 +17,11 @@ tests/cases/conformance/types/tuple/strictTupleLength.ts(18,1): error TS2741: Pr var t1 = t2; // error ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 't1' must be of type '[number]', but here has type '[number, number]'. +!!! related TS6203 tests/cases/conformance/types/tuple/strictTupleLength.ts:2:5: 't1' was also declared here. var t2 = t1; // error ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 't2' must be of type '[number, number]', but here has type '[number]'. +!!! related TS6203 tests/cases/conformance/types/tuple/strictTupleLength.ts:3:5: 't2' was also declared here. type A = T['length']; var b: A<[boolean]>; diff --git a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.errors.txt b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.errors.txt index b7018031a69..c678337cfc9 100644 --- a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.errors.txt @@ -83,6 +83,7 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInference var a9e: {}; ~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a9e' must be of type '{ x: number; z: Date; y?: undefined; } | { x: number; y: string; z?: undefined; }', but here has type '{}'. +!!! related TS6203 tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInference.ts:75:5: 'a9e' was also declared here. // Generic tag with multiple parameters of generic type passed arguments with a single best common type var a9d = someGenerics9 `${ { x: 3 }}${ { x: 6 }}${ { x: 6 } }`; diff --git a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.errors.txt b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.errors.txt index ae63e6fd04d..e03b06d72e0 100644 --- a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.errors.txt @@ -83,6 +83,7 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInference var a9e: {}; ~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a9e' must be of type '{ x: number; z: Date; y?: undefined; } | { x: number; y: string; z?: undefined; }', but here has type '{}'. +!!! related TS6203 tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInferenceES6.ts:75:5: 'a9e' was also declared here. // Generic tag with multiple parameters of generic type passed arguments with a single best common type var a9d = someGenerics9 `${ { x: 3 }}${ { x: 6 }}${ { x: 6 } }`; diff --git a/tests/baselines/reference/thisConditionalOnMethodReturnOfGenericInstance.js b/tests/baselines/reference/thisConditionalOnMethodReturnOfGenericInstance.js new file mode 100644 index 00000000000..c903864eb67 --- /dev/null +++ b/tests/baselines/reference/thisConditionalOnMethodReturnOfGenericInstance.js @@ -0,0 +1,59 @@ +//// [thisConditionalOnMethodReturnOfGenericInstance.ts] +class A { + unmeasurableUsage!: {[K in keyof T]-?: T[K]}; +} + +class B extends A { + method(): string | (this extends C ? undefined : null) { + return ""; + } +} + +class C extends B { + marker!: string; +} + +const x = new C<{}>(); + +const y = x.method(); // usage flags `method` in `B` as circular and marks `y` as the error-any type + + +//// [thisConditionalOnMethodReturnOfGenericInstance.js] +"use strict"; +var __extends = (this && this.__extends) || (function () { + var extendStatics = function (d, b) { + extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return extendStatics(d, b); + }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var A = /** @class */ (function () { + function A() { + } + return A; +}()); +var B = /** @class */ (function (_super) { + __extends(B, _super); + function B() { + return _super !== null && _super.apply(this, arguments) || this; + } + B.prototype.method = function () { + return ""; + }; + return B; +}(A)); +var C = /** @class */ (function (_super) { + __extends(C, _super); + function C() { + return _super !== null && _super.apply(this, arguments) || this; + } + return C; +}(B)); +var x = new C(); +var y = x.method(); // usage flags `method` in `B` as circular and marks `y` as the error-any type diff --git a/tests/baselines/reference/thisConditionalOnMethodReturnOfGenericInstance.symbols b/tests/baselines/reference/thisConditionalOnMethodReturnOfGenericInstance.symbols new file mode 100644 index 00000000000..ca81357af14 --- /dev/null +++ b/tests/baselines/reference/thisConditionalOnMethodReturnOfGenericInstance.symbols @@ -0,0 +1,47 @@ +=== tests/cases/compiler/thisConditionalOnMethodReturnOfGenericInstance.ts === +class A { +>A : Symbol(A, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 0, 0)) +>T : Symbol(T, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 0, 8)) + + unmeasurableUsage!: {[K in keyof T]-?: T[K]}; +>unmeasurableUsage : Symbol(A.unmeasurableUsage, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 0, 12)) +>K : Symbol(K, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 1, 26)) +>T : Symbol(T, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 0, 8)) +>T : Symbol(T, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 0, 8)) +>K : Symbol(K, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 1, 26)) +} + +class B extends A { +>B : Symbol(B, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 2, 1)) +>T : Symbol(T, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 4, 8)) +>A : Symbol(A, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 0, 0)) +>T : Symbol(T, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 4, 8)) + + method(): string | (this extends C ? undefined : null) { +>method : Symbol(B.method, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 4, 25)) +>C : Symbol(C, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 8, 1)) + + return ""; + } +} + +class C extends B { +>C : Symbol(C, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 8, 1)) +>T : Symbol(T, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 10, 8)) +>B : Symbol(B, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 2, 1)) +>T : Symbol(T, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 10, 8)) + + marker!: string; +>marker : Symbol(C.marker, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 10, 31)) +} + +const x = new C<{}>(); +>x : Symbol(x, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 14, 5)) +>C : Symbol(C, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 8, 1)) + +const y = x.method(); // usage flags `method` in `B` as circular and marks `y` as the error-any type +>y : Symbol(y, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 16, 5)) +>x.method : Symbol(B.method, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 4, 25)) +>x : Symbol(x, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 14, 5)) +>method : Symbol(B.method, Decl(thisConditionalOnMethodReturnOfGenericInstance.ts, 4, 25)) + diff --git a/tests/baselines/reference/thisConditionalOnMethodReturnOfGenericInstance.types b/tests/baselines/reference/thisConditionalOnMethodReturnOfGenericInstance.types new file mode 100644 index 00000000000..8ec248f9d53 --- /dev/null +++ b/tests/baselines/reference/thisConditionalOnMethodReturnOfGenericInstance.types @@ -0,0 +1,41 @@ +=== tests/cases/compiler/thisConditionalOnMethodReturnOfGenericInstance.ts === +class A { +>A : A + + unmeasurableUsage!: {[K in keyof T]-?: T[K]}; +>unmeasurableUsage : { [K in keyof T]-?: T[K]; } +} + +class B extends A { +>B : B +>A : A + + method(): string | (this extends C ? undefined : null) { +>method : () => string | (this extends C ? undefined : null) +>null : null + + return ""; +>"" : "" + } +} + +class C extends B { +>C : C +>B : B + + marker!: string; +>marker : string +} + +const x = new C<{}>(); +>x : C<{}> +>new C<{}>() : C<{}> +>C : typeof C + +const y = x.method(); // usage flags `method` in `B` as circular and marks `y` as the error-any type +>y : string | undefined +>x.method() : string | undefined +>x.method : () => string | undefined +>x : C<{}> +>method : () => string | undefined + diff --git a/tests/baselines/reference/trailingCommasInBindingPatterns.js b/tests/baselines/reference/trailingCommasInBindingPatterns.js index 0c51acc8af8..e25c1cbbdb5 100644 --- a/tests/baselines/reference/trailingCommasInBindingPatterns.js +++ b/tests/baselines/reference/trailingCommasInBindingPatterns.js @@ -19,8 +19,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var a = [].slice(0); diff --git a/tests/baselines/reference/tsbuild/amdModulesWithOut/incremental-declaration-doesnt-change/multiple-emitHelpers-in-all-projects.js b/tests/baselines/reference/tsbuild/amdModulesWithOut/incremental-declaration-doesnt-change/multiple-emitHelpers-in-all-projects.js index 82831036ffb..e71e158b6bc 100644 --- a/tests/baselines/reference/tsbuild/amdModulesWithOut/incremental-declaration-doesnt-change/multiple-emitHelpers-in-all-projects.js +++ b/tests/baselines/reference/tsbuild/amdModulesWithOut/incremental-declaration-doesnt-change/multiple-emitHelpers-in-all-projects.js @@ -24,8 +24,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var myGlob = 20; @@ -70,7 +72,7 @@ appfile4Spread.apply(void 0, __spread([10, 20, 30])); //# sourceMappingURL=module.js.map //// [/src/app/module.js.map] -{"version":3,"file":"module.js","sourceRoot":"","sources":["../lib/file0.ts","../lib/file1.ts","../lib/file2.ts","../lib/global.ts","file3.ts","file4.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,MAAM,GAAG,EAAE,CAAC;AAClB,SAAS,cAAc;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AAC3C,cAAc,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;;;;ICFnB,QAAA,CAAC,GAAG,EAAE,CAAC;IAAA,SAAS,eAAe;QAC5C,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;IAChD,CAAC;IAAA,OAAO,CAAC,GAAG,CAAC,SAAC,CAAC,CAAC;;;;;ICFH,QAAA,CAAC,GAAG,EAAE,CAAC;;ACApB,IAAM,WAAW,GAAG,EAAE,CAAC;;;;ICAV,QAAA,CAAC,GAAG,EAAE,CAAC;IACM,SAAS,eAAe;QAClD,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;IAChD,CAAC;;ACHD,IAAM,KAAK,GAAG,EAAE,CAAC;AACjB,SAAS,cAAc;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AAC3C,cAAc,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE"} +{"version":3,"file":"module.js","sourceRoot":"","sources":["../lib/file0.ts","../lib/file1.ts","../lib/file2.ts","../lib/global.ts","file3.ts","file4.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,MAAM,GAAG,EAAE,CAAC;AAClB,SAAS,cAAc;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AAC3C,cAAc,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;;;;ICFnB,QAAA,CAAC,GAAG,EAAE,CAAC;IAAA,SAAS,eAAe;QAC5C,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;IAChD,CAAC;IAAA,OAAO,CAAC,GAAG,CAAC,SAAC,CAAC,CAAC;;;;;ICFH,QAAA,CAAC,GAAG,EAAE,CAAC;;ACApB,IAAM,WAAW,GAAG,EAAE,CAAC;;;;ICAV,QAAA,CAAC,GAAG,EAAE,CAAC;IACM,SAAS,eAAe;QAClD,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;IAChD,CAAC;;ACHD,IAAM,KAAK,GAAG,EAAE,CAAC;AACjB,SAAS,cAAc;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AAC3C,cAAc,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE"} //// [/src/app/module.js.map.baseline.txt] =================================================================== @@ -108,8 +110,10 @@ sourceFile:../lib/file0.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var myGlob = 20; @@ -126,12 +130,12 @@ sourceFile:../lib/file0.ts 4 > = 5 > 20 6 > ; -1 >Emitted(30, 1) Source(1, 1) + SourceIndex(0) -2 >Emitted(30, 5) Source(1, 7) + SourceIndex(0) -3 >Emitted(30, 11) Source(1, 13) + SourceIndex(0) -4 >Emitted(30, 14) Source(1, 16) + SourceIndex(0) -5 >Emitted(30, 16) Source(1, 18) + SourceIndex(0) -6 >Emitted(30, 17) Source(1, 19) + SourceIndex(0) +1 >Emitted(32, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(32, 5) Source(1, 7) + SourceIndex(0) +3 >Emitted(32, 11) Source(1, 13) + SourceIndex(0) +4 >Emitted(32, 14) Source(1, 16) + SourceIndex(0) +5 >Emitted(32, 16) Source(1, 18) + SourceIndex(0) +6 >Emitted(32, 17) Source(1, 19) + SourceIndex(0) --- >>>function libfile0Spread() { 1-> @@ -141,9 +145,9 @@ sourceFile:../lib/file0.ts > 2 >function 3 > libfile0Spread -1->Emitted(31, 1) Source(2, 1) + SourceIndex(0) -2 >Emitted(31, 10) Source(2, 10) + SourceIndex(0) -3 >Emitted(31, 24) Source(2, 24) + SourceIndex(0) +1->Emitted(33, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(33, 10) Source(2, 10) + SourceIndex(0) +3 >Emitted(33, 24) Source(2, 24) + SourceIndex(0) --- >>> var b = []; 1 >^^^^ @@ -151,8 +155,8 @@ sourceFile:../lib/file0.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >( 2 > ...b: number[] -1 >Emitted(32, 5) Source(2, 25) + SourceIndex(0) -2 >Emitted(32, 16) Source(2, 39) + SourceIndex(0) +1 >Emitted(34, 5) Source(2, 25) + SourceIndex(0) +2 >Emitted(34, 16) Source(2, 39) + SourceIndex(0) --- >>> for (var _i = 0; _i < arguments.length; _i++) { 1->^^^^^^^^^ @@ -167,20 +171,20 @@ sourceFile:../lib/file0.ts 4 > ...b: number[] 5 > 6 > ...b: number[] -1->Emitted(33, 10) Source(2, 25) + SourceIndex(0) -2 >Emitted(33, 20) Source(2, 39) + SourceIndex(0) -3 >Emitted(33, 22) Source(2, 25) + SourceIndex(0) -4 >Emitted(33, 43) Source(2, 39) + SourceIndex(0) -5 >Emitted(33, 45) Source(2, 25) + SourceIndex(0) -6 >Emitted(33, 49) Source(2, 39) + SourceIndex(0) +1->Emitted(35, 10) Source(2, 25) + SourceIndex(0) +2 >Emitted(35, 20) Source(2, 39) + SourceIndex(0) +3 >Emitted(35, 22) Source(2, 25) + SourceIndex(0) +4 >Emitted(35, 43) Source(2, 39) + SourceIndex(0) +5 >Emitted(35, 45) Source(2, 25) + SourceIndex(0) +6 >Emitted(35, 49) Source(2, 39) + SourceIndex(0) --- >>> b[_i] = arguments[_i]; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > ...b: number[] -1 >Emitted(34, 9) Source(2, 25) + SourceIndex(0) -2 >Emitted(34, 31) Source(2, 39) + SourceIndex(0) +1 >Emitted(36, 9) Source(2, 25) + SourceIndex(0) +2 >Emitted(36, 31) Source(2, 39) + SourceIndex(0) --- >>> } >>>} @@ -189,8 +193,8 @@ sourceFile:../lib/file0.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >) { 2 >} -1 >Emitted(36, 1) Source(2, 43) + SourceIndex(0) -2 >Emitted(36, 2) Source(2, 44) + SourceIndex(0) +1 >Emitted(38, 1) Source(2, 43) + SourceIndex(0) +2 >Emitted(38, 2) Source(2, 44) + SourceIndex(0) --- >>>libfile0Spread.apply(void 0, __spread([10, 20, 30])); 1-> @@ -217,17 +221,17 @@ sourceFile:../lib/file0.ts 9 > 30 10> ] 11> ); -1->Emitted(37, 1) Source(3, 1) + SourceIndex(0) -2 >Emitted(37, 15) Source(3, 15) + SourceIndex(0) -3 >Emitted(37, 39) Source(3, 19) + SourceIndex(0) -4 >Emitted(37, 40) Source(3, 20) + SourceIndex(0) -5 >Emitted(37, 42) Source(3, 22) + SourceIndex(0) -6 >Emitted(37, 44) Source(3, 24) + SourceIndex(0) -7 >Emitted(37, 46) Source(3, 26) + SourceIndex(0) -8 >Emitted(37, 48) Source(3, 28) + SourceIndex(0) -9 >Emitted(37, 50) Source(3, 30) + SourceIndex(0) -10>Emitted(37, 51) Source(3, 31) + SourceIndex(0) -11>Emitted(37, 54) Source(3, 33) + SourceIndex(0) +1->Emitted(39, 1) Source(3, 1) + SourceIndex(0) +2 >Emitted(39, 15) Source(3, 15) + SourceIndex(0) +3 >Emitted(39, 39) Source(3, 19) + SourceIndex(0) +4 >Emitted(39, 40) Source(3, 20) + SourceIndex(0) +5 >Emitted(39, 42) Source(3, 22) + SourceIndex(0) +6 >Emitted(39, 44) Source(3, 24) + SourceIndex(0) +7 >Emitted(39, 46) Source(3, 26) + SourceIndex(0) +8 >Emitted(39, 48) Source(3, 28) + SourceIndex(0) +9 >Emitted(39, 50) Source(3, 30) + SourceIndex(0) +10>Emitted(39, 51) Source(3, 31) + SourceIndex(0) +11>Emitted(39, 54) Source(3, 33) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/app/module.js @@ -250,12 +254,12 @@ sourceFile:../lib/file1.ts 4 > = 5 > 10 6 > ; -1->Emitted(41, 5) Source(1, 14) + SourceIndex(1) -2 >Emitted(41, 13) Source(1, 14) + SourceIndex(1) -3 >Emitted(41, 14) Source(1, 15) + SourceIndex(1) -4 >Emitted(41, 17) Source(1, 18) + SourceIndex(1) -5 >Emitted(41, 19) Source(1, 20) + SourceIndex(1) -6 >Emitted(41, 20) Source(1, 21) + SourceIndex(1) +1->Emitted(43, 5) Source(1, 14) + SourceIndex(1) +2 >Emitted(43, 13) Source(1, 14) + SourceIndex(1) +3 >Emitted(43, 14) Source(1, 15) + SourceIndex(1) +4 >Emitted(43, 17) Source(1, 18) + SourceIndex(1) +5 >Emitted(43, 19) Source(1, 20) + SourceIndex(1) +6 >Emitted(43, 20) Source(1, 21) + SourceIndex(1) --- >>> function forlibfile1Rest() { 1->^^^^ @@ -265,9 +269,9 @@ sourceFile:../lib/file1.ts 1-> 2 > function 3 > forlibfile1Rest -1->Emitted(42, 5) Source(1, 21) + SourceIndex(1) -2 >Emitted(42, 14) Source(1, 30) + SourceIndex(1) -3 >Emitted(42, 29) Source(1, 45) + SourceIndex(1) +1->Emitted(44, 5) Source(1, 21) + SourceIndex(1) +2 >Emitted(44, 14) Source(1, 30) + SourceIndex(1) +3 >Emitted(44, 29) Source(1, 45) + SourceIndex(1) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^^^^^ @@ -287,14 +291,14 @@ sourceFile:../lib/file1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(43, 9) Source(2, 1) + SourceIndex(1) -2 >Emitted(43, 13) Source(2, 7) + SourceIndex(1) -3 >Emitted(43, 42) Source(2, 48) + SourceIndex(1) -4 >Emitted(43, 44) Source(2, 9) + SourceIndex(1) -5 >Emitted(43, 52) Source(2, 10) + SourceIndex(1) -6 >Emitted(43, 54) Source(2, 12) + SourceIndex(1) -7 >Emitted(43, 78) Source(2, 48) + SourceIndex(1) -8 >Emitted(43, 79) Source(2, 49) + SourceIndex(1) +1->Emitted(45, 9) Source(2, 1) + SourceIndex(1) +2 >Emitted(45, 13) Source(2, 7) + SourceIndex(1) +3 >Emitted(45, 42) Source(2, 48) + SourceIndex(1) +4 >Emitted(45, 44) Source(2, 9) + SourceIndex(1) +5 >Emitted(45, 52) Source(2, 10) + SourceIndex(1) +6 >Emitted(45, 54) Source(2, 12) + SourceIndex(1) +7 >Emitted(45, 78) Source(2, 48) + SourceIndex(1) +8 >Emitted(45, 79) Source(2, 49) + SourceIndex(1) --- >>> } 1 >^^^^ @@ -303,8 +307,8 @@ sourceFile:../lib/file1.ts 1 > > 2 > } -1 >Emitted(44, 5) Source(3, 1) + SourceIndex(1) -2 >Emitted(44, 6) Source(3, 2) + SourceIndex(1) +1 >Emitted(46, 5) Source(3, 1) + SourceIndex(1) +2 >Emitted(46, 6) Source(3, 2) + SourceIndex(1) --- >>> console.log(exports.x); 1->^^^^ @@ -323,14 +327,14 @@ sourceFile:../lib/file1.ts 6 > x 7 > ) 8 > ; -1->Emitted(45, 5) Source(3, 2) + SourceIndex(1) -2 >Emitted(45, 12) Source(3, 9) + SourceIndex(1) -3 >Emitted(45, 13) Source(3, 10) + SourceIndex(1) -4 >Emitted(45, 16) Source(3, 13) + SourceIndex(1) -5 >Emitted(45, 17) Source(3, 14) + SourceIndex(1) -6 >Emitted(45, 26) Source(3, 15) + SourceIndex(1) -7 >Emitted(45, 27) Source(3, 16) + SourceIndex(1) -8 >Emitted(45, 28) Source(3, 17) + SourceIndex(1) +1->Emitted(47, 5) Source(3, 2) + SourceIndex(1) +2 >Emitted(47, 12) Source(3, 9) + SourceIndex(1) +3 >Emitted(47, 13) Source(3, 10) + SourceIndex(1) +4 >Emitted(47, 16) Source(3, 13) + SourceIndex(1) +5 >Emitted(47, 17) Source(3, 14) + SourceIndex(1) +6 >Emitted(47, 26) Source(3, 15) + SourceIndex(1) +7 >Emitted(47, 27) Source(3, 16) + SourceIndex(1) +8 >Emitted(47, 28) Source(3, 17) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/app/module.js @@ -353,12 +357,12 @@ sourceFile:../lib/file2.ts 4 > = 5 > 20 6 > ; -1 >Emitted(50, 5) Source(1, 14) + SourceIndex(2) -2 >Emitted(50, 13) Source(1, 14) + SourceIndex(2) -3 >Emitted(50, 14) Source(1, 15) + SourceIndex(2) -4 >Emitted(50, 17) Source(1, 18) + SourceIndex(2) -5 >Emitted(50, 19) Source(1, 20) + SourceIndex(2) -6 >Emitted(50, 20) Source(1, 21) + SourceIndex(2) +1 >Emitted(52, 5) Source(1, 14) + SourceIndex(2) +2 >Emitted(52, 13) Source(1, 14) + SourceIndex(2) +3 >Emitted(52, 14) Source(1, 15) + SourceIndex(2) +4 >Emitted(52, 17) Source(1, 18) + SourceIndex(2) +5 >Emitted(52, 19) Source(1, 20) + SourceIndex(2) +6 >Emitted(52, 20) Source(1, 21) + SourceIndex(2) --- ------------------------------------------------------------------- emittedFile:/src/app/module.js @@ -379,12 +383,12 @@ sourceFile:../lib/global.ts 4 > = 5 > 10 6 > ; -1 >Emitted(52, 1) Source(1, 1) + SourceIndex(3) -2 >Emitted(52, 5) Source(1, 7) + SourceIndex(3) -3 >Emitted(52, 16) Source(1, 18) + SourceIndex(3) -4 >Emitted(52, 19) Source(1, 21) + SourceIndex(3) -5 >Emitted(52, 21) Source(1, 23) + SourceIndex(3) -6 >Emitted(52, 22) Source(1, 24) + SourceIndex(3) +1 >Emitted(54, 1) Source(1, 1) + SourceIndex(3) +2 >Emitted(54, 5) Source(1, 7) + SourceIndex(3) +3 >Emitted(54, 16) Source(1, 18) + SourceIndex(3) +4 >Emitted(54, 19) Source(1, 21) + SourceIndex(3) +5 >Emitted(54, 21) Source(1, 23) + SourceIndex(3) +6 >Emitted(54, 22) Source(1, 24) + SourceIndex(3) --- ------------------------------------------------------------------- emittedFile:/src/app/module.js @@ -407,12 +411,12 @@ sourceFile:file3.ts 4 > = 5 > 30 6 > ; -1->Emitted(56, 5) Source(1, 14) + SourceIndex(4) -2 >Emitted(56, 13) Source(1, 14) + SourceIndex(4) -3 >Emitted(56, 14) Source(1, 15) + SourceIndex(4) -4 >Emitted(56, 17) Source(1, 18) + SourceIndex(4) -5 >Emitted(56, 19) Source(1, 20) + SourceIndex(4) -6 >Emitted(56, 20) Source(1, 21) + SourceIndex(4) +1->Emitted(58, 5) Source(1, 14) + SourceIndex(4) +2 >Emitted(58, 13) Source(1, 14) + SourceIndex(4) +3 >Emitted(58, 14) Source(1, 15) + SourceIndex(4) +4 >Emitted(58, 17) Source(1, 18) + SourceIndex(4) +5 >Emitted(58, 19) Source(1, 20) + SourceIndex(4) +6 >Emitted(58, 20) Source(1, 21) + SourceIndex(4) --- >>> function forappfile3Rest() { 1->^^^^ @@ -423,9 +427,9 @@ sourceFile:file3.ts >import { x } from "file1"; 2 > function 3 > forappfile3Rest -1->Emitted(57, 5) Source(2, 27) + SourceIndex(4) -2 >Emitted(57, 14) Source(2, 36) + SourceIndex(4) -3 >Emitted(57, 29) Source(2, 51) + SourceIndex(4) +1->Emitted(59, 5) Source(2, 27) + SourceIndex(4) +2 >Emitted(59, 14) Source(2, 36) + SourceIndex(4) +3 >Emitted(59, 29) Source(2, 51) + SourceIndex(4) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^^^^^ @@ -445,14 +449,14 @@ sourceFile:file3.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(58, 9) Source(3, 1) + SourceIndex(4) -2 >Emitted(58, 13) Source(3, 7) + SourceIndex(4) -3 >Emitted(58, 42) Source(3, 48) + SourceIndex(4) -4 >Emitted(58, 44) Source(3, 9) + SourceIndex(4) -5 >Emitted(58, 52) Source(3, 10) + SourceIndex(4) -6 >Emitted(58, 54) Source(3, 12) + SourceIndex(4) -7 >Emitted(58, 78) Source(3, 48) + SourceIndex(4) -8 >Emitted(58, 79) Source(3, 49) + SourceIndex(4) +1->Emitted(60, 9) Source(3, 1) + SourceIndex(4) +2 >Emitted(60, 13) Source(3, 7) + SourceIndex(4) +3 >Emitted(60, 42) Source(3, 48) + SourceIndex(4) +4 >Emitted(60, 44) Source(3, 9) + SourceIndex(4) +5 >Emitted(60, 52) Source(3, 10) + SourceIndex(4) +6 >Emitted(60, 54) Source(3, 12) + SourceIndex(4) +7 >Emitted(60, 78) Source(3, 48) + SourceIndex(4) +8 >Emitted(60, 79) Source(3, 49) + SourceIndex(4) --- >>> } 1 >^^^^ @@ -460,8 +464,8 @@ sourceFile:file3.ts 1 > > 2 > } -1 >Emitted(59, 5) Source(4, 1) + SourceIndex(4) -2 >Emitted(59, 6) Source(4, 2) + SourceIndex(4) +1 >Emitted(61, 5) Source(4, 1) + SourceIndex(4) +2 >Emitted(61, 6) Source(4, 2) + SourceIndex(4) --- ------------------------------------------------------------------- emittedFile:/src/app/module.js @@ -482,12 +486,12 @@ sourceFile:file4.ts 4 > = 5 > 30 6 > ; -1 >Emitted(61, 1) Source(1, 1) + SourceIndex(5) -2 >Emitted(61, 5) Source(1, 7) + SourceIndex(5) -3 >Emitted(61, 10) Source(1, 12) + SourceIndex(5) -4 >Emitted(61, 13) Source(1, 15) + SourceIndex(5) -5 >Emitted(61, 15) Source(1, 17) + SourceIndex(5) -6 >Emitted(61, 16) Source(1, 18) + SourceIndex(5) +1 >Emitted(63, 1) Source(1, 1) + SourceIndex(5) +2 >Emitted(63, 5) Source(1, 7) + SourceIndex(5) +3 >Emitted(63, 10) Source(1, 12) + SourceIndex(5) +4 >Emitted(63, 13) Source(1, 15) + SourceIndex(5) +5 >Emitted(63, 15) Source(1, 17) + SourceIndex(5) +6 >Emitted(63, 16) Source(1, 18) + SourceIndex(5) --- >>>function appfile4Spread() { 1-> @@ -497,9 +501,9 @@ sourceFile:file4.ts > 2 >function 3 > appfile4Spread -1->Emitted(62, 1) Source(2, 1) + SourceIndex(5) -2 >Emitted(62, 10) Source(2, 10) + SourceIndex(5) -3 >Emitted(62, 24) Source(2, 24) + SourceIndex(5) +1->Emitted(64, 1) Source(2, 1) + SourceIndex(5) +2 >Emitted(64, 10) Source(2, 10) + SourceIndex(5) +3 >Emitted(64, 24) Source(2, 24) + SourceIndex(5) --- >>> var b = []; 1 >^^^^ @@ -507,8 +511,8 @@ sourceFile:file4.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >( 2 > ...b: number[] -1 >Emitted(63, 5) Source(2, 25) + SourceIndex(5) -2 >Emitted(63, 16) Source(2, 39) + SourceIndex(5) +1 >Emitted(65, 5) Source(2, 25) + SourceIndex(5) +2 >Emitted(65, 16) Source(2, 39) + SourceIndex(5) --- >>> for (var _i = 0; _i < arguments.length; _i++) { 1->^^^^^^^^^ @@ -523,20 +527,20 @@ sourceFile:file4.ts 4 > ...b: number[] 5 > 6 > ...b: number[] -1->Emitted(64, 10) Source(2, 25) + SourceIndex(5) -2 >Emitted(64, 20) Source(2, 39) + SourceIndex(5) -3 >Emitted(64, 22) Source(2, 25) + SourceIndex(5) -4 >Emitted(64, 43) Source(2, 39) + SourceIndex(5) -5 >Emitted(64, 45) Source(2, 25) + SourceIndex(5) -6 >Emitted(64, 49) Source(2, 39) + SourceIndex(5) +1->Emitted(66, 10) Source(2, 25) + SourceIndex(5) +2 >Emitted(66, 20) Source(2, 39) + SourceIndex(5) +3 >Emitted(66, 22) Source(2, 25) + SourceIndex(5) +4 >Emitted(66, 43) Source(2, 39) + SourceIndex(5) +5 >Emitted(66, 45) Source(2, 25) + SourceIndex(5) +6 >Emitted(66, 49) Source(2, 39) + SourceIndex(5) --- >>> b[_i] = arguments[_i]; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > ...b: number[] -1 >Emitted(65, 9) Source(2, 25) + SourceIndex(5) -2 >Emitted(65, 31) Source(2, 39) + SourceIndex(5) +1 >Emitted(67, 9) Source(2, 25) + SourceIndex(5) +2 >Emitted(67, 31) Source(2, 39) + SourceIndex(5) --- >>> } >>>} @@ -545,8 +549,8 @@ sourceFile:file4.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >) { 2 >} -1 >Emitted(67, 1) Source(2, 43) + SourceIndex(5) -2 >Emitted(67, 2) Source(2, 44) + SourceIndex(5) +1 >Emitted(69, 1) Source(2, 43) + SourceIndex(5) +2 >Emitted(69, 2) Source(2, 44) + SourceIndex(5) --- >>>appfile4Spread.apply(void 0, __spread([10, 20, 30])); 1-> @@ -572,17 +576,17 @@ sourceFile:file4.ts 9 > 30 10> ] 11> ); -1->Emitted(68, 1) Source(3, 1) + SourceIndex(5) -2 >Emitted(68, 15) Source(3, 15) + SourceIndex(5) -3 >Emitted(68, 39) Source(3, 19) + SourceIndex(5) -4 >Emitted(68, 40) Source(3, 20) + SourceIndex(5) -5 >Emitted(68, 42) Source(3, 22) + SourceIndex(5) -6 >Emitted(68, 44) Source(3, 24) + SourceIndex(5) -7 >Emitted(68, 46) Source(3, 26) + SourceIndex(5) -8 >Emitted(68, 48) Source(3, 28) + SourceIndex(5) -9 >Emitted(68, 50) Source(3, 30) + SourceIndex(5) -10>Emitted(68, 51) Source(3, 31) + SourceIndex(5) -11>Emitted(68, 54) Source(3, 33) + SourceIndex(5) +1->Emitted(70, 1) Source(3, 1) + SourceIndex(5) +2 >Emitted(70, 15) Source(3, 15) + SourceIndex(5) +3 >Emitted(70, 39) Source(3, 19) + SourceIndex(5) +4 >Emitted(70, 40) Source(3, 20) + SourceIndex(5) +5 >Emitted(70, 42) Source(3, 22) + SourceIndex(5) +6 >Emitted(70, 44) Source(3, 24) + SourceIndex(5) +7 >Emitted(70, 46) Source(3, 26) + SourceIndex(5) +8 >Emitted(70, 48) Source(3, 28) + SourceIndex(5) +9 >Emitted(70, 50) Source(3, 30) + SourceIndex(5) +10>Emitted(70, 51) Source(3, 31) + SourceIndex(5) +11>Emitted(70, 54) Source(3, 33) + SourceIndex(5) --- >>>//# sourceMappingURL=module.js.map @@ -610,26 +614,26 @@ sourceFile:file4.ts }, { "pos": 678, - "end": 1093, + "end": 1178, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 1095, - "end": 1850, + "pos": 1180, + "end": 1935, "kind": "prepend", "data": "/src/lib/module.js", "texts": [ { - "pos": 1095, - "end": 1850, + "pos": 1180, + "end": 1935, "kind": "text" } ] }, { - "pos": 1850, - "end": 2368, + "pos": 1935, + "end": 2453, "kind": "text" } ], @@ -695,20 +699,22 @@ var __spread = (this && this.__spread) || function () { return ar; }; ---------------------------------------------------------------------- -emitHelpers: (678-1093):: typescript:rest +emitHelpers: (678-1178):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -prepend: (1095-1850):: /src/lib/module.js texts:: 1 +prepend: (1180-1935):: /src/lib/module.js texts:: 1 >>-------------------------------------------------------------------- -text: (1095-1850) +text: (1180-1935) var myGlob = 20; function libfile0Spread() { var b = []; @@ -734,7 +740,7 @@ define("file2", ["require", "exports"], function (require, exports) { var globalConst = 10; ---------------------------------------------------------------------- -text: (1850-2368) +text: (1935-2453) define("file3", ["require", "exports"], function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -810,8 +816,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var myGlob = 20; @@ -840,7 +848,7 @@ var globalConst = 10; //# sourceMappingURL=module.js.map //// [/src/lib/module.js.map] -{"version":3,"file":"module.js","sourceRoot":"","sources":["file0.ts","file1.ts","file2.ts","global.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,MAAM,GAAG,EAAE,CAAC;AAClB,SAAS,cAAc;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AAC3C,cAAc,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;;;;ICFnB,QAAA,CAAC,GAAG,EAAE,CAAC;IAAA,SAAS,eAAe;QAC5C,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;IAChD,CAAC;IAAA,OAAO,CAAC,GAAG,CAAC,SAAC,CAAC,CAAC;;;;;ICFH,QAAA,CAAC,GAAG,EAAE,CAAC;;ACApB,IAAM,WAAW,GAAG,EAAE,CAAC"} +{"version":3,"file":"module.js","sourceRoot":"","sources":["file0.ts","file1.ts","file2.ts","global.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,MAAM,GAAG,EAAE,CAAC;AAClB,SAAS,cAAc;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AAC3C,cAAc,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;;;;ICFnB,QAAA,CAAC,GAAG,EAAE,CAAC;IAAA,SAAS,eAAe;QAC5C,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;IAChD,CAAC;IAAA,OAAO,CAAC,GAAG,CAAC,SAAC,CAAC,CAAC;;;;;ICFH,QAAA,CAAC,GAAG,EAAE,CAAC;;ACApB,IAAM,WAAW,GAAG,EAAE,CAAC"} //// [/src/lib/module.js.map.baseline.txt] =================================================================== @@ -878,8 +886,10 @@ sourceFile:file0.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var myGlob = 20; @@ -896,12 +906,12 @@ sourceFile:file0.ts 4 > = 5 > 20 6 > ; -1 >Emitted(30, 1) Source(1, 1) + SourceIndex(0) -2 >Emitted(30, 5) Source(1, 7) + SourceIndex(0) -3 >Emitted(30, 11) Source(1, 13) + SourceIndex(0) -4 >Emitted(30, 14) Source(1, 16) + SourceIndex(0) -5 >Emitted(30, 16) Source(1, 18) + SourceIndex(0) -6 >Emitted(30, 17) Source(1, 19) + SourceIndex(0) +1 >Emitted(32, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(32, 5) Source(1, 7) + SourceIndex(0) +3 >Emitted(32, 11) Source(1, 13) + SourceIndex(0) +4 >Emitted(32, 14) Source(1, 16) + SourceIndex(0) +5 >Emitted(32, 16) Source(1, 18) + SourceIndex(0) +6 >Emitted(32, 17) Source(1, 19) + SourceIndex(0) --- >>>function libfile0Spread() { 1-> @@ -911,9 +921,9 @@ sourceFile:file0.ts > 2 >function 3 > libfile0Spread -1->Emitted(31, 1) Source(2, 1) + SourceIndex(0) -2 >Emitted(31, 10) Source(2, 10) + SourceIndex(0) -3 >Emitted(31, 24) Source(2, 24) + SourceIndex(0) +1->Emitted(33, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(33, 10) Source(2, 10) + SourceIndex(0) +3 >Emitted(33, 24) Source(2, 24) + SourceIndex(0) --- >>> var b = []; 1 >^^^^ @@ -921,8 +931,8 @@ sourceFile:file0.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >( 2 > ...b: number[] -1 >Emitted(32, 5) Source(2, 25) + SourceIndex(0) -2 >Emitted(32, 16) Source(2, 39) + SourceIndex(0) +1 >Emitted(34, 5) Source(2, 25) + SourceIndex(0) +2 >Emitted(34, 16) Source(2, 39) + SourceIndex(0) --- >>> for (var _i = 0; _i < arguments.length; _i++) { 1->^^^^^^^^^ @@ -937,20 +947,20 @@ sourceFile:file0.ts 4 > ...b: number[] 5 > 6 > ...b: number[] -1->Emitted(33, 10) Source(2, 25) + SourceIndex(0) -2 >Emitted(33, 20) Source(2, 39) + SourceIndex(0) -3 >Emitted(33, 22) Source(2, 25) + SourceIndex(0) -4 >Emitted(33, 43) Source(2, 39) + SourceIndex(0) -5 >Emitted(33, 45) Source(2, 25) + SourceIndex(0) -6 >Emitted(33, 49) Source(2, 39) + SourceIndex(0) +1->Emitted(35, 10) Source(2, 25) + SourceIndex(0) +2 >Emitted(35, 20) Source(2, 39) + SourceIndex(0) +3 >Emitted(35, 22) Source(2, 25) + SourceIndex(0) +4 >Emitted(35, 43) Source(2, 39) + SourceIndex(0) +5 >Emitted(35, 45) Source(2, 25) + SourceIndex(0) +6 >Emitted(35, 49) Source(2, 39) + SourceIndex(0) --- >>> b[_i] = arguments[_i]; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > ...b: number[] -1 >Emitted(34, 9) Source(2, 25) + SourceIndex(0) -2 >Emitted(34, 31) Source(2, 39) + SourceIndex(0) +1 >Emitted(36, 9) Source(2, 25) + SourceIndex(0) +2 >Emitted(36, 31) Source(2, 39) + SourceIndex(0) --- >>> } >>>} @@ -959,8 +969,8 @@ sourceFile:file0.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >) { 2 >} -1 >Emitted(36, 1) Source(2, 43) + SourceIndex(0) -2 >Emitted(36, 2) Source(2, 44) + SourceIndex(0) +1 >Emitted(38, 1) Source(2, 43) + SourceIndex(0) +2 >Emitted(38, 2) Source(2, 44) + SourceIndex(0) --- >>>libfile0Spread.apply(void 0, __spread([10, 20, 30])); 1-> @@ -987,17 +997,17 @@ sourceFile:file0.ts 9 > 30 10> ] 11> ); -1->Emitted(37, 1) Source(3, 1) + SourceIndex(0) -2 >Emitted(37, 15) Source(3, 15) + SourceIndex(0) -3 >Emitted(37, 39) Source(3, 19) + SourceIndex(0) -4 >Emitted(37, 40) Source(3, 20) + SourceIndex(0) -5 >Emitted(37, 42) Source(3, 22) + SourceIndex(0) -6 >Emitted(37, 44) Source(3, 24) + SourceIndex(0) -7 >Emitted(37, 46) Source(3, 26) + SourceIndex(0) -8 >Emitted(37, 48) Source(3, 28) + SourceIndex(0) -9 >Emitted(37, 50) Source(3, 30) + SourceIndex(0) -10>Emitted(37, 51) Source(3, 31) + SourceIndex(0) -11>Emitted(37, 54) Source(3, 33) + SourceIndex(0) +1->Emitted(39, 1) Source(3, 1) + SourceIndex(0) +2 >Emitted(39, 15) Source(3, 15) + SourceIndex(0) +3 >Emitted(39, 39) Source(3, 19) + SourceIndex(0) +4 >Emitted(39, 40) Source(3, 20) + SourceIndex(0) +5 >Emitted(39, 42) Source(3, 22) + SourceIndex(0) +6 >Emitted(39, 44) Source(3, 24) + SourceIndex(0) +7 >Emitted(39, 46) Source(3, 26) + SourceIndex(0) +8 >Emitted(39, 48) Source(3, 28) + SourceIndex(0) +9 >Emitted(39, 50) Source(3, 30) + SourceIndex(0) +10>Emitted(39, 51) Source(3, 31) + SourceIndex(0) +11>Emitted(39, 54) Source(3, 33) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/lib/module.js @@ -1020,12 +1030,12 @@ sourceFile:file1.ts 4 > = 5 > 10 6 > ; -1->Emitted(41, 5) Source(1, 14) + SourceIndex(1) -2 >Emitted(41, 13) Source(1, 14) + SourceIndex(1) -3 >Emitted(41, 14) Source(1, 15) + SourceIndex(1) -4 >Emitted(41, 17) Source(1, 18) + SourceIndex(1) -5 >Emitted(41, 19) Source(1, 20) + SourceIndex(1) -6 >Emitted(41, 20) Source(1, 21) + SourceIndex(1) +1->Emitted(43, 5) Source(1, 14) + SourceIndex(1) +2 >Emitted(43, 13) Source(1, 14) + SourceIndex(1) +3 >Emitted(43, 14) Source(1, 15) + SourceIndex(1) +4 >Emitted(43, 17) Source(1, 18) + SourceIndex(1) +5 >Emitted(43, 19) Source(1, 20) + SourceIndex(1) +6 >Emitted(43, 20) Source(1, 21) + SourceIndex(1) --- >>> function forlibfile1Rest() { 1->^^^^ @@ -1035,9 +1045,9 @@ sourceFile:file1.ts 1-> 2 > function 3 > forlibfile1Rest -1->Emitted(42, 5) Source(1, 21) + SourceIndex(1) -2 >Emitted(42, 14) Source(1, 30) + SourceIndex(1) -3 >Emitted(42, 29) Source(1, 45) + SourceIndex(1) +1->Emitted(44, 5) Source(1, 21) + SourceIndex(1) +2 >Emitted(44, 14) Source(1, 30) + SourceIndex(1) +3 >Emitted(44, 29) Source(1, 45) + SourceIndex(1) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^^^^^ @@ -1057,14 +1067,14 @@ sourceFile:file1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(43, 9) Source(2, 1) + SourceIndex(1) -2 >Emitted(43, 13) Source(2, 7) + SourceIndex(1) -3 >Emitted(43, 42) Source(2, 48) + SourceIndex(1) -4 >Emitted(43, 44) Source(2, 9) + SourceIndex(1) -5 >Emitted(43, 52) Source(2, 10) + SourceIndex(1) -6 >Emitted(43, 54) Source(2, 12) + SourceIndex(1) -7 >Emitted(43, 78) Source(2, 48) + SourceIndex(1) -8 >Emitted(43, 79) Source(2, 49) + SourceIndex(1) +1->Emitted(45, 9) Source(2, 1) + SourceIndex(1) +2 >Emitted(45, 13) Source(2, 7) + SourceIndex(1) +3 >Emitted(45, 42) Source(2, 48) + SourceIndex(1) +4 >Emitted(45, 44) Source(2, 9) + SourceIndex(1) +5 >Emitted(45, 52) Source(2, 10) + SourceIndex(1) +6 >Emitted(45, 54) Source(2, 12) + SourceIndex(1) +7 >Emitted(45, 78) Source(2, 48) + SourceIndex(1) +8 >Emitted(45, 79) Source(2, 49) + SourceIndex(1) --- >>> } 1 >^^^^ @@ -1073,8 +1083,8 @@ sourceFile:file1.ts 1 > > 2 > } -1 >Emitted(44, 5) Source(3, 1) + SourceIndex(1) -2 >Emitted(44, 6) Source(3, 2) + SourceIndex(1) +1 >Emitted(46, 5) Source(3, 1) + SourceIndex(1) +2 >Emitted(46, 6) Source(3, 2) + SourceIndex(1) --- >>> console.log(exports.x); 1->^^^^ @@ -1093,14 +1103,14 @@ sourceFile:file1.ts 6 > x 7 > ) 8 > ; -1->Emitted(45, 5) Source(3, 2) + SourceIndex(1) -2 >Emitted(45, 12) Source(3, 9) + SourceIndex(1) -3 >Emitted(45, 13) Source(3, 10) + SourceIndex(1) -4 >Emitted(45, 16) Source(3, 13) + SourceIndex(1) -5 >Emitted(45, 17) Source(3, 14) + SourceIndex(1) -6 >Emitted(45, 26) Source(3, 15) + SourceIndex(1) -7 >Emitted(45, 27) Source(3, 16) + SourceIndex(1) -8 >Emitted(45, 28) Source(3, 17) + SourceIndex(1) +1->Emitted(47, 5) Source(3, 2) + SourceIndex(1) +2 >Emitted(47, 12) Source(3, 9) + SourceIndex(1) +3 >Emitted(47, 13) Source(3, 10) + SourceIndex(1) +4 >Emitted(47, 16) Source(3, 13) + SourceIndex(1) +5 >Emitted(47, 17) Source(3, 14) + SourceIndex(1) +6 >Emitted(47, 26) Source(3, 15) + SourceIndex(1) +7 >Emitted(47, 27) Source(3, 16) + SourceIndex(1) +8 >Emitted(47, 28) Source(3, 17) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/lib/module.js @@ -1123,12 +1133,12 @@ sourceFile:file2.ts 4 > = 5 > 20 6 > ; -1 >Emitted(50, 5) Source(1, 14) + SourceIndex(2) -2 >Emitted(50, 13) Source(1, 14) + SourceIndex(2) -3 >Emitted(50, 14) Source(1, 15) + SourceIndex(2) -4 >Emitted(50, 17) Source(1, 18) + SourceIndex(2) -5 >Emitted(50, 19) Source(1, 20) + SourceIndex(2) -6 >Emitted(50, 20) Source(1, 21) + SourceIndex(2) +1 >Emitted(52, 5) Source(1, 14) + SourceIndex(2) +2 >Emitted(52, 13) Source(1, 14) + SourceIndex(2) +3 >Emitted(52, 14) Source(1, 15) + SourceIndex(2) +4 >Emitted(52, 17) Source(1, 18) + SourceIndex(2) +5 >Emitted(52, 19) Source(1, 20) + SourceIndex(2) +6 >Emitted(52, 20) Source(1, 21) + SourceIndex(2) --- ------------------------------------------------------------------- emittedFile:/src/lib/module.js @@ -1149,12 +1159,12 @@ sourceFile:global.ts 4 > = 5 > 10 6 > ; -1 >Emitted(52, 1) Source(1, 1) + SourceIndex(3) -2 >Emitted(52, 5) Source(1, 7) + SourceIndex(3) -3 >Emitted(52, 16) Source(1, 18) + SourceIndex(3) -4 >Emitted(52, 19) Source(1, 21) + SourceIndex(3) -5 >Emitted(52, 21) Source(1, 23) + SourceIndex(3) -6 >Emitted(52, 22) Source(1, 24) + SourceIndex(3) +1 >Emitted(54, 1) Source(1, 1) + SourceIndex(3) +2 >Emitted(54, 5) Source(1, 7) + SourceIndex(3) +3 >Emitted(54, 16) Source(1, 18) + SourceIndex(3) +4 >Emitted(54, 19) Source(1, 21) + SourceIndex(3) +5 >Emitted(54, 21) Source(1, 23) + SourceIndex(3) +6 >Emitted(54, 22) Source(1, 24) + SourceIndex(3) --- >>>//# sourceMappingURL=module.js.map @@ -1184,13 +1194,13 @@ sourceFile:global.ts }, { "pos": 678, - "end": 1093, + "end": 1178, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 1095, - "end": 1850, + "pos": 1180, + "end": 1935, "kind": "text" } ], @@ -1243,18 +1253,20 @@ var __spread = (this && this.__spread) || function () { return ar; }; ---------------------------------------------------------------------- -emitHelpers: (678-1093):: typescript:rest +emitHelpers: (678-1178):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -text: (1095-1850) +text: (1180-1935) var myGlob = 20; function libfile0Spread() { var b = []; diff --git a/tests/baselines/reference/tsbuild/amdModulesWithOut/incremental-headers-change-without-dts-changes/multiple-emitHelpers-in-all-projects.js b/tests/baselines/reference/tsbuild/amdModulesWithOut/incremental-headers-change-without-dts-changes/multiple-emitHelpers-in-all-projects.js index b8d83f88a6f..dd4ab0b77fd 100644 --- a/tests/baselines/reference/tsbuild/amdModulesWithOut/incremental-headers-change-without-dts-changes/multiple-emitHelpers-in-all-projects.js +++ b/tests/baselines/reference/tsbuild/amdModulesWithOut/incremental-headers-change-without-dts-changes/multiple-emitHelpers-in-all-projects.js @@ -24,8 +24,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var myGlob = 20; @@ -67,7 +69,7 @@ appfile4Spread.apply(void 0, __spread([10, 20, 30])); //# sourceMappingURL=module.js.map //// [/src/app/module.js.map] -{"version":3,"file":"module.js","sourceRoot":"","sources":["../lib/file0.ts","../lib/file1.ts","../lib/file2.ts","../lib/global.ts","file3.ts","file4.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,MAAM,GAAG,EAAE,CAAC;AAClB,SAAS,cAAc;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AAC3C,cAAc,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;;;;ICFnB,QAAA,CAAC,GAAG,EAAE,CAAC;IAAA,SAAS,eAAe,KAAK,CAAC;;;;;ICArC,QAAA,CAAC,GAAG,EAAE,CAAC;;ACApB,IAAM,WAAW,GAAG,EAAE,CAAC;;;;ICAV,QAAA,CAAC,GAAG,EAAE,CAAC;IACM,SAAS,eAAe;QAClD,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;IAChD,CAAC;;ACHD,IAAM,KAAK,GAAG,EAAE,CAAC;AACjB,SAAS,cAAc;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AAC3C,cAAc,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE"} +{"version":3,"file":"module.js","sourceRoot":"","sources":["../lib/file0.ts","../lib/file1.ts","../lib/file2.ts","../lib/global.ts","file3.ts","file4.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,MAAM,GAAG,EAAE,CAAC;AAClB,SAAS,cAAc;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AAC3C,cAAc,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;;;;ICFnB,QAAA,CAAC,GAAG,EAAE,CAAC;IAAA,SAAS,eAAe,KAAK,CAAC;;;;;ICArC,QAAA,CAAC,GAAG,EAAE,CAAC;;ACApB,IAAM,WAAW,GAAG,EAAE,CAAC;;;;ICAV,QAAA,CAAC,GAAG,EAAE,CAAC;IACM,SAAS,eAAe;QAClD,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;IAChD,CAAC;;ACHD,IAAM,KAAK,GAAG,EAAE,CAAC;AACjB,SAAS,cAAc;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AAC3C,cAAc,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE"} //// [/src/app/module.js.map.baseline.txt] =================================================================== @@ -105,8 +107,10 @@ sourceFile:../lib/file0.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var myGlob = 20; @@ -123,12 +127,12 @@ sourceFile:../lib/file0.ts 4 > = 5 > 20 6 > ; -1 >Emitted(30, 1) Source(1, 1) + SourceIndex(0) -2 >Emitted(30, 5) Source(1, 7) + SourceIndex(0) -3 >Emitted(30, 11) Source(1, 13) + SourceIndex(0) -4 >Emitted(30, 14) Source(1, 16) + SourceIndex(0) -5 >Emitted(30, 16) Source(1, 18) + SourceIndex(0) -6 >Emitted(30, 17) Source(1, 19) + SourceIndex(0) +1 >Emitted(32, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(32, 5) Source(1, 7) + SourceIndex(0) +3 >Emitted(32, 11) Source(1, 13) + SourceIndex(0) +4 >Emitted(32, 14) Source(1, 16) + SourceIndex(0) +5 >Emitted(32, 16) Source(1, 18) + SourceIndex(0) +6 >Emitted(32, 17) Source(1, 19) + SourceIndex(0) --- >>>function libfile0Spread() { 1-> @@ -138,9 +142,9 @@ sourceFile:../lib/file0.ts > 2 >function 3 > libfile0Spread -1->Emitted(31, 1) Source(2, 1) + SourceIndex(0) -2 >Emitted(31, 10) Source(2, 10) + SourceIndex(0) -3 >Emitted(31, 24) Source(2, 24) + SourceIndex(0) +1->Emitted(33, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(33, 10) Source(2, 10) + SourceIndex(0) +3 >Emitted(33, 24) Source(2, 24) + SourceIndex(0) --- >>> var b = []; 1 >^^^^ @@ -148,8 +152,8 @@ sourceFile:../lib/file0.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >( 2 > ...b: number[] -1 >Emitted(32, 5) Source(2, 25) + SourceIndex(0) -2 >Emitted(32, 16) Source(2, 39) + SourceIndex(0) +1 >Emitted(34, 5) Source(2, 25) + SourceIndex(0) +2 >Emitted(34, 16) Source(2, 39) + SourceIndex(0) --- >>> for (var _i = 0; _i < arguments.length; _i++) { 1->^^^^^^^^^ @@ -164,20 +168,20 @@ sourceFile:../lib/file0.ts 4 > ...b: number[] 5 > 6 > ...b: number[] -1->Emitted(33, 10) Source(2, 25) + SourceIndex(0) -2 >Emitted(33, 20) Source(2, 39) + SourceIndex(0) -3 >Emitted(33, 22) Source(2, 25) + SourceIndex(0) -4 >Emitted(33, 43) Source(2, 39) + SourceIndex(0) -5 >Emitted(33, 45) Source(2, 25) + SourceIndex(0) -6 >Emitted(33, 49) Source(2, 39) + SourceIndex(0) +1->Emitted(35, 10) Source(2, 25) + SourceIndex(0) +2 >Emitted(35, 20) Source(2, 39) + SourceIndex(0) +3 >Emitted(35, 22) Source(2, 25) + SourceIndex(0) +4 >Emitted(35, 43) Source(2, 39) + SourceIndex(0) +5 >Emitted(35, 45) Source(2, 25) + SourceIndex(0) +6 >Emitted(35, 49) Source(2, 39) + SourceIndex(0) --- >>> b[_i] = arguments[_i]; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > ...b: number[] -1 >Emitted(34, 9) Source(2, 25) + SourceIndex(0) -2 >Emitted(34, 31) Source(2, 39) + SourceIndex(0) +1 >Emitted(36, 9) Source(2, 25) + SourceIndex(0) +2 >Emitted(36, 31) Source(2, 39) + SourceIndex(0) --- >>> } >>>} @@ -186,8 +190,8 @@ sourceFile:../lib/file0.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >) { 2 >} -1 >Emitted(36, 1) Source(2, 43) + SourceIndex(0) -2 >Emitted(36, 2) Source(2, 44) + SourceIndex(0) +1 >Emitted(38, 1) Source(2, 43) + SourceIndex(0) +2 >Emitted(38, 2) Source(2, 44) + SourceIndex(0) --- >>>libfile0Spread.apply(void 0, __spread([10, 20, 30])); 1-> @@ -214,17 +218,17 @@ sourceFile:../lib/file0.ts 9 > 30 10> ] 11> ); -1->Emitted(37, 1) Source(3, 1) + SourceIndex(0) -2 >Emitted(37, 15) Source(3, 15) + SourceIndex(0) -3 >Emitted(37, 39) Source(3, 19) + SourceIndex(0) -4 >Emitted(37, 40) Source(3, 20) + SourceIndex(0) -5 >Emitted(37, 42) Source(3, 22) + SourceIndex(0) -6 >Emitted(37, 44) Source(3, 24) + SourceIndex(0) -7 >Emitted(37, 46) Source(3, 26) + SourceIndex(0) -8 >Emitted(37, 48) Source(3, 28) + SourceIndex(0) -9 >Emitted(37, 50) Source(3, 30) + SourceIndex(0) -10>Emitted(37, 51) Source(3, 31) + SourceIndex(0) -11>Emitted(37, 54) Source(3, 33) + SourceIndex(0) +1->Emitted(39, 1) Source(3, 1) + SourceIndex(0) +2 >Emitted(39, 15) Source(3, 15) + SourceIndex(0) +3 >Emitted(39, 39) Source(3, 19) + SourceIndex(0) +4 >Emitted(39, 40) Source(3, 20) + SourceIndex(0) +5 >Emitted(39, 42) Source(3, 22) + SourceIndex(0) +6 >Emitted(39, 44) Source(3, 24) + SourceIndex(0) +7 >Emitted(39, 46) Source(3, 26) + SourceIndex(0) +8 >Emitted(39, 48) Source(3, 28) + SourceIndex(0) +9 >Emitted(39, 50) Source(3, 30) + SourceIndex(0) +10>Emitted(39, 51) Source(3, 31) + SourceIndex(0) +11>Emitted(39, 54) Source(3, 33) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/app/module.js @@ -247,12 +251,12 @@ sourceFile:../lib/file1.ts 4 > = 5 > 10 6 > ; -1->Emitted(41, 5) Source(1, 14) + SourceIndex(1) -2 >Emitted(41, 13) Source(1, 14) + SourceIndex(1) -3 >Emitted(41, 14) Source(1, 15) + SourceIndex(1) -4 >Emitted(41, 17) Source(1, 18) + SourceIndex(1) -5 >Emitted(41, 19) Source(1, 20) + SourceIndex(1) -6 >Emitted(41, 20) Source(1, 21) + SourceIndex(1) +1->Emitted(43, 5) Source(1, 14) + SourceIndex(1) +2 >Emitted(43, 13) Source(1, 14) + SourceIndex(1) +3 >Emitted(43, 14) Source(1, 15) + SourceIndex(1) +4 >Emitted(43, 17) Source(1, 18) + SourceIndex(1) +5 >Emitted(43, 19) Source(1, 20) + SourceIndex(1) +6 >Emitted(43, 20) Source(1, 21) + SourceIndex(1) --- >>> function forlibfile1Rest() { } 1->^^^^ @@ -265,11 +269,11 @@ sourceFile:../lib/file1.ts 3 > forlibfile1Rest 4 > () { 5 > } -1->Emitted(42, 5) Source(1, 21) + SourceIndex(1) -2 >Emitted(42, 14) Source(1, 30) + SourceIndex(1) -3 >Emitted(42, 29) Source(1, 45) + SourceIndex(1) -4 >Emitted(42, 34) Source(1, 50) + SourceIndex(1) -5 >Emitted(42, 35) Source(1, 51) + SourceIndex(1) +1->Emitted(44, 5) Source(1, 21) + SourceIndex(1) +2 >Emitted(44, 14) Source(1, 30) + SourceIndex(1) +3 >Emitted(44, 29) Source(1, 45) + SourceIndex(1) +4 >Emitted(44, 34) Source(1, 50) + SourceIndex(1) +5 >Emitted(44, 35) Source(1, 51) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/app/module.js @@ -292,12 +296,12 @@ sourceFile:../lib/file2.ts 4 > = 5 > 20 6 > ; -1 >Emitted(47, 5) Source(1, 14) + SourceIndex(2) -2 >Emitted(47, 13) Source(1, 14) + SourceIndex(2) -3 >Emitted(47, 14) Source(1, 15) + SourceIndex(2) -4 >Emitted(47, 17) Source(1, 18) + SourceIndex(2) -5 >Emitted(47, 19) Source(1, 20) + SourceIndex(2) -6 >Emitted(47, 20) Source(1, 21) + SourceIndex(2) +1 >Emitted(49, 5) Source(1, 14) + SourceIndex(2) +2 >Emitted(49, 13) Source(1, 14) + SourceIndex(2) +3 >Emitted(49, 14) Source(1, 15) + SourceIndex(2) +4 >Emitted(49, 17) Source(1, 18) + SourceIndex(2) +5 >Emitted(49, 19) Source(1, 20) + SourceIndex(2) +6 >Emitted(49, 20) Source(1, 21) + SourceIndex(2) --- ------------------------------------------------------------------- emittedFile:/src/app/module.js @@ -318,12 +322,12 @@ sourceFile:../lib/global.ts 4 > = 5 > 10 6 > ; -1 >Emitted(49, 1) Source(1, 1) + SourceIndex(3) -2 >Emitted(49, 5) Source(1, 7) + SourceIndex(3) -3 >Emitted(49, 16) Source(1, 18) + SourceIndex(3) -4 >Emitted(49, 19) Source(1, 21) + SourceIndex(3) -5 >Emitted(49, 21) Source(1, 23) + SourceIndex(3) -6 >Emitted(49, 22) Source(1, 24) + SourceIndex(3) +1 >Emitted(51, 1) Source(1, 1) + SourceIndex(3) +2 >Emitted(51, 5) Source(1, 7) + SourceIndex(3) +3 >Emitted(51, 16) Source(1, 18) + SourceIndex(3) +4 >Emitted(51, 19) Source(1, 21) + SourceIndex(3) +5 >Emitted(51, 21) Source(1, 23) + SourceIndex(3) +6 >Emitted(51, 22) Source(1, 24) + SourceIndex(3) --- ------------------------------------------------------------------- emittedFile:/src/app/module.js @@ -346,12 +350,12 @@ sourceFile:file3.ts 4 > = 5 > 30 6 > ; -1->Emitted(53, 5) Source(1, 14) + SourceIndex(4) -2 >Emitted(53, 13) Source(1, 14) + SourceIndex(4) -3 >Emitted(53, 14) Source(1, 15) + SourceIndex(4) -4 >Emitted(53, 17) Source(1, 18) + SourceIndex(4) -5 >Emitted(53, 19) Source(1, 20) + SourceIndex(4) -6 >Emitted(53, 20) Source(1, 21) + SourceIndex(4) +1->Emitted(55, 5) Source(1, 14) + SourceIndex(4) +2 >Emitted(55, 13) Source(1, 14) + SourceIndex(4) +3 >Emitted(55, 14) Source(1, 15) + SourceIndex(4) +4 >Emitted(55, 17) Source(1, 18) + SourceIndex(4) +5 >Emitted(55, 19) Source(1, 20) + SourceIndex(4) +6 >Emitted(55, 20) Source(1, 21) + SourceIndex(4) --- >>> function forappfile3Rest() { 1->^^^^ @@ -362,9 +366,9 @@ sourceFile:file3.ts >import { x } from "file1"; 2 > function 3 > forappfile3Rest -1->Emitted(54, 5) Source(2, 27) + SourceIndex(4) -2 >Emitted(54, 14) Source(2, 36) + SourceIndex(4) -3 >Emitted(54, 29) Source(2, 51) + SourceIndex(4) +1->Emitted(56, 5) Source(2, 27) + SourceIndex(4) +2 >Emitted(56, 14) Source(2, 36) + SourceIndex(4) +3 >Emitted(56, 29) Source(2, 51) + SourceIndex(4) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^^^^^ @@ -384,14 +388,14 @@ sourceFile:file3.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(55, 9) Source(3, 1) + SourceIndex(4) -2 >Emitted(55, 13) Source(3, 7) + SourceIndex(4) -3 >Emitted(55, 42) Source(3, 48) + SourceIndex(4) -4 >Emitted(55, 44) Source(3, 9) + SourceIndex(4) -5 >Emitted(55, 52) Source(3, 10) + SourceIndex(4) -6 >Emitted(55, 54) Source(3, 12) + SourceIndex(4) -7 >Emitted(55, 78) Source(3, 48) + SourceIndex(4) -8 >Emitted(55, 79) Source(3, 49) + SourceIndex(4) +1->Emitted(57, 9) Source(3, 1) + SourceIndex(4) +2 >Emitted(57, 13) Source(3, 7) + SourceIndex(4) +3 >Emitted(57, 42) Source(3, 48) + SourceIndex(4) +4 >Emitted(57, 44) Source(3, 9) + SourceIndex(4) +5 >Emitted(57, 52) Source(3, 10) + SourceIndex(4) +6 >Emitted(57, 54) Source(3, 12) + SourceIndex(4) +7 >Emitted(57, 78) Source(3, 48) + SourceIndex(4) +8 >Emitted(57, 79) Source(3, 49) + SourceIndex(4) --- >>> } 1 >^^^^ @@ -399,8 +403,8 @@ sourceFile:file3.ts 1 > > 2 > } -1 >Emitted(56, 5) Source(4, 1) + SourceIndex(4) -2 >Emitted(56, 6) Source(4, 2) + SourceIndex(4) +1 >Emitted(58, 5) Source(4, 1) + SourceIndex(4) +2 >Emitted(58, 6) Source(4, 2) + SourceIndex(4) --- ------------------------------------------------------------------- emittedFile:/src/app/module.js @@ -421,12 +425,12 @@ sourceFile:file4.ts 4 > = 5 > 30 6 > ; -1 >Emitted(58, 1) Source(1, 1) + SourceIndex(5) -2 >Emitted(58, 5) Source(1, 7) + SourceIndex(5) -3 >Emitted(58, 10) Source(1, 12) + SourceIndex(5) -4 >Emitted(58, 13) Source(1, 15) + SourceIndex(5) -5 >Emitted(58, 15) Source(1, 17) + SourceIndex(5) -6 >Emitted(58, 16) Source(1, 18) + SourceIndex(5) +1 >Emitted(60, 1) Source(1, 1) + SourceIndex(5) +2 >Emitted(60, 5) Source(1, 7) + SourceIndex(5) +3 >Emitted(60, 10) Source(1, 12) + SourceIndex(5) +4 >Emitted(60, 13) Source(1, 15) + SourceIndex(5) +5 >Emitted(60, 15) Source(1, 17) + SourceIndex(5) +6 >Emitted(60, 16) Source(1, 18) + SourceIndex(5) --- >>>function appfile4Spread() { 1-> @@ -436,9 +440,9 @@ sourceFile:file4.ts > 2 >function 3 > appfile4Spread -1->Emitted(59, 1) Source(2, 1) + SourceIndex(5) -2 >Emitted(59, 10) Source(2, 10) + SourceIndex(5) -3 >Emitted(59, 24) Source(2, 24) + SourceIndex(5) +1->Emitted(61, 1) Source(2, 1) + SourceIndex(5) +2 >Emitted(61, 10) Source(2, 10) + SourceIndex(5) +3 >Emitted(61, 24) Source(2, 24) + SourceIndex(5) --- >>> var b = []; 1 >^^^^ @@ -446,8 +450,8 @@ sourceFile:file4.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >( 2 > ...b: number[] -1 >Emitted(60, 5) Source(2, 25) + SourceIndex(5) -2 >Emitted(60, 16) Source(2, 39) + SourceIndex(5) +1 >Emitted(62, 5) Source(2, 25) + SourceIndex(5) +2 >Emitted(62, 16) Source(2, 39) + SourceIndex(5) --- >>> for (var _i = 0; _i < arguments.length; _i++) { 1->^^^^^^^^^ @@ -462,20 +466,20 @@ sourceFile:file4.ts 4 > ...b: number[] 5 > 6 > ...b: number[] -1->Emitted(61, 10) Source(2, 25) + SourceIndex(5) -2 >Emitted(61, 20) Source(2, 39) + SourceIndex(5) -3 >Emitted(61, 22) Source(2, 25) + SourceIndex(5) -4 >Emitted(61, 43) Source(2, 39) + SourceIndex(5) -5 >Emitted(61, 45) Source(2, 25) + SourceIndex(5) -6 >Emitted(61, 49) Source(2, 39) + SourceIndex(5) +1->Emitted(63, 10) Source(2, 25) + SourceIndex(5) +2 >Emitted(63, 20) Source(2, 39) + SourceIndex(5) +3 >Emitted(63, 22) Source(2, 25) + SourceIndex(5) +4 >Emitted(63, 43) Source(2, 39) + SourceIndex(5) +5 >Emitted(63, 45) Source(2, 25) + SourceIndex(5) +6 >Emitted(63, 49) Source(2, 39) + SourceIndex(5) --- >>> b[_i] = arguments[_i]; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > ...b: number[] -1 >Emitted(62, 9) Source(2, 25) + SourceIndex(5) -2 >Emitted(62, 31) Source(2, 39) + SourceIndex(5) +1 >Emitted(64, 9) Source(2, 25) + SourceIndex(5) +2 >Emitted(64, 31) Source(2, 39) + SourceIndex(5) --- >>> } >>>} @@ -484,8 +488,8 @@ sourceFile:file4.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >) { 2 >} -1 >Emitted(64, 1) Source(2, 43) + SourceIndex(5) -2 >Emitted(64, 2) Source(2, 44) + SourceIndex(5) +1 >Emitted(66, 1) Source(2, 43) + SourceIndex(5) +2 >Emitted(66, 2) Source(2, 44) + SourceIndex(5) --- >>>appfile4Spread.apply(void 0, __spread([10, 20, 30])); 1-> @@ -511,17 +515,17 @@ sourceFile:file4.ts 9 > 30 10> ] 11> ); -1->Emitted(65, 1) Source(3, 1) + SourceIndex(5) -2 >Emitted(65, 15) Source(3, 15) + SourceIndex(5) -3 >Emitted(65, 39) Source(3, 19) + SourceIndex(5) -4 >Emitted(65, 40) Source(3, 20) + SourceIndex(5) -5 >Emitted(65, 42) Source(3, 22) + SourceIndex(5) -6 >Emitted(65, 44) Source(3, 24) + SourceIndex(5) -7 >Emitted(65, 46) Source(3, 26) + SourceIndex(5) -8 >Emitted(65, 48) Source(3, 28) + SourceIndex(5) -9 >Emitted(65, 50) Source(3, 30) + SourceIndex(5) -10>Emitted(65, 51) Source(3, 31) + SourceIndex(5) -11>Emitted(65, 54) Source(3, 33) + SourceIndex(5) +1->Emitted(67, 1) Source(3, 1) + SourceIndex(5) +2 >Emitted(67, 15) Source(3, 15) + SourceIndex(5) +3 >Emitted(67, 39) Source(3, 19) + SourceIndex(5) +4 >Emitted(67, 40) Source(3, 20) + SourceIndex(5) +5 >Emitted(67, 42) Source(3, 22) + SourceIndex(5) +6 >Emitted(67, 44) Source(3, 24) + SourceIndex(5) +7 >Emitted(67, 46) Source(3, 26) + SourceIndex(5) +8 >Emitted(67, 48) Source(3, 28) + SourceIndex(5) +9 >Emitted(67, 50) Source(3, 30) + SourceIndex(5) +10>Emitted(67, 51) Source(3, 31) + SourceIndex(5) +11>Emitted(67, 54) Source(3, 33) + SourceIndex(5) --- >>>//# sourceMappingURL=module.js.map @@ -549,26 +553,26 @@ sourceFile:file4.ts }, { "pos": 678, - "end": 1093, + "end": 1178, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 1095, - "end": 1736, + "pos": 1180, + "end": 1821, "kind": "prepend", "data": "/src/lib/module.js", "texts": [ { - "pos": 1095, - "end": 1736, + "pos": 1180, + "end": 1821, "kind": "text" } ] }, { - "pos": 1736, - "end": 2254, + "pos": 1821, + "end": 2339, "kind": "text" } ], @@ -634,20 +638,22 @@ var __spread = (this && this.__spread) || function () { return ar; }; ---------------------------------------------------------------------- -emitHelpers: (678-1093):: typescript:rest +emitHelpers: (678-1178):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -prepend: (1095-1736):: /src/lib/module.js texts:: 1 +prepend: (1180-1821):: /src/lib/module.js texts:: 1 >>-------------------------------------------------------------------- -text: (1095-1736) +text: (1180-1821) var myGlob = 20; function libfile0Spread() { var b = []; @@ -670,7 +676,7 @@ define("file2", ["require", "exports"], function (require, exports) { var globalConst = 10; ---------------------------------------------------------------------- -text: (1736-2254) +text: (1821-2339) define("file3", ["require", "exports"], function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/tests/baselines/reference/tsbuild/amdModulesWithOut/initial-Build/multiple-emitHelpers-in-all-projects.js b/tests/baselines/reference/tsbuild/amdModulesWithOut/initial-Build/multiple-emitHelpers-in-all-projects.js index 3a832c191c0..52b1fff8303 100644 --- a/tests/baselines/reference/tsbuild/amdModulesWithOut/initial-Build/multiple-emitHelpers-in-all-projects.js +++ b/tests/baselines/reference/tsbuild/amdModulesWithOut/initial-Build/multiple-emitHelpers-in-all-projects.js @@ -285,8 +285,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var myGlob = 20; @@ -330,7 +332,7 @@ appfile4Spread.apply(void 0, __spread([10, 20, 30])); //# sourceMappingURL=module.js.map //// [/src/app/module.js.map] -{"version":3,"file":"module.js","sourceRoot":"","sources":["../lib/file0.ts","../lib/file1.ts","../lib/file2.ts","../lib/global.ts","file3.ts","file4.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,MAAM,GAAG,EAAE,CAAC;AAClB,SAAS,cAAc;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AAC3C,cAAc,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;;;;ICFnB,QAAA,CAAC,GAAG,EAAE,CAAC;IAAA,SAAS,eAAe;QAC5C,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;IAChD,CAAC;;;;;ICFY,QAAA,CAAC,GAAG,EAAE,CAAC;;ACApB,IAAM,WAAW,GAAG,EAAE,CAAC;;;;ICAV,QAAA,CAAC,GAAG,EAAE,CAAC;IACM,SAAS,eAAe;QAClD,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;IAChD,CAAC;;ACHD,IAAM,KAAK,GAAG,EAAE,CAAC;AACjB,SAAS,cAAc;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AAC3C,cAAc,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE"} +{"version":3,"file":"module.js","sourceRoot":"","sources":["../lib/file0.ts","../lib/file1.ts","../lib/file2.ts","../lib/global.ts","file3.ts","file4.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,MAAM,GAAG,EAAE,CAAC;AAClB,SAAS,cAAc;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AAC3C,cAAc,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;;;;ICFnB,QAAA,CAAC,GAAG,EAAE,CAAC;IAAA,SAAS,eAAe;QAC5C,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;IAChD,CAAC;;;;;ICFY,QAAA,CAAC,GAAG,EAAE,CAAC;;ACApB,IAAM,WAAW,GAAG,EAAE,CAAC;;;;ICAV,QAAA,CAAC,GAAG,EAAE,CAAC;IACM,SAAS,eAAe;QAClD,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;IAChD,CAAC;;ACHD,IAAM,KAAK,GAAG,EAAE,CAAC;AACjB,SAAS,cAAc;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AAC3C,cAAc,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE"} //// [/src/app/module.js.map.baseline.txt] =================================================================== @@ -368,8 +370,10 @@ sourceFile:../lib/file0.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var myGlob = 20; @@ -386,12 +390,12 @@ sourceFile:../lib/file0.ts 4 > = 5 > 20 6 > ; -1 >Emitted(30, 1) Source(1, 1) + SourceIndex(0) -2 >Emitted(30, 5) Source(1, 7) + SourceIndex(0) -3 >Emitted(30, 11) Source(1, 13) + SourceIndex(0) -4 >Emitted(30, 14) Source(1, 16) + SourceIndex(0) -5 >Emitted(30, 16) Source(1, 18) + SourceIndex(0) -6 >Emitted(30, 17) Source(1, 19) + SourceIndex(0) +1 >Emitted(32, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(32, 5) Source(1, 7) + SourceIndex(0) +3 >Emitted(32, 11) Source(1, 13) + SourceIndex(0) +4 >Emitted(32, 14) Source(1, 16) + SourceIndex(0) +5 >Emitted(32, 16) Source(1, 18) + SourceIndex(0) +6 >Emitted(32, 17) Source(1, 19) + SourceIndex(0) --- >>>function libfile0Spread() { 1-> @@ -401,9 +405,9 @@ sourceFile:../lib/file0.ts > 2 >function 3 > libfile0Spread -1->Emitted(31, 1) Source(2, 1) + SourceIndex(0) -2 >Emitted(31, 10) Source(2, 10) + SourceIndex(0) -3 >Emitted(31, 24) Source(2, 24) + SourceIndex(0) +1->Emitted(33, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(33, 10) Source(2, 10) + SourceIndex(0) +3 >Emitted(33, 24) Source(2, 24) + SourceIndex(0) --- >>> var b = []; 1 >^^^^ @@ -411,8 +415,8 @@ sourceFile:../lib/file0.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >( 2 > ...b: number[] -1 >Emitted(32, 5) Source(2, 25) + SourceIndex(0) -2 >Emitted(32, 16) Source(2, 39) + SourceIndex(0) +1 >Emitted(34, 5) Source(2, 25) + SourceIndex(0) +2 >Emitted(34, 16) Source(2, 39) + SourceIndex(0) --- >>> for (var _i = 0; _i < arguments.length; _i++) { 1->^^^^^^^^^ @@ -427,20 +431,20 @@ sourceFile:../lib/file0.ts 4 > ...b: number[] 5 > 6 > ...b: number[] -1->Emitted(33, 10) Source(2, 25) + SourceIndex(0) -2 >Emitted(33, 20) Source(2, 39) + SourceIndex(0) -3 >Emitted(33, 22) Source(2, 25) + SourceIndex(0) -4 >Emitted(33, 43) Source(2, 39) + SourceIndex(0) -5 >Emitted(33, 45) Source(2, 25) + SourceIndex(0) -6 >Emitted(33, 49) Source(2, 39) + SourceIndex(0) +1->Emitted(35, 10) Source(2, 25) + SourceIndex(0) +2 >Emitted(35, 20) Source(2, 39) + SourceIndex(0) +3 >Emitted(35, 22) Source(2, 25) + SourceIndex(0) +4 >Emitted(35, 43) Source(2, 39) + SourceIndex(0) +5 >Emitted(35, 45) Source(2, 25) + SourceIndex(0) +6 >Emitted(35, 49) Source(2, 39) + SourceIndex(0) --- >>> b[_i] = arguments[_i]; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > ...b: number[] -1 >Emitted(34, 9) Source(2, 25) + SourceIndex(0) -2 >Emitted(34, 31) Source(2, 39) + SourceIndex(0) +1 >Emitted(36, 9) Source(2, 25) + SourceIndex(0) +2 >Emitted(36, 31) Source(2, 39) + SourceIndex(0) --- >>> } >>>} @@ -449,8 +453,8 @@ sourceFile:../lib/file0.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >) { 2 >} -1 >Emitted(36, 1) Source(2, 43) + SourceIndex(0) -2 >Emitted(36, 2) Source(2, 44) + SourceIndex(0) +1 >Emitted(38, 1) Source(2, 43) + SourceIndex(0) +2 >Emitted(38, 2) Source(2, 44) + SourceIndex(0) --- >>>libfile0Spread.apply(void 0, __spread([10, 20, 30])); 1-> @@ -477,17 +481,17 @@ sourceFile:../lib/file0.ts 9 > 30 10> ] 11> ); -1->Emitted(37, 1) Source(3, 1) + SourceIndex(0) -2 >Emitted(37, 15) Source(3, 15) + SourceIndex(0) -3 >Emitted(37, 39) Source(3, 19) + SourceIndex(0) -4 >Emitted(37, 40) Source(3, 20) + SourceIndex(0) -5 >Emitted(37, 42) Source(3, 22) + SourceIndex(0) -6 >Emitted(37, 44) Source(3, 24) + SourceIndex(0) -7 >Emitted(37, 46) Source(3, 26) + SourceIndex(0) -8 >Emitted(37, 48) Source(3, 28) + SourceIndex(0) -9 >Emitted(37, 50) Source(3, 30) + SourceIndex(0) -10>Emitted(37, 51) Source(3, 31) + SourceIndex(0) -11>Emitted(37, 54) Source(3, 33) + SourceIndex(0) +1->Emitted(39, 1) Source(3, 1) + SourceIndex(0) +2 >Emitted(39, 15) Source(3, 15) + SourceIndex(0) +3 >Emitted(39, 39) Source(3, 19) + SourceIndex(0) +4 >Emitted(39, 40) Source(3, 20) + SourceIndex(0) +5 >Emitted(39, 42) Source(3, 22) + SourceIndex(0) +6 >Emitted(39, 44) Source(3, 24) + SourceIndex(0) +7 >Emitted(39, 46) Source(3, 26) + SourceIndex(0) +8 >Emitted(39, 48) Source(3, 28) + SourceIndex(0) +9 >Emitted(39, 50) Source(3, 30) + SourceIndex(0) +10>Emitted(39, 51) Source(3, 31) + SourceIndex(0) +11>Emitted(39, 54) Source(3, 33) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/app/module.js @@ -510,12 +514,12 @@ sourceFile:../lib/file1.ts 4 > = 5 > 10 6 > ; -1->Emitted(41, 5) Source(1, 14) + SourceIndex(1) -2 >Emitted(41, 13) Source(1, 14) + SourceIndex(1) -3 >Emitted(41, 14) Source(1, 15) + SourceIndex(1) -4 >Emitted(41, 17) Source(1, 18) + SourceIndex(1) -5 >Emitted(41, 19) Source(1, 20) + SourceIndex(1) -6 >Emitted(41, 20) Source(1, 21) + SourceIndex(1) +1->Emitted(43, 5) Source(1, 14) + SourceIndex(1) +2 >Emitted(43, 13) Source(1, 14) + SourceIndex(1) +3 >Emitted(43, 14) Source(1, 15) + SourceIndex(1) +4 >Emitted(43, 17) Source(1, 18) + SourceIndex(1) +5 >Emitted(43, 19) Source(1, 20) + SourceIndex(1) +6 >Emitted(43, 20) Source(1, 21) + SourceIndex(1) --- >>> function forlibfile1Rest() { 1->^^^^ @@ -525,9 +529,9 @@ sourceFile:../lib/file1.ts 1-> 2 > function 3 > forlibfile1Rest -1->Emitted(42, 5) Source(1, 21) + SourceIndex(1) -2 >Emitted(42, 14) Source(1, 30) + SourceIndex(1) -3 >Emitted(42, 29) Source(1, 45) + SourceIndex(1) +1->Emitted(44, 5) Source(1, 21) + SourceIndex(1) +2 >Emitted(44, 14) Source(1, 30) + SourceIndex(1) +3 >Emitted(44, 29) Source(1, 45) + SourceIndex(1) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^^^^^ @@ -547,14 +551,14 @@ sourceFile:../lib/file1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(43, 9) Source(2, 1) + SourceIndex(1) -2 >Emitted(43, 13) Source(2, 7) + SourceIndex(1) -3 >Emitted(43, 42) Source(2, 48) + SourceIndex(1) -4 >Emitted(43, 44) Source(2, 9) + SourceIndex(1) -5 >Emitted(43, 52) Source(2, 10) + SourceIndex(1) -6 >Emitted(43, 54) Source(2, 12) + SourceIndex(1) -7 >Emitted(43, 78) Source(2, 48) + SourceIndex(1) -8 >Emitted(43, 79) Source(2, 49) + SourceIndex(1) +1->Emitted(45, 9) Source(2, 1) + SourceIndex(1) +2 >Emitted(45, 13) Source(2, 7) + SourceIndex(1) +3 >Emitted(45, 42) Source(2, 48) + SourceIndex(1) +4 >Emitted(45, 44) Source(2, 9) + SourceIndex(1) +5 >Emitted(45, 52) Source(2, 10) + SourceIndex(1) +6 >Emitted(45, 54) Source(2, 12) + SourceIndex(1) +7 >Emitted(45, 78) Source(2, 48) + SourceIndex(1) +8 >Emitted(45, 79) Source(2, 49) + SourceIndex(1) --- >>> } 1 >^^^^ @@ -562,8 +566,8 @@ sourceFile:../lib/file1.ts 1 > > 2 > } -1 >Emitted(44, 5) Source(3, 1) + SourceIndex(1) -2 >Emitted(44, 6) Source(3, 2) + SourceIndex(1) +1 >Emitted(46, 5) Source(3, 1) + SourceIndex(1) +2 >Emitted(46, 6) Source(3, 2) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/app/module.js @@ -586,12 +590,12 @@ sourceFile:../lib/file2.ts 4 > = 5 > 20 6 > ; -1 >Emitted(49, 5) Source(1, 14) + SourceIndex(2) -2 >Emitted(49, 13) Source(1, 14) + SourceIndex(2) -3 >Emitted(49, 14) Source(1, 15) + SourceIndex(2) -4 >Emitted(49, 17) Source(1, 18) + SourceIndex(2) -5 >Emitted(49, 19) Source(1, 20) + SourceIndex(2) -6 >Emitted(49, 20) Source(1, 21) + SourceIndex(2) +1 >Emitted(51, 5) Source(1, 14) + SourceIndex(2) +2 >Emitted(51, 13) Source(1, 14) + SourceIndex(2) +3 >Emitted(51, 14) Source(1, 15) + SourceIndex(2) +4 >Emitted(51, 17) Source(1, 18) + SourceIndex(2) +5 >Emitted(51, 19) Source(1, 20) + SourceIndex(2) +6 >Emitted(51, 20) Source(1, 21) + SourceIndex(2) --- ------------------------------------------------------------------- emittedFile:/src/app/module.js @@ -612,12 +616,12 @@ sourceFile:../lib/global.ts 4 > = 5 > 10 6 > ; -1 >Emitted(51, 1) Source(1, 1) + SourceIndex(3) -2 >Emitted(51, 5) Source(1, 7) + SourceIndex(3) -3 >Emitted(51, 16) Source(1, 18) + SourceIndex(3) -4 >Emitted(51, 19) Source(1, 21) + SourceIndex(3) -5 >Emitted(51, 21) Source(1, 23) + SourceIndex(3) -6 >Emitted(51, 22) Source(1, 24) + SourceIndex(3) +1 >Emitted(53, 1) Source(1, 1) + SourceIndex(3) +2 >Emitted(53, 5) Source(1, 7) + SourceIndex(3) +3 >Emitted(53, 16) Source(1, 18) + SourceIndex(3) +4 >Emitted(53, 19) Source(1, 21) + SourceIndex(3) +5 >Emitted(53, 21) Source(1, 23) + SourceIndex(3) +6 >Emitted(53, 22) Source(1, 24) + SourceIndex(3) --- ------------------------------------------------------------------- emittedFile:/src/app/module.js @@ -640,12 +644,12 @@ sourceFile:file3.ts 4 > = 5 > 30 6 > ; -1->Emitted(55, 5) Source(1, 14) + SourceIndex(4) -2 >Emitted(55, 13) Source(1, 14) + SourceIndex(4) -3 >Emitted(55, 14) Source(1, 15) + SourceIndex(4) -4 >Emitted(55, 17) Source(1, 18) + SourceIndex(4) -5 >Emitted(55, 19) Source(1, 20) + SourceIndex(4) -6 >Emitted(55, 20) Source(1, 21) + SourceIndex(4) +1->Emitted(57, 5) Source(1, 14) + SourceIndex(4) +2 >Emitted(57, 13) Source(1, 14) + SourceIndex(4) +3 >Emitted(57, 14) Source(1, 15) + SourceIndex(4) +4 >Emitted(57, 17) Source(1, 18) + SourceIndex(4) +5 >Emitted(57, 19) Source(1, 20) + SourceIndex(4) +6 >Emitted(57, 20) Source(1, 21) + SourceIndex(4) --- >>> function forappfile3Rest() { 1->^^^^ @@ -656,9 +660,9 @@ sourceFile:file3.ts >import { x } from "file1"; 2 > function 3 > forappfile3Rest -1->Emitted(56, 5) Source(2, 27) + SourceIndex(4) -2 >Emitted(56, 14) Source(2, 36) + SourceIndex(4) -3 >Emitted(56, 29) Source(2, 51) + SourceIndex(4) +1->Emitted(58, 5) Source(2, 27) + SourceIndex(4) +2 >Emitted(58, 14) Source(2, 36) + SourceIndex(4) +3 >Emitted(58, 29) Source(2, 51) + SourceIndex(4) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^^^^^ @@ -678,14 +682,14 @@ sourceFile:file3.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(57, 9) Source(3, 1) + SourceIndex(4) -2 >Emitted(57, 13) Source(3, 7) + SourceIndex(4) -3 >Emitted(57, 42) Source(3, 48) + SourceIndex(4) -4 >Emitted(57, 44) Source(3, 9) + SourceIndex(4) -5 >Emitted(57, 52) Source(3, 10) + SourceIndex(4) -6 >Emitted(57, 54) Source(3, 12) + SourceIndex(4) -7 >Emitted(57, 78) Source(3, 48) + SourceIndex(4) -8 >Emitted(57, 79) Source(3, 49) + SourceIndex(4) +1->Emitted(59, 9) Source(3, 1) + SourceIndex(4) +2 >Emitted(59, 13) Source(3, 7) + SourceIndex(4) +3 >Emitted(59, 42) Source(3, 48) + SourceIndex(4) +4 >Emitted(59, 44) Source(3, 9) + SourceIndex(4) +5 >Emitted(59, 52) Source(3, 10) + SourceIndex(4) +6 >Emitted(59, 54) Source(3, 12) + SourceIndex(4) +7 >Emitted(59, 78) Source(3, 48) + SourceIndex(4) +8 >Emitted(59, 79) Source(3, 49) + SourceIndex(4) --- >>> } 1 >^^^^ @@ -693,8 +697,8 @@ sourceFile:file3.ts 1 > > 2 > } -1 >Emitted(58, 5) Source(4, 1) + SourceIndex(4) -2 >Emitted(58, 6) Source(4, 2) + SourceIndex(4) +1 >Emitted(60, 5) Source(4, 1) + SourceIndex(4) +2 >Emitted(60, 6) Source(4, 2) + SourceIndex(4) --- ------------------------------------------------------------------- emittedFile:/src/app/module.js @@ -715,12 +719,12 @@ sourceFile:file4.ts 4 > = 5 > 30 6 > ; -1 >Emitted(60, 1) Source(1, 1) + SourceIndex(5) -2 >Emitted(60, 5) Source(1, 7) + SourceIndex(5) -3 >Emitted(60, 10) Source(1, 12) + SourceIndex(5) -4 >Emitted(60, 13) Source(1, 15) + SourceIndex(5) -5 >Emitted(60, 15) Source(1, 17) + SourceIndex(5) -6 >Emitted(60, 16) Source(1, 18) + SourceIndex(5) +1 >Emitted(62, 1) Source(1, 1) + SourceIndex(5) +2 >Emitted(62, 5) Source(1, 7) + SourceIndex(5) +3 >Emitted(62, 10) Source(1, 12) + SourceIndex(5) +4 >Emitted(62, 13) Source(1, 15) + SourceIndex(5) +5 >Emitted(62, 15) Source(1, 17) + SourceIndex(5) +6 >Emitted(62, 16) Source(1, 18) + SourceIndex(5) --- >>>function appfile4Spread() { 1-> @@ -730,9 +734,9 @@ sourceFile:file4.ts > 2 >function 3 > appfile4Spread -1->Emitted(61, 1) Source(2, 1) + SourceIndex(5) -2 >Emitted(61, 10) Source(2, 10) + SourceIndex(5) -3 >Emitted(61, 24) Source(2, 24) + SourceIndex(5) +1->Emitted(63, 1) Source(2, 1) + SourceIndex(5) +2 >Emitted(63, 10) Source(2, 10) + SourceIndex(5) +3 >Emitted(63, 24) Source(2, 24) + SourceIndex(5) --- >>> var b = []; 1 >^^^^ @@ -740,8 +744,8 @@ sourceFile:file4.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >( 2 > ...b: number[] -1 >Emitted(62, 5) Source(2, 25) + SourceIndex(5) -2 >Emitted(62, 16) Source(2, 39) + SourceIndex(5) +1 >Emitted(64, 5) Source(2, 25) + SourceIndex(5) +2 >Emitted(64, 16) Source(2, 39) + SourceIndex(5) --- >>> for (var _i = 0; _i < arguments.length; _i++) { 1->^^^^^^^^^ @@ -756,20 +760,20 @@ sourceFile:file4.ts 4 > ...b: number[] 5 > 6 > ...b: number[] -1->Emitted(63, 10) Source(2, 25) + SourceIndex(5) -2 >Emitted(63, 20) Source(2, 39) + SourceIndex(5) -3 >Emitted(63, 22) Source(2, 25) + SourceIndex(5) -4 >Emitted(63, 43) Source(2, 39) + SourceIndex(5) -5 >Emitted(63, 45) Source(2, 25) + SourceIndex(5) -6 >Emitted(63, 49) Source(2, 39) + SourceIndex(5) +1->Emitted(65, 10) Source(2, 25) + SourceIndex(5) +2 >Emitted(65, 20) Source(2, 39) + SourceIndex(5) +3 >Emitted(65, 22) Source(2, 25) + SourceIndex(5) +4 >Emitted(65, 43) Source(2, 39) + SourceIndex(5) +5 >Emitted(65, 45) Source(2, 25) + SourceIndex(5) +6 >Emitted(65, 49) Source(2, 39) + SourceIndex(5) --- >>> b[_i] = arguments[_i]; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > ...b: number[] -1 >Emitted(64, 9) Source(2, 25) + SourceIndex(5) -2 >Emitted(64, 31) Source(2, 39) + SourceIndex(5) +1 >Emitted(66, 9) Source(2, 25) + SourceIndex(5) +2 >Emitted(66, 31) Source(2, 39) + SourceIndex(5) --- >>> } >>>} @@ -778,8 +782,8 @@ sourceFile:file4.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >) { 2 >} -1 >Emitted(66, 1) Source(2, 43) + SourceIndex(5) -2 >Emitted(66, 2) Source(2, 44) + SourceIndex(5) +1 >Emitted(68, 1) Source(2, 43) + SourceIndex(5) +2 >Emitted(68, 2) Source(2, 44) + SourceIndex(5) --- >>>appfile4Spread.apply(void 0, __spread([10, 20, 30])); 1-> @@ -805,17 +809,17 @@ sourceFile:file4.ts 9 > 30 10> ] 11> ); -1->Emitted(67, 1) Source(3, 1) + SourceIndex(5) -2 >Emitted(67, 15) Source(3, 15) + SourceIndex(5) -3 >Emitted(67, 39) Source(3, 19) + SourceIndex(5) -4 >Emitted(67, 40) Source(3, 20) + SourceIndex(5) -5 >Emitted(67, 42) Source(3, 22) + SourceIndex(5) -6 >Emitted(67, 44) Source(3, 24) + SourceIndex(5) -7 >Emitted(67, 46) Source(3, 26) + SourceIndex(5) -8 >Emitted(67, 48) Source(3, 28) + SourceIndex(5) -9 >Emitted(67, 50) Source(3, 30) + SourceIndex(5) -10>Emitted(67, 51) Source(3, 31) + SourceIndex(5) -11>Emitted(67, 54) Source(3, 33) + SourceIndex(5) +1->Emitted(69, 1) Source(3, 1) + SourceIndex(5) +2 >Emitted(69, 15) Source(3, 15) + SourceIndex(5) +3 >Emitted(69, 39) Source(3, 19) + SourceIndex(5) +4 >Emitted(69, 40) Source(3, 20) + SourceIndex(5) +5 >Emitted(69, 42) Source(3, 22) + SourceIndex(5) +6 >Emitted(69, 44) Source(3, 24) + SourceIndex(5) +7 >Emitted(69, 46) Source(3, 26) + SourceIndex(5) +8 >Emitted(69, 48) Source(3, 28) + SourceIndex(5) +9 >Emitted(69, 50) Source(3, 30) + SourceIndex(5) +10>Emitted(69, 51) Source(3, 31) + SourceIndex(5) +11>Emitted(69, 54) Source(3, 33) + SourceIndex(5) --- >>>//# sourceMappingURL=module.js.map @@ -843,26 +847,26 @@ sourceFile:file4.ts }, { "pos": 678, - "end": 1093, + "end": 1178, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 1095, - "end": 1821, + "pos": 1180, + "end": 1906, "kind": "prepend", "data": "/src/lib/module.js", "texts": [ { - "pos": 1095, - "end": 1821, + "pos": 1180, + "end": 1906, "kind": "text" } ] }, { - "pos": 1821, - "end": 2339, + "pos": 1906, + "end": 2424, "kind": "text" } ], @@ -928,20 +932,22 @@ var __spread = (this && this.__spread) || function () { return ar; }; ---------------------------------------------------------------------- -emitHelpers: (678-1093):: typescript:rest +emitHelpers: (678-1178):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -prepend: (1095-1821):: /src/lib/module.js texts:: 1 +prepend: (1180-1906):: /src/lib/module.js texts:: 1 >>-------------------------------------------------------------------- -text: (1095-1821) +text: (1180-1906) var myGlob = 20; function libfile0Spread() { var b = []; @@ -966,7 +972,7 @@ define("file2", ["require", "exports"], function (require, exports) { var globalConst = 10; ---------------------------------------------------------------------- -text: (1821-2339) +text: (1906-2424) define("file3", ["require", "exports"], function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -1227,8 +1233,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var myGlob = 20; @@ -1256,7 +1264,7 @@ var globalConst = 10; //# sourceMappingURL=module.js.map //// [/src/lib/module.js.map] -{"version":3,"file":"module.js","sourceRoot":"","sources":["file0.ts","file1.ts","file2.ts","global.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,MAAM,GAAG,EAAE,CAAC;AAClB,SAAS,cAAc;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AAC3C,cAAc,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;;;;ICFnB,QAAA,CAAC,GAAG,EAAE,CAAC;IAAA,SAAS,eAAe;QAC5C,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;IAChD,CAAC;;;;;ICFY,QAAA,CAAC,GAAG,EAAE,CAAC;;ACApB,IAAM,WAAW,GAAG,EAAE,CAAC"} +{"version":3,"file":"module.js","sourceRoot":"","sources":["file0.ts","file1.ts","file2.ts","global.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,MAAM,GAAG,EAAE,CAAC;AAClB,SAAS,cAAc;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AAC3C,cAAc,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;;;;ICFnB,QAAA,CAAC,GAAG,EAAE,CAAC;IAAA,SAAS,eAAe;QAC5C,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;IAChD,CAAC;;;;;ICFY,QAAA,CAAC,GAAG,EAAE,CAAC;;ACApB,IAAM,WAAW,GAAG,EAAE,CAAC"} //// [/src/lib/module.js.map.baseline.txt] =================================================================== @@ -1294,8 +1302,10 @@ sourceFile:file0.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var myGlob = 20; @@ -1312,12 +1322,12 @@ sourceFile:file0.ts 4 > = 5 > 20 6 > ; -1 >Emitted(30, 1) Source(1, 1) + SourceIndex(0) -2 >Emitted(30, 5) Source(1, 7) + SourceIndex(0) -3 >Emitted(30, 11) Source(1, 13) + SourceIndex(0) -4 >Emitted(30, 14) Source(1, 16) + SourceIndex(0) -5 >Emitted(30, 16) Source(1, 18) + SourceIndex(0) -6 >Emitted(30, 17) Source(1, 19) + SourceIndex(0) +1 >Emitted(32, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(32, 5) Source(1, 7) + SourceIndex(0) +3 >Emitted(32, 11) Source(1, 13) + SourceIndex(0) +4 >Emitted(32, 14) Source(1, 16) + SourceIndex(0) +5 >Emitted(32, 16) Source(1, 18) + SourceIndex(0) +6 >Emitted(32, 17) Source(1, 19) + SourceIndex(0) --- >>>function libfile0Spread() { 1-> @@ -1327,9 +1337,9 @@ sourceFile:file0.ts > 2 >function 3 > libfile0Spread -1->Emitted(31, 1) Source(2, 1) + SourceIndex(0) -2 >Emitted(31, 10) Source(2, 10) + SourceIndex(0) -3 >Emitted(31, 24) Source(2, 24) + SourceIndex(0) +1->Emitted(33, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(33, 10) Source(2, 10) + SourceIndex(0) +3 >Emitted(33, 24) Source(2, 24) + SourceIndex(0) --- >>> var b = []; 1 >^^^^ @@ -1337,8 +1347,8 @@ sourceFile:file0.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >( 2 > ...b: number[] -1 >Emitted(32, 5) Source(2, 25) + SourceIndex(0) -2 >Emitted(32, 16) Source(2, 39) + SourceIndex(0) +1 >Emitted(34, 5) Source(2, 25) + SourceIndex(0) +2 >Emitted(34, 16) Source(2, 39) + SourceIndex(0) --- >>> for (var _i = 0; _i < arguments.length; _i++) { 1->^^^^^^^^^ @@ -1353,20 +1363,20 @@ sourceFile:file0.ts 4 > ...b: number[] 5 > 6 > ...b: number[] -1->Emitted(33, 10) Source(2, 25) + SourceIndex(0) -2 >Emitted(33, 20) Source(2, 39) + SourceIndex(0) -3 >Emitted(33, 22) Source(2, 25) + SourceIndex(0) -4 >Emitted(33, 43) Source(2, 39) + SourceIndex(0) -5 >Emitted(33, 45) Source(2, 25) + SourceIndex(0) -6 >Emitted(33, 49) Source(2, 39) + SourceIndex(0) +1->Emitted(35, 10) Source(2, 25) + SourceIndex(0) +2 >Emitted(35, 20) Source(2, 39) + SourceIndex(0) +3 >Emitted(35, 22) Source(2, 25) + SourceIndex(0) +4 >Emitted(35, 43) Source(2, 39) + SourceIndex(0) +5 >Emitted(35, 45) Source(2, 25) + SourceIndex(0) +6 >Emitted(35, 49) Source(2, 39) + SourceIndex(0) --- >>> b[_i] = arguments[_i]; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > ...b: number[] -1 >Emitted(34, 9) Source(2, 25) + SourceIndex(0) -2 >Emitted(34, 31) Source(2, 39) + SourceIndex(0) +1 >Emitted(36, 9) Source(2, 25) + SourceIndex(0) +2 >Emitted(36, 31) Source(2, 39) + SourceIndex(0) --- >>> } >>>} @@ -1375,8 +1385,8 @@ sourceFile:file0.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >) { 2 >} -1 >Emitted(36, 1) Source(2, 43) + SourceIndex(0) -2 >Emitted(36, 2) Source(2, 44) + SourceIndex(0) +1 >Emitted(38, 1) Source(2, 43) + SourceIndex(0) +2 >Emitted(38, 2) Source(2, 44) + SourceIndex(0) --- >>>libfile0Spread.apply(void 0, __spread([10, 20, 30])); 1-> @@ -1403,17 +1413,17 @@ sourceFile:file0.ts 9 > 30 10> ] 11> ); -1->Emitted(37, 1) Source(3, 1) + SourceIndex(0) -2 >Emitted(37, 15) Source(3, 15) + SourceIndex(0) -3 >Emitted(37, 39) Source(3, 19) + SourceIndex(0) -4 >Emitted(37, 40) Source(3, 20) + SourceIndex(0) -5 >Emitted(37, 42) Source(3, 22) + SourceIndex(0) -6 >Emitted(37, 44) Source(3, 24) + SourceIndex(0) -7 >Emitted(37, 46) Source(3, 26) + SourceIndex(0) -8 >Emitted(37, 48) Source(3, 28) + SourceIndex(0) -9 >Emitted(37, 50) Source(3, 30) + SourceIndex(0) -10>Emitted(37, 51) Source(3, 31) + SourceIndex(0) -11>Emitted(37, 54) Source(3, 33) + SourceIndex(0) +1->Emitted(39, 1) Source(3, 1) + SourceIndex(0) +2 >Emitted(39, 15) Source(3, 15) + SourceIndex(0) +3 >Emitted(39, 39) Source(3, 19) + SourceIndex(0) +4 >Emitted(39, 40) Source(3, 20) + SourceIndex(0) +5 >Emitted(39, 42) Source(3, 22) + SourceIndex(0) +6 >Emitted(39, 44) Source(3, 24) + SourceIndex(0) +7 >Emitted(39, 46) Source(3, 26) + SourceIndex(0) +8 >Emitted(39, 48) Source(3, 28) + SourceIndex(0) +9 >Emitted(39, 50) Source(3, 30) + SourceIndex(0) +10>Emitted(39, 51) Source(3, 31) + SourceIndex(0) +11>Emitted(39, 54) Source(3, 33) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/lib/module.js @@ -1436,12 +1446,12 @@ sourceFile:file1.ts 4 > = 5 > 10 6 > ; -1->Emitted(41, 5) Source(1, 14) + SourceIndex(1) -2 >Emitted(41, 13) Source(1, 14) + SourceIndex(1) -3 >Emitted(41, 14) Source(1, 15) + SourceIndex(1) -4 >Emitted(41, 17) Source(1, 18) + SourceIndex(1) -5 >Emitted(41, 19) Source(1, 20) + SourceIndex(1) -6 >Emitted(41, 20) Source(1, 21) + SourceIndex(1) +1->Emitted(43, 5) Source(1, 14) + SourceIndex(1) +2 >Emitted(43, 13) Source(1, 14) + SourceIndex(1) +3 >Emitted(43, 14) Source(1, 15) + SourceIndex(1) +4 >Emitted(43, 17) Source(1, 18) + SourceIndex(1) +5 >Emitted(43, 19) Source(1, 20) + SourceIndex(1) +6 >Emitted(43, 20) Source(1, 21) + SourceIndex(1) --- >>> function forlibfile1Rest() { 1->^^^^ @@ -1451,9 +1461,9 @@ sourceFile:file1.ts 1-> 2 > function 3 > forlibfile1Rest -1->Emitted(42, 5) Source(1, 21) + SourceIndex(1) -2 >Emitted(42, 14) Source(1, 30) + SourceIndex(1) -3 >Emitted(42, 29) Source(1, 45) + SourceIndex(1) +1->Emitted(44, 5) Source(1, 21) + SourceIndex(1) +2 >Emitted(44, 14) Source(1, 30) + SourceIndex(1) +3 >Emitted(44, 29) Source(1, 45) + SourceIndex(1) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^^^^^ @@ -1473,14 +1483,14 @@ sourceFile:file1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(43, 9) Source(2, 1) + SourceIndex(1) -2 >Emitted(43, 13) Source(2, 7) + SourceIndex(1) -3 >Emitted(43, 42) Source(2, 48) + SourceIndex(1) -4 >Emitted(43, 44) Source(2, 9) + SourceIndex(1) -5 >Emitted(43, 52) Source(2, 10) + SourceIndex(1) -6 >Emitted(43, 54) Source(2, 12) + SourceIndex(1) -7 >Emitted(43, 78) Source(2, 48) + SourceIndex(1) -8 >Emitted(43, 79) Source(2, 49) + SourceIndex(1) +1->Emitted(45, 9) Source(2, 1) + SourceIndex(1) +2 >Emitted(45, 13) Source(2, 7) + SourceIndex(1) +3 >Emitted(45, 42) Source(2, 48) + SourceIndex(1) +4 >Emitted(45, 44) Source(2, 9) + SourceIndex(1) +5 >Emitted(45, 52) Source(2, 10) + SourceIndex(1) +6 >Emitted(45, 54) Source(2, 12) + SourceIndex(1) +7 >Emitted(45, 78) Source(2, 48) + SourceIndex(1) +8 >Emitted(45, 79) Source(2, 49) + SourceIndex(1) --- >>> } 1 >^^^^ @@ -1488,8 +1498,8 @@ sourceFile:file1.ts 1 > > 2 > } -1 >Emitted(44, 5) Source(3, 1) + SourceIndex(1) -2 >Emitted(44, 6) Source(3, 2) + SourceIndex(1) +1 >Emitted(46, 5) Source(3, 1) + SourceIndex(1) +2 >Emitted(46, 6) Source(3, 2) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/lib/module.js @@ -1512,12 +1522,12 @@ sourceFile:file2.ts 4 > = 5 > 20 6 > ; -1 >Emitted(49, 5) Source(1, 14) + SourceIndex(2) -2 >Emitted(49, 13) Source(1, 14) + SourceIndex(2) -3 >Emitted(49, 14) Source(1, 15) + SourceIndex(2) -4 >Emitted(49, 17) Source(1, 18) + SourceIndex(2) -5 >Emitted(49, 19) Source(1, 20) + SourceIndex(2) -6 >Emitted(49, 20) Source(1, 21) + SourceIndex(2) +1 >Emitted(51, 5) Source(1, 14) + SourceIndex(2) +2 >Emitted(51, 13) Source(1, 14) + SourceIndex(2) +3 >Emitted(51, 14) Source(1, 15) + SourceIndex(2) +4 >Emitted(51, 17) Source(1, 18) + SourceIndex(2) +5 >Emitted(51, 19) Source(1, 20) + SourceIndex(2) +6 >Emitted(51, 20) Source(1, 21) + SourceIndex(2) --- ------------------------------------------------------------------- emittedFile:/src/lib/module.js @@ -1538,12 +1548,12 @@ sourceFile:global.ts 4 > = 5 > 10 6 > ; -1 >Emitted(51, 1) Source(1, 1) + SourceIndex(3) -2 >Emitted(51, 5) Source(1, 7) + SourceIndex(3) -3 >Emitted(51, 16) Source(1, 18) + SourceIndex(3) -4 >Emitted(51, 19) Source(1, 21) + SourceIndex(3) -5 >Emitted(51, 21) Source(1, 23) + SourceIndex(3) -6 >Emitted(51, 22) Source(1, 24) + SourceIndex(3) +1 >Emitted(53, 1) Source(1, 1) + SourceIndex(3) +2 >Emitted(53, 5) Source(1, 7) + SourceIndex(3) +3 >Emitted(53, 16) Source(1, 18) + SourceIndex(3) +4 >Emitted(53, 19) Source(1, 21) + SourceIndex(3) +5 >Emitted(53, 21) Source(1, 23) + SourceIndex(3) +6 >Emitted(53, 22) Source(1, 24) + SourceIndex(3) --- >>>//# sourceMappingURL=module.js.map @@ -1573,13 +1583,13 @@ sourceFile:global.ts }, { "pos": 678, - "end": 1093, + "end": 1178, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 1095, - "end": 1821, + "pos": 1180, + "end": 1906, "kind": "text" } ], @@ -1632,18 +1642,20 @@ var __spread = (this && this.__spread) || function () { return ar; }; ---------------------------------------------------------------------- -emitHelpers: (678-1093):: typescript:rest +emitHelpers: (678-1178):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -text: (1095-1821) +text: (1180-1906) var myGlob = 20; function libfile0Spread() { var b = []; diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-declaration-changes/emitHelpers-in-all-projects.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-declaration-changes/emitHelpers-in-all-projects.js index 197e1621012..6271da6473a 100644 --- a/tests/baselines/reference/tsbuild/outfile-concat/incremental-declaration-changes/emitHelpers-in-all-projects.js +++ b/tests/baselines/reference/tsbuild/outfile-concat/incremental-declaration-changes/emitHelpers-in-all-projects.js @@ -168,8 +168,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var s = "Hola, world"; @@ -184,7 +186,7 @@ function f() { //# sourceMappingURL=first-output.js.map //// [/src/first/bin/first-output.js.map] -{"version":3,"file":"first-output.js","sourceRoot":"","sources":["../first_PART1.ts","../first_part2.ts","../first_part3.ts"],"names":[],"mappings":";;;;;;;;;AAIA,IAAM,CAAC,GAAG,aAAa,CAAC;AAMxB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC"} +{"version":3,"file":"first-output.js","sourceRoot":"","sources":["../first_PART1.ts","../first_part2.ts","../first_part3.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,aAAa,CAAC;AAMxB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC"} //// [/src/first/bin/first-output.js.map.baseline.txt] =================================================================== @@ -202,8 +204,10 @@ sourceFile:../first_PART1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var s = "Hola, world"; @@ -223,12 +227,12 @@ sourceFile:../first_PART1.ts 4 > = 5 > "Hola, world" 6 > ; -1 >Emitted(10, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(10, 5) Source(5, 7) + SourceIndex(0) -3 >Emitted(10, 6) Source(5, 8) + SourceIndex(0) -4 >Emitted(10, 9) Source(5, 11) + SourceIndex(0) -5 >Emitted(10, 22) Source(5, 24) + SourceIndex(0) -6 >Emitted(10, 23) Source(5, 25) + SourceIndex(0) +1 >Emitted(12, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(12, 5) Source(5, 7) + SourceIndex(0) +3 >Emitted(12, 6) Source(5, 8) + SourceIndex(0) +4 >Emitted(12, 9) Source(5, 11) + SourceIndex(0) +5 >Emitted(12, 22) Source(5, 24) + SourceIndex(0) +6 >Emitted(12, 23) Source(5, 25) + SourceIndex(0) --- >>>console.log(s); 1 > @@ -254,14 +258,14 @@ sourceFile:../first_PART1.ts 6 > s 7 > ) 8 > ; -1 >Emitted(11, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(11, 8) Source(11, 8) + SourceIndex(0) -3 >Emitted(11, 9) Source(11, 9) + SourceIndex(0) -4 >Emitted(11, 12) Source(11, 12) + SourceIndex(0) -5 >Emitted(11, 13) Source(11, 13) + SourceIndex(0) -6 >Emitted(11, 14) Source(11, 14) + SourceIndex(0) -7 >Emitted(11, 15) Source(11, 15) + SourceIndex(0) -8 >Emitted(11, 16) Source(11, 16) + SourceIndex(0) +1 >Emitted(13, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(13, 8) Source(11, 8) + SourceIndex(0) +3 >Emitted(13, 9) Source(11, 9) + SourceIndex(0) +4 >Emitted(13, 12) Source(11, 12) + SourceIndex(0) +5 >Emitted(13, 13) Source(11, 13) + SourceIndex(0) +6 >Emitted(13, 14) Source(11, 14) + SourceIndex(0) +7 >Emitted(13, 15) Source(11, 15) + SourceIndex(0) +8 >Emitted(13, 16) Source(11, 16) + SourceIndex(0) --- >>>function forfirstfirst_PART1Rest() { 1-> @@ -272,9 +276,9 @@ sourceFile:../first_PART1.ts > 2 >function 3 > forfirstfirst_PART1Rest -1->Emitted(12, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(12, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(12, 33) Source(12, 33) + SourceIndex(0) +1->Emitted(14, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(14, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(14, 33) Source(12, 33) + SourceIndex(0) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -294,14 +298,14 @@ sourceFile:../first_PART1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(13, 5) Source(13, 1) + SourceIndex(0) -2 >Emitted(13, 9) Source(13, 7) + SourceIndex(0) -3 >Emitted(13, 38) Source(13, 48) + SourceIndex(0) -4 >Emitted(13, 40) Source(13, 9) + SourceIndex(0) -5 >Emitted(13, 48) Source(13, 10) + SourceIndex(0) -6 >Emitted(13, 50) Source(13, 12) + SourceIndex(0) -7 >Emitted(13, 74) Source(13, 48) + SourceIndex(0) -8 >Emitted(13, 75) Source(13, 49) + SourceIndex(0) +1->Emitted(15, 5) Source(13, 1) + SourceIndex(0) +2 >Emitted(15, 9) Source(13, 7) + SourceIndex(0) +3 >Emitted(15, 38) Source(13, 48) + SourceIndex(0) +4 >Emitted(15, 40) Source(13, 9) + SourceIndex(0) +5 >Emitted(15, 48) Source(13, 10) + SourceIndex(0) +6 >Emitted(15, 50) Source(13, 12) + SourceIndex(0) +7 >Emitted(15, 74) Source(13, 48) + SourceIndex(0) +8 >Emitted(15, 75) Source(13, 49) + SourceIndex(0) --- >>>} 1 > @@ -310,8 +314,8 @@ sourceFile:../first_PART1.ts 1 > > 2 >} -1 >Emitted(14, 1) Source(14, 1) + SourceIndex(0) -2 >Emitted(14, 2) Source(14, 2) + SourceIndex(0) +1 >Emitted(16, 1) Source(14, 1) + SourceIndex(0) +2 >Emitted(16, 2) Source(14, 2) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/first/bin/first-output.js @@ -336,15 +340,15 @@ sourceFile:../first_part2.ts 7 > () 8 > ) 9 > ; -1->Emitted(15, 1) Source(1, 1) + SourceIndex(1) -2 >Emitted(15, 8) Source(1, 8) + SourceIndex(1) -3 >Emitted(15, 9) Source(1, 9) + SourceIndex(1) -4 >Emitted(15, 12) Source(1, 12) + SourceIndex(1) -5 >Emitted(15, 13) Source(1, 13) + SourceIndex(1) -6 >Emitted(15, 14) Source(1, 14) + SourceIndex(1) -7 >Emitted(15, 16) Source(1, 16) + SourceIndex(1) -8 >Emitted(15, 17) Source(1, 17) + SourceIndex(1) -9 >Emitted(15, 18) Source(1, 18) + SourceIndex(1) +1->Emitted(17, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(17, 8) Source(1, 8) + SourceIndex(1) +3 >Emitted(17, 9) Source(1, 9) + SourceIndex(1) +4 >Emitted(17, 12) Source(1, 12) + SourceIndex(1) +5 >Emitted(17, 13) Source(1, 13) + SourceIndex(1) +6 >Emitted(17, 14) Source(1, 14) + SourceIndex(1) +7 >Emitted(17, 16) Source(1, 16) + SourceIndex(1) +8 >Emitted(17, 17) Source(1, 17) + SourceIndex(1) +9 >Emitted(17, 18) Source(1, 18) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/first/bin/first-output.js @@ -358,9 +362,9 @@ sourceFile:../first_part3.ts 1 > 2 >function 3 > f -1 >Emitted(16, 1) Source(1, 1) + SourceIndex(2) -2 >Emitted(16, 10) Source(1, 10) + SourceIndex(2) -3 >Emitted(16, 11) Source(1, 11) + SourceIndex(2) +1 >Emitted(18, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(18, 10) Source(1, 10) + SourceIndex(2) +3 >Emitted(18, 11) Source(1, 11) + SourceIndex(2) --- >>> return "JS does hoists"; 1->^^^^ @@ -372,10 +376,10 @@ sourceFile:../first_part3.ts 2 > return 3 > "JS does hoists" 4 > ; -1->Emitted(17, 5) Source(2, 5) + SourceIndex(2) -2 >Emitted(17, 12) Source(2, 12) + SourceIndex(2) -3 >Emitted(17, 28) Source(2, 28) + SourceIndex(2) -4 >Emitted(17, 29) Source(2, 29) + SourceIndex(2) +1->Emitted(19, 5) Source(2, 5) + SourceIndex(2) +2 >Emitted(19, 12) Source(2, 12) + SourceIndex(2) +3 >Emitted(19, 28) Source(2, 28) + SourceIndex(2) +4 >Emitted(19, 29) Source(2, 29) + SourceIndex(2) --- >>>} 1 > @@ -384,8 +388,8 @@ sourceFile:../first_part3.ts 1 > > 2 >} -1 >Emitted(18, 1) Source(3, 1) + SourceIndex(2) -2 >Emitted(18, 2) Source(3, 2) + SourceIndex(2) +1 >Emitted(20, 1) Source(3, 1) + SourceIndex(2) +2 >Emitted(20, 2) Source(3, 2) + SourceIndex(2) --- >>>//# sourceMappingURL=first-output.js.map @@ -402,13 +406,13 @@ sourceFile:../first_part3.ts "sections": [ { "pos": 0, - "end": 415, + "end": 500, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 417, - "end": 643, + "pos": 502, + "end": 728, "kind": "text" } ], @@ -435,18 +439,20 @@ sourceFile:../first_part3.ts ====================================================================== File:: /src/first/bin/first-output.js ---------------------------------------------------------------------- -emitHelpers: (0-415):: typescript:rest +emitHelpers: (0-500):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -text: (417-643) +text: (502-728) var s = "Hola, world"; console.log(s); function forfirstfirst_PART1Rest() { @@ -817,8 +823,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var s = "Hola, world"; @@ -856,7 +864,7 @@ function forthirdthird_part1Rest() { //# sourceMappingURL=third-output.js.map //// [/src/third/thirdjs/output/third-output.js.map] -{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;AAIA,IAAM,CAAC,GAAG,aAAa,CAAC;AAMxB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;ACED,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;ACJD,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC;AAChB,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC"} +{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,aAAa,CAAC;AAMxB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;ACED,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;ACJD,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC;AAChB,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC"} //// [/src/third/thirdjs/output/third-output.js.map.baseline.txt] =================================================================== @@ -874,8 +882,10 @@ sourceFile:../../../first/first_PART1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var s = "Hola, world"; @@ -895,12 +905,12 @@ sourceFile:../../../first/first_PART1.ts 4 > = 5 > "Hola, world" 6 > ; -1 >Emitted(10, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(10, 5) Source(5, 7) + SourceIndex(0) -3 >Emitted(10, 6) Source(5, 8) + SourceIndex(0) -4 >Emitted(10, 9) Source(5, 11) + SourceIndex(0) -5 >Emitted(10, 22) Source(5, 24) + SourceIndex(0) -6 >Emitted(10, 23) Source(5, 25) + SourceIndex(0) +1 >Emitted(12, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(12, 5) Source(5, 7) + SourceIndex(0) +3 >Emitted(12, 6) Source(5, 8) + SourceIndex(0) +4 >Emitted(12, 9) Source(5, 11) + SourceIndex(0) +5 >Emitted(12, 22) Source(5, 24) + SourceIndex(0) +6 >Emitted(12, 23) Source(5, 25) + SourceIndex(0) --- >>>console.log(s); 1 > @@ -926,14 +936,14 @@ sourceFile:../../../first/first_PART1.ts 6 > s 7 > ) 8 > ; -1 >Emitted(11, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(11, 8) Source(11, 8) + SourceIndex(0) -3 >Emitted(11, 9) Source(11, 9) + SourceIndex(0) -4 >Emitted(11, 12) Source(11, 12) + SourceIndex(0) -5 >Emitted(11, 13) Source(11, 13) + SourceIndex(0) -6 >Emitted(11, 14) Source(11, 14) + SourceIndex(0) -7 >Emitted(11, 15) Source(11, 15) + SourceIndex(0) -8 >Emitted(11, 16) Source(11, 16) + SourceIndex(0) +1 >Emitted(13, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(13, 8) Source(11, 8) + SourceIndex(0) +3 >Emitted(13, 9) Source(11, 9) + SourceIndex(0) +4 >Emitted(13, 12) Source(11, 12) + SourceIndex(0) +5 >Emitted(13, 13) Source(11, 13) + SourceIndex(0) +6 >Emitted(13, 14) Source(11, 14) + SourceIndex(0) +7 >Emitted(13, 15) Source(11, 15) + SourceIndex(0) +8 >Emitted(13, 16) Source(11, 16) + SourceIndex(0) --- >>>function forfirstfirst_PART1Rest() { 1-> @@ -944,9 +954,9 @@ sourceFile:../../../first/first_PART1.ts > 2 >function 3 > forfirstfirst_PART1Rest -1->Emitted(12, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(12, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(12, 33) Source(12, 33) + SourceIndex(0) +1->Emitted(14, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(14, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(14, 33) Source(12, 33) + SourceIndex(0) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -966,14 +976,14 @@ sourceFile:../../../first/first_PART1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(13, 5) Source(13, 1) + SourceIndex(0) -2 >Emitted(13, 9) Source(13, 7) + SourceIndex(0) -3 >Emitted(13, 38) Source(13, 48) + SourceIndex(0) -4 >Emitted(13, 40) Source(13, 9) + SourceIndex(0) -5 >Emitted(13, 48) Source(13, 10) + SourceIndex(0) -6 >Emitted(13, 50) Source(13, 12) + SourceIndex(0) -7 >Emitted(13, 74) Source(13, 48) + SourceIndex(0) -8 >Emitted(13, 75) Source(13, 49) + SourceIndex(0) +1->Emitted(15, 5) Source(13, 1) + SourceIndex(0) +2 >Emitted(15, 9) Source(13, 7) + SourceIndex(0) +3 >Emitted(15, 38) Source(13, 48) + SourceIndex(0) +4 >Emitted(15, 40) Source(13, 9) + SourceIndex(0) +5 >Emitted(15, 48) Source(13, 10) + SourceIndex(0) +6 >Emitted(15, 50) Source(13, 12) + SourceIndex(0) +7 >Emitted(15, 74) Source(13, 48) + SourceIndex(0) +8 >Emitted(15, 75) Source(13, 49) + SourceIndex(0) --- >>>} 1 > @@ -982,8 +992,8 @@ sourceFile:../../../first/first_PART1.ts 1 > > 2 >} -1 >Emitted(14, 1) Source(14, 1) + SourceIndex(0) -2 >Emitted(14, 2) Source(14, 2) + SourceIndex(0) +1 >Emitted(16, 1) Source(14, 1) + SourceIndex(0) +2 >Emitted(16, 2) Source(14, 2) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1008,15 +1018,15 @@ sourceFile:../../../first/first_part2.ts 7 > () 8 > ) 9 > ; -1->Emitted(15, 1) Source(1, 1) + SourceIndex(1) -2 >Emitted(15, 8) Source(1, 8) + SourceIndex(1) -3 >Emitted(15, 9) Source(1, 9) + SourceIndex(1) -4 >Emitted(15, 12) Source(1, 12) + SourceIndex(1) -5 >Emitted(15, 13) Source(1, 13) + SourceIndex(1) -6 >Emitted(15, 14) Source(1, 14) + SourceIndex(1) -7 >Emitted(15, 16) Source(1, 16) + SourceIndex(1) -8 >Emitted(15, 17) Source(1, 17) + SourceIndex(1) -9 >Emitted(15, 18) Source(1, 18) + SourceIndex(1) +1->Emitted(17, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(17, 8) Source(1, 8) + SourceIndex(1) +3 >Emitted(17, 9) Source(1, 9) + SourceIndex(1) +4 >Emitted(17, 12) Source(1, 12) + SourceIndex(1) +5 >Emitted(17, 13) Source(1, 13) + SourceIndex(1) +6 >Emitted(17, 14) Source(1, 14) + SourceIndex(1) +7 >Emitted(17, 16) Source(1, 16) + SourceIndex(1) +8 >Emitted(17, 17) Source(1, 17) + SourceIndex(1) +9 >Emitted(17, 18) Source(1, 18) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1030,9 +1040,9 @@ sourceFile:../../../first/first_part3.ts 1 > 2 >function 3 > f -1 >Emitted(16, 1) Source(1, 1) + SourceIndex(2) -2 >Emitted(16, 10) Source(1, 10) + SourceIndex(2) -3 >Emitted(16, 11) Source(1, 11) + SourceIndex(2) +1 >Emitted(18, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(18, 10) Source(1, 10) + SourceIndex(2) +3 >Emitted(18, 11) Source(1, 11) + SourceIndex(2) --- >>> return "JS does hoists"; 1->^^^^ @@ -1044,10 +1054,10 @@ sourceFile:../../../first/first_part3.ts 2 > return 3 > "JS does hoists" 4 > ; -1->Emitted(17, 5) Source(2, 5) + SourceIndex(2) -2 >Emitted(17, 12) Source(2, 12) + SourceIndex(2) -3 >Emitted(17, 28) Source(2, 28) + SourceIndex(2) -4 >Emitted(17, 29) Source(2, 29) + SourceIndex(2) +1->Emitted(19, 5) Source(2, 5) + SourceIndex(2) +2 >Emitted(19, 12) Source(2, 12) + SourceIndex(2) +3 >Emitted(19, 28) Source(2, 28) + SourceIndex(2) +4 >Emitted(19, 29) Source(2, 29) + SourceIndex(2) --- >>>} 1 > @@ -1056,8 +1066,8 @@ sourceFile:../../../first/first_part3.ts 1 > > 2 >} -1 >Emitted(18, 1) Source(3, 1) + SourceIndex(2) -2 >Emitted(18, 2) Source(3, 2) + SourceIndex(2) +1 >Emitted(20, 1) Source(3, 1) + SourceIndex(2) +2 >Emitted(20, 2) Source(3, 2) + SourceIndex(2) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1083,10 +1093,10 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1->Emitted(19, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(19, 5) Source(5, 11) + SourceIndex(3) -3 >Emitted(19, 6) Source(5, 12) + SourceIndex(3) -4 >Emitted(19, 7) Source(11, 2) + SourceIndex(3) +1->Emitted(21, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(21, 5) Source(5, 11) + SourceIndex(3) +3 >Emitted(21, 6) Source(5, 12) + SourceIndex(3) +4 >Emitted(21, 7) Source(11, 2) + SourceIndex(3) --- >>>(function (N) { 1-> @@ -1096,9 +1106,9 @@ sourceFile:../../../second/second_part1.ts 1-> 2 >namespace 3 > N -1->Emitted(20, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(20, 12) Source(5, 11) + SourceIndex(3) -3 >Emitted(20, 13) Source(5, 12) + SourceIndex(3) +1->Emitted(22, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(22, 12) Source(5, 11) + SourceIndex(3) +3 >Emitted(22, 13) Source(5, 12) + SourceIndex(3) --- >>> function f() { 1->^^^^ @@ -1109,9 +1119,9 @@ sourceFile:../../../second/second_part1.ts > 2 > function 3 > f -1->Emitted(21, 5) Source(6, 5) + SourceIndex(3) -2 >Emitted(21, 14) Source(6, 14) + SourceIndex(3) -3 >Emitted(21, 15) Source(6, 15) + SourceIndex(3) +1->Emitted(23, 5) Source(6, 5) + SourceIndex(3) +2 >Emitted(23, 14) Source(6, 14) + SourceIndex(3) +3 >Emitted(23, 15) Source(6, 15) + SourceIndex(3) --- >>> console.log('testing'); 1->^^^^^^^^ @@ -1131,14 +1141,14 @@ sourceFile:../../../second/second_part1.ts 6 > 'testing' 7 > ) 8 > ; -1->Emitted(22, 9) Source(7, 9) + SourceIndex(3) -2 >Emitted(22, 16) Source(7, 16) + SourceIndex(3) -3 >Emitted(22, 17) Source(7, 17) + SourceIndex(3) -4 >Emitted(22, 20) Source(7, 20) + SourceIndex(3) -5 >Emitted(22, 21) Source(7, 21) + SourceIndex(3) -6 >Emitted(22, 30) Source(7, 30) + SourceIndex(3) -7 >Emitted(22, 31) Source(7, 31) + SourceIndex(3) -8 >Emitted(22, 32) Source(7, 32) + SourceIndex(3) +1->Emitted(24, 9) Source(7, 9) + SourceIndex(3) +2 >Emitted(24, 16) Source(7, 16) + SourceIndex(3) +3 >Emitted(24, 17) Source(7, 17) + SourceIndex(3) +4 >Emitted(24, 20) Source(7, 20) + SourceIndex(3) +5 >Emitted(24, 21) Source(7, 21) + SourceIndex(3) +6 >Emitted(24, 30) Source(7, 30) + SourceIndex(3) +7 >Emitted(24, 31) Source(7, 31) + SourceIndex(3) +8 >Emitted(24, 32) Source(7, 32) + SourceIndex(3) --- >>> } 1 >^^^^ @@ -1147,8 +1157,8 @@ sourceFile:../../../second/second_part1.ts 1 > > 2 > } -1 >Emitted(23, 5) Source(8, 5) + SourceIndex(3) -2 >Emitted(23, 6) Source(8, 6) + SourceIndex(3) +1 >Emitted(25, 5) Source(8, 5) + SourceIndex(3) +2 >Emitted(25, 6) Source(8, 6) + SourceIndex(3) --- >>> f(); 1->^^^^ @@ -1162,10 +1172,10 @@ sourceFile:../../../second/second_part1.ts 2 > f 3 > () 4 > ; -1->Emitted(24, 5) Source(10, 5) + SourceIndex(3) -2 >Emitted(24, 6) Source(10, 6) + SourceIndex(3) -3 >Emitted(24, 8) Source(10, 8) + SourceIndex(3) -4 >Emitted(24, 9) Source(10, 9) + SourceIndex(3) +1->Emitted(26, 5) Source(10, 5) + SourceIndex(3) +2 >Emitted(26, 6) Source(10, 6) + SourceIndex(3) +3 >Emitted(26, 8) Source(10, 8) + SourceIndex(3) +4 >Emitted(26, 9) Source(10, 9) + SourceIndex(3) --- >>>})(N || (N = {})); 1-> @@ -1190,13 +1200,13 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1->Emitted(25, 1) Source(11, 1) + SourceIndex(3) -2 >Emitted(25, 2) Source(11, 2) + SourceIndex(3) -3 >Emitted(25, 4) Source(5, 11) + SourceIndex(3) -4 >Emitted(25, 5) Source(5, 12) + SourceIndex(3) -5 >Emitted(25, 10) Source(5, 11) + SourceIndex(3) -6 >Emitted(25, 11) Source(5, 12) + SourceIndex(3) -7 >Emitted(25, 19) Source(11, 2) + SourceIndex(3) +1->Emitted(27, 1) Source(11, 1) + SourceIndex(3) +2 >Emitted(27, 2) Source(11, 2) + SourceIndex(3) +3 >Emitted(27, 4) Source(5, 11) + SourceIndex(3) +4 >Emitted(27, 5) Source(5, 12) + SourceIndex(3) +5 >Emitted(27, 10) Source(5, 11) + SourceIndex(3) +6 >Emitted(27, 11) Source(5, 12) + SourceIndex(3) +7 >Emitted(27, 19) Source(11, 2) + SourceIndex(3) --- >>>function forsecondsecond_part1Rest() { 1-> @@ -1207,9 +1217,9 @@ sourceFile:../../../second/second_part1.ts > 2 >function 3 > forsecondsecond_part1Rest -1->Emitted(26, 1) Source(12, 1) + SourceIndex(3) -2 >Emitted(26, 10) Source(12, 10) + SourceIndex(3) -3 >Emitted(26, 35) Source(12, 35) + SourceIndex(3) +1->Emitted(28, 1) Source(12, 1) + SourceIndex(3) +2 >Emitted(28, 10) Source(12, 10) + SourceIndex(3) +3 >Emitted(28, 35) Source(12, 35) + SourceIndex(3) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -1229,14 +1239,14 @@ sourceFile:../../../second/second_part1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(27, 5) Source(13, 1) + SourceIndex(3) -2 >Emitted(27, 9) Source(13, 7) + SourceIndex(3) -3 >Emitted(27, 38) Source(13, 48) + SourceIndex(3) -4 >Emitted(27, 40) Source(13, 9) + SourceIndex(3) -5 >Emitted(27, 48) Source(13, 10) + SourceIndex(3) -6 >Emitted(27, 50) Source(13, 12) + SourceIndex(3) -7 >Emitted(27, 74) Source(13, 48) + SourceIndex(3) -8 >Emitted(27, 75) Source(13, 49) + SourceIndex(3) +1->Emitted(29, 5) Source(13, 1) + SourceIndex(3) +2 >Emitted(29, 9) Source(13, 7) + SourceIndex(3) +3 >Emitted(29, 38) Source(13, 48) + SourceIndex(3) +4 >Emitted(29, 40) Source(13, 9) + SourceIndex(3) +5 >Emitted(29, 48) Source(13, 10) + SourceIndex(3) +6 >Emitted(29, 50) Source(13, 12) + SourceIndex(3) +7 >Emitted(29, 74) Source(13, 48) + SourceIndex(3) +8 >Emitted(29, 75) Source(13, 49) + SourceIndex(3) --- >>>} 1 > @@ -1245,8 +1255,8 @@ sourceFile:../../../second/second_part1.ts 1 > > 2 >} -1 >Emitted(28, 1) Source(14, 1) + SourceIndex(3) -2 >Emitted(28, 2) Source(14, 2) + SourceIndex(3) +1 >Emitted(30, 1) Source(14, 1) + SourceIndex(3) +2 >Emitted(30, 2) Source(14, 2) + SourceIndex(3) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1256,13 +1266,13 @@ sourceFile:../../../second/second_part2.ts 1-> 2 >^^^^^^^^^^^^^^^^^^^-> 1-> -1->Emitted(29, 1) Source(1, 1) + SourceIndex(4) +1->Emitted(31, 1) Source(1, 1) + SourceIndex(4) --- >>> function C() { 1->^^^^ 2 > ^^-> 1-> -1->Emitted(30, 5) Source(1, 1) + SourceIndex(4) +1->Emitted(32, 5) Source(1, 1) + SourceIndex(4) --- >>> } 1->^^^^ @@ -1274,8 +1284,8 @@ sourceFile:../../../second/second_part2.ts > } > 2 > } -1->Emitted(31, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(31, 6) Source(5, 2) + SourceIndex(4) +1->Emitted(33, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(33, 6) Source(5, 2) + SourceIndex(4) --- >>> C.prototype.doSomething = function () { 1->^^^^ @@ -1285,9 +1295,9 @@ sourceFile:../../../second/second_part2.ts 1-> 2 > doSomething 3 > -1->Emitted(32, 5) Source(2, 5) + SourceIndex(4) -2 >Emitted(32, 28) Source(2, 16) + SourceIndex(4) -3 >Emitted(32, 31) Source(2, 5) + SourceIndex(4) +1->Emitted(34, 5) Source(2, 5) + SourceIndex(4) +2 >Emitted(34, 28) Source(2, 16) + SourceIndex(4) +3 >Emitted(34, 31) Source(2, 5) + SourceIndex(4) --- >>> console.log("something got done"); 1->^^^^^^^^ @@ -1307,14 +1317,14 @@ sourceFile:../../../second/second_part2.ts 6 > "something got done" 7 > ) 8 > ; -1->Emitted(33, 9) Source(3, 9) + SourceIndex(4) -2 >Emitted(33, 16) Source(3, 16) + SourceIndex(4) -3 >Emitted(33, 17) Source(3, 17) + SourceIndex(4) -4 >Emitted(33, 20) Source(3, 20) + SourceIndex(4) -5 >Emitted(33, 21) Source(3, 21) + SourceIndex(4) -6 >Emitted(33, 41) Source(3, 41) + SourceIndex(4) -7 >Emitted(33, 42) Source(3, 42) + SourceIndex(4) -8 >Emitted(33, 43) Source(3, 43) + SourceIndex(4) +1->Emitted(35, 9) Source(3, 9) + SourceIndex(4) +2 >Emitted(35, 16) Source(3, 16) + SourceIndex(4) +3 >Emitted(35, 17) Source(3, 17) + SourceIndex(4) +4 >Emitted(35, 20) Source(3, 20) + SourceIndex(4) +5 >Emitted(35, 21) Source(3, 21) + SourceIndex(4) +6 >Emitted(35, 41) Source(3, 41) + SourceIndex(4) +7 >Emitted(35, 42) Source(3, 42) + SourceIndex(4) +8 >Emitted(35, 43) Source(3, 43) + SourceIndex(4) --- >>> }; 1 >^^^^ @@ -1323,8 +1333,8 @@ sourceFile:../../../second/second_part2.ts 1 > > 2 > } -1 >Emitted(34, 5) Source(4, 5) + SourceIndex(4) -2 >Emitted(34, 6) Source(4, 6) + SourceIndex(4) +1 >Emitted(36, 5) Source(4, 5) + SourceIndex(4) +2 >Emitted(36, 6) Source(4, 6) + SourceIndex(4) --- >>> return C; 1->^^^^ @@ -1332,8 +1342,8 @@ sourceFile:../../../second/second_part2.ts 1-> > 2 > } -1->Emitted(35, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(35, 13) Source(5, 2) + SourceIndex(4) +1->Emitted(37, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(37, 13) Source(5, 2) + SourceIndex(4) --- >>>}()); 1 > @@ -1349,10 +1359,10 @@ sourceFile:../../../second/second_part2.ts > console.log("something got done"); > } > } -1 >Emitted(36, 1) Source(5, 1) + SourceIndex(4) -2 >Emitted(36, 2) Source(5, 2) + SourceIndex(4) -3 >Emitted(36, 2) Source(1, 1) + SourceIndex(4) -4 >Emitted(36, 6) Source(5, 2) + SourceIndex(4) +1 >Emitted(38, 1) Source(5, 1) + SourceIndex(4) +2 >Emitted(38, 2) Source(5, 2) + SourceIndex(4) +3 >Emitted(38, 2) Source(1, 1) + SourceIndex(4) +4 >Emitted(38, 6) Source(5, 2) + SourceIndex(4) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1376,14 +1386,14 @@ sourceFile:../../third_part1.ts 6 > C 7 > () 8 > ; -1->Emitted(37, 1) Source(1, 1) + SourceIndex(5) -2 >Emitted(37, 5) Source(1, 5) + SourceIndex(5) -3 >Emitted(37, 6) Source(1, 6) + SourceIndex(5) -4 >Emitted(37, 9) Source(1, 9) + SourceIndex(5) -5 >Emitted(37, 13) Source(1, 13) + SourceIndex(5) -6 >Emitted(37, 14) Source(1, 14) + SourceIndex(5) -7 >Emitted(37, 16) Source(1, 16) + SourceIndex(5) -8 >Emitted(37, 17) Source(1, 17) + SourceIndex(5) +1->Emitted(39, 1) Source(1, 1) + SourceIndex(5) +2 >Emitted(39, 5) Source(1, 5) + SourceIndex(5) +3 >Emitted(39, 6) Source(1, 6) + SourceIndex(5) +4 >Emitted(39, 9) Source(1, 9) + SourceIndex(5) +5 >Emitted(39, 13) Source(1, 13) + SourceIndex(5) +6 >Emitted(39, 14) Source(1, 14) + SourceIndex(5) +7 >Emitted(39, 16) Source(1, 16) + SourceIndex(5) +8 >Emitted(39, 17) Source(1, 17) + SourceIndex(5) --- >>>c.doSomething(); 1-> @@ -1400,12 +1410,12 @@ sourceFile:../../third_part1.ts 4 > doSomething 5 > () 6 > ; -1->Emitted(38, 1) Source(2, 1) + SourceIndex(5) -2 >Emitted(38, 2) Source(2, 2) + SourceIndex(5) -3 >Emitted(38, 3) Source(2, 3) + SourceIndex(5) -4 >Emitted(38, 14) Source(2, 14) + SourceIndex(5) -5 >Emitted(38, 16) Source(2, 16) + SourceIndex(5) -6 >Emitted(38, 17) Source(2, 17) + SourceIndex(5) +1->Emitted(40, 1) Source(2, 1) + SourceIndex(5) +2 >Emitted(40, 2) Source(2, 2) + SourceIndex(5) +3 >Emitted(40, 3) Source(2, 3) + SourceIndex(5) +4 >Emitted(40, 14) Source(2, 14) + SourceIndex(5) +5 >Emitted(40, 16) Source(2, 16) + SourceIndex(5) +6 >Emitted(40, 17) Source(2, 17) + SourceIndex(5) --- >>>function forthirdthird_part1Rest() { 1-> @@ -1416,9 +1426,9 @@ sourceFile:../../third_part1.ts > 2 >function 3 > forthirdthird_part1Rest -1->Emitted(39, 1) Source(3, 1) + SourceIndex(5) -2 >Emitted(39, 10) Source(3, 10) + SourceIndex(5) -3 >Emitted(39, 33) Source(3, 33) + SourceIndex(5) +1->Emitted(41, 1) Source(3, 1) + SourceIndex(5) +2 >Emitted(41, 10) Source(3, 10) + SourceIndex(5) +3 >Emitted(41, 33) Source(3, 33) + SourceIndex(5) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -1438,14 +1448,14 @@ sourceFile:../../third_part1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(40, 5) Source(4, 1) + SourceIndex(5) -2 >Emitted(40, 9) Source(4, 7) + SourceIndex(5) -3 >Emitted(40, 38) Source(4, 48) + SourceIndex(5) -4 >Emitted(40, 40) Source(4, 9) + SourceIndex(5) -5 >Emitted(40, 48) Source(4, 10) + SourceIndex(5) -6 >Emitted(40, 50) Source(4, 12) + SourceIndex(5) -7 >Emitted(40, 74) Source(4, 48) + SourceIndex(5) -8 >Emitted(40, 75) Source(4, 49) + SourceIndex(5) +1->Emitted(42, 5) Source(4, 1) + SourceIndex(5) +2 >Emitted(42, 9) Source(4, 7) + SourceIndex(5) +3 >Emitted(42, 38) Source(4, 48) + SourceIndex(5) +4 >Emitted(42, 40) Source(4, 9) + SourceIndex(5) +5 >Emitted(42, 48) Source(4, 10) + SourceIndex(5) +6 >Emitted(42, 50) Source(4, 12) + SourceIndex(5) +7 >Emitted(42, 74) Source(4, 48) + SourceIndex(5) +8 >Emitted(42, 75) Source(4, 49) + SourceIndex(5) --- >>>} 1 > @@ -1454,8 +1464,8 @@ sourceFile:../../third_part1.ts 1 > > 2 >} -1 >Emitted(41, 1) Source(5, 1) + SourceIndex(5) -2 >Emitted(41, 2) Source(5, 2) + SourceIndex(5) +1 >Emitted(43, 1) Source(5, 1) + SourceIndex(5) +2 >Emitted(43, 2) Source(5, 2) + SourceIndex(5) --- >>>//# sourceMappingURL=third-output.js.map @@ -1470,39 +1480,39 @@ sourceFile:../../third_part1.ts "sections": [ { "pos": 0, - "end": 415, + "end": 500, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 417, - "end": 643, + "pos": 502, + "end": 728, "kind": "prepend", "data": "/src/first/bin/first-output.js", "texts": [ { - "pos": 417, - "end": 643, + "pos": 502, + "end": 728, "kind": "text" } ] }, { - "pos": 643, - "end": 1047, + "pos": 728, + "end": 1132, "kind": "prepend", "data": "/src/2/second-output.js", "texts": [ { - "pos": 643, - "end": 1047, + "pos": 728, + "end": 1132, "kind": "text" } ] }, { - "pos": 1047, - "end": 1200, + "pos": 1132, + "end": 1285, "kind": "text" } ], @@ -1555,20 +1565,22 @@ sourceFile:../../third_part1.ts ====================================================================== File:: /src/third/thirdjs/output/third-output.js ---------------------------------------------------------------------- -emitHelpers: (0-415):: typescript:rest +emitHelpers: (0-500):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -prepend: (417-643):: /src/first/bin/first-output.js texts:: 1 +prepend: (502-728):: /src/first/bin/first-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (417-643) +text: (502-728) var s = "Hola, world"; console.log(s); function forfirstfirst_PART1Rest() { @@ -1580,9 +1592,9 @@ function f() { } ---------------------------------------------------------------------- -prepend: (643-1047):: /src/2/second-output.js texts:: 1 +prepend: (728-1132):: /src/2/second-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (643-1047) +text: (728-1132) var N; (function (N) { function f() { @@ -1603,7 +1615,7 @@ var C = (function () { }()); ---------------------------------------------------------------------- -text: (1047-1200) +text: (1132-1285) var c = new C(); c.doSomething(); function forthirdthird_part1Rest() { diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-declaration-doesnt-change/emitHelpers-in-all-projects.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-declaration-doesnt-change/emitHelpers-in-all-projects.js index d5bf6c20807..828d013c259 100644 --- a/tests/baselines/reference/tsbuild/outfile-concat/incremental-declaration-doesnt-change/emitHelpers-in-all-projects.js +++ b/tests/baselines/reference/tsbuild/outfile-concat/incremental-declaration-doesnt-change/emitHelpers-in-all-projects.js @@ -4,8 +4,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var s = "Hello, world"; @@ -21,7 +23,7 @@ function f() { //# sourceMappingURL=first-output.js.map //// [/src/first/bin/first-output.js.map] -{"version":3,"file":"first-output.js","sourceRoot":"","sources":["../first_PART1.ts","../first_part2.ts","../first_part3.ts"],"names":[],"mappings":";;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;AAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;ACbhB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC"} +{"version":3,"file":"first-output.js","sourceRoot":"","sources":["../first_PART1.ts","../first_part2.ts","../first_part3.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;AAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;ACbhB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC"} //// [/src/first/bin/first-output.js.map.baseline.txt] =================================================================== @@ -39,8 +41,10 @@ sourceFile:../first_PART1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var s = "Hello, world"; @@ -60,12 +64,12 @@ sourceFile:../first_PART1.ts 4 > = 5 > "Hello, world" 6 > ; -1 >Emitted(10, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(10, 5) Source(5, 7) + SourceIndex(0) -3 >Emitted(10, 6) Source(5, 8) + SourceIndex(0) -4 >Emitted(10, 9) Source(5, 11) + SourceIndex(0) -5 >Emitted(10, 23) Source(5, 25) + SourceIndex(0) -6 >Emitted(10, 24) Source(5, 26) + SourceIndex(0) +1 >Emitted(12, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(12, 5) Source(5, 7) + SourceIndex(0) +3 >Emitted(12, 6) Source(5, 8) + SourceIndex(0) +4 >Emitted(12, 9) Source(5, 11) + SourceIndex(0) +5 >Emitted(12, 23) Source(5, 25) + SourceIndex(0) +6 >Emitted(12, 24) Source(5, 26) + SourceIndex(0) --- >>>console.log(s); 1 > @@ -91,14 +95,14 @@ sourceFile:../first_PART1.ts 6 > s 7 > ) 8 > ; -1 >Emitted(11, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(11, 8) Source(11, 8) + SourceIndex(0) -3 >Emitted(11, 9) Source(11, 9) + SourceIndex(0) -4 >Emitted(11, 12) Source(11, 12) + SourceIndex(0) -5 >Emitted(11, 13) Source(11, 13) + SourceIndex(0) -6 >Emitted(11, 14) Source(11, 14) + SourceIndex(0) -7 >Emitted(11, 15) Source(11, 15) + SourceIndex(0) -8 >Emitted(11, 16) Source(11, 16) + SourceIndex(0) +1 >Emitted(13, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(13, 8) Source(11, 8) + SourceIndex(0) +3 >Emitted(13, 9) Source(11, 9) + SourceIndex(0) +4 >Emitted(13, 12) Source(11, 12) + SourceIndex(0) +5 >Emitted(13, 13) Source(11, 13) + SourceIndex(0) +6 >Emitted(13, 14) Source(11, 14) + SourceIndex(0) +7 >Emitted(13, 15) Source(11, 15) + SourceIndex(0) +8 >Emitted(13, 16) Source(11, 16) + SourceIndex(0) --- >>>function forfirstfirst_PART1Rest() { 1-> @@ -109,9 +113,9 @@ sourceFile:../first_PART1.ts > 2 >function 3 > forfirstfirst_PART1Rest -1->Emitted(12, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(12, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(12, 33) Source(12, 33) + SourceIndex(0) +1->Emitted(14, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(14, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(14, 33) Source(12, 33) + SourceIndex(0) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -131,14 +135,14 @@ sourceFile:../first_PART1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(13, 5) Source(13, 1) + SourceIndex(0) -2 >Emitted(13, 9) Source(13, 7) + SourceIndex(0) -3 >Emitted(13, 38) Source(13, 48) + SourceIndex(0) -4 >Emitted(13, 40) Source(13, 9) + SourceIndex(0) -5 >Emitted(13, 48) Source(13, 10) + SourceIndex(0) -6 >Emitted(13, 50) Source(13, 12) + SourceIndex(0) -7 >Emitted(13, 74) Source(13, 48) + SourceIndex(0) -8 >Emitted(13, 75) Source(13, 49) + SourceIndex(0) +1->Emitted(15, 5) Source(13, 1) + SourceIndex(0) +2 >Emitted(15, 9) Source(13, 7) + SourceIndex(0) +3 >Emitted(15, 38) Source(13, 48) + SourceIndex(0) +4 >Emitted(15, 40) Source(13, 9) + SourceIndex(0) +5 >Emitted(15, 48) Source(13, 10) + SourceIndex(0) +6 >Emitted(15, 50) Source(13, 12) + SourceIndex(0) +7 >Emitted(15, 74) Source(13, 48) + SourceIndex(0) +8 >Emitted(15, 75) Source(13, 49) + SourceIndex(0) --- >>>} 1 > @@ -147,8 +151,8 @@ sourceFile:../first_PART1.ts 1 > > 2 >} -1 >Emitted(14, 1) Source(14, 1) + SourceIndex(0) -2 >Emitted(14, 2) Source(14, 2) + SourceIndex(0) +1 >Emitted(16, 1) Source(14, 1) + SourceIndex(0) +2 >Emitted(16, 2) Source(14, 2) + SourceIndex(0) --- >>>console.log(s); 1-> @@ -168,14 +172,14 @@ sourceFile:../first_PART1.ts 6 > s 7 > ) 8 > ; -1->Emitted(15, 1) Source(14, 2) + SourceIndex(0) -2 >Emitted(15, 8) Source(14, 9) + SourceIndex(0) -3 >Emitted(15, 9) Source(14, 10) + SourceIndex(0) -4 >Emitted(15, 12) Source(14, 13) + SourceIndex(0) -5 >Emitted(15, 13) Source(14, 14) + SourceIndex(0) -6 >Emitted(15, 14) Source(14, 15) + SourceIndex(0) -7 >Emitted(15, 15) Source(14, 16) + SourceIndex(0) -8 >Emitted(15, 16) Source(14, 17) + SourceIndex(0) +1->Emitted(17, 1) Source(14, 2) + SourceIndex(0) +2 >Emitted(17, 8) Source(14, 9) + SourceIndex(0) +3 >Emitted(17, 9) Source(14, 10) + SourceIndex(0) +4 >Emitted(17, 12) Source(14, 13) + SourceIndex(0) +5 >Emitted(17, 13) Source(14, 14) + SourceIndex(0) +6 >Emitted(17, 14) Source(14, 15) + SourceIndex(0) +7 >Emitted(17, 15) Source(14, 16) + SourceIndex(0) +8 >Emitted(17, 16) Source(14, 17) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/first/bin/first-output.js @@ -200,15 +204,15 @@ sourceFile:../first_part2.ts 7 > () 8 > ) 9 > ; -1->Emitted(16, 1) Source(1, 1) + SourceIndex(1) -2 >Emitted(16, 8) Source(1, 8) + SourceIndex(1) -3 >Emitted(16, 9) Source(1, 9) + SourceIndex(1) -4 >Emitted(16, 12) Source(1, 12) + SourceIndex(1) -5 >Emitted(16, 13) Source(1, 13) + SourceIndex(1) -6 >Emitted(16, 14) Source(1, 14) + SourceIndex(1) -7 >Emitted(16, 16) Source(1, 16) + SourceIndex(1) -8 >Emitted(16, 17) Source(1, 17) + SourceIndex(1) -9 >Emitted(16, 18) Source(1, 18) + SourceIndex(1) +1->Emitted(18, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(18, 8) Source(1, 8) + SourceIndex(1) +3 >Emitted(18, 9) Source(1, 9) + SourceIndex(1) +4 >Emitted(18, 12) Source(1, 12) + SourceIndex(1) +5 >Emitted(18, 13) Source(1, 13) + SourceIndex(1) +6 >Emitted(18, 14) Source(1, 14) + SourceIndex(1) +7 >Emitted(18, 16) Source(1, 16) + SourceIndex(1) +8 >Emitted(18, 17) Source(1, 17) + SourceIndex(1) +9 >Emitted(18, 18) Source(1, 18) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/first/bin/first-output.js @@ -222,9 +226,9 @@ sourceFile:../first_part3.ts 1 > 2 >function 3 > f -1 >Emitted(17, 1) Source(1, 1) + SourceIndex(2) -2 >Emitted(17, 10) Source(1, 10) + SourceIndex(2) -3 >Emitted(17, 11) Source(1, 11) + SourceIndex(2) +1 >Emitted(19, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(19, 10) Source(1, 10) + SourceIndex(2) +3 >Emitted(19, 11) Source(1, 11) + SourceIndex(2) --- >>> return "JS does hoists"; 1->^^^^ @@ -236,10 +240,10 @@ sourceFile:../first_part3.ts 2 > return 3 > "JS does hoists" 4 > ; -1->Emitted(18, 5) Source(2, 5) + SourceIndex(2) -2 >Emitted(18, 12) Source(2, 12) + SourceIndex(2) -3 >Emitted(18, 28) Source(2, 28) + SourceIndex(2) -4 >Emitted(18, 29) Source(2, 29) + SourceIndex(2) +1->Emitted(20, 5) Source(2, 5) + SourceIndex(2) +2 >Emitted(20, 12) Source(2, 12) + SourceIndex(2) +3 >Emitted(20, 28) Source(2, 28) + SourceIndex(2) +4 >Emitted(20, 29) Source(2, 29) + SourceIndex(2) --- >>>} 1 > @@ -248,8 +252,8 @@ sourceFile:../first_part3.ts 1 > > 2 >} -1 >Emitted(19, 1) Source(3, 1) + SourceIndex(2) -2 >Emitted(19, 2) Source(3, 2) + SourceIndex(2) +1 >Emitted(21, 1) Source(3, 1) + SourceIndex(2) +2 >Emitted(21, 2) Source(3, 2) + SourceIndex(2) --- >>>//# sourceMappingURL=first-output.js.map @@ -266,13 +270,13 @@ sourceFile:../first_part3.ts "sections": [ { "pos": 0, - "end": 415, + "end": 500, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 417, - "end": 661, + "pos": 502, + "end": 746, "kind": "text" } ], @@ -299,18 +303,20 @@ sourceFile:../first_part3.ts ====================================================================== File:: /src/first/bin/first-output.js ---------------------------------------------------------------------- -emitHelpers: (0-415):: typescript:rest +emitHelpers: (0-500):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -text: (417-661) +text: (502-746) var s = "Hello, world"; console.log(s); function forfirstfirst_PART1Rest() { @@ -361,8 +367,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var s = "Hello, world"; @@ -401,7 +409,7 @@ function forthirdthird_part1Rest() { //# sourceMappingURL=third-output.js.map //// [/src/third/thirdjs/output/third-output.js.map] -{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;AAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;ACbhB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;ACED,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;ACJD,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC;AAChB,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC"} +{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;AAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;ACbhB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;ACED,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;ACJD,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC;AAChB,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC"} //// [/src/third/thirdjs/output/third-output.js.map.baseline.txt] =================================================================== @@ -419,8 +427,10 @@ sourceFile:../../../first/first_PART1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var s = "Hello, world"; @@ -440,12 +450,12 @@ sourceFile:../../../first/first_PART1.ts 4 > = 5 > "Hello, world" 6 > ; -1 >Emitted(10, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(10, 5) Source(5, 7) + SourceIndex(0) -3 >Emitted(10, 6) Source(5, 8) + SourceIndex(0) -4 >Emitted(10, 9) Source(5, 11) + SourceIndex(0) -5 >Emitted(10, 23) Source(5, 25) + SourceIndex(0) -6 >Emitted(10, 24) Source(5, 26) + SourceIndex(0) +1 >Emitted(12, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(12, 5) Source(5, 7) + SourceIndex(0) +3 >Emitted(12, 6) Source(5, 8) + SourceIndex(0) +4 >Emitted(12, 9) Source(5, 11) + SourceIndex(0) +5 >Emitted(12, 23) Source(5, 25) + SourceIndex(0) +6 >Emitted(12, 24) Source(5, 26) + SourceIndex(0) --- >>>console.log(s); 1 > @@ -471,14 +481,14 @@ sourceFile:../../../first/first_PART1.ts 6 > s 7 > ) 8 > ; -1 >Emitted(11, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(11, 8) Source(11, 8) + SourceIndex(0) -3 >Emitted(11, 9) Source(11, 9) + SourceIndex(0) -4 >Emitted(11, 12) Source(11, 12) + SourceIndex(0) -5 >Emitted(11, 13) Source(11, 13) + SourceIndex(0) -6 >Emitted(11, 14) Source(11, 14) + SourceIndex(0) -7 >Emitted(11, 15) Source(11, 15) + SourceIndex(0) -8 >Emitted(11, 16) Source(11, 16) + SourceIndex(0) +1 >Emitted(13, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(13, 8) Source(11, 8) + SourceIndex(0) +3 >Emitted(13, 9) Source(11, 9) + SourceIndex(0) +4 >Emitted(13, 12) Source(11, 12) + SourceIndex(0) +5 >Emitted(13, 13) Source(11, 13) + SourceIndex(0) +6 >Emitted(13, 14) Source(11, 14) + SourceIndex(0) +7 >Emitted(13, 15) Source(11, 15) + SourceIndex(0) +8 >Emitted(13, 16) Source(11, 16) + SourceIndex(0) --- >>>function forfirstfirst_PART1Rest() { 1-> @@ -489,9 +499,9 @@ sourceFile:../../../first/first_PART1.ts > 2 >function 3 > forfirstfirst_PART1Rest -1->Emitted(12, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(12, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(12, 33) Source(12, 33) + SourceIndex(0) +1->Emitted(14, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(14, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(14, 33) Source(12, 33) + SourceIndex(0) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -511,14 +521,14 @@ sourceFile:../../../first/first_PART1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(13, 5) Source(13, 1) + SourceIndex(0) -2 >Emitted(13, 9) Source(13, 7) + SourceIndex(0) -3 >Emitted(13, 38) Source(13, 48) + SourceIndex(0) -4 >Emitted(13, 40) Source(13, 9) + SourceIndex(0) -5 >Emitted(13, 48) Source(13, 10) + SourceIndex(0) -6 >Emitted(13, 50) Source(13, 12) + SourceIndex(0) -7 >Emitted(13, 74) Source(13, 48) + SourceIndex(0) -8 >Emitted(13, 75) Source(13, 49) + SourceIndex(0) +1->Emitted(15, 5) Source(13, 1) + SourceIndex(0) +2 >Emitted(15, 9) Source(13, 7) + SourceIndex(0) +3 >Emitted(15, 38) Source(13, 48) + SourceIndex(0) +4 >Emitted(15, 40) Source(13, 9) + SourceIndex(0) +5 >Emitted(15, 48) Source(13, 10) + SourceIndex(0) +6 >Emitted(15, 50) Source(13, 12) + SourceIndex(0) +7 >Emitted(15, 74) Source(13, 48) + SourceIndex(0) +8 >Emitted(15, 75) Source(13, 49) + SourceIndex(0) --- >>>} 1 > @@ -527,8 +537,8 @@ sourceFile:../../../first/first_PART1.ts 1 > > 2 >} -1 >Emitted(14, 1) Source(14, 1) + SourceIndex(0) -2 >Emitted(14, 2) Source(14, 2) + SourceIndex(0) +1 >Emitted(16, 1) Source(14, 1) + SourceIndex(0) +2 >Emitted(16, 2) Source(14, 2) + SourceIndex(0) --- >>>console.log(s); 1-> @@ -548,14 +558,14 @@ sourceFile:../../../first/first_PART1.ts 6 > s 7 > ) 8 > ; -1->Emitted(15, 1) Source(14, 2) + SourceIndex(0) -2 >Emitted(15, 8) Source(14, 9) + SourceIndex(0) -3 >Emitted(15, 9) Source(14, 10) + SourceIndex(0) -4 >Emitted(15, 12) Source(14, 13) + SourceIndex(0) -5 >Emitted(15, 13) Source(14, 14) + SourceIndex(0) -6 >Emitted(15, 14) Source(14, 15) + SourceIndex(0) -7 >Emitted(15, 15) Source(14, 16) + SourceIndex(0) -8 >Emitted(15, 16) Source(14, 17) + SourceIndex(0) +1->Emitted(17, 1) Source(14, 2) + SourceIndex(0) +2 >Emitted(17, 8) Source(14, 9) + SourceIndex(0) +3 >Emitted(17, 9) Source(14, 10) + SourceIndex(0) +4 >Emitted(17, 12) Source(14, 13) + SourceIndex(0) +5 >Emitted(17, 13) Source(14, 14) + SourceIndex(0) +6 >Emitted(17, 14) Source(14, 15) + SourceIndex(0) +7 >Emitted(17, 15) Source(14, 16) + SourceIndex(0) +8 >Emitted(17, 16) Source(14, 17) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -580,15 +590,15 @@ sourceFile:../../../first/first_part2.ts 7 > () 8 > ) 9 > ; -1->Emitted(16, 1) Source(1, 1) + SourceIndex(1) -2 >Emitted(16, 8) Source(1, 8) + SourceIndex(1) -3 >Emitted(16, 9) Source(1, 9) + SourceIndex(1) -4 >Emitted(16, 12) Source(1, 12) + SourceIndex(1) -5 >Emitted(16, 13) Source(1, 13) + SourceIndex(1) -6 >Emitted(16, 14) Source(1, 14) + SourceIndex(1) -7 >Emitted(16, 16) Source(1, 16) + SourceIndex(1) -8 >Emitted(16, 17) Source(1, 17) + SourceIndex(1) -9 >Emitted(16, 18) Source(1, 18) + SourceIndex(1) +1->Emitted(18, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(18, 8) Source(1, 8) + SourceIndex(1) +3 >Emitted(18, 9) Source(1, 9) + SourceIndex(1) +4 >Emitted(18, 12) Source(1, 12) + SourceIndex(1) +5 >Emitted(18, 13) Source(1, 13) + SourceIndex(1) +6 >Emitted(18, 14) Source(1, 14) + SourceIndex(1) +7 >Emitted(18, 16) Source(1, 16) + SourceIndex(1) +8 >Emitted(18, 17) Source(1, 17) + SourceIndex(1) +9 >Emitted(18, 18) Source(1, 18) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -602,9 +612,9 @@ sourceFile:../../../first/first_part3.ts 1 > 2 >function 3 > f -1 >Emitted(17, 1) Source(1, 1) + SourceIndex(2) -2 >Emitted(17, 10) Source(1, 10) + SourceIndex(2) -3 >Emitted(17, 11) Source(1, 11) + SourceIndex(2) +1 >Emitted(19, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(19, 10) Source(1, 10) + SourceIndex(2) +3 >Emitted(19, 11) Source(1, 11) + SourceIndex(2) --- >>> return "JS does hoists"; 1->^^^^ @@ -616,10 +626,10 @@ sourceFile:../../../first/first_part3.ts 2 > return 3 > "JS does hoists" 4 > ; -1->Emitted(18, 5) Source(2, 5) + SourceIndex(2) -2 >Emitted(18, 12) Source(2, 12) + SourceIndex(2) -3 >Emitted(18, 28) Source(2, 28) + SourceIndex(2) -4 >Emitted(18, 29) Source(2, 29) + SourceIndex(2) +1->Emitted(20, 5) Source(2, 5) + SourceIndex(2) +2 >Emitted(20, 12) Source(2, 12) + SourceIndex(2) +3 >Emitted(20, 28) Source(2, 28) + SourceIndex(2) +4 >Emitted(20, 29) Source(2, 29) + SourceIndex(2) --- >>>} 1 > @@ -628,8 +638,8 @@ sourceFile:../../../first/first_part3.ts 1 > > 2 >} -1 >Emitted(19, 1) Source(3, 1) + SourceIndex(2) -2 >Emitted(19, 2) Source(3, 2) + SourceIndex(2) +1 >Emitted(21, 1) Source(3, 1) + SourceIndex(2) +2 >Emitted(21, 2) Source(3, 2) + SourceIndex(2) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -655,10 +665,10 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1->Emitted(20, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(20, 5) Source(5, 11) + SourceIndex(3) -3 >Emitted(20, 6) Source(5, 12) + SourceIndex(3) -4 >Emitted(20, 7) Source(11, 2) + SourceIndex(3) +1->Emitted(22, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(22, 5) Source(5, 11) + SourceIndex(3) +3 >Emitted(22, 6) Source(5, 12) + SourceIndex(3) +4 >Emitted(22, 7) Source(11, 2) + SourceIndex(3) --- >>>(function (N) { 1-> @@ -668,9 +678,9 @@ sourceFile:../../../second/second_part1.ts 1-> 2 >namespace 3 > N -1->Emitted(21, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(21, 12) Source(5, 11) + SourceIndex(3) -3 >Emitted(21, 13) Source(5, 12) + SourceIndex(3) +1->Emitted(23, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(23, 12) Source(5, 11) + SourceIndex(3) +3 >Emitted(23, 13) Source(5, 12) + SourceIndex(3) --- >>> function f() { 1->^^^^ @@ -681,9 +691,9 @@ sourceFile:../../../second/second_part1.ts > 2 > function 3 > f -1->Emitted(22, 5) Source(6, 5) + SourceIndex(3) -2 >Emitted(22, 14) Source(6, 14) + SourceIndex(3) -3 >Emitted(22, 15) Source(6, 15) + SourceIndex(3) +1->Emitted(24, 5) Source(6, 5) + SourceIndex(3) +2 >Emitted(24, 14) Source(6, 14) + SourceIndex(3) +3 >Emitted(24, 15) Source(6, 15) + SourceIndex(3) --- >>> console.log('testing'); 1->^^^^^^^^ @@ -703,14 +713,14 @@ sourceFile:../../../second/second_part1.ts 6 > 'testing' 7 > ) 8 > ; -1->Emitted(23, 9) Source(7, 9) + SourceIndex(3) -2 >Emitted(23, 16) Source(7, 16) + SourceIndex(3) -3 >Emitted(23, 17) Source(7, 17) + SourceIndex(3) -4 >Emitted(23, 20) Source(7, 20) + SourceIndex(3) -5 >Emitted(23, 21) Source(7, 21) + SourceIndex(3) -6 >Emitted(23, 30) Source(7, 30) + SourceIndex(3) -7 >Emitted(23, 31) Source(7, 31) + SourceIndex(3) -8 >Emitted(23, 32) Source(7, 32) + SourceIndex(3) +1->Emitted(25, 9) Source(7, 9) + SourceIndex(3) +2 >Emitted(25, 16) Source(7, 16) + SourceIndex(3) +3 >Emitted(25, 17) Source(7, 17) + SourceIndex(3) +4 >Emitted(25, 20) Source(7, 20) + SourceIndex(3) +5 >Emitted(25, 21) Source(7, 21) + SourceIndex(3) +6 >Emitted(25, 30) Source(7, 30) + SourceIndex(3) +7 >Emitted(25, 31) Source(7, 31) + SourceIndex(3) +8 >Emitted(25, 32) Source(7, 32) + SourceIndex(3) --- >>> } 1 >^^^^ @@ -719,8 +729,8 @@ sourceFile:../../../second/second_part1.ts 1 > > 2 > } -1 >Emitted(24, 5) Source(8, 5) + SourceIndex(3) -2 >Emitted(24, 6) Source(8, 6) + SourceIndex(3) +1 >Emitted(26, 5) Source(8, 5) + SourceIndex(3) +2 >Emitted(26, 6) Source(8, 6) + SourceIndex(3) --- >>> f(); 1->^^^^ @@ -734,10 +744,10 @@ sourceFile:../../../second/second_part1.ts 2 > f 3 > () 4 > ; -1->Emitted(25, 5) Source(10, 5) + SourceIndex(3) -2 >Emitted(25, 6) Source(10, 6) + SourceIndex(3) -3 >Emitted(25, 8) Source(10, 8) + SourceIndex(3) -4 >Emitted(25, 9) Source(10, 9) + SourceIndex(3) +1->Emitted(27, 5) Source(10, 5) + SourceIndex(3) +2 >Emitted(27, 6) Source(10, 6) + SourceIndex(3) +3 >Emitted(27, 8) Source(10, 8) + SourceIndex(3) +4 >Emitted(27, 9) Source(10, 9) + SourceIndex(3) --- >>>})(N || (N = {})); 1-> @@ -762,13 +772,13 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1->Emitted(26, 1) Source(11, 1) + SourceIndex(3) -2 >Emitted(26, 2) Source(11, 2) + SourceIndex(3) -3 >Emitted(26, 4) Source(5, 11) + SourceIndex(3) -4 >Emitted(26, 5) Source(5, 12) + SourceIndex(3) -5 >Emitted(26, 10) Source(5, 11) + SourceIndex(3) -6 >Emitted(26, 11) Source(5, 12) + SourceIndex(3) -7 >Emitted(26, 19) Source(11, 2) + SourceIndex(3) +1->Emitted(28, 1) Source(11, 1) + SourceIndex(3) +2 >Emitted(28, 2) Source(11, 2) + SourceIndex(3) +3 >Emitted(28, 4) Source(5, 11) + SourceIndex(3) +4 >Emitted(28, 5) Source(5, 12) + SourceIndex(3) +5 >Emitted(28, 10) Source(5, 11) + SourceIndex(3) +6 >Emitted(28, 11) Source(5, 12) + SourceIndex(3) +7 >Emitted(28, 19) Source(11, 2) + SourceIndex(3) --- >>>function forsecondsecond_part1Rest() { 1-> @@ -779,9 +789,9 @@ sourceFile:../../../second/second_part1.ts > 2 >function 3 > forsecondsecond_part1Rest -1->Emitted(27, 1) Source(12, 1) + SourceIndex(3) -2 >Emitted(27, 10) Source(12, 10) + SourceIndex(3) -3 >Emitted(27, 35) Source(12, 35) + SourceIndex(3) +1->Emitted(29, 1) Source(12, 1) + SourceIndex(3) +2 >Emitted(29, 10) Source(12, 10) + SourceIndex(3) +3 >Emitted(29, 35) Source(12, 35) + SourceIndex(3) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -801,14 +811,14 @@ sourceFile:../../../second/second_part1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(28, 5) Source(13, 1) + SourceIndex(3) -2 >Emitted(28, 9) Source(13, 7) + SourceIndex(3) -3 >Emitted(28, 38) Source(13, 48) + SourceIndex(3) -4 >Emitted(28, 40) Source(13, 9) + SourceIndex(3) -5 >Emitted(28, 48) Source(13, 10) + SourceIndex(3) -6 >Emitted(28, 50) Source(13, 12) + SourceIndex(3) -7 >Emitted(28, 74) Source(13, 48) + SourceIndex(3) -8 >Emitted(28, 75) Source(13, 49) + SourceIndex(3) +1->Emitted(30, 5) Source(13, 1) + SourceIndex(3) +2 >Emitted(30, 9) Source(13, 7) + SourceIndex(3) +3 >Emitted(30, 38) Source(13, 48) + SourceIndex(3) +4 >Emitted(30, 40) Source(13, 9) + SourceIndex(3) +5 >Emitted(30, 48) Source(13, 10) + SourceIndex(3) +6 >Emitted(30, 50) Source(13, 12) + SourceIndex(3) +7 >Emitted(30, 74) Source(13, 48) + SourceIndex(3) +8 >Emitted(30, 75) Source(13, 49) + SourceIndex(3) --- >>>} 1 > @@ -817,8 +827,8 @@ sourceFile:../../../second/second_part1.ts 1 > > 2 >} -1 >Emitted(29, 1) Source(14, 1) + SourceIndex(3) -2 >Emitted(29, 2) Source(14, 2) + SourceIndex(3) +1 >Emitted(31, 1) Source(14, 1) + SourceIndex(3) +2 >Emitted(31, 2) Source(14, 2) + SourceIndex(3) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -828,13 +838,13 @@ sourceFile:../../../second/second_part2.ts 1-> 2 >^^^^^^^^^^^^^^^^^^^-> 1-> -1->Emitted(30, 1) Source(1, 1) + SourceIndex(4) +1->Emitted(32, 1) Source(1, 1) + SourceIndex(4) --- >>> function C() { 1->^^^^ 2 > ^^-> 1-> -1->Emitted(31, 5) Source(1, 1) + SourceIndex(4) +1->Emitted(33, 5) Source(1, 1) + SourceIndex(4) --- >>> } 1->^^^^ @@ -846,8 +856,8 @@ sourceFile:../../../second/second_part2.ts > } > 2 > } -1->Emitted(32, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(32, 6) Source(5, 2) + SourceIndex(4) +1->Emitted(34, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(34, 6) Source(5, 2) + SourceIndex(4) --- >>> C.prototype.doSomething = function () { 1->^^^^ @@ -857,9 +867,9 @@ sourceFile:../../../second/second_part2.ts 1-> 2 > doSomething 3 > -1->Emitted(33, 5) Source(2, 5) + SourceIndex(4) -2 >Emitted(33, 28) Source(2, 16) + SourceIndex(4) -3 >Emitted(33, 31) Source(2, 5) + SourceIndex(4) +1->Emitted(35, 5) Source(2, 5) + SourceIndex(4) +2 >Emitted(35, 28) Source(2, 16) + SourceIndex(4) +3 >Emitted(35, 31) Source(2, 5) + SourceIndex(4) --- >>> console.log("something got done"); 1->^^^^^^^^ @@ -879,14 +889,14 @@ sourceFile:../../../second/second_part2.ts 6 > "something got done" 7 > ) 8 > ; -1->Emitted(34, 9) Source(3, 9) + SourceIndex(4) -2 >Emitted(34, 16) Source(3, 16) + SourceIndex(4) -3 >Emitted(34, 17) Source(3, 17) + SourceIndex(4) -4 >Emitted(34, 20) Source(3, 20) + SourceIndex(4) -5 >Emitted(34, 21) Source(3, 21) + SourceIndex(4) -6 >Emitted(34, 41) Source(3, 41) + SourceIndex(4) -7 >Emitted(34, 42) Source(3, 42) + SourceIndex(4) -8 >Emitted(34, 43) Source(3, 43) + SourceIndex(4) +1->Emitted(36, 9) Source(3, 9) + SourceIndex(4) +2 >Emitted(36, 16) Source(3, 16) + SourceIndex(4) +3 >Emitted(36, 17) Source(3, 17) + SourceIndex(4) +4 >Emitted(36, 20) Source(3, 20) + SourceIndex(4) +5 >Emitted(36, 21) Source(3, 21) + SourceIndex(4) +6 >Emitted(36, 41) Source(3, 41) + SourceIndex(4) +7 >Emitted(36, 42) Source(3, 42) + SourceIndex(4) +8 >Emitted(36, 43) Source(3, 43) + SourceIndex(4) --- >>> }; 1 >^^^^ @@ -895,8 +905,8 @@ sourceFile:../../../second/second_part2.ts 1 > > 2 > } -1 >Emitted(35, 5) Source(4, 5) + SourceIndex(4) -2 >Emitted(35, 6) Source(4, 6) + SourceIndex(4) +1 >Emitted(37, 5) Source(4, 5) + SourceIndex(4) +2 >Emitted(37, 6) Source(4, 6) + SourceIndex(4) --- >>> return C; 1->^^^^ @@ -904,8 +914,8 @@ sourceFile:../../../second/second_part2.ts 1-> > 2 > } -1->Emitted(36, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(36, 13) Source(5, 2) + SourceIndex(4) +1->Emitted(38, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(38, 13) Source(5, 2) + SourceIndex(4) --- >>>}()); 1 > @@ -921,10 +931,10 @@ sourceFile:../../../second/second_part2.ts > console.log("something got done"); > } > } -1 >Emitted(37, 1) Source(5, 1) + SourceIndex(4) -2 >Emitted(37, 2) Source(5, 2) + SourceIndex(4) -3 >Emitted(37, 2) Source(1, 1) + SourceIndex(4) -4 >Emitted(37, 6) Source(5, 2) + SourceIndex(4) +1 >Emitted(39, 1) Source(5, 1) + SourceIndex(4) +2 >Emitted(39, 2) Source(5, 2) + SourceIndex(4) +3 >Emitted(39, 2) Source(1, 1) + SourceIndex(4) +4 >Emitted(39, 6) Source(5, 2) + SourceIndex(4) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -948,14 +958,14 @@ sourceFile:../../third_part1.ts 6 > C 7 > () 8 > ; -1->Emitted(38, 1) Source(1, 1) + SourceIndex(5) -2 >Emitted(38, 5) Source(1, 5) + SourceIndex(5) -3 >Emitted(38, 6) Source(1, 6) + SourceIndex(5) -4 >Emitted(38, 9) Source(1, 9) + SourceIndex(5) -5 >Emitted(38, 13) Source(1, 13) + SourceIndex(5) -6 >Emitted(38, 14) Source(1, 14) + SourceIndex(5) -7 >Emitted(38, 16) Source(1, 16) + SourceIndex(5) -8 >Emitted(38, 17) Source(1, 17) + SourceIndex(5) +1->Emitted(40, 1) Source(1, 1) + SourceIndex(5) +2 >Emitted(40, 5) Source(1, 5) + SourceIndex(5) +3 >Emitted(40, 6) Source(1, 6) + SourceIndex(5) +4 >Emitted(40, 9) Source(1, 9) + SourceIndex(5) +5 >Emitted(40, 13) Source(1, 13) + SourceIndex(5) +6 >Emitted(40, 14) Source(1, 14) + SourceIndex(5) +7 >Emitted(40, 16) Source(1, 16) + SourceIndex(5) +8 >Emitted(40, 17) Source(1, 17) + SourceIndex(5) --- >>>c.doSomething(); 1-> @@ -972,12 +982,12 @@ sourceFile:../../third_part1.ts 4 > doSomething 5 > () 6 > ; -1->Emitted(39, 1) Source(2, 1) + SourceIndex(5) -2 >Emitted(39, 2) Source(2, 2) + SourceIndex(5) -3 >Emitted(39, 3) Source(2, 3) + SourceIndex(5) -4 >Emitted(39, 14) Source(2, 14) + SourceIndex(5) -5 >Emitted(39, 16) Source(2, 16) + SourceIndex(5) -6 >Emitted(39, 17) Source(2, 17) + SourceIndex(5) +1->Emitted(41, 1) Source(2, 1) + SourceIndex(5) +2 >Emitted(41, 2) Source(2, 2) + SourceIndex(5) +3 >Emitted(41, 3) Source(2, 3) + SourceIndex(5) +4 >Emitted(41, 14) Source(2, 14) + SourceIndex(5) +5 >Emitted(41, 16) Source(2, 16) + SourceIndex(5) +6 >Emitted(41, 17) Source(2, 17) + SourceIndex(5) --- >>>function forthirdthird_part1Rest() { 1-> @@ -988,9 +998,9 @@ sourceFile:../../third_part1.ts > 2 >function 3 > forthirdthird_part1Rest -1->Emitted(40, 1) Source(3, 1) + SourceIndex(5) -2 >Emitted(40, 10) Source(3, 10) + SourceIndex(5) -3 >Emitted(40, 33) Source(3, 33) + SourceIndex(5) +1->Emitted(42, 1) Source(3, 1) + SourceIndex(5) +2 >Emitted(42, 10) Source(3, 10) + SourceIndex(5) +3 >Emitted(42, 33) Source(3, 33) + SourceIndex(5) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -1010,14 +1020,14 @@ sourceFile:../../third_part1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(41, 5) Source(4, 1) + SourceIndex(5) -2 >Emitted(41, 9) Source(4, 7) + SourceIndex(5) -3 >Emitted(41, 38) Source(4, 48) + SourceIndex(5) -4 >Emitted(41, 40) Source(4, 9) + SourceIndex(5) -5 >Emitted(41, 48) Source(4, 10) + SourceIndex(5) -6 >Emitted(41, 50) Source(4, 12) + SourceIndex(5) -7 >Emitted(41, 74) Source(4, 48) + SourceIndex(5) -8 >Emitted(41, 75) Source(4, 49) + SourceIndex(5) +1->Emitted(43, 5) Source(4, 1) + SourceIndex(5) +2 >Emitted(43, 9) Source(4, 7) + SourceIndex(5) +3 >Emitted(43, 38) Source(4, 48) + SourceIndex(5) +4 >Emitted(43, 40) Source(4, 9) + SourceIndex(5) +5 >Emitted(43, 48) Source(4, 10) + SourceIndex(5) +6 >Emitted(43, 50) Source(4, 12) + SourceIndex(5) +7 >Emitted(43, 74) Source(4, 48) + SourceIndex(5) +8 >Emitted(43, 75) Source(4, 49) + SourceIndex(5) --- >>>} 1 > @@ -1026,8 +1036,8 @@ sourceFile:../../third_part1.ts 1 > > 2 >} -1 >Emitted(42, 1) Source(5, 1) + SourceIndex(5) -2 >Emitted(42, 2) Source(5, 2) + SourceIndex(5) +1 >Emitted(44, 1) Source(5, 1) + SourceIndex(5) +2 >Emitted(44, 2) Source(5, 2) + SourceIndex(5) --- >>>//# sourceMappingURL=third-output.js.map @@ -1042,39 +1052,39 @@ sourceFile:../../third_part1.ts "sections": [ { "pos": 0, - "end": 415, + "end": 500, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 417, - "end": 661, + "pos": 502, + "end": 746, "kind": "prepend", "data": "/src/first/bin/first-output.js", "texts": [ { - "pos": 417, - "end": 661, + "pos": 502, + "end": 746, "kind": "text" } ] }, { - "pos": 661, - "end": 1065, + "pos": 746, + "end": 1150, "kind": "prepend", "data": "/src/2/second-output.js", "texts": [ { - "pos": 661, - "end": 1065, + "pos": 746, + "end": 1150, "kind": "text" } ] }, { - "pos": 1065, - "end": 1218, + "pos": 1150, + "end": 1303, "kind": "text" } ], @@ -1127,20 +1137,22 @@ sourceFile:../../third_part1.ts ====================================================================== File:: /src/third/thirdjs/output/third-output.js ---------------------------------------------------------------------- -emitHelpers: (0-415):: typescript:rest +emitHelpers: (0-500):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -prepend: (417-661):: /src/first/bin/first-output.js texts:: 1 +prepend: (502-746):: /src/first/bin/first-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (417-661) +text: (502-746) var s = "Hello, world"; console.log(s); function forfirstfirst_PART1Rest() { @@ -1153,9 +1165,9 @@ function f() { } ---------------------------------------------------------------------- -prepend: (661-1065):: /src/2/second-output.js texts:: 1 +prepend: (746-1150):: /src/2/second-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (661-1065) +text: (746-1150) var N; (function (N) { function f() { @@ -1176,7 +1188,7 @@ var C = (function () { }()); ---------------------------------------------------------------------- -text: (1065-1218) +text: (1150-1303) var c = new C(); c.doSomething(); function forthirdthird_part1Rest() { diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-declaration-doesnt-change/emitHelpers-in-only-one-dependency-project.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-declaration-doesnt-change/emitHelpers-in-only-one-dependency-project.js index d0c1eb54a50..44e22ae289e 100644 --- a/tests/baselines/reference/tsbuild/outfile-concat/incremental-declaration-doesnt-change/emitHelpers-in-only-one-dependency-project.js +++ b/tests/baselines/reference/tsbuild/outfile-concat/incremental-declaration-doesnt-change/emitHelpers-in-only-one-dependency-project.js @@ -283,8 +283,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var s = "Hello, world"; @@ -318,7 +320,7 @@ c.doSomething(); //# sourceMappingURL=third-output.js.map //// [/src/third/thirdjs/output/third-output.js.map] -{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB,KAAK,CAAC;AAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;ACXrD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;ACED,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;ACJD,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC"} +{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB,KAAK,CAAC;AAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;ACXrD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;ACED,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;ACJD,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC"} //// [/src/third/thirdjs/output/third-output.js.map.baseline.txt] =================================================================== @@ -336,8 +338,10 @@ sourceFile:../../../first/first_PART1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var s = "Hello, world"; @@ -357,12 +361,12 @@ sourceFile:../../../first/first_PART1.ts 4 > = 5 > "Hello, world" 6 > ; -1 >Emitted(10, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(10, 5) Source(5, 7) + SourceIndex(0) -3 >Emitted(10, 6) Source(5, 8) + SourceIndex(0) -4 >Emitted(10, 9) Source(5, 11) + SourceIndex(0) -5 >Emitted(10, 23) Source(5, 25) + SourceIndex(0) -6 >Emitted(10, 24) Source(5, 26) + SourceIndex(0) +1 >Emitted(12, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(12, 5) Source(5, 7) + SourceIndex(0) +3 >Emitted(12, 6) Source(5, 8) + SourceIndex(0) +4 >Emitted(12, 9) Source(5, 11) + SourceIndex(0) +5 >Emitted(12, 23) Source(5, 25) + SourceIndex(0) +6 >Emitted(12, 24) Source(5, 26) + SourceIndex(0) --- >>>console.log(s); 1 > @@ -388,14 +392,14 @@ sourceFile:../../../first/first_PART1.ts 6 > s 7 > ) 8 > ; -1 >Emitted(11, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(11, 8) Source(11, 8) + SourceIndex(0) -3 >Emitted(11, 9) Source(11, 9) + SourceIndex(0) -4 >Emitted(11, 12) Source(11, 12) + SourceIndex(0) -5 >Emitted(11, 13) Source(11, 13) + SourceIndex(0) -6 >Emitted(11, 14) Source(11, 14) + SourceIndex(0) -7 >Emitted(11, 15) Source(11, 15) + SourceIndex(0) -8 >Emitted(11, 16) Source(11, 16) + SourceIndex(0) +1 >Emitted(13, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(13, 8) Source(11, 8) + SourceIndex(0) +3 >Emitted(13, 9) Source(11, 9) + SourceIndex(0) +4 >Emitted(13, 12) Source(11, 12) + SourceIndex(0) +5 >Emitted(13, 13) Source(11, 13) + SourceIndex(0) +6 >Emitted(13, 14) Source(11, 14) + SourceIndex(0) +7 >Emitted(13, 15) Source(11, 15) + SourceIndex(0) +8 >Emitted(13, 16) Source(11, 16) + SourceIndex(0) --- >>>function forfirstfirst_PART1Rest() { } 1-> @@ -409,11 +413,11 @@ sourceFile:../../../first/first_PART1.ts 3 > forfirstfirst_PART1Rest 4 > () { 5 > } -1->Emitted(12, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(12, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(12, 33) Source(12, 33) + SourceIndex(0) -4 >Emitted(12, 38) Source(12, 38) + SourceIndex(0) -5 >Emitted(12, 39) Source(12, 39) + SourceIndex(0) +1->Emitted(14, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(14, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(14, 33) Source(12, 33) + SourceIndex(0) +4 >Emitted(14, 38) Source(12, 38) + SourceIndex(0) +5 >Emitted(14, 39) Source(12, 39) + SourceIndex(0) --- >>>console.log(s); 1 > @@ -433,14 +437,14 @@ sourceFile:../../../first/first_PART1.ts 6 > s 7 > ) 8 > ; -1 >Emitted(13, 1) Source(12, 39) + SourceIndex(0) -2 >Emitted(13, 8) Source(12, 46) + SourceIndex(0) -3 >Emitted(13, 9) Source(12, 47) + SourceIndex(0) -4 >Emitted(13, 12) Source(12, 50) + SourceIndex(0) -5 >Emitted(13, 13) Source(12, 51) + SourceIndex(0) -6 >Emitted(13, 14) Source(12, 52) + SourceIndex(0) -7 >Emitted(13, 15) Source(12, 53) + SourceIndex(0) -8 >Emitted(13, 16) Source(12, 54) + SourceIndex(0) +1 >Emitted(15, 1) Source(12, 39) + SourceIndex(0) +2 >Emitted(15, 8) Source(12, 46) + SourceIndex(0) +3 >Emitted(15, 9) Source(12, 47) + SourceIndex(0) +4 >Emitted(15, 12) Source(12, 50) + SourceIndex(0) +5 >Emitted(15, 13) Source(12, 51) + SourceIndex(0) +6 >Emitted(15, 14) Source(12, 52) + SourceIndex(0) +7 >Emitted(15, 15) Source(12, 53) + SourceIndex(0) +8 >Emitted(15, 16) Source(12, 54) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -465,15 +469,15 @@ sourceFile:../../../first/first_part2.ts 7 > () 8 > ) 9 > ; -1->Emitted(14, 1) Source(1, 1) + SourceIndex(1) -2 >Emitted(14, 8) Source(1, 8) + SourceIndex(1) -3 >Emitted(14, 9) Source(1, 9) + SourceIndex(1) -4 >Emitted(14, 12) Source(1, 12) + SourceIndex(1) -5 >Emitted(14, 13) Source(1, 13) + SourceIndex(1) -6 >Emitted(14, 14) Source(1, 14) + SourceIndex(1) -7 >Emitted(14, 16) Source(1, 16) + SourceIndex(1) -8 >Emitted(14, 17) Source(1, 17) + SourceIndex(1) -9 >Emitted(14, 18) Source(1, 18) + SourceIndex(1) +1->Emitted(16, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(16, 8) Source(1, 8) + SourceIndex(1) +3 >Emitted(16, 9) Source(1, 9) + SourceIndex(1) +4 >Emitted(16, 12) Source(1, 12) + SourceIndex(1) +5 >Emitted(16, 13) Source(1, 13) + SourceIndex(1) +6 >Emitted(16, 14) Source(1, 14) + SourceIndex(1) +7 >Emitted(16, 16) Source(1, 16) + SourceIndex(1) +8 >Emitted(16, 17) Source(1, 17) + SourceIndex(1) +9 >Emitted(16, 18) Source(1, 18) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -487,9 +491,9 @@ sourceFile:../../../first/first_part3.ts 1 > 2 >function 3 > f -1 >Emitted(15, 1) Source(1, 1) + SourceIndex(2) -2 >Emitted(15, 10) Source(1, 10) + SourceIndex(2) -3 >Emitted(15, 11) Source(1, 11) + SourceIndex(2) +1 >Emitted(17, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(17, 10) Source(1, 10) + SourceIndex(2) +3 >Emitted(17, 11) Source(1, 11) + SourceIndex(2) --- >>> return "JS does hoists"; 1->^^^^ @@ -501,10 +505,10 @@ sourceFile:../../../first/first_part3.ts 2 > return 3 > "JS does hoists" 4 > ; -1->Emitted(16, 5) Source(2, 5) + SourceIndex(2) -2 >Emitted(16, 12) Source(2, 12) + SourceIndex(2) -3 >Emitted(16, 28) Source(2, 28) + SourceIndex(2) -4 >Emitted(16, 29) Source(2, 29) + SourceIndex(2) +1->Emitted(18, 5) Source(2, 5) + SourceIndex(2) +2 >Emitted(18, 12) Source(2, 12) + SourceIndex(2) +3 >Emitted(18, 28) Source(2, 28) + SourceIndex(2) +4 >Emitted(18, 29) Source(2, 29) + SourceIndex(2) --- >>>} 1 > @@ -513,8 +517,8 @@ sourceFile:../../../first/first_part3.ts 1 > > 2 >} -1 >Emitted(17, 1) Source(3, 1) + SourceIndex(2) -2 >Emitted(17, 2) Source(3, 2) + SourceIndex(2) +1 >Emitted(19, 1) Source(3, 1) + SourceIndex(2) +2 >Emitted(19, 2) Source(3, 2) + SourceIndex(2) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -540,10 +544,10 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1->Emitted(18, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(18, 5) Source(5, 11) + SourceIndex(3) -3 >Emitted(18, 6) Source(5, 12) + SourceIndex(3) -4 >Emitted(18, 7) Source(11, 2) + SourceIndex(3) +1->Emitted(20, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(20, 5) Source(5, 11) + SourceIndex(3) +3 >Emitted(20, 6) Source(5, 12) + SourceIndex(3) +4 >Emitted(20, 7) Source(11, 2) + SourceIndex(3) --- >>>(function (N) { 1-> @@ -553,9 +557,9 @@ sourceFile:../../../second/second_part1.ts 1-> 2 >namespace 3 > N -1->Emitted(19, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(19, 12) Source(5, 11) + SourceIndex(3) -3 >Emitted(19, 13) Source(5, 12) + SourceIndex(3) +1->Emitted(21, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(21, 12) Source(5, 11) + SourceIndex(3) +3 >Emitted(21, 13) Source(5, 12) + SourceIndex(3) --- >>> function f() { 1->^^^^ @@ -566,9 +570,9 @@ sourceFile:../../../second/second_part1.ts > 2 > function 3 > f -1->Emitted(20, 5) Source(6, 5) + SourceIndex(3) -2 >Emitted(20, 14) Source(6, 14) + SourceIndex(3) -3 >Emitted(20, 15) Source(6, 15) + SourceIndex(3) +1->Emitted(22, 5) Source(6, 5) + SourceIndex(3) +2 >Emitted(22, 14) Source(6, 14) + SourceIndex(3) +3 >Emitted(22, 15) Source(6, 15) + SourceIndex(3) --- >>> console.log('testing'); 1->^^^^^^^^ @@ -588,14 +592,14 @@ sourceFile:../../../second/second_part1.ts 6 > 'testing' 7 > ) 8 > ; -1->Emitted(21, 9) Source(7, 9) + SourceIndex(3) -2 >Emitted(21, 16) Source(7, 16) + SourceIndex(3) -3 >Emitted(21, 17) Source(7, 17) + SourceIndex(3) -4 >Emitted(21, 20) Source(7, 20) + SourceIndex(3) -5 >Emitted(21, 21) Source(7, 21) + SourceIndex(3) -6 >Emitted(21, 30) Source(7, 30) + SourceIndex(3) -7 >Emitted(21, 31) Source(7, 31) + SourceIndex(3) -8 >Emitted(21, 32) Source(7, 32) + SourceIndex(3) +1->Emitted(23, 9) Source(7, 9) + SourceIndex(3) +2 >Emitted(23, 16) Source(7, 16) + SourceIndex(3) +3 >Emitted(23, 17) Source(7, 17) + SourceIndex(3) +4 >Emitted(23, 20) Source(7, 20) + SourceIndex(3) +5 >Emitted(23, 21) Source(7, 21) + SourceIndex(3) +6 >Emitted(23, 30) Source(7, 30) + SourceIndex(3) +7 >Emitted(23, 31) Source(7, 31) + SourceIndex(3) +8 >Emitted(23, 32) Source(7, 32) + SourceIndex(3) --- >>> } 1 >^^^^ @@ -604,8 +608,8 @@ sourceFile:../../../second/second_part1.ts 1 > > 2 > } -1 >Emitted(22, 5) Source(8, 5) + SourceIndex(3) -2 >Emitted(22, 6) Source(8, 6) + SourceIndex(3) +1 >Emitted(24, 5) Source(8, 5) + SourceIndex(3) +2 >Emitted(24, 6) Source(8, 6) + SourceIndex(3) --- >>> f(); 1->^^^^ @@ -619,10 +623,10 @@ sourceFile:../../../second/second_part1.ts 2 > f 3 > () 4 > ; -1->Emitted(23, 5) Source(10, 5) + SourceIndex(3) -2 >Emitted(23, 6) Source(10, 6) + SourceIndex(3) -3 >Emitted(23, 8) Source(10, 8) + SourceIndex(3) -4 >Emitted(23, 9) Source(10, 9) + SourceIndex(3) +1->Emitted(25, 5) Source(10, 5) + SourceIndex(3) +2 >Emitted(25, 6) Source(10, 6) + SourceIndex(3) +3 >Emitted(25, 8) Source(10, 8) + SourceIndex(3) +4 >Emitted(25, 9) Source(10, 9) + SourceIndex(3) --- >>>})(N || (N = {})); 1-> @@ -647,13 +651,13 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1->Emitted(24, 1) Source(11, 1) + SourceIndex(3) -2 >Emitted(24, 2) Source(11, 2) + SourceIndex(3) -3 >Emitted(24, 4) Source(5, 11) + SourceIndex(3) -4 >Emitted(24, 5) Source(5, 12) + SourceIndex(3) -5 >Emitted(24, 10) Source(5, 11) + SourceIndex(3) -6 >Emitted(24, 11) Source(5, 12) + SourceIndex(3) -7 >Emitted(24, 19) Source(11, 2) + SourceIndex(3) +1->Emitted(26, 1) Source(11, 1) + SourceIndex(3) +2 >Emitted(26, 2) Source(11, 2) + SourceIndex(3) +3 >Emitted(26, 4) Source(5, 11) + SourceIndex(3) +4 >Emitted(26, 5) Source(5, 12) + SourceIndex(3) +5 >Emitted(26, 10) Source(5, 11) + SourceIndex(3) +6 >Emitted(26, 11) Source(5, 12) + SourceIndex(3) +7 >Emitted(26, 19) Source(11, 2) + SourceIndex(3) --- >>>function forsecondsecond_part1Rest() { 1-> @@ -664,9 +668,9 @@ sourceFile:../../../second/second_part1.ts > 2 >function 3 > forsecondsecond_part1Rest -1->Emitted(25, 1) Source(12, 1) + SourceIndex(3) -2 >Emitted(25, 10) Source(12, 10) + SourceIndex(3) -3 >Emitted(25, 35) Source(12, 35) + SourceIndex(3) +1->Emitted(27, 1) Source(12, 1) + SourceIndex(3) +2 >Emitted(27, 10) Source(12, 10) + SourceIndex(3) +3 >Emitted(27, 35) Source(12, 35) + SourceIndex(3) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -686,14 +690,14 @@ sourceFile:../../../second/second_part1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(26, 5) Source(13, 1) + SourceIndex(3) -2 >Emitted(26, 9) Source(13, 7) + SourceIndex(3) -3 >Emitted(26, 38) Source(13, 48) + SourceIndex(3) -4 >Emitted(26, 40) Source(13, 9) + SourceIndex(3) -5 >Emitted(26, 48) Source(13, 10) + SourceIndex(3) -6 >Emitted(26, 50) Source(13, 12) + SourceIndex(3) -7 >Emitted(26, 74) Source(13, 48) + SourceIndex(3) -8 >Emitted(26, 75) Source(13, 49) + SourceIndex(3) +1->Emitted(28, 5) Source(13, 1) + SourceIndex(3) +2 >Emitted(28, 9) Source(13, 7) + SourceIndex(3) +3 >Emitted(28, 38) Source(13, 48) + SourceIndex(3) +4 >Emitted(28, 40) Source(13, 9) + SourceIndex(3) +5 >Emitted(28, 48) Source(13, 10) + SourceIndex(3) +6 >Emitted(28, 50) Source(13, 12) + SourceIndex(3) +7 >Emitted(28, 74) Source(13, 48) + SourceIndex(3) +8 >Emitted(28, 75) Source(13, 49) + SourceIndex(3) --- >>>} 1 > @@ -702,8 +706,8 @@ sourceFile:../../../second/second_part1.ts 1 > > 2 >} -1 >Emitted(27, 1) Source(14, 1) + SourceIndex(3) -2 >Emitted(27, 2) Source(14, 2) + SourceIndex(3) +1 >Emitted(29, 1) Source(14, 1) + SourceIndex(3) +2 >Emitted(29, 2) Source(14, 2) + SourceIndex(3) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -713,13 +717,13 @@ sourceFile:../../../second/second_part2.ts 1-> 2 >^^^^^^^^^^^^^^^^^^^-> 1-> -1->Emitted(28, 1) Source(1, 1) + SourceIndex(4) +1->Emitted(30, 1) Source(1, 1) + SourceIndex(4) --- >>> function C() { 1->^^^^ 2 > ^^-> 1-> -1->Emitted(29, 5) Source(1, 1) + SourceIndex(4) +1->Emitted(31, 5) Source(1, 1) + SourceIndex(4) --- >>> } 1->^^^^ @@ -731,8 +735,8 @@ sourceFile:../../../second/second_part2.ts > } > 2 > } -1->Emitted(30, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(30, 6) Source(5, 2) + SourceIndex(4) +1->Emitted(32, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(32, 6) Source(5, 2) + SourceIndex(4) --- >>> C.prototype.doSomething = function () { 1->^^^^ @@ -742,9 +746,9 @@ sourceFile:../../../second/second_part2.ts 1-> 2 > doSomething 3 > -1->Emitted(31, 5) Source(2, 5) + SourceIndex(4) -2 >Emitted(31, 28) Source(2, 16) + SourceIndex(4) -3 >Emitted(31, 31) Source(2, 5) + SourceIndex(4) +1->Emitted(33, 5) Source(2, 5) + SourceIndex(4) +2 >Emitted(33, 28) Source(2, 16) + SourceIndex(4) +3 >Emitted(33, 31) Source(2, 5) + SourceIndex(4) --- >>> console.log("something got done"); 1->^^^^^^^^ @@ -764,14 +768,14 @@ sourceFile:../../../second/second_part2.ts 6 > "something got done" 7 > ) 8 > ; -1->Emitted(32, 9) Source(3, 9) + SourceIndex(4) -2 >Emitted(32, 16) Source(3, 16) + SourceIndex(4) -3 >Emitted(32, 17) Source(3, 17) + SourceIndex(4) -4 >Emitted(32, 20) Source(3, 20) + SourceIndex(4) -5 >Emitted(32, 21) Source(3, 21) + SourceIndex(4) -6 >Emitted(32, 41) Source(3, 41) + SourceIndex(4) -7 >Emitted(32, 42) Source(3, 42) + SourceIndex(4) -8 >Emitted(32, 43) Source(3, 43) + SourceIndex(4) +1->Emitted(34, 9) Source(3, 9) + SourceIndex(4) +2 >Emitted(34, 16) Source(3, 16) + SourceIndex(4) +3 >Emitted(34, 17) Source(3, 17) + SourceIndex(4) +4 >Emitted(34, 20) Source(3, 20) + SourceIndex(4) +5 >Emitted(34, 21) Source(3, 21) + SourceIndex(4) +6 >Emitted(34, 41) Source(3, 41) + SourceIndex(4) +7 >Emitted(34, 42) Source(3, 42) + SourceIndex(4) +8 >Emitted(34, 43) Source(3, 43) + SourceIndex(4) --- >>> }; 1 >^^^^ @@ -780,8 +784,8 @@ sourceFile:../../../second/second_part2.ts 1 > > 2 > } -1 >Emitted(33, 5) Source(4, 5) + SourceIndex(4) -2 >Emitted(33, 6) Source(4, 6) + SourceIndex(4) +1 >Emitted(35, 5) Source(4, 5) + SourceIndex(4) +2 >Emitted(35, 6) Source(4, 6) + SourceIndex(4) --- >>> return C; 1->^^^^ @@ -789,8 +793,8 @@ sourceFile:../../../second/second_part2.ts 1-> > 2 > } -1->Emitted(34, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(34, 13) Source(5, 2) + SourceIndex(4) +1->Emitted(36, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(36, 13) Source(5, 2) + SourceIndex(4) --- >>>}()); 1 > @@ -806,10 +810,10 @@ sourceFile:../../../second/second_part2.ts > console.log("something got done"); > } > } -1 >Emitted(35, 1) Source(5, 1) + SourceIndex(4) -2 >Emitted(35, 2) Source(5, 2) + SourceIndex(4) -3 >Emitted(35, 2) Source(1, 1) + SourceIndex(4) -4 >Emitted(35, 6) Source(5, 2) + SourceIndex(4) +1 >Emitted(37, 1) Source(5, 1) + SourceIndex(4) +2 >Emitted(37, 2) Source(5, 2) + SourceIndex(4) +3 >Emitted(37, 2) Source(1, 1) + SourceIndex(4) +4 >Emitted(37, 6) Source(5, 2) + SourceIndex(4) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -833,14 +837,14 @@ sourceFile:../../third_part1.ts 6 > C 7 > () 8 > ; -1->Emitted(36, 1) Source(1, 1) + SourceIndex(5) -2 >Emitted(36, 5) Source(1, 5) + SourceIndex(5) -3 >Emitted(36, 6) Source(1, 6) + SourceIndex(5) -4 >Emitted(36, 9) Source(1, 9) + SourceIndex(5) -5 >Emitted(36, 13) Source(1, 13) + SourceIndex(5) -6 >Emitted(36, 14) Source(1, 14) + SourceIndex(5) -7 >Emitted(36, 16) Source(1, 16) + SourceIndex(5) -8 >Emitted(36, 17) Source(1, 17) + SourceIndex(5) +1->Emitted(38, 1) Source(1, 1) + SourceIndex(5) +2 >Emitted(38, 5) Source(1, 5) + SourceIndex(5) +3 >Emitted(38, 6) Source(1, 6) + SourceIndex(5) +4 >Emitted(38, 9) Source(1, 9) + SourceIndex(5) +5 >Emitted(38, 13) Source(1, 13) + SourceIndex(5) +6 >Emitted(38, 14) Source(1, 14) + SourceIndex(5) +7 >Emitted(38, 16) Source(1, 16) + SourceIndex(5) +8 >Emitted(38, 17) Source(1, 17) + SourceIndex(5) --- >>>c.doSomething(); 1-> @@ -857,12 +861,12 @@ sourceFile:../../third_part1.ts 4 > doSomething 5 > () 6 > ; -1->Emitted(37, 1) Source(2, 1) + SourceIndex(5) -2 >Emitted(37, 2) Source(2, 2) + SourceIndex(5) -3 >Emitted(37, 3) Source(2, 3) + SourceIndex(5) -4 >Emitted(37, 14) Source(2, 14) + SourceIndex(5) -5 >Emitted(37, 16) Source(2, 16) + SourceIndex(5) -6 >Emitted(37, 17) Source(2, 17) + SourceIndex(5) +1->Emitted(39, 1) Source(2, 1) + SourceIndex(5) +2 >Emitted(39, 2) Source(2, 2) + SourceIndex(5) +3 >Emitted(39, 3) Source(2, 3) + SourceIndex(5) +4 >Emitted(39, 14) Source(2, 14) + SourceIndex(5) +5 >Emitted(39, 16) Source(2, 16) + SourceIndex(5) +6 >Emitted(39, 17) Source(2, 17) + SourceIndex(5) --- >>>//# sourceMappingURL=third-output.js.map @@ -877,39 +881,39 @@ sourceFile:../../third_part1.ts "sections": [ { "pos": 0, - "end": 415, + "end": 500, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 417, - "end": 584, + "pos": 502, + "end": 669, "kind": "prepend", "data": "/src/first/bin/first-output.js", "texts": [ { - "pos": 417, - "end": 584, + "pos": 502, + "end": 669, "kind": "text" } ] }, { - "pos": 584, - "end": 988, + "pos": 669, + "end": 1073, "kind": "prepend", "data": "/src/2/second-output.js", "texts": [ { - "pos": 584, - "end": 988, + "pos": 669, + "end": 1073, "kind": "text" } ] }, { - "pos": 988, - "end": 1024, + "pos": 1073, + "end": 1109, "kind": "text" } ] @@ -957,20 +961,22 @@ sourceFile:../../third_part1.ts ====================================================================== File:: /src/third/thirdjs/output/third-output.js ---------------------------------------------------------------------- -emitHelpers: (0-415):: typescript:rest +emitHelpers: (0-500):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -prepend: (417-584):: /src/first/bin/first-output.js texts:: 1 +prepend: (502-669):: /src/first/bin/first-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (417-584) +text: (502-669) var s = "Hello, world"; console.log(s); function forfirstfirst_PART1Rest() { } @@ -981,9 +987,9 @@ function f() { } ---------------------------------------------------------------------- -prepend: (584-988):: /src/2/second-output.js texts:: 1 +prepend: (669-1073):: /src/2/second-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (584-988) +text: (669-1073) var N; (function (N) { function f() { @@ -1004,7 +1010,7 @@ var C = (function () { }()); ---------------------------------------------------------------------- -text: (988-1024) +text: (1073-1109) var c = new C(); c.doSomething(); diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-declaration-doesnt-change/multiple-emitHelpers-in-all-projects.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-declaration-doesnt-change/multiple-emitHelpers-in-all-projects.js index 83d4142e971..2efa78454c0 100644 --- a/tests/baselines/reference/tsbuild/outfile-concat/incremental-declaration-doesnt-change/multiple-emitHelpers-in-all-projects.js +++ b/tests/baselines/reference/tsbuild/outfile-concat/incremental-declaration-doesnt-change/multiple-emitHelpers-in-all-projects.js @@ -4,8 +4,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var __read = (this && this.__read) || function (o, n) { @@ -48,7 +50,7 @@ firstfirst_part3Spread.apply(void 0, __spread([10, 20, 30])); //# sourceMappingURL=first-output.js.map //// [/src/first/bin/first-output.js.map] -{"version":3,"file":"first-output.js","sourceRoot":"","sources":["../first_PART1.ts","../first_part2.ts","../first_part3.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;AAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;ACbhB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AACD,SAAS,sBAAsB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACnD,sBAAsB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE"} +{"version":3,"file":"first-output.js","sourceRoot":"","sources":["../first_PART1.ts","../first_part2.ts","../first_part3.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;AAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;ACbhB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AACD,SAAS,sBAAsB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACnD,sBAAsB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE"} //// [/src/first/bin/first-output.js.map.baseline.txt] =================================================================== @@ -66,8 +68,10 @@ sourceFile:../first_PART1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var __read = (this && this.__read) || function (o, n) { @@ -107,12 +111,12 @@ sourceFile:../first_PART1.ts 4 > = 5 > "Hello, world" 6 > ; -1 >Emitted(30, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(30, 5) Source(5, 7) + SourceIndex(0) -3 >Emitted(30, 6) Source(5, 8) + SourceIndex(0) -4 >Emitted(30, 9) Source(5, 11) + SourceIndex(0) -5 >Emitted(30, 23) Source(5, 25) + SourceIndex(0) -6 >Emitted(30, 24) Source(5, 26) + SourceIndex(0) +1 >Emitted(32, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(32, 5) Source(5, 7) + SourceIndex(0) +3 >Emitted(32, 6) Source(5, 8) + SourceIndex(0) +4 >Emitted(32, 9) Source(5, 11) + SourceIndex(0) +5 >Emitted(32, 23) Source(5, 25) + SourceIndex(0) +6 >Emitted(32, 24) Source(5, 26) + SourceIndex(0) --- >>>console.log(s); 1 > @@ -138,14 +142,14 @@ sourceFile:../first_PART1.ts 6 > s 7 > ) 8 > ; -1 >Emitted(31, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(31, 8) Source(11, 8) + SourceIndex(0) -3 >Emitted(31, 9) Source(11, 9) + SourceIndex(0) -4 >Emitted(31, 12) Source(11, 12) + SourceIndex(0) -5 >Emitted(31, 13) Source(11, 13) + SourceIndex(0) -6 >Emitted(31, 14) Source(11, 14) + SourceIndex(0) -7 >Emitted(31, 15) Source(11, 15) + SourceIndex(0) -8 >Emitted(31, 16) Source(11, 16) + SourceIndex(0) +1 >Emitted(33, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(33, 8) Source(11, 8) + SourceIndex(0) +3 >Emitted(33, 9) Source(11, 9) + SourceIndex(0) +4 >Emitted(33, 12) Source(11, 12) + SourceIndex(0) +5 >Emitted(33, 13) Source(11, 13) + SourceIndex(0) +6 >Emitted(33, 14) Source(11, 14) + SourceIndex(0) +7 >Emitted(33, 15) Source(11, 15) + SourceIndex(0) +8 >Emitted(33, 16) Source(11, 16) + SourceIndex(0) --- >>>function forfirstfirst_PART1Rest() { 1-> @@ -156,9 +160,9 @@ sourceFile:../first_PART1.ts > 2 >function 3 > forfirstfirst_PART1Rest -1->Emitted(32, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(32, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(32, 33) Source(12, 33) + SourceIndex(0) +1->Emitted(34, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(34, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(34, 33) Source(12, 33) + SourceIndex(0) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -178,14 +182,14 @@ sourceFile:../first_PART1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(33, 5) Source(13, 1) + SourceIndex(0) -2 >Emitted(33, 9) Source(13, 7) + SourceIndex(0) -3 >Emitted(33, 38) Source(13, 48) + SourceIndex(0) -4 >Emitted(33, 40) Source(13, 9) + SourceIndex(0) -5 >Emitted(33, 48) Source(13, 10) + SourceIndex(0) -6 >Emitted(33, 50) Source(13, 12) + SourceIndex(0) -7 >Emitted(33, 74) Source(13, 48) + SourceIndex(0) -8 >Emitted(33, 75) Source(13, 49) + SourceIndex(0) +1->Emitted(35, 5) Source(13, 1) + SourceIndex(0) +2 >Emitted(35, 9) Source(13, 7) + SourceIndex(0) +3 >Emitted(35, 38) Source(13, 48) + SourceIndex(0) +4 >Emitted(35, 40) Source(13, 9) + SourceIndex(0) +5 >Emitted(35, 48) Source(13, 10) + SourceIndex(0) +6 >Emitted(35, 50) Source(13, 12) + SourceIndex(0) +7 >Emitted(35, 74) Source(13, 48) + SourceIndex(0) +8 >Emitted(35, 75) Source(13, 49) + SourceIndex(0) --- >>>} 1 > @@ -194,8 +198,8 @@ sourceFile:../first_PART1.ts 1 > > 2 >} -1 >Emitted(34, 1) Source(14, 1) + SourceIndex(0) -2 >Emitted(34, 2) Source(14, 2) + SourceIndex(0) +1 >Emitted(36, 1) Source(14, 1) + SourceIndex(0) +2 >Emitted(36, 2) Source(14, 2) + SourceIndex(0) --- >>>console.log(s); 1-> @@ -215,14 +219,14 @@ sourceFile:../first_PART1.ts 6 > s 7 > ) 8 > ; -1->Emitted(35, 1) Source(14, 2) + SourceIndex(0) -2 >Emitted(35, 8) Source(14, 9) + SourceIndex(0) -3 >Emitted(35, 9) Source(14, 10) + SourceIndex(0) -4 >Emitted(35, 12) Source(14, 13) + SourceIndex(0) -5 >Emitted(35, 13) Source(14, 14) + SourceIndex(0) -6 >Emitted(35, 14) Source(14, 15) + SourceIndex(0) -7 >Emitted(35, 15) Source(14, 16) + SourceIndex(0) -8 >Emitted(35, 16) Source(14, 17) + SourceIndex(0) +1->Emitted(37, 1) Source(14, 2) + SourceIndex(0) +2 >Emitted(37, 8) Source(14, 9) + SourceIndex(0) +3 >Emitted(37, 9) Source(14, 10) + SourceIndex(0) +4 >Emitted(37, 12) Source(14, 13) + SourceIndex(0) +5 >Emitted(37, 13) Source(14, 14) + SourceIndex(0) +6 >Emitted(37, 14) Source(14, 15) + SourceIndex(0) +7 >Emitted(37, 15) Source(14, 16) + SourceIndex(0) +8 >Emitted(37, 16) Source(14, 17) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/first/bin/first-output.js @@ -247,15 +251,15 @@ sourceFile:../first_part2.ts 7 > () 8 > ) 9 > ; -1->Emitted(36, 1) Source(1, 1) + SourceIndex(1) -2 >Emitted(36, 8) Source(1, 8) + SourceIndex(1) -3 >Emitted(36, 9) Source(1, 9) + SourceIndex(1) -4 >Emitted(36, 12) Source(1, 12) + SourceIndex(1) -5 >Emitted(36, 13) Source(1, 13) + SourceIndex(1) -6 >Emitted(36, 14) Source(1, 14) + SourceIndex(1) -7 >Emitted(36, 16) Source(1, 16) + SourceIndex(1) -8 >Emitted(36, 17) Source(1, 17) + SourceIndex(1) -9 >Emitted(36, 18) Source(1, 18) + SourceIndex(1) +1->Emitted(38, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(38, 8) Source(1, 8) + SourceIndex(1) +3 >Emitted(38, 9) Source(1, 9) + SourceIndex(1) +4 >Emitted(38, 12) Source(1, 12) + SourceIndex(1) +5 >Emitted(38, 13) Source(1, 13) + SourceIndex(1) +6 >Emitted(38, 14) Source(1, 14) + SourceIndex(1) +7 >Emitted(38, 16) Source(1, 16) + SourceIndex(1) +8 >Emitted(38, 17) Source(1, 17) + SourceIndex(1) +9 >Emitted(38, 18) Source(1, 18) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/first/bin/first-output.js @@ -269,9 +273,9 @@ sourceFile:../first_part3.ts 1 > 2 >function 3 > f -1 >Emitted(37, 1) Source(1, 1) + SourceIndex(2) -2 >Emitted(37, 10) Source(1, 10) + SourceIndex(2) -3 >Emitted(37, 11) Source(1, 11) + SourceIndex(2) +1 >Emitted(39, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(39, 10) Source(1, 10) + SourceIndex(2) +3 >Emitted(39, 11) Source(1, 11) + SourceIndex(2) --- >>> return "JS does hoists"; 1->^^^^ @@ -283,10 +287,10 @@ sourceFile:../first_part3.ts 2 > return 3 > "JS does hoists" 4 > ; -1->Emitted(38, 5) Source(2, 5) + SourceIndex(2) -2 >Emitted(38, 12) Source(2, 12) + SourceIndex(2) -3 >Emitted(38, 28) Source(2, 28) + SourceIndex(2) -4 >Emitted(38, 29) Source(2, 29) + SourceIndex(2) +1->Emitted(40, 5) Source(2, 5) + SourceIndex(2) +2 >Emitted(40, 12) Source(2, 12) + SourceIndex(2) +3 >Emitted(40, 28) Source(2, 28) + SourceIndex(2) +4 >Emitted(40, 29) Source(2, 29) + SourceIndex(2) --- >>>} 1 > @@ -295,8 +299,8 @@ sourceFile:../first_part3.ts 1 > > 2 >} -1 >Emitted(39, 1) Source(3, 1) + SourceIndex(2) -2 >Emitted(39, 2) Source(3, 2) + SourceIndex(2) +1 >Emitted(41, 1) Source(3, 1) + SourceIndex(2) +2 >Emitted(41, 2) Source(3, 2) + SourceIndex(2) --- >>>function firstfirst_part3Spread() { 1-> @@ -306,9 +310,9 @@ sourceFile:../first_part3.ts > 2 >function 3 > firstfirst_part3Spread -1->Emitted(40, 1) Source(4, 1) + SourceIndex(2) -2 >Emitted(40, 10) Source(4, 10) + SourceIndex(2) -3 >Emitted(40, 32) Source(4, 32) + SourceIndex(2) +1->Emitted(42, 1) Source(4, 1) + SourceIndex(2) +2 >Emitted(42, 10) Source(4, 10) + SourceIndex(2) +3 >Emitted(42, 32) Source(4, 32) + SourceIndex(2) --- >>> var b = []; 1 >^^^^ @@ -316,8 +320,8 @@ sourceFile:../first_part3.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >( 2 > ...b: number[] -1 >Emitted(41, 5) Source(4, 33) + SourceIndex(2) -2 >Emitted(41, 16) Source(4, 47) + SourceIndex(2) +1 >Emitted(43, 5) Source(4, 33) + SourceIndex(2) +2 >Emitted(43, 16) Source(4, 47) + SourceIndex(2) --- >>> for (var _i = 0; _i < arguments.length; _i++) { 1->^^^^^^^^^ @@ -332,20 +336,20 @@ sourceFile:../first_part3.ts 4 > ...b: number[] 5 > 6 > ...b: number[] -1->Emitted(42, 10) Source(4, 33) + SourceIndex(2) -2 >Emitted(42, 20) Source(4, 47) + SourceIndex(2) -3 >Emitted(42, 22) Source(4, 33) + SourceIndex(2) -4 >Emitted(42, 43) Source(4, 47) + SourceIndex(2) -5 >Emitted(42, 45) Source(4, 33) + SourceIndex(2) -6 >Emitted(42, 49) Source(4, 47) + SourceIndex(2) +1->Emitted(44, 10) Source(4, 33) + SourceIndex(2) +2 >Emitted(44, 20) Source(4, 47) + SourceIndex(2) +3 >Emitted(44, 22) Source(4, 33) + SourceIndex(2) +4 >Emitted(44, 43) Source(4, 47) + SourceIndex(2) +5 >Emitted(44, 45) Source(4, 33) + SourceIndex(2) +6 >Emitted(44, 49) Source(4, 47) + SourceIndex(2) --- >>> b[_i] = arguments[_i]; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > ...b: number[] -1 >Emitted(43, 9) Source(4, 33) + SourceIndex(2) -2 >Emitted(43, 31) Source(4, 47) + SourceIndex(2) +1 >Emitted(45, 9) Source(4, 33) + SourceIndex(2) +2 >Emitted(45, 31) Source(4, 47) + SourceIndex(2) --- >>> } >>>} @@ -354,8 +358,8 @@ sourceFile:../first_part3.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >) { 2 >} -1 >Emitted(45, 1) Source(4, 51) + SourceIndex(2) -2 >Emitted(45, 2) Source(4, 52) + SourceIndex(2) +1 >Emitted(47, 1) Source(4, 51) + SourceIndex(2) +2 >Emitted(47, 2) Source(4, 52) + SourceIndex(2) --- >>>firstfirst_part3Spread.apply(void 0, __spread([10, 20, 30])); 1-> @@ -381,17 +385,17 @@ sourceFile:../first_part3.ts 9 > 30 10> ] 11> ); -1->Emitted(46, 1) Source(5, 1) + SourceIndex(2) -2 >Emitted(46, 23) Source(5, 23) + SourceIndex(2) -3 >Emitted(46, 47) Source(5, 27) + SourceIndex(2) -4 >Emitted(46, 48) Source(5, 28) + SourceIndex(2) -5 >Emitted(46, 50) Source(5, 30) + SourceIndex(2) -6 >Emitted(46, 52) Source(5, 32) + SourceIndex(2) -7 >Emitted(46, 54) Source(5, 34) + SourceIndex(2) -8 >Emitted(46, 56) Source(5, 36) + SourceIndex(2) -9 >Emitted(46, 58) Source(5, 38) + SourceIndex(2) -10>Emitted(46, 59) Source(5, 39) + SourceIndex(2) -11>Emitted(46, 62) Source(5, 41) + SourceIndex(2) +1->Emitted(48, 1) Source(5, 1) + SourceIndex(2) +2 >Emitted(48, 23) Source(5, 23) + SourceIndex(2) +3 >Emitted(48, 47) Source(5, 27) + SourceIndex(2) +4 >Emitted(48, 48) Source(5, 28) + SourceIndex(2) +5 >Emitted(48, 50) Source(5, 30) + SourceIndex(2) +6 >Emitted(48, 52) Source(5, 32) + SourceIndex(2) +7 >Emitted(48, 54) Source(5, 34) + SourceIndex(2) +8 >Emitted(48, 56) Source(5, 36) + SourceIndex(2) +9 >Emitted(48, 58) Source(5, 38) + SourceIndex(2) +10>Emitted(48, 59) Source(5, 39) + SourceIndex(2) +11>Emitted(48, 62) Source(5, 41) + SourceIndex(2) --- >>>//# sourceMappingURL=first-output.js.map @@ -408,25 +412,25 @@ sourceFile:../first_part3.ts "sections": [ { "pos": 0, - "end": 415, + "end": 500, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 417, - "end": 921, + "pos": 502, + "end": 1006, "kind": "emitHelpers", "data": "typescript:read" }, { - "pos": 923, - "end": 1093, + "pos": 1008, + "end": 1178, "kind": "emitHelpers", "data": "typescript:spread" }, { - "pos": 1095, - "end": 1551, + "pos": 1180, + "end": 1636, "kind": "text" } ], @@ -455,18 +459,20 @@ sourceFile:../first_part3.ts ====================================================================== File:: /src/first/bin/first-output.js ---------------------------------------------------------------------- -emitHelpers: (0-415):: typescript:rest +emitHelpers: (0-500):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -emitHelpers: (417-921):: typescript:read +emitHelpers: (502-1006):: typescript:read var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; @@ -484,13 +490,13 @@ var __read = (this && this.__read) || function (o, n) { return ar; }; ---------------------------------------------------------------------- -emitHelpers: (923-1093):: typescript:spread +emitHelpers: (1008-1178):: typescript:spread var __spread = (this && this.__spread) || function () { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; }; ---------------------------------------------------------------------- -text: (1095-1551) +text: (1180-1636) var s = "Hello, world"; console.log(s); function forfirstfirst_PART1Rest() { @@ -549,8 +555,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var __read = (this && this.__read) || function (o, n) { @@ -630,7 +638,7 @@ thirdthird_part1Spread.apply(void 0, __spread([10, 20, 30])); //# sourceMappingURL=third-output.js.map //// [/src/third/thirdjs/output/third-output.js.map] -{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;AAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;ACbhB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AACD,SAAS,sBAAsB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACnD,sBAAsB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;ACAxC,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;AAED,SAAS,wBAAwB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACrD,wBAAwB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;ACP1C,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC;AAChB,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;AACD,SAAS,sBAAsB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACnD,sBAAsB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE"} +{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;AAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;ACbhB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AACD,SAAS,sBAAsB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACnD,sBAAsB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;ACAxC,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;AAED,SAAS,wBAAwB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACrD,wBAAwB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;ACP1C,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC;AAChB,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;AACD,SAAS,sBAAsB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACnD,sBAAsB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE"} //// [/src/third/thirdjs/output/third-output.js.map.baseline.txt] =================================================================== @@ -648,8 +656,10 @@ sourceFile:../../../first/first_PART1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var __read = (this && this.__read) || function (o, n) { @@ -689,12 +699,12 @@ sourceFile:../../../first/first_PART1.ts 4 > = 5 > "Hello, world" 6 > ; -1 >Emitted(30, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(30, 5) Source(5, 7) + SourceIndex(0) -3 >Emitted(30, 6) Source(5, 8) + SourceIndex(0) -4 >Emitted(30, 9) Source(5, 11) + SourceIndex(0) -5 >Emitted(30, 23) Source(5, 25) + SourceIndex(0) -6 >Emitted(30, 24) Source(5, 26) + SourceIndex(0) +1 >Emitted(32, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(32, 5) Source(5, 7) + SourceIndex(0) +3 >Emitted(32, 6) Source(5, 8) + SourceIndex(0) +4 >Emitted(32, 9) Source(5, 11) + SourceIndex(0) +5 >Emitted(32, 23) Source(5, 25) + SourceIndex(0) +6 >Emitted(32, 24) Source(5, 26) + SourceIndex(0) --- >>>console.log(s); 1 > @@ -720,14 +730,14 @@ sourceFile:../../../first/first_PART1.ts 6 > s 7 > ) 8 > ; -1 >Emitted(31, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(31, 8) Source(11, 8) + SourceIndex(0) -3 >Emitted(31, 9) Source(11, 9) + SourceIndex(0) -4 >Emitted(31, 12) Source(11, 12) + SourceIndex(0) -5 >Emitted(31, 13) Source(11, 13) + SourceIndex(0) -6 >Emitted(31, 14) Source(11, 14) + SourceIndex(0) -7 >Emitted(31, 15) Source(11, 15) + SourceIndex(0) -8 >Emitted(31, 16) Source(11, 16) + SourceIndex(0) +1 >Emitted(33, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(33, 8) Source(11, 8) + SourceIndex(0) +3 >Emitted(33, 9) Source(11, 9) + SourceIndex(0) +4 >Emitted(33, 12) Source(11, 12) + SourceIndex(0) +5 >Emitted(33, 13) Source(11, 13) + SourceIndex(0) +6 >Emitted(33, 14) Source(11, 14) + SourceIndex(0) +7 >Emitted(33, 15) Source(11, 15) + SourceIndex(0) +8 >Emitted(33, 16) Source(11, 16) + SourceIndex(0) --- >>>function forfirstfirst_PART1Rest() { 1-> @@ -738,9 +748,9 @@ sourceFile:../../../first/first_PART1.ts > 2 >function 3 > forfirstfirst_PART1Rest -1->Emitted(32, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(32, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(32, 33) Source(12, 33) + SourceIndex(0) +1->Emitted(34, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(34, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(34, 33) Source(12, 33) + SourceIndex(0) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -760,14 +770,14 @@ sourceFile:../../../first/first_PART1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(33, 5) Source(13, 1) + SourceIndex(0) -2 >Emitted(33, 9) Source(13, 7) + SourceIndex(0) -3 >Emitted(33, 38) Source(13, 48) + SourceIndex(0) -4 >Emitted(33, 40) Source(13, 9) + SourceIndex(0) -5 >Emitted(33, 48) Source(13, 10) + SourceIndex(0) -6 >Emitted(33, 50) Source(13, 12) + SourceIndex(0) -7 >Emitted(33, 74) Source(13, 48) + SourceIndex(0) -8 >Emitted(33, 75) Source(13, 49) + SourceIndex(0) +1->Emitted(35, 5) Source(13, 1) + SourceIndex(0) +2 >Emitted(35, 9) Source(13, 7) + SourceIndex(0) +3 >Emitted(35, 38) Source(13, 48) + SourceIndex(0) +4 >Emitted(35, 40) Source(13, 9) + SourceIndex(0) +5 >Emitted(35, 48) Source(13, 10) + SourceIndex(0) +6 >Emitted(35, 50) Source(13, 12) + SourceIndex(0) +7 >Emitted(35, 74) Source(13, 48) + SourceIndex(0) +8 >Emitted(35, 75) Source(13, 49) + SourceIndex(0) --- >>>} 1 > @@ -776,8 +786,8 @@ sourceFile:../../../first/first_PART1.ts 1 > > 2 >} -1 >Emitted(34, 1) Source(14, 1) + SourceIndex(0) -2 >Emitted(34, 2) Source(14, 2) + SourceIndex(0) +1 >Emitted(36, 1) Source(14, 1) + SourceIndex(0) +2 >Emitted(36, 2) Source(14, 2) + SourceIndex(0) --- >>>console.log(s); 1-> @@ -797,14 +807,14 @@ sourceFile:../../../first/first_PART1.ts 6 > s 7 > ) 8 > ; -1->Emitted(35, 1) Source(14, 2) + SourceIndex(0) -2 >Emitted(35, 8) Source(14, 9) + SourceIndex(0) -3 >Emitted(35, 9) Source(14, 10) + SourceIndex(0) -4 >Emitted(35, 12) Source(14, 13) + SourceIndex(0) -5 >Emitted(35, 13) Source(14, 14) + SourceIndex(0) -6 >Emitted(35, 14) Source(14, 15) + SourceIndex(0) -7 >Emitted(35, 15) Source(14, 16) + SourceIndex(0) -8 >Emitted(35, 16) Source(14, 17) + SourceIndex(0) +1->Emitted(37, 1) Source(14, 2) + SourceIndex(0) +2 >Emitted(37, 8) Source(14, 9) + SourceIndex(0) +3 >Emitted(37, 9) Source(14, 10) + SourceIndex(0) +4 >Emitted(37, 12) Source(14, 13) + SourceIndex(0) +5 >Emitted(37, 13) Source(14, 14) + SourceIndex(0) +6 >Emitted(37, 14) Source(14, 15) + SourceIndex(0) +7 >Emitted(37, 15) Source(14, 16) + SourceIndex(0) +8 >Emitted(37, 16) Source(14, 17) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -829,15 +839,15 @@ sourceFile:../../../first/first_part2.ts 7 > () 8 > ) 9 > ; -1->Emitted(36, 1) Source(1, 1) + SourceIndex(1) -2 >Emitted(36, 8) Source(1, 8) + SourceIndex(1) -3 >Emitted(36, 9) Source(1, 9) + SourceIndex(1) -4 >Emitted(36, 12) Source(1, 12) + SourceIndex(1) -5 >Emitted(36, 13) Source(1, 13) + SourceIndex(1) -6 >Emitted(36, 14) Source(1, 14) + SourceIndex(1) -7 >Emitted(36, 16) Source(1, 16) + SourceIndex(1) -8 >Emitted(36, 17) Source(1, 17) + SourceIndex(1) -9 >Emitted(36, 18) Source(1, 18) + SourceIndex(1) +1->Emitted(38, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(38, 8) Source(1, 8) + SourceIndex(1) +3 >Emitted(38, 9) Source(1, 9) + SourceIndex(1) +4 >Emitted(38, 12) Source(1, 12) + SourceIndex(1) +5 >Emitted(38, 13) Source(1, 13) + SourceIndex(1) +6 >Emitted(38, 14) Source(1, 14) + SourceIndex(1) +7 >Emitted(38, 16) Source(1, 16) + SourceIndex(1) +8 >Emitted(38, 17) Source(1, 17) + SourceIndex(1) +9 >Emitted(38, 18) Source(1, 18) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -851,9 +861,9 @@ sourceFile:../../../first/first_part3.ts 1 > 2 >function 3 > f -1 >Emitted(37, 1) Source(1, 1) + SourceIndex(2) -2 >Emitted(37, 10) Source(1, 10) + SourceIndex(2) -3 >Emitted(37, 11) Source(1, 11) + SourceIndex(2) +1 >Emitted(39, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(39, 10) Source(1, 10) + SourceIndex(2) +3 >Emitted(39, 11) Source(1, 11) + SourceIndex(2) --- >>> return "JS does hoists"; 1->^^^^ @@ -865,10 +875,10 @@ sourceFile:../../../first/first_part3.ts 2 > return 3 > "JS does hoists" 4 > ; -1->Emitted(38, 5) Source(2, 5) + SourceIndex(2) -2 >Emitted(38, 12) Source(2, 12) + SourceIndex(2) -3 >Emitted(38, 28) Source(2, 28) + SourceIndex(2) -4 >Emitted(38, 29) Source(2, 29) + SourceIndex(2) +1->Emitted(40, 5) Source(2, 5) + SourceIndex(2) +2 >Emitted(40, 12) Source(2, 12) + SourceIndex(2) +3 >Emitted(40, 28) Source(2, 28) + SourceIndex(2) +4 >Emitted(40, 29) Source(2, 29) + SourceIndex(2) --- >>>} 1 > @@ -877,8 +887,8 @@ sourceFile:../../../first/first_part3.ts 1 > > 2 >} -1 >Emitted(39, 1) Source(3, 1) + SourceIndex(2) -2 >Emitted(39, 2) Source(3, 2) + SourceIndex(2) +1 >Emitted(41, 1) Source(3, 1) + SourceIndex(2) +2 >Emitted(41, 2) Source(3, 2) + SourceIndex(2) --- >>>function firstfirst_part3Spread() { 1-> @@ -888,9 +898,9 @@ sourceFile:../../../first/first_part3.ts > 2 >function 3 > firstfirst_part3Spread -1->Emitted(40, 1) Source(4, 1) + SourceIndex(2) -2 >Emitted(40, 10) Source(4, 10) + SourceIndex(2) -3 >Emitted(40, 32) Source(4, 32) + SourceIndex(2) +1->Emitted(42, 1) Source(4, 1) + SourceIndex(2) +2 >Emitted(42, 10) Source(4, 10) + SourceIndex(2) +3 >Emitted(42, 32) Source(4, 32) + SourceIndex(2) --- >>> var b = []; 1 >^^^^ @@ -898,8 +908,8 @@ sourceFile:../../../first/first_part3.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >( 2 > ...b: number[] -1 >Emitted(41, 5) Source(4, 33) + SourceIndex(2) -2 >Emitted(41, 16) Source(4, 47) + SourceIndex(2) +1 >Emitted(43, 5) Source(4, 33) + SourceIndex(2) +2 >Emitted(43, 16) Source(4, 47) + SourceIndex(2) --- >>> for (var _i = 0; _i < arguments.length; _i++) { 1->^^^^^^^^^ @@ -914,20 +924,20 @@ sourceFile:../../../first/first_part3.ts 4 > ...b: number[] 5 > 6 > ...b: number[] -1->Emitted(42, 10) Source(4, 33) + SourceIndex(2) -2 >Emitted(42, 20) Source(4, 47) + SourceIndex(2) -3 >Emitted(42, 22) Source(4, 33) + SourceIndex(2) -4 >Emitted(42, 43) Source(4, 47) + SourceIndex(2) -5 >Emitted(42, 45) Source(4, 33) + SourceIndex(2) -6 >Emitted(42, 49) Source(4, 47) + SourceIndex(2) +1->Emitted(44, 10) Source(4, 33) + SourceIndex(2) +2 >Emitted(44, 20) Source(4, 47) + SourceIndex(2) +3 >Emitted(44, 22) Source(4, 33) + SourceIndex(2) +4 >Emitted(44, 43) Source(4, 47) + SourceIndex(2) +5 >Emitted(44, 45) Source(4, 33) + SourceIndex(2) +6 >Emitted(44, 49) Source(4, 47) + SourceIndex(2) --- >>> b[_i] = arguments[_i]; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > ...b: number[] -1 >Emitted(43, 9) Source(4, 33) + SourceIndex(2) -2 >Emitted(43, 31) Source(4, 47) + SourceIndex(2) +1 >Emitted(45, 9) Source(4, 33) + SourceIndex(2) +2 >Emitted(45, 31) Source(4, 47) + SourceIndex(2) --- >>> } >>>} @@ -936,8 +946,8 @@ sourceFile:../../../first/first_part3.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >) { 2 >} -1 >Emitted(45, 1) Source(4, 51) + SourceIndex(2) -2 >Emitted(45, 2) Source(4, 52) + SourceIndex(2) +1 >Emitted(47, 1) Source(4, 51) + SourceIndex(2) +2 >Emitted(47, 2) Source(4, 52) + SourceIndex(2) --- >>>firstfirst_part3Spread.apply(void 0, __spread([10, 20, 30])); 1-> @@ -963,17 +973,17 @@ sourceFile:../../../first/first_part3.ts 9 > 30 10> ] 11> ); -1->Emitted(46, 1) Source(5, 1) + SourceIndex(2) -2 >Emitted(46, 23) Source(5, 23) + SourceIndex(2) -3 >Emitted(46, 47) Source(5, 27) + SourceIndex(2) -4 >Emitted(46, 48) Source(5, 28) + SourceIndex(2) -5 >Emitted(46, 50) Source(5, 30) + SourceIndex(2) -6 >Emitted(46, 52) Source(5, 32) + SourceIndex(2) -7 >Emitted(46, 54) Source(5, 34) + SourceIndex(2) -8 >Emitted(46, 56) Source(5, 36) + SourceIndex(2) -9 >Emitted(46, 58) Source(5, 38) + SourceIndex(2) -10>Emitted(46, 59) Source(5, 39) + SourceIndex(2) -11>Emitted(46, 62) Source(5, 41) + SourceIndex(2) +1->Emitted(48, 1) Source(5, 1) + SourceIndex(2) +2 >Emitted(48, 23) Source(5, 23) + SourceIndex(2) +3 >Emitted(48, 47) Source(5, 27) + SourceIndex(2) +4 >Emitted(48, 48) Source(5, 28) + SourceIndex(2) +5 >Emitted(48, 50) Source(5, 30) + SourceIndex(2) +6 >Emitted(48, 52) Source(5, 32) + SourceIndex(2) +7 >Emitted(48, 54) Source(5, 34) + SourceIndex(2) +8 >Emitted(48, 56) Source(5, 36) + SourceIndex(2) +9 >Emitted(48, 58) Source(5, 38) + SourceIndex(2) +10>Emitted(48, 59) Source(5, 39) + SourceIndex(2) +11>Emitted(48, 62) Source(5, 41) + SourceIndex(2) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -999,10 +1009,10 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1 >Emitted(47, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(47, 5) Source(5, 11) + SourceIndex(3) -3 >Emitted(47, 6) Source(5, 12) + SourceIndex(3) -4 >Emitted(47, 7) Source(11, 2) + SourceIndex(3) +1 >Emitted(49, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(49, 5) Source(5, 11) + SourceIndex(3) +3 >Emitted(49, 6) Source(5, 12) + SourceIndex(3) +4 >Emitted(49, 7) Source(11, 2) + SourceIndex(3) --- >>>(function (N) { 1-> @@ -1012,9 +1022,9 @@ sourceFile:../../../second/second_part1.ts 1-> 2 >namespace 3 > N -1->Emitted(48, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(48, 12) Source(5, 11) + SourceIndex(3) -3 >Emitted(48, 13) Source(5, 12) + SourceIndex(3) +1->Emitted(50, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(50, 12) Source(5, 11) + SourceIndex(3) +3 >Emitted(50, 13) Source(5, 12) + SourceIndex(3) --- >>> function f() { 1->^^^^ @@ -1025,9 +1035,9 @@ sourceFile:../../../second/second_part1.ts > 2 > function 3 > f -1->Emitted(49, 5) Source(6, 5) + SourceIndex(3) -2 >Emitted(49, 14) Source(6, 14) + SourceIndex(3) -3 >Emitted(49, 15) Source(6, 15) + SourceIndex(3) +1->Emitted(51, 5) Source(6, 5) + SourceIndex(3) +2 >Emitted(51, 14) Source(6, 14) + SourceIndex(3) +3 >Emitted(51, 15) Source(6, 15) + SourceIndex(3) --- >>> console.log('testing'); 1->^^^^^^^^ @@ -1047,14 +1057,14 @@ sourceFile:../../../second/second_part1.ts 6 > 'testing' 7 > ) 8 > ; -1->Emitted(50, 9) Source(7, 9) + SourceIndex(3) -2 >Emitted(50, 16) Source(7, 16) + SourceIndex(3) -3 >Emitted(50, 17) Source(7, 17) + SourceIndex(3) -4 >Emitted(50, 20) Source(7, 20) + SourceIndex(3) -5 >Emitted(50, 21) Source(7, 21) + SourceIndex(3) -6 >Emitted(50, 30) Source(7, 30) + SourceIndex(3) -7 >Emitted(50, 31) Source(7, 31) + SourceIndex(3) -8 >Emitted(50, 32) Source(7, 32) + SourceIndex(3) +1->Emitted(52, 9) Source(7, 9) + SourceIndex(3) +2 >Emitted(52, 16) Source(7, 16) + SourceIndex(3) +3 >Emitted(52, 17) Source(7, 17) + SourceIndex(3) +4 >Emitted(52, 20) Source(7, 20) + SourceIndex(3) +5 >Emitted(52, 21) Source(7, 21) + SourceIndex(3) +6 >Emitted(52, 30) Source(7, 30) + SourceIndex(3) +7 >Emitted(52, 31) Source(7, 31) + SourceIndex(3) +8 >Emitted(52, 32) Source(7, 32) + SourceIndex(3) --- >>> } 1 >^^^^ @@ -1063,8 +1073,8 @@ sourceFile:../../../second/second_part1.ts 1 > > 2 > } -1 >Emitted(51, 5) Source(8, 5) + SourceIndex(3) -2 >Emitted(51, 6) Source(8, 6) + SourceIndex(3) +1 >Emitted(53, 5) Source(8, 5) + SourceIndex(3) +2 >Emitted(53, 6) Source(8, 6) + SourceIndex(3) --- >>> f(); 1->^^^^ @@ -1078,10 +1088,10 @@ sourceFile:../../../second/second_part1.ts 2 > f 3 > () 4 > ; -1->Emitted(52, 5) Source(10, 5) + SourceIndex(3) -2 >Emitted(52, 6) Source(10, 6) + SourceIndex(3) -3 >Emitted(52, 8) Source(10, 8) + SourceIndex(3) -4 >Emitted(52, 9) Source(10, 9) + SourceIndex(3) +1->Emitted(54, 5) Source(10, 5) + SourceIndex(3) +2 >Emitted(54, 6) Source(10, 6) + SourceIndex(3) +3 >Emitted(54, 8) Source(10, 8) + SourceIndex(3) +4 >Emitted(54, 9) Source(10, 9) + SourceIndex(3) --- >>>})(N || (N = {})); 1-> @@ -1106,13 +1116,13 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1->Emitted(53, 1) Source(11, 1) + SourceIndex(3) -2 >Emitted(53, 2) Source(11, 2) + SourceIndex(3) -3 >Emitted(53, 4) Source(5, 11) + SourceIndex(3) -4 >Emitted(53, 5) Source(5, 12) + SourceIndex(3) -5 >Emitted(53, 10) Source(5, 11) + SourceIndex(3) -6 >Emitted(53, 11) Source(5, 12) + SourceIndex(3) -7 >Emitted(53, 19) Source(11, 2) + SourceIndex(3) +1->Emitted(55, 1) Source(11, 1) + SourceIndex(3) +2 >Emitted(55, 2) Source(11, 2) + SourceIndex(3) +3 >Emitted(55, 4) Source(5, 11) + SourceIndex(3) +4 >Emitted(55, 5) Source(5, 12) + SourceIndex(3) +5 >Emitted(55, 10) Source(5, 11) + SourceIndex(3) +6 >Emitted(55, 11) Source(5, 12) + SourceIndex(3) +7 >Emitted(55, 19) Source(11, 2) + SourceIndex(3) --- >>>function forsecondsecond_part1Rest() { 1-> @@ -1123,9 +1133,9 @@ sourceFile:../../../second/second_part1.ts > 2 >function 3 > forsecondsecond_part1Rest -1->Emitted(54, 1) Source(12, 1) + SourceIndex(3) -2 >Emitted(54, 10) Source(12, 10) + SourceIndex(3) -3 >Emitted(54, 35) Source(12, 35) + SourceIndex(3) +1->Emitted(56, 1) Source(12, 1) + SourceIndex(3) +2 >Emitted(56, 10) Source(12, 10) + SourceIndex(3) +3 >Emitted(56, 35) Source(12, 35) + SourceIndex(3) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -1145,14 +1155,14 @@ sourceFile:../../../second/second_part1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(55, 5) Source(13, 1) + SourceIndex(3) -2 >Emitted(55, 9) Source(13, 7) + SourceIndex(3) -3 >Emitted(55, 38) Source(13, 48) + SourceIndex(3) -4 >Emitted(55, 40) Source(13, 9) + SourceIndex(3) -5 >Emitted(55, 48) Source(13, 10) + SourceIndex(3) -6 >Emitted(55, 50) Source(13, 12) + SourceIndex(3) -7 >Emitted(55, 74) Source(13, 48) + SourceIndex(3) -8 >Emitted(55, 75) Source(13, 49) + SourceIndex(3) +1->Emitted(57, 5) Source(13, 1) + SourceIndex(3) +2 >Emitted(57, 9) Source(13, 7) + SourceIndex(3) +3 >Emitted(57, 38) Source(13, 48) + SourceIndex(3) +4 >Emitted(57, 40) Source(13, 9) + SourceIndex(3) +5 >Emitted(57, 48) Source(13, 10) + SourceIndex(3) +6 >Emitted(57, 50) Source(13, 12) + SourceIndex(3) +7 >Emitted(57, 74) Source(13, 48) + SourceIndex(3) +8 >Emitted(57, 75) Source(13, 49) + SourceIndex(3) --- >>>} 1 > @@ -1161,8 +1171,8 @@ sourceFile:../../../second/second_part1.ts 1 > > 2 >} -1 >Emitted(56, 1) Source(14, 1) + SourceIndex(3) -2 >Emitted(56, 2) Source(14, 2) + SourceIndex(3) +1 >Emitted(58, 1) Source(14, 1) + SourceIndex(3) +2 >Emitted(58, 2) Source(14, 2) + SourceIndex(3) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1172,13 +1182,13 @@ sourceFile:../../../second/second_part2.ts 1-> 2 >^^^^^^^^^^^^^^^^^^^-> 1-> -1->Emitted(57, 1) Source(1, 1) + SourceIndex(4) +1->Emitted(59, 1) Source(1, 1) + SourceIndex(4) --- >>> function C() { 1->^^^^ 2 > ^^-> 1-> -1->Emitted(58, 5) Source(1, 1) + SourceIndex(4) +1->Emitted(60, 5) Source(1, 1) + SourceIndex(4) --- >>> } 1->^^^^ @@ -1190,8 +1200,8 @@ sourceFile:../../../second/second_part2.ts > } > 2 > } -1->Emitted(59, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(59, 6) Source(5, 2) + SourceIndex(4) +1->Emitted(61, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(61, 6) Source(5, 2) + SourceIndex(4) --- >>> C.prototype.doSomething = function () { 1->^^^^ @@ -1201,9 +1211,9 @@ sourceFile:../../../second/second_part2.ts 1-> 2 > doSomething 3 > -1->Emitted(60, 5) Source(2, 5) + SourceIndex(4) -2 >Emitted(60, 28) Source(2, 16) + SourceIndex(4) -3 >Emitted(60, 31) Source(2, 5) + SourceIndex(4) +1->Emitted(62, 5) Source(2, 5) + SourceIndex(4) +2 >Emitted(62, 28) Source(2, 16) + SourceIndex(4) +3 >Emitted(62, 31) Source(2, 5) + SourceIndex(4) --- >>> console.log("something got done"); 1->^^^^^^^^ @@ -1223,14 +1233,14 @@ sourceFile:../../../second/second_part2.ts 6 > "something got done" 7 > ) 8 > ; -1->Emitted(61, 9) Source(3, 9) + SourceIndex(4) -2 >Emitted(61, 16) Source(3, 16) + SourceIndex(4) -3 >Emitted(61, 17) Source(3, 17) + SourceIndex(4) -4 >Emitted(61, 20) Source(3, 20) + SourceIndex(4) -5 >Emitted(61, 21) Source(3, 21) + SourceIndex(4) -6 >Emitted(61, 41) Source(3, 41) + SourceIndex(4) -7 >Emitted(61, 42) Source(3, 42) + SourceIndex(4) -8 >Emitted(61, 43) Source(3, 43) + SourceIndex(4) +1->Emitted(63, 9) Source(3, 9) + SourceIndex(4) +2 >Emitted(63, 16) Source(3, 16) + SourceIndex(4) +3 >Emitted(63, 17) Source(3, 17) + SourceIndex(4) +4 >Emitted(63, 20) Source(3, 20) + SourceIndex(4) +5 >Emitted(63, 21) Source(3, 21) + SourceIndex(4) +6 >Emitted(63, 41) Source(3, 41) + SourceIndex(4) +7 >Emitted(63, 42) Source(3, 42) + SourceIndex(4) +8 >Emitted(63, 43) Source(3, 43) + SourceIndex(4) --- >>> }; 1 >^^^^ @@ -1239,8 +1249,8 @@ sourceFile:../../../second/second_part2.ts 1 > > 2 > } -1 >Emitted(62, 5) Source(4, 5) + SourceIndex(4) -2 >Emitted(62, 6) Source(4, 6) + SourceIndex(4) +1 >Emitted(64, 5) Source(4, 5) + SourceIndex(4) +2 >Emitted(64, 6) Source(4, 6) + SourceIndex(4) --- >>> return C; 1->^^^^ @@ -1248,8 +1258,8 @@ sourceFile:../../../second/second_part2.ts 1-> > 2 > } -1->Emitted(63, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(63, 13) Source(5, 2) + SourceIndex(4) +1->Emitted(65, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(65, 13) Source(5, 2) + SourceIndex(4) --- >>>}()); 1 > @@ -1265,10 +1275,10 @@ sourceFile:../../../second/second_part2.ts > console.log("something got done"); > } > } -1 >Emitted(64, 1) Source(5, 1) + SourceIndex(4) -2 >Emitted(64, 2) Source(5, 2) + SourceIndex(4) -3 >Emitted(64, 2) Source(1, 1) + SourceIndex(4) -4 >Emitted(64, 6) Source(5, 2) + SourceIndex(4) +1 >Emitted(66, 1) Source(5, 1) + SourceIndex(4) +2 >Emitted(66, 2) Source(5, 2) + SourceIndex(4) +3 >Emitted(66, 2) Source(1, 1) + SourceIndex(4) +4 >Emitted(66, 6) Source(5, 2) + SourceIndex(4) --- >>>function secondsecond_part2Spread() { 1-> @@ -1279,9 +1289,9 @@ sourceFile:../../../second/second_part2.ts > 2 >function 3 > secondsecond_part2Spread -1->Emitted(65, 1) Source(7, 1) + SourceIndex(4) -2 >Emitted(65, 10) Source(7, 10) + SourceIndex(4) -3 >Emitted(65, 34) Source(7, 34) + SourceIndex(4) +1->Emitted(67, 1) Source(7, 1) + SourceIndex(4) +2 >Emitted(67, 10) Source(7, 10) + SourceIndex(4) +3 >Emitted(67, 34) Source(7, 34) + SourceIndex(4) --- >>> var b = []; 1 >^^^^ @@ -1289,8 +1299,8 @@ sourceFile:../../../second/second_part2.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >( 2 > ...b: number[] -1 >Emitted(66, 5) Source(7, 35) + SourceIndex(4) -2 >Emitted(66, 16) Source(7, 49) + SourceIndex(4) +1 >Emitted(68, 5) Source(7, 35) + SourceIndex(4) +2 >Emitted(68, 16) Source(7, 49) + SourceIndex(4) --- >>> for (var _i = 0; _i < arguments.length; _i++) { 1->^^^^^^^^^ @@ -1305,20 +1315,20 @@ sourceFile:../../../second/second_part2.ts 4 > ...b: number[] 5 > 6 > ...b: number[] -1->Emitted(67, 10) Source(7, 35) + SourceIndex(4) -2 >Emitted(67, 20) Source(7, 49) + SourceIndex(4) -3 >Emitted(67, 22) Source(7, 35) + SourceIndex(4) -4 >Emitted(67, 43) Source(7, 49) + SourceIndex(4) -5 >Emitted(67, 45) Source(7, 35) + SourceIndex(4) -6 >Emitted(67, 49) Source(7, 49) + SourceIndex(4) +1->Emitted(69, 10) Source(7, 35) + SourceIndex(4) +2 >Emitted(69, 20) Source(7, 49) + SourceIndex(4) +3 >Emitted(69, 22) Source(7, 35) + SourceIndex(4) +4 >Emitted(69, 43) Source(7, 49) + SourceIndex(4) +5 >Emitted(69, 45) Source(7, 35) + SourceIndex(4) +6 >Emitted(69, 49) Source(7, 49) + SourceIndex(4) --- >>> b[_i] = arguments[_i]; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > ...b: number[] -1 >Emitted(68, 9) Source(7, 35) + SourceIndex(4) -2 >Emitted(68, 31) Source(7, 49) + SourceIndex(4) +1 >Emitted(70, 9) Source(7, 35) + SourceIndex(4) +2 >Emitted(70, 31) Source(7, 49) + SourceIndex(4) --- >>> } >>>} @@ -1327,8 +1337,8 @@ sourceFile:../../../second/second_part2.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >) { 2 >} -1 >Emitted(70, 1) Source(7, 53) + SourceIndex(4) -2 >Emitted(70, 2) Source(7, 54) + SourceIndex(4) +1 >Emitted(72, 1) Source(7, 53) + SourceIndex(4) +2 >Emitted(72, 2) Source(7, 54) + SourceIndex(4) --- >>>secondsecond_part2Spread.apply(void 0, __spread([10, 20, 30])); 1-> @@ -1354,17 +1364,17 @@ sourceFile:../../../second/second_part2.ts 9 > 30 10> ] 11> ); -1->Emitted(71, 1) Source(8, 1) + SourceIndex(4) -2 >Emitted(71, 25) Source(8, 25) + SourceIndex(4) -3 >Emitted(71, 49) Source(8, 29) + SourceIndex(4) -4 >Emitted(71, 50) Source(8, 30) + SourceIndex(4) -5 >Emitted(71, 52) Source(8, 32) + SourceIndex(4) -6 >Emitted(71, 54) Source(8, 34) + SourceIndex(4) -7 >Emitted(71, 56) Source(8, 36) + SourceIndex(4) -8 >Emitted(71, 58) Source(8, 38) + SourceIndex(4) -9 >Emitted(71, 60) Source(8, 40) + SourceIndex(4) -10>Emitted(71, 61) Source(8, 41) + SourceIndex(4) -11>Emitted(71, 64) Source(8, 43) + SourceIndex(4) +1->Emitted(73, 1) Source(8, 1) + SourceIndex(4) +2 >Emitted(73, 25) Source(8, 25) + SourceIndex(4) +3 >Emitted(73, 49) Source(8, 29) + SourceIndex(4) +4 >Emitted(73, 50) Source(8, 30) + SourceIndex(4) +5 >Emitted(73, 52) Source(8, 32) + SourceIndex(4) +6 >Emitted(73, 54) Source(8, 34) + SourceIndex(4) +7 >Emitted(73, 56) Source(8, 36) + SourceIndex(4) +8 >Emitted(73, 58) Source(8, 38) + SourceIndex(4) +9 >Emitted(73, 60) Source(8, 40) + SourceIndex(4) +10>Emitted(73, 61) Source(8, 41) + SourceIndex(4) +11>Emitted(73, 64) Source(8, 43) + SourceIndex(4) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1388,14 +1398,14 @@ sourceFile:../../third_part1.ts 6 > C 7 > () 8 > ; -1 >Emitted(72, 1) Source(1, 1) + SourceIndex(5) -2 >Emitted(72, 5) Source(1, 5) + SourceIndex(5) -3 >Emitted(72, 6) Source(1, 6) + SourceIndex(5) -4 >Emitted(72, 9) Source(1, 9) + SourceIndex(5) -5 >Emitted(72, 13) Source(1, 13) + SourceIndex(5) -6 >Emitted(72, 14) Source(1, 14) + SourceIndex(5) -7 >Emitted(72, 16) Source(1, 16) + SourceIndex(5) -8 >Emitted(72, 17) Source(1, 17) + SourceIndex(5) +1 >Emitted(74, 1) Source(1, 1) + SourceIndex(5) +2 >Emitted(74, 5) Source(1, 5) + SourceIndex(5) +3 >Emitted(74, 6) Source(1, 6) + SourceIndex(5) +4 >Emitted(74, 9) Source(1, 9) + SourceIndex(5) +5 >Emitted(74, 13) Source(1, 13) + SourceIndex(5) +6 >Emitted(74, 14) Source(1, 14) + SourceIndex(5) +7 >Emitted(74, 16) Source(1, 16) + SourceIndex(5) +8 >Emitted(74, 17) Source(1, 17) + SourceIndex(5) --- >>>c.doSomething(); 1-> @@ -1412,12 +1422,12 @@ sourceFile:../../third_part1.ts 4 > doSomething 5 > () 6 > ; -1->Emitted(73, 1) Source(2, 1) + SourceIndex(5) -2 >Emitted(73, 2) Source(2, 2) + SourceIndex(5) -3 >Emitted(73, 3) Source(2, 3) + SourceIndex(5) -4 >Emitted(73, 14) Source(2, 14) + SourceIndex(5) -5 >Emitted(73, 16) Source(2, 16) + SourceIndex(5) -6 >Emitted(73, 17) Source(2, 17) + SourceIndex(5) +1->Emitted(75, 1) Source(2, 1) + SourceIndex(5) +2 >Emitted(75, 2) Source(2, 2) + SourceIndex(5) +3 >Emitted(75, 3) Source(2, 3) + SourceIndex(5) +4 >Emitted(75, 14) Source(2, 14) + SourceIndex(5) +5 >Emitted(75, 16) Source(2, 16) + SourceIndex(5) +6 >Emitted(75, 17) Source(2, 17) + SourceIndex(5) --- >>>function forthirdthird_part1Rest() { 1-> @@ -1428,9 +1438,9 @@ sourceFile:../../third_part1.ts > 2 >function 3 > forthirdthird_part1Rest -1->Emitted(74, 1) Source(3, 1) + SourceIndex(5) -2 >Emitted(74, 10) Source(3, 10) + SourceIndex(5) -3 >Emitted(74, 33) Source(3, 33) + SourceIndex(5) +1->Emitted(76, 1) Source(3, 1) + SourceIndex(5) +2 >Emitted(76, 10) Source(3, 10) + SourceIndex(5) +3 >Emitted(76, 33) Source(3, 33) + SourceIndex(5) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -1450,14 +1460,14 @@ sourceFile:../../third_part1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(75, 5) Source(4, 1) + SourceIndex(5) -2 >Emitted(75, 9) Source(4, 7) + SourceIndex(5) -3 >Emitted(75, 38) Source(4, 48) + SourceIndex(5) -4 >Emitted(75, 40) Source(4, 9) + SourceIndex(5) -5 >Emitted(75, 48) Source(4, 10) + SourceIndex(5) -6 >Emitted(75, 50) Source(4, 12) + SourceIndex(5) -7 >Emitted(75, 74) Source(4, 48) + SourceIndex(5) -8 >Emitted(75, 75) Source(4, 49) + SourceIndex(5) +1->Emitted(77, 5) Source(4, 1) + SourceIndex(5) +2 >Emitted(77, 9) Source(4, 7) + SourceIndex(5) +3 >Emitted(77, 38) Source(4, 48) + SourceIndex(5) +4 >Emitted(77, 40) Source(4, 9) + SourceIndex(5) +5 >Emitted(77, 48) Source(4, 10) + SourceIndex(5) +6 >Emitted(77, 50) Source(4, 12) + SourceIndex(5) +7 >Emitted(77, 74) Source(4, 48) + SourceIndex(5) +8 >Emitted(77, 75) Source(4, 49) + SourceIndex(5) --- >>>} 1 > @@ -1466,8 +1476,8 @@ sourceFile:../../third_part1.ts 1 > > 2 >} -1 >Emitted(76, 1) Source(5, 1) + SourceIndex(5) -2 >Emitted(76, 2) Source(5, 2) + SourceIndex(5) +1 >Emitted(78, 1) Source(5, 1) + SourceIndex(5) +2 >Emitted(78, 2) Source(5, 2) + SourceIndex(5) --- >>>function thirdthird_part1Spread() { 1-> @@ -1477,9 +1487,9 @@ sourceFile:../../third_part1.ts > 2 >function 3 > thirdthird_part1Spread -1->Emitted(77, 1) Source(6, 1) + SourceIndex(5) -2 >Emitted(77, 10) Source(6, 10) + SourceIndex(5) -3 >Emitted(77, 32) Source(6, 32) + SourceIndex(5) +1->Emitted(79, 1) Source(6, 1) + SourceIndex(5) +2 >Emitted(79, 10) Source(6, 10) + SourceIndex(5) +3 >Emitted(79, 32) Source(6, 32) + SourceIndex(5) --- >>> var b = []; 1 >^^^^ @@ -1487,8 +1497,8 @@ sourceFile:../../third_part1.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >( 2 > ...b: number[] -1 >Emitted(78, 5) Source(6, 33) + SourceIndex(5) -2 >Emitted(78, 16) Source(6, 47) + SourceIndex(5) +1 >Emitted(80, 5) Source(6, 33) + SourceIndex(5) +2 >Emitted(80, 16) Source(6, 47) + SourceIndex(5) --- >>> for (var _i = 0; _i < arguments.length; _i++) { 1->^^^^^^^^^ @@ -1503,20 +1513,20 @@ sourceFile:../../third_part1.ts 4 > ...b: number[] 5 > 6 > ...b: number[] -1->Emitted(79, 10) Source(6, 33) + SourceIndex(5) -2 >Emitted(79, 20) Source(6, 47) + SourceIndex(5) -3 >Emitted(79, 22) Source(6, 33) + SourceIndex(5) -4 >Emitted(79, 43) Source(6, 47) + SourceIndex(5) -5 >Emitted(79, 45) Source(6, 33) + SourceIndex(5) -6 >Emitted(79, 49) Source(6, 47) + SourceIndex(5) +1->Emitted(81, 10) Source(6, 33) + SourceIndex(5) +2 >Emitted(81, 20) Source(6, 47) + SourceIndex(5) +3 >Emitted(81, 22) Source(6, 33) + SourceIndex(5) +4 >Emitted(81, 43) Source(6, 47) + SourceIndex(5) +5 >Emitted(81, 45) Source(6, 33) + SourceIndex(5) +6 >Emitted(81, 49) Source(6, 47) + SourceIndex(5) --- >>> b[_i] = arguments[_i]; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > ...b: number[] -1 >Emitted(80, 9) Source(6, 33) + SourceIndex(5) -2 >Emitted(80, 31) Source(6, 47) + SourceIndex(5) +1 >Emitted(82, 9) Source(6, 33) + SourceIndex(5) +2 >Emitted(82, 31) Source(6, 47) + SourceIndex(5) --- >>> } >>>} @@ -1525,8 +1535,8 @@ sourceFile:../../third_part1.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >) { 2 >} -1 >Emitted(82, 1) Source(6, 51) + SourceIndex(5) -2 >Emitted(82, 2) Source(6, 52) + SourceIndex(5) +1 >Emitted(84, 1) Source(6, 51) + SourceIndex(5) +2 >Emitted(84, 2) Source(6, 52) + SourceIndex(5) --- >>>thirdthird_part1Spread.apply(void 0, __spread([10, 20, 30])); 1-> @@ -1552,17 +1562,17 @@ sourceFile:../../third_part1.ts 9 > 30 10> ] 11> ); -1->Emitted(83, 1) Source(7, 1) + SourceIndex(5) -2 >Emitted(83, 23) Source(7, 23) + SourceIndex(5) -3 >Emitted(83, 47) Source(7, 27) + SourceIndex(5) -4 >Emitted(83, 48) Source(7, 28) + SourceIndex(5) -5 >Emitted(83, 50) Source(7, 30) + SourceIndex(5) -6 >Emitted(83, 52) Source(7, 32) + SourceIndex(5) -7 >Emitted(83, 54) Source(7, 34) + SourceIndex(5) -8 >Emitted(83, 56) Source(7, 36) + SourceIndex(5) -9 >Emitted(83, 58) Source(7, 38) + SourceIndex(5) -10>Emitted(83, 59) Source(7, 39) + SourceIndex(5) -11>Emitted(83, 62) Source(7, 41) + SourceIndex(5) +1->Emitted(85, 1) Source(7, 1) + SourceIndex(5) +2 >Emitted(85, 23) Source(7, 23) + SourceIndex(5) +3 >Emitted(85, 47) Source(7, 27) + SourceIndex(5) +4 >Emitted(85, 48) Source(7, 28) + SourceIndex(5) +5 >Emitted(85, 50) Source(7, 30) + SourceIndex(5) +6 >Emitted(85, 52) Source(7, 32) + SourceIndex(5) +7 >Emitted(85, 54) Source(7, 34) + SourceIndex(5) +8 >Emitted(85, 56) Source(7, 36) + SourceIndex(5) +9 >Emitted(85, 58) Source(7, 38) + SourceIndex(5) +10>Emitted(85, 59) Source(7, 39) + SourceIndex(5) +11>Emitted(85, 62) Source(7, 41) + SourceIndex(5) --- >>>//# sourceMappingURL=third-output.js.map @@ -1577,51 +1587,51 @@ sourceFile:../../third_part1.ts "sections": [ { "pos": 0, - "end": 415, + "end": 500, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 417, - "end": 921, + "pos": 502, + "end": 1006, "kind": "emitHelpers", "data": "typescript:read" }, { - "pos": 923, - "end": 1093, + "pos": 1008, + "end": 1178, "kind": "emitHelpers", "data": "typescript:spread" }, { - "pos": 1095, - "end": 1551, + "pos": 1180, + "end": 1636, "kind": "prepend", "data": "/src/first/bin/first-output.js", "texts": [ { - "pos": 1095, - "end": 1551, + "pos": 1180, + "end": 1636, "kind": "text" } ] }, { - "pos": 1551, - "end": 2171, + "pos": 1636, + "end": 2256, "kind": "prepend", "data": "/src/2/second-output.js", "texts": [ { - "pos": 1551, - "end": 2171, + "pos": 1636, + "end": 2256, "kind": "text" } ] }, { - "pos": 2171, - "end": 2536, + "pos": 2256, + "end": 2621, "kind": "text" } ], @@ -1676,18 +1686,20 @@ sourceFile:../../third_part1.ts ====================================================================== File:: /src/third/thirdjs/output/third-output.js ---------------------------------------------------------------------- -emitHelpers: (0-415):: typescript:rest +emitHelpers: (0-500):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -emitHelpers: (417-921):: typescript:read +emitHelpers: (502-1006):: typescript:read var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; @@ -1705,15 +1717,15 @@ var __read = (this && this.__read) || function (o, n) { return ar; }; ---------------------------------------------------------------------- -emitHelpers: (923-1093):: typescript:spread +emitHelpers: (1008-1178):: typescript:spread var __spread = (this && this.__spread) || function () { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; }; ---------------------------------------------------------------------- -prepend: (1095-1551):: /src/first/bin/first-output.js texts:: 1 +prepend: (1180-1636):: /src/first/bin/first-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (1095-1551) +text: (1180-1636) var s = "Hello, world"; console.log(s); function forfirstfirst_PART1Rest() { @@ -1733,9 +1745,9 @@ function firstfirst_part3Spread() { firstfirst_part3Spread.apply(void 0, __spread([10, 20, 30])); ---------------------------------------------------------------------- -prepend: (1551-2171):: /src/2/second-output.js texts:: 1 +prepend: (1636-2256):: /src/2/second-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (1551-2171) +text: (1636-2256) var N; (function (N) { function f() { @@ -1763,7 +1775,7 @@ function secondsecond_part2Spread() { secondsecond_part2Spread.apply(void 0, __spread([10, 20, 30])); ---------------------------------------------------------------------- -text: (2171-2536) +text: (2256-2621) var c = new C(); c.doSomething(); function forthirdthird_part1Rest() { diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-declaration-doesnt-change/multiple-emitHelpers-in-different-projects.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-declaration-doesnt-change/multiple-emitHelpers-in-different-projects.js index 380c310bfd4..fc441e6a919 100644 --- a/tests/baselines/reference/tsbuild/outfile-concat/incremental-declaration-doesnt-change/multiple-emitHelpers-in-different-projects.js +++ b/tests/baselines/reference/tsbuild/outfile-concat/incremental-declaration-doesnt-change/multiple-emitHelpers-in-different-projects.js @@ -4,8 +4,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var s = "Hello, world"; @@ -21,7 +23,7 @@ function f() { //# sourceMappingURL=first-output.js.map //// [/src/first/bin/first-output.js.map] -{"version":3,"file":"first-output.js","sourceRoot":"","sources":["../first_PART1.ts","../first_part2.ts","../first_part3.ts"],"names":[],"mappings":";;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;AAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;ACbhB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC"} +{"version":3,"file":"first-output.js","sourceRoot":"","sources":["../first_PART1.ts","../first_part2.ts","../first_part3.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;AAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;ACbhB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC"} //// [/src/first/bin/first-output.js.map.baseline.txt] =================================================================== @@ -39,8 +41,10 @@ sourceFile:../first_PART1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var s = "Hello, world"; @@ -60,12 +64,12 @@ sourceFile:../first_PART1.ts 4 > = 5 > "Hello, world" 6 > ; -1 >Emitted(10, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(10, 5) Source(5, 7) + SourceIndex(0) -3 >Emitted(10, 6) Source(5, 8) + SourceIndex(0) -4 >Emitted(10, 9) Source(5, 11) + SourceIndex(0) -5 >Emitted(10, 23) Source(5, 25) + SourceIndex(0) -6 >Emitted(10, 24) Source(5, 26) + SourceIndex(0) +1 >Emitted(12, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(12, 5) Source(5, 7) + SourceIndex(0) +3 >Emitted(12, 6) Source(5, 8) + SourceIndex(0) +4 >Emitted(12, 9) Source(5, 11) + SourceIndex(0) +5 >Emitted(12, 23) Source(5, 25) + SourceIndex(0) +6 >Emitted(12, 24) Source(5, 26) + SourceIndex(0) --- >>>console.log(s); 1 > @@ -91,14 +95,14 @@ sourceFile:../first_PART1.ts 6 > s 7 > ) 8 > ; -1 >Emitted(11, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(11, 8) Source(11, 8) + SourceIndex(0) -3 >Emitted(11, 9) Source(11, 9) + SourceIndex(0) -4 >Emitted(11, 12) Source(11, 12) + SourceIndex(0) -5 >Emitted(11, 13) Source(11, 13) + SourceIndex(0) -6 >Emitted(11, 14) Source(11, 14) + SourceIndex(0) -7 >Emitted(11, 15) Source(11, 15) + SourceIndex(0) -8 >Emitted(11, 16) Source(11, 16) + SourceIndex(0) +1 >Emitted(13, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(13, 8) Source(11, 8) + SourceIndex(0) +3 >Emitted(13, 9) Source(11, 9) + SourceIndex(0) +4 >Emitted(13, 12) Source(11, 12) + SourceIndex(0) +5 >Emitted(13, 13) Source(11, 13) + SourceIndex(0) +6 >Emitted(13, 14) Source(11, 14) + SourceIndex(0) +7 >Emitted(13, 15) Source(11, 15) + SourceIndex(0) +8 >Emitted(13, 16) Source(11, 16) + SourceIndex(0) --- >>>function forfirstfirst_PART1Rest() { 1-> @@ -109,9 +113,9 @@ sourceFile:../first_PART1.ts > 2 >function 3 > forfirstfirst_PART1Rest -1->Emitted(12, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(12, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(12, 33) Source(12, 33) + SourceIndex(0) +1->Emitted(14, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(14, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(14, 33) Source(12, 33) + SourceIndex(0) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -131,14 +135,14 @@ sourceFile:../first_PART1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(13, 5) Source(13, 1) + SourceIndex(0) -2 >Emitted(13, 9) Source(13, 7) + SourceIndex(0) -3 >Emitted(13, 38) Source(13, 48) + SourceIndex(0) -4 >Emitted(13, 40) Source(13, 9) + SourceIndex(0) -5 >Emitted(13, 48) Source(13, 10) + SourceIndex(0) -6 >Emitted(13, 50) Source(13, 12) + SourceIndex(0) -7 >Emitted(13, 74) Source(13, 48) + SourceIndex(0) -8 >Emitted(13, 75) Source(13, 49) + SourceIndex(0) +1->Emitted(15, 5) Source(13, 1) + SourceIndex(0) +2 >Emitted(15, 9) Source(13, 7) + SourceIndex(0) +3 >Emitted(15, 38) Source(13, 48) + SourceIndex(0) +4 >Emitted(15, 40) Source(13, 9) + SourceIndex(0) +5 >Emitted(15, 48) Source(13, 10) + SourceIndex(0) +6 >Emitted(15, 50) Source(13, 12) + SourceIndex(0) +7 >Emitted(15, 74) Source(13, 48) + SourceIndex(0) +8 >Emitted(15, 75) Source(13, 49) + SourceIndex(0) --- >>>} 1 > @@ -147,8 +151,8 @@ sourceFile:../first_PART1.ts 1 > > 2 >} -1 >Emitted(14, 1) Source(14, 1) + SourceIndex(0) -2 >Emitted(14, 2) Source(14, 2) + SourceIndex(0) +1 >Emitted(16, 1) Source(14, 1) + SourceIndex(0) +2 >Emitted(16, 2) Source(14, 2) + SourceIndex(0) --- >>>console.log(s); 1-> @@ -168,14 +172,14 @@ sourceFile:../first_PART1.ts 6 > s 7 > ) 8 > ; -1->Emitted(15, 1) Source(14, 2) + SourceIndex(0) -2 >Emitted(15, 8) Source(14, 9) + SourceIndex(0) -3 >Emitted(15, 9) Source(14, 10) + SourceIndex(0) -4 >Emitted(15, 12) Source(14, 13) + SourceIndex(0) -5 >Emitted(15, 13) Source(14, 14) + SourceIndex(0) -6 >Emitted(15, 14) Source(14, 15) + SourceIndex(0) -7 >Emitted(15, 15) Source(14, 16) + SourceIndex(0) -8 >Emitted(15, 16) Source(14, 17) + SourceIndex(0) +1->Emitted(17, 1) Source(14, 2) + SourceIndex(0) +2 >Emitted(17, 8) Source(14, 9) + SourceIndex(0) +3 >Emitted(17, 9) Source(14, 10) + SourceIndex(0) +4 >Emitted(17, 12) Source(14, 13) + SourceIndex(0) +5 >Emitted(17, 13) Source(14, 14) + SourceIndex(0) +6 >Emitted(17, 14) Source(14, 15) + SourceIndex(0) +7 >Emitted(17, 15) Source(14, 16) + SourceIndex(0) +8 >Emitted(17, 16) Source(14, 17) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/first/bin/first-output.js @@ -200,15 +204,15 @@ sourceFile:../first_part2.ts 7 > () 8 > ) 9 > ; -1->Emitted(16, 1) Source(1, 1) + SourceIndex(1) -2 >Emitted(16, 8) Source(1, 8) + SourceIndex(1) -3 >Emitted(16, 9) Source(1, 9) + SourceIndex(1) -4 >Emitted(16, 12) Source(1, 12) + SourceIndex(1) -5 >Emitted(16, 13) Source(1, 13) + SourceIndex(1) -6 >Emitted(16, 14) Source(1, 14) + SourceIndex(1) -7 >Emitted(16, 16) Source(1, 16) + SourceIndex(1) -8 >Emitted(16, 17) Source(1, 17) + SourceIndex(1) -9 >Emitted(16, 18) Source(1, 18) + SourceIndex(1) +1->Emitted(18, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(18, 8) Source(1, 8) + SourceIndex(1) +3 >Emitted(18, 9) Source(1, 9) + SourceIndex(1) +4 >Emitted(18, 12) Source(1, 12) + SourceIndex(1) +5 >Emitted(18, 13) Source(1, 13) + SourceIndex(1) +6 >Emitted(18, 14) Source(1, 14) + SourceIndex(1) +7 >Emitted(18, 16) Source(1, 16) + SourceIndex(1) +8 >Emitted(18, 17) Source(1, 17) + SourceIndex(1) +9 >Emitted(18, 18) Source(1, 18) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/first/bin/first-output.js @@ -222,9 +226,9 @@ sourceFile:../first_part3.ts 1 > 2 >function 3 > f -1 >Emitted(17, 1) Source(1, 1) + SourceIndex(2) -2 >Emitted(17, 10) Source(1, 10) + SourceIndex(2) -3 >Emitted(17, 11) Source(1, 11) + SourceIndex(2) +1 >Emitted(19, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(19, 10) Source(1, 10) + SourceIndex(2) +3 >Emitted(19, 11) Source(1, 11) + SourceIndex(2) --- >>> return "JS does hoists"; 1->^^^^ @@ -236,10 +240,10 @@ sourceFile:../first_part3.ts 2 > return 3 > "JS does hoists" 4 > ; -1->Emitted(18, 5) Source(2, 5) + SourceIndex(2) -2 >Emitted(18, 12) Source(2, 12) + SourceIndex(2) -3 >Emitted(18, 28) Source(2, 28) + SourceIndex(2) -4 >Emitted(18, 29) Source(2, 29) + SourceIndex(2) +1->Emitted(20, 5) Source(2, 5) + SourceIndex(2) +2 >Emitted(20, 12) Source(2, 12) + SourceIndex(2) +3 >Emitted(20, 28) Source(2, 28) + SourceIndex(2) +4 >Emitted(20, 29) Source(2, 29) + SourceIndex(2) --- >>>} 1 > @@ -248,8 +252,8 @@ sourceFile:../first_part3.ts 1 > > 2 >} -1 >Emitted(19, 1) Source(3, 1) + SourceIndex(2) -2 >Emitted(19, 2) Source(3, 2) + SourceIndex(2) +1 >Emitted(21, 1) Source(3, 1) + SourceIndex(2) +2 >Emitted(21, 2) Source(3, 2) + SourceIndex(2) --- >>>//# sourceMappingURL=first-output.js.map @@ -266,13 +270,13 @@ sourceFile:../first_part3.ts "sections": [ { "pos": 0, - "end": 415, + "end": 500, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 417, - "end": 661, + "pos": 502, + "end": 746, "kind": "text" } ], @@ -299,18 +303,20 @@ sourceFile:../first_part3.ts ====================================================================== File:: /src/first/bin/first-output.js ---------------------------------------------------------------------- -emitHelpers: (0-415):: typescript:rest +emitHelpers: (0-500):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -text: (417-661) +text: (502-746) var s = "Hello, world"; console.log(s); function forfirstfirst_PART1Rest() { @@ -361,8 +367,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var __read = (this && this.__read) || function (o, n) { @@ -425,7 +433,7 @@ function forthirdthird_part1Rest() { //# sourceMappingURL=third-output.js.map //// [/src/third/thirdjs/output/third-output.js.map] -{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;AAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;ACbhB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;ACED,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AAED,SAAS,wBAAwB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACrD,wBAAwB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;ACb1C;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;ACJD,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC;AAChB,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC"} +{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;AAAA,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;ACbhB,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;ACED,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AAED,SAAS,wBAAwB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACrD,wBAAwB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;ACb1C;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;ACJD,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC;AAChB,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC"} //// [/src/third/thirdjs/output/third-output.js.map.baseline.txt] =================================================================== @@ -443,8 +451,10 @@ sourceFile:../../../first/first_PART1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var __read = (this && this.__read) || function (o, n) { @@ -484,12 +494,12 @@ sourceFile:../../../first/first_PART1.ts 4 > = 5 > "Hello, world" 6 > ; -1 >Emitted(30, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(30, 5) Source(5, 7) + SourceIndex(0) -3 >Emitted(30, 6) Source(5, 8) + SourceIndex(0) -4 >Emitted(30, 9) Source(5, 11) + SourceIndex(0) -5 >Emitted(30, 23) Source(5, 25) + SourceIndex(0) -6 >Emitted(30, 24) Source(5, 26) + SourceIndex(0) +1 >Emitted(32, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(32, 5) Source(5, 7) + SourceIndex(0) +3 >Emitted(32, 6) Source(5, 8) + SourceIndex(0) +4 >Emitted(32, 9) Source(5, 11) + SourceIndex(0) +5 >Emitted(32, 23) Source(5, 25) + SourceIndex(0) +6 >Emitted(32, 24) Source(5, 26) + SourceIndex(0) --- >>>console.log(s); 1 > @@ -515,14 +525,14 @@ sourceFile:../../../first/first_PART1.ts 6 > s 7 > ) 8 > ; -1 >Emitted(31, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(31, 8) Source(11, 8) + SourceIndex(0) -3 >Emitted(31, 9) Source(11, 9) + SourceIndex(0) -4 >Emitted(31, 12) Source(11, 12) + SourceIndex(0) -5 >Emitted(31, 13) Source(11, 13) + SourceIndex(0) -6 >Emitted(31, 14) Source(11, 14) + SourceIndex(0) -7 >Emitted(31, 15) Source(11, 15) + SourceIndex(0) -8 >Emitted(31, 16) Source(11, 16) + SourceIndex(0) +1 >Emitted(33, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(33, 8) Source(11, 8) + SourceIndex(0) +3 >Emitted(33, 9) Source(11, 9) + SourceIndex(0) +4 >Emitted(33, 12) Source(11, 12) + SourceIndex(0) +5 >Emitted(33, 13) Source(11, 13) + SourceIndex(0) +6 >Emitted(33, 14) Source(11, 14) + SourceIndex(0) +7 >Emitted(33, 15) Source(11, 15) + SourceIndex(0) +8 >Emitted(33, 16) Source(11, 16) + SourceIndex(0) --- >>>function forfirstfirst_PART1Rest() { 1-> @@ -533,9 +543,9 @@ sourceFile:../../../first/first_PART1.ts > 2 >function 3 > forfirstfirst_PART1Rest -1->Emitted(32, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(32, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(32, 33) Source(12, 33) + SourceIndex(0) +1->Emitted(34, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(34, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(34, 33) Source(12, 33) + SourceIndex(0) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -555,14 +565,14 @@ sourceFile:../../../first/first_PART1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(33, 5) Source(13, 1) + SourceIndex(0) -2 >Emitted(33, 9) Source(13, 7) + SourceIndex(0) -3 >Emitted(33, 38) Source(13, 48) + SourceIndex(0) -4 >Emitted(33, 40) Source(13, 9) + SourceIndex(0) -5 >Emitted(33, 48) Source(13, 10) + SourceIndex(0) -6 >Emitted(33, 50) Source(13, 12) + SourceIndex(0) -7 >Emitted(33, 74) Source(13, 48) + SourceIndex(0) -8 >Emitted(33, 75) Source(13, 49) + SourceIndex(0) +1->Emitted(35, 5) Source(13, 1) + SourceIndex(0) +2 >Emitted(35, 9) Source(13, 7) + SourceIndex(0) +3 >Emitted(35, 38) Source(13, 48) + SourceIndex(0) +4 >Emitted(35, 40) Source(13, 9) + SourceIndex(0) +5 >Emitted(35, 48) Source(13, 10) + SourceIndex(0) +6 >Emitted(35, 50) Source(13, 12) + SourceIndex(0) +7 >Emitted(35, 74) Source(13, 48) + SourceIndex(0) +8 >Emitted(35, 75) Source(13, 49) + SourceIndex(0) --- >>>} 1 > @@ -571,8 +581,8 @@ sourceFile:../../../first/first_PART1.ts 1 > > 2 >} -1 >Emitted(34, 1) Source(14, 1) + SourceIndex(0) -2 >Emitted(34, 2) Source(14, 2) + SourceIndex(0) +1 >Emitted(36, 1) Source(14, 1) + SourceIndex(0) +2 >Emitted(36, 2) Source(14, 2) + SourceIndex(0) --- >>>console.log(s); 1-> @@ -592,14 +602,14 @@ sourceFile:../../../first/first_PART1.ts 6 > s 7 > ) 8 > ; -1->Emitted(35, 1) Source(14, 2) + SourceIndex(0) -2 >Emitted(35, 8) Source(14, 9) + SourceIndex(0) -3 >Emitted(35, 9) Source(14, 10) + SourceIndex(0) -4 >Emitted(35, 12) Source(14, 13) + SourceIndex(0) -5 >Emitted(35, 13) Source(14, 14) + SourceIndex(0) -6 >Emitted(35, 14) Source(14, 15) + SourceIndex(0) -7 >Emitted(35, 15) Source(14, 16) + SourceIndex(0) -8 >Emitted(35, 16) Source(14, 17) + SourceIndex(0) +1->Emitted(37, 1) Source(14, 2) + SourceIndex(0) +2 >Emitted(37, 8) Source(14, 9) + SourceIndex(0) +3 >Emitted(37, 9) Source(14, 10) + SourceIndex(0) +4 >Emitted(37, 12) Source(14, 13) + SourceIndex(0) +5 >Emitted(37, 13) Source(14, 14) + SourceIndex(0) +6 >Emitted(37, 14) Source(14, 15) + SourceIndex(0) +7 >Emitted(37, 15) Source(14, 16) + SourceIndex(0) +8 >Emitted(37, 16) Source(14, 17) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -624,15 +634,15 @@ sourceFile:../../../first/first_part2.ts 7 > () 8 > ) 9 > ; -1->Emitted(36, 1) Source(1, 1) + SourceIndex(1) -2 >Emitted(36, 8) Source(1, 8) + SourceIndex(1) -3 >Emitted(36, 9) Source(1, 9) + SourceIndex(1) -4 >Emitted(36, 12) Source(1, 12) + SourceIndex(1) -5 >Emitted(36, 13) Source(1, 13) + SourceIndex(1) -6 >Emitted(36, 14) Source(1, 14) + SourceIndex(1) -7 >Emitted(36, 16) Source(1, 16) + SourceIndex(1) -8 >Emitted(36, 17) Source(1, 17) + SourceIndex(1) -9 >Emitted(36, 18) Source(1, 18) + SourceIndex(1) +1->Emitted(38, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(38, 8) Source(1, 8) + SourceIndex(1) +3 >Emitted(38, 9) Source(1, 9) + SourceIndex(1) +4 >Emitted(38, 12) Source(1, 12) + SourceIndex(1) +5 >Emitted(38, 13) Source(1, 13) + SourceIndex(1) +6 >Emitted(38, 14) Source(1, 14) + SourceIndex(1) +7 >Emitted(38, 16) Source(1, 16) + SourceIndex(1) +8 >Emitted(38, 17) Source(1, 17) + SourceIndex(1) +9 >Emitted(38, 18) Source(1, 18) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -646,9 +656,9 @@ sourceFile:../../../first/first_part3.ts 1 > 2 >function 3 > f -1 >Emitted(37, 1) Source(1, 1) + SourceIndex(2) -2 >Emitted(37, 10) Source(1, 10) + SourceIndex(2) -3 >Emitted(37, 11) Source(1, 11) + SourceIndex(2) +1 >Emitted(39, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(39, 10) Source(1, 10) + SourceIndex(2) +3 >Emitted(39, 11) Source(1, 11) + SourceIndex(2) --- >>> return "JS does hoists"; 1->^^^^ @@ -660,10 +670,10 @@ sourceFile:../../../first/first_part3.ts 2 > return 3 > "JS does hoists" 4 > ; -1->Emitted(38, 5) Source(2, 5) + SourceIndex(2) -2 >Emitted(38, 12) Source(2, 12) + SourceIndex(2) -3 >Emitted(38, 28) Source(2, 28) + SourceIndex(2) -4 >Emitted(38, 29) Source(2, 29) + SourceIndex(2) +1->Emitted(40, 5) Source(2, 5) + SourceIndex(2) +2 >Emitted(40, 12) Source(2, 12) + SourceIndex(2) +3 >Emitted(40, 28) Source(2, 28) + SourceIndex(2) +4 >Emitted(40, 29) Source(2, 29) + SourceIndex(2) --- >>>} 1 > @@ -672,8 +682,8 @@ sourceFile:../../../first/first_part3.ts 1 > > 2 >} -1 >Emitted(39, 1) Source(3, 1) + SourceIndex(2) -2 >Emitted(39, 2) Source(3, 2) + SourceIndex(2) +1 >Emitted(41, 1) Source(3, 1) + SourceIndex(2) +2 >Emitted(41, 2) Source(3, 2) + SourceIndex(2) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -699,10 +709,10 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1->Emitted(40, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(40, 5) Source(5, 11) + SourceIndex(3) -3 >Emitted(40, 6) Source(5, 12) + SourceIndex(3) -4 >Emitted(40, 7) Source(11, 2) + SourceIndex(3) +1->Emitted(42, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(42, 5) Source(5, 11) + SourceIndex(3) +3 >Emitted(42, 6) Source(5, 12) + SourceIndex(3) +4 >Emitted(42, 7) Source(11, 2) + SourceIndex(3) --- >>>(function (N) { 1-> @@ -712,9 +722,9 @@ sourceFile:../../../second/second_part1.ts 1-> 2 >namespace 3 > N -1->Emitted(41, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(41, 12) Source(5, 11) + SourceIndex(3) -3 >Emitted(41, 13) Source(5, 12) + SourceIndex(3) +1->Emitted(43, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(43, 12) Source(5, 11) + SourceIndex(3) +3 >Emitted(43, 13) Source(5, 12) + SourceIndex(3) --- >>> function f() { 1->^^^^ @@ -725,9 +735,9 @@ sourceFile:../../../second/second_part1.ts > 2 > function 3 > f -1->Emitted(42, 5) Source(6, 5) + SourceIndex(3) -2 >Emitted(42, 14) Source(6, 14) + SourceIndex(3) -3 >Emitted(42, 15) Source(6, 15) + SourceIndex(3) +1->Emitted(44, 5) Source(6, 5) + SourceIndex(3) +2 >Emitted(44, 14) Source(6, 14) + SourceIndex(3) +3 >Emitted(44, 15) Source(6, 15) + SourceIndex(3) --- >>> console.log('testing'); 1->^^^^^^^^ @@ -747,14 +757,14 @@ sourceFile:../../../second/second_part1.ts 6 > 'testing' 7 > ) 8 > ; -1->Emitted(43, 9) Source(7, 9) + SourceIndex(3) -2 >Emitted(43, 16) Source(7, 16) + SourceIndex(3) -3 >Emitted(43, 17) Source(7, 17) + SourceIndex(3) -4 >Emitted(43, 20) Source(7, 20) + SourceIndex(3) -5 >Emitted(43, 21) Source(7, 21) + SourceIndex(3) -6 >Emitted(43, 30) Source(7, 30) + SourceIndex(3) -7 >Emitted(43, 31) Source(7, 31) + SourceIndex(3) -8 >Emitted(43, 32) Source(7, 32) + SourceIndex(3) +1->Emitted(45, 9) Source(7, 9) + SourceIndex(3) +2 >Emitted(45, 16) Source(7, 16) + SourceIndex(3) +3 >Emitted(45, 17) Source(7, 17) + SourceIndex(3) +4 >Emitted(45, 20) Source(7, 20) + SourceIndex(3) +5 >Emitted(45, 21) Source(7, 21) + SourceIndex(3) +6 >Emitted(45, 30) Source(7, 30) + SourceIndex(3) +7 >Emitted(45, 31) Source(7, 31) + SourceIndex(3) +8 >Emitted(45, 32) Source(7, 32) + SourceIndex(3) --- >>> } 1 >^^^^ @@ -763,8 +773,8 @@ sourceFile:../../../second/second_part1.ts 1 > > 2 > } -1 >Emitted(44, 5) Source(8, 5) + SourceIndex(3) -2 >Emitted(44, 6) Source(8, 6) + SourceIndex(3) +1 >Emitted(46, 5) Source(8, 5) + SourceIndex(3) +2 >Emitted(46, 6) Source(8, 6) + SourceIndex(3) --- >>> f(); 1->^^^^ @@ -778,10 +788,10 @@ sourceFile:../../../second/second_part1.ts 2 > f 3 > () 4 > ; -1->Emitted(45, 5) Source(10, 5) + SourceIndex(3) -2 >Emitted(45, 6) Source(10, 6) + SourceIndex(3) -3 >Emitted(45, 8) Source(10, 8) + SourceIndex(3) -4 >Emitted(45, 9) Source(10, 9) + SourceIndex(3) +1->Emitted(47, 5) Source(10, 5) + SourceIndex(3) +2 >Emitted(47, 6) Source(10, 6) + SourceIndex(3) +3 >Emitted(47, 8) Source(10, 8) + SourceIndex(3) +4 >Emitted(47, 9) Source(10, 9) + SourceIndex(3) --- >>>})(N || (N = {})); 1-> @@ -806,13 +816,13 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1->Emitted(46, 1) Source(11, 1) + SourceIndex(3) -2 >Emitted(46, 2) Source(11, 2) + SourceIndex(3) -3 >Emitted(46, 4) Source(5, 11) + SourceIndex(3) -4 >Emitted(46, 5) Source(5, 12) + SourceIndex(3) -5 >Emitted(46, 10) Source(5, 11) + SourceIndex(3) -6 >Emitted(46, 11) Source(5, 12) + SourceIndex(3) -7 >Emitted(46, 19) Source(11, 2) + SourceIndex(3) +1->Emitted(48, 1) Source(11, 1) + SourceIndex(3) +2 >Emitted(48, 2) Source(11, 2) + SourceIndex(3) +3 >Emitted(48, 4) Source(5, 11) + SourceIndex(3) +4 >Emitted(48, 5) Source(5, 12) + SourceIndex(3) +5 >Emitted(48, 10) Source(5, 11) + SourceIndex(3) +6 >Emitted(48, 11) Source(5, 12) + SourceIndex(3) +7 >Emitted(48, 19) Source(11, 2) + SourceIndex(3) --- >>>function secondsecond_part1Spread() { 1-> @@ -823,9 +833,9 @@ sourceFile:../../../second/second_part1.ts > 2 >function 3 > secondsecond_part1Spread -1->Emitted(47, 1) Source(13, 1) + SourceIndex(3) -2 >Emitted(47, 10) Source(13, 10) + SourceIndex(3) -3 >Emitted(47, 34) Source(13, 34) + SourceIndex(3) +1->Emitted(49, 1) Source(13, 1) + SourceIndex(3) +2 >Emitted(49, 10) Source(13, 10) + SourceIndex(3) +3 >Emitted(49, 34) Source(13, 34) + SourceIndex(3) --- >>> var b = []; 1 >^^^^ @@ -833,8 +843,8 @@ sourceFile:../../../second/second_part1.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >( 2 > ...b: number[] -1 >Emitted(48, 5) Source(13, 35) + SourceIndex(3) -2 >Emitted(48, 16) Source(13, 49) + SourceIndex(3) +1 >Emitted(50, 5) Source(13, 35) + SourceIndex(3) +2 >Emitted(50, 16) Source(13, 49) + SourceIndex(3) --- >>> for (var _i = 0; _i < arguments.length; _i++) { 1->^^^^^^^^^ @@ -849,20 +859,20 @@ sourceFile:../../../second/second_part1.ts 4 > ...b: number[] 5 > 6 > ...b: number[] -1->Emitted(49, 10) Source(13, 35) + SourceIndex(3) -2 >Emitted(49, 20) Source(13, 49) + SourceIndex(3) -3 >Emitted(49, 22) Source(13, 35) + SourceIndex(3) -4 >Emitted(49, 43) Source(13, 49) + SourceIndex(3) -5 >Emitted(49, 45) Source(13, 35) + SourceIndex(3) -6 >Emitted(49, 49) Source(13, 49) + SourceIndex(3) +1->Emitted(51, 10) Source(13, 35) + SourceIndex(3) +2 >Emitted(51, 20) Source(13, 49) + SourceIndex(3) +3 >Emitted(51, 22) Source(13, 35) + SourceIndex(3) +4 >Emitted(51, 43) Source(13, 49) + SourceIndex(3) +5 >Emitted(51, 45) Source(13, 35) + SourceIndex(3) +6 >Emitted(51, 49) Source(13, 49) + SourceIndex(3) --- >>> b[_i] = arguments[_i]; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > ...b: number[] -1 >Emitted(50, 9) Source(13, 35) + SourceIndex(3) -2 >Emitted(50, 31) Source(13, 49) + SourceIndex(3) +1 >Emitted(52, 9) Source(13, 35) + SourceIndex(3) +2 >Emitted(52, 31) Source(13, 49) + SourceIndex(3) --- >>> } >>>} @@ -871,8 +881,8 @@ sourceFile:../../../second/second_part1.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >) { 2 >} -1 >Emitted(52, 1) Source(13, 53) + SourceIndex(3) -2 >Emitted(52, 2) Source(13, 54) + SourceIndex(3) +1 >Emitted(54, 1) Source(13, 53) + SourceIndex(3) +2 >Emitted(54, 2) Source(13, 54) + SourceIndex(3) --- >>>secondsecond_part1Spread.apply(void 0, __spread([10, 20, 30])); 1-> @@ -898,17 +908,17 @@ sourceFile:../../../second/second_part1.ts 9 > 30 10> ] 11> ); -1->Emitted(53, 1) Source(14, 1) + SourceIndex(3) -2 >Emitted(53, 25) Source(14, 25) + SourceIndex(3) -3 >Emitted(53, 49) Source(14, 29) + SourceIndex(3) -4 >Emitted(53, 50) Source(14, 30) + SourceIndex(3) -5 >Emitted(53, 52) Source(14, 32) + SourceIndex(3) -6 >Emitted(53, 54) Source(14, 34) + SourceIndex(3) -7 >Emitted(53, 56) Source(14, 36) + SourceIndex(3) -8 >Emitted(53, 58) Source(14, 38) + SourceIndex(3) -9 >Emitted(53, 60) Source(14, 40) + SourceIndex(3) -10>Emitted(53, 61) Source(14, 41) + SourceIndex(3) -11>Emitted(53, 64) Source(14, 43) + SourceIndex(3) +1->Emitted(55, 1) Source(14, 1) + SourceIndex(3) +2 >Emitted(55, 25) Source(14, 25) + SourceIndex(3) +3 >Emitted(55, 49) Source(14, 29) + SourceIndex(3) +4 >Emitted(55, 50) Source(14, 30) + SourceIndex(3) +5 >Emitted(55, 52) Source(14, 32) + SourceIndex(3) +6 >Emitted(55, 54) Source(14, 34) + SourceIndex(3) +7 >Emitted(55, 56) Source(14, 36) + SourceIndex(3) +8 >Emitted(55, 58) Source(14, 38) + SourceIndex(3) +9 >Emitted(55, 60) Source(14, 40) + SourceIndex(3) +10>Emitted(55, 61) Source(14, 41) + SourceIndex(3) +11>Emitted(55, 64) Source(14, 43) + SourceIndex(3) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -918,13 +928,13 @@ sourceFile:../../../second/second_part2.ts 1 > 2 >^^^^^^^^^^^^^^^^^^^-> 1 > -1 >Emitted(54, 1) Source(1, 1) + SourceIndex(4) +1 >Emitted(56, 1) Source(1, 1) + SourceIndex(4) --- >>> function C() { 1->^^^^ 2 > ^^-> 1-> -1->Emitted(55, 5) Source(1, 1) + SourceIndex(4) +1->Emitted(57, 5) Source(1, 1) + SourceIndex(4) --- >>> } 1->^^^^ @@ -936,8 +946,8 @@ sourceFile:../../../second/second_part2.ts > } > 2 > } -1->Emitted(56, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(56, 6) Source(5, 2) + SourceIndex(4) +1->Emitted(58, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(58, 6) Source(5, 2) + SourceIndex(4) --- >>> C.prototype.doSomething = function () { 1->^^^^ @@ -947,9 +957,9 @@ sourceFile:../../../second/second_part2.ts 1-> 2 > doSomething 3 > -1->Emitted(57, 5) Source(2, 5) + SourceIndex(4) -2 >Emitted(57, 28) Source(2, 16) + SourceIndex(4) -3 >Emitted(57, 31) Source(2, 5) + SourceIndex(4) +1->Emitted(59, 5) Source(2, 5) + SourceIndex(4) +2 >Emitted(59, 28) Source(2, 16) + SourceIndex(4) +3 >Emitted(59, 31) Source(2, 5) + SourceIndex(4) --- >>> console.log("something got done"); 1->^^^^^^^^ @@ -969,14 +979,14 @@ sourceFile:../../../second/second_part2.ts 6 > "something got done" 7 > ) 8 > ; -1->Emitted(58, 9) Source(3, 9) + SourceIndex(4) -2 >Emitted(58, 16) Source(3, 16) + SourceIndex(4) -3 >Emitted(58, 17) Source(3, 17) + SourceIndex(4) -4 >Emitted(58, 20) Source(3, 20) + SourceIndex(4) -5 >Emitted(58, 21) Source(3, 21) + SourceIndex(4) -6 >Emitted(58, 41) Source(3, 41) + SourceIndex(4) -7 >Emitted(58, 42) Source(3, 42) + SourceIndex(4) -8 >Emitted(58, 43) Source(3, 43) + SourceIndex(4) +1->Emitted(60, 9) Source(3, 9) + SourceIndex(4) +2 >Emitted(60, 16) Source(3, 16) + SourceIndex(4) +3 >Emitted(60, 17) Source(3, 17) + SourceIndex(4) +4 >Emitted(60, 20) Source(3, 20) + SourceIndex(4) +5 >Emitted(60, 21) Source(3, 21) + SourceIndex(4) +6 >Emitted(60, 41) Source(3, 41) + SourceIndex(4) +7 >Emitted(60, 42) Source(3, 42) + SourceIndex(4) +8 >Emitted(60, 43) Source(3, 43) + SourceIndex(4) --- >>> }; 1 >^^^^ @@ -985,8 +995,8 @@ sourceFile:../../../second/second_part2.ts 1 > > 2 > } -1 >Emitted(59, 5) Source(4, 5) + SourceIndex(4) -2 >Emitted(59, 6) Source(4, 6) + SourceIndex(4) +1 >Emitted(61, 5) Source(4, 5) + SourceIndex(4) +2 >Emitted(61, 6) Source(4, 6) + SourceIndex(4) --- >>> return C; 1->^^^^ @@ -994,8 +1004,8 @@ sourceFile:../../../second/second_part2.ts 1-> > 2 > } -1->Emitted(60, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(60, 13) Source(5, 2) + SourceIndex(4) +1->Emitted(62, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(62, 13) Source(5, 2) + SourceIndex(4) --- >>>}()); 1 > @@ -1011,10 +1021,10 @@ sourceFile:../../../second/second_part2.ts > console.log("something got done"); > } > } -1 >Emitted(61, 1) Source(5, 1) + SourceIndex(4) -2 >Emitted(61, 2) Source(5, 2) + SourceIndex(4) -3 >Emitted(61, 2) Source(1, 1) + SourceIndex(4) -4 >Emitted(61, 6) Source(5, 2) + SourceIndex(4) +1 >Emitted(63, 1) Source(5, 1) + SourceIndex(4) +2 >Emitted(63, 2) Source(5, 2) + SourceIndex(4) +3 >Emitted(63, 2) Source(1, 1) + SourceIndex(4) +4 >Emitted(63, 6) Source(5, 2) + SourceIndex(4) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1038,14 +1048,14 @@ sourceFile:../../third_part1.ts 6 > C 7 > () 8 > ; -1->Emitted(62, 1) Source(1, 1) + SourceIndex(5) -2 >Emitted(62, 5) Source(1, 5) + SourceIndex(5) -3 >Emitted(62, 6) Source(1, 6) + SourceIndex(5) -4 >Emitted(62, 9) Source(1, 9) + SourceIndex(5) -5 >Emitted(62, 13) Source(1, 13) + SourceIndex(5) -6 >Emitted(62, 14) Source(1, 14) + SourceIndex(5) -7 >Emitted(62, 16) Source(1, 16) + SourceIndex(5) -8 >Emitted(62, 17) Source(1, 17) + SourceIndex(5) +1->Emitted(64, 1) Source(1, 1) + SourceIndex(5) +2 >Emitted(64, 5) Source(1, 5) + SourceIndex(5) +3 >Emitted(64, 6) Source(1, 6) + SourceIndex(5) +4 >Emitted(64, 9) Source(1, 9) + SourceIndex(5) +5 >Emitted(64, 13) Source(1, 13) + SourceIndex(5) +6 >Emitted(64, 14) Source(1, 14) + SourceIndex(5) +7 >Emitted(64, 16) Source(1, 16) + SourceIndex(5) +8 >Emitted(64, 17) Source(1, 17) + SourceIndex(5) --- >>>c.doSomething(); 1-> @@ -1062,12 +1072,12 @@ sourceFile:../../third_part1.ts 4 > doSomething 5 > () 6 > ; -1->Emitted(63, 1) Source(2, 1) + SourceIndex(5) -2 >Emitted(63, 2) Source(2, 2) + SourceIndex(5) -3 >Emitted(63, 3) Source(2, 3) + SourceIndex(5) -4 >Emitted(63, 14) Source(2, 14) + SourceIndex(5) -5 >Emitted(63, 16) Source(2, 16) + SourceIndex(5) -6 >Emitted(63, 17) Source(2, 17) + SourceIndex(5) +1->Emitted(65, 1) Source(2, 1) + SourceIndex(5) +2 >Emitted(65, 2) Source(2, 2) + SourceIndex(5) +3 >Emitted(65, 3) Source(2, 3) + SourceIndex(5) +4 >Emitted(65, 14) Source(2, 14) + SourceIndex(5) +5 >Emitted(65, 16) Source(2, 16) + SourceIndex(5) +6 >Emitted(65, 17) Source(2, 17) + SourceIndex(5) --- >>>function forthirdthird_part1Rest() { 1-> @@ -1078,9 +1088,9 @@ sourceFile:../../third_part1.ts > 2 >function 3 > forthirdthird_part1Rest -1->Emitted(64, 1) Source(3, 1) + SourceIndex(5) -2 >Emitted(64, 10) Source(3, 10) + SourceIndex(5) -3 >Emitted(64, 33) Source(3, 33) + SourceIndex(5) +1->Emitted(66, 1) Source(3, 1) + SourceIndex(5) +2 >Emitted(66, 10) Source(3, 10) + SourceIndex(5) +3 >Emitted(66, 33) Source(3, 33) + SourceIndex(5) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -1100,14 +1110,14 @@ sourceFile:../../third_part1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(65, 5) Source(4, 1) + SourceIndex(5) -2 >Emitted(65, 9) Source(4, 7) + SourceIndex(5) -3 >Emitted(65, 38) Source(4, 48) + SourceIndex(5) -4 >Emitted(65, 40) Source(4, 9) + SourceIndex(5) -5 >Emitted(65, 48) Source(4, 10) + SourceIndex(5) -6 >Emitted(65, 50) Source(4, 12) + SourceIndex(5) -7 >Emitted(65, 74) Source(4, 48) + SourceIndex(5) -8 >Emitted(65, 75) Source(4, 49) + SourceIndex(5) +1->Emitted(67, 5) Source(4, 1) + SourceIndex(5) +2 >Emitted(67, 9) Source(4, 7) + SourceIndex(5) +3 >Emitted(67, 38) Source(4, 48) + SourceIndex(5) +4 >Emitted(67, 40) Source(4, 9) + SourceIndex(5) +5 >Emitted(67, 48) Source(4, 10) + SourceIndex(5) +6 >Emitted(67, 50) Source(4, 12) + SourceIndex(5) +7 >Emitted(67, 74) Source(4, 48) + SourceIndex(5) +8 >Emitted(67, 75) Source(4, 49) + SourceIndex(5) --- >>>} 1 > @@ -1116,8 +1126,8 @@ sourceFile:../../third_part1.ts 1 > > 2 >} -1 >Emitted(66, 1) Source(5, 1) + SourceIndex(5) -2 >Emitted(66, 2) Source(5, 2) + SourceIndex(5) +1 >Emitted(68, 1) Source(5, 1) + SourceIndex(5) +2 >Emitted(68, 2) Source(5, 2) + SourceIndex(5) --- >>>//# sourceMappingURL=third-output.js.map @@ -1132,51 +1142,51 @@ sourceFile:../../third_part1.ts "sections": [ { "pos": 0, - "end": 415, + "end": 500, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 417, - "end": 921, + "pos": 502, + "end": 1006, "kind": "emitHelpers", "data": "typescript:read" }, { - "pos": 923, - "end": 1093, + "pos": 1008, + "end": 1178, "kind": "emitHelpers", "data": "typescript:spread" }, { - "pos": 1095, - "end": 1339, + "pos": 1180, + "end": 1424, "kind": "prepend", "data": "/src/first/bin/first-output.js", "texts": [ { - "pos": 1095, - "end": 1339, + "pos": 1180, + "end": 1424, "kind": "text" } ] }, { - "pos": 1339, - "end": 1840, + "pos": 1424, + "end": 1925, "kind": "prepend", "data": "/src/2/second-output.js", "texts": [ { - "pos": 1339, - "end": 1840, + "pos": 1424, + "end": 1925, "kind": "text" } ] }, { - "pos": 1840, - "end": 1993, + "pos": 1925, + "end": 2078, "kind": "text" } ], @@ -1229,18 +1239,20 @@ sourceFile:../../third_part1.ts ====================================================================== File:: /src/third/thirdjs/output/third-output.js ---------------------------------------------------------------------- -emitHelpers: (0-415):: typescript:rest +emitHelpers: (0-500):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -emitHelpers: (417-921):: typescript:read +emitHelpers: (502-1006):: typescript:read var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; @@ -1258,15 +1270,15 @@ var __read = (this && this.__read) || function (o, n) { return ar; }; ---------------------------------------------------------------------- -emitHelpers: (923-1093):: typescript:spread +emitHelpers: (1008-1178):: typescript:spread var __spread = (this && this.__spread) || function () { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; }; ---------------------------------------------------------------------- -prepend: (1095-1339):: /src/first/bin/first-output.js texts:: 1 +prepend: (1180-1424):: /src/first/bin/first-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (1095-1339) +text: (1180-1424) var s = "Hello, world"; console.log(s); function forfirstfirst_PART1Rest() { @@ -1279,9 +1291,9 @@ function f() { } ---------------------------------------------------------------------- -prepend: (1339-1840):: /src/2/second-output.js texts:: 1 +prepend: (1424-1925):: /src/2/second-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (1339-1840) +text: (1424-1925) var N; (function (N) { function f() { @@ -1306,7 +1318,7 @@ var C = (function () { }()); ---------------------------------------------------------------------- -text: (1840-1993) +text: (1925-2078) var c = new C(); c.doSomething(); function forthirdthird_part1Rest() { diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/emitHelpers-in-all-projects.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/emitHelpers-in-all-projects.js index 08d4171a436..f168d0562a0 100644 --- a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/emitHelpers-in-all-projects.js +++ b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/emitHelpers-in-all-projects.js @@ -701,8 +701,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var s = "Hello, world"; @@ -738,7 +740,7 @@ function forthirdthird_part1Rest() { //# sourceMappingURL=third-output.js.map //// [/src/third/thirdjs/output/third-output.js.map] -{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB,KAAK,CAAC;ACXtC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;ACED,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;ACJD,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC;AAChB,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC"} +{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB,KAAK,CAAC;ACXtC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;ACED,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;ACJD,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC;AAChB,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC"} //// [/src/third/thirdjs/output/third-output.js.map.baseline.txt] =================================================================== @@ -756,8 +758,10 @@ sourceFile:../../../first/first_PART1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var s = "Hello, world"; @@ -777,12 +781,12 @@ sourceFile:../../../first/first_PART1.ts 4 > = 5 > "Hello, world" 6 > ; -1 >Emitted(10, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(10, 5) Source(5, 7) + SourceIndex(0) -3 >Emitted(10, 6) Source(5, 8) + SourceIndex(0) -4 >Emitted(10, 9) Source(5, 11) + SourceIndex(0) -5 >Emitted(10, 23) Source(5, 25) + SourceIndex(0) -6 >Emitted(10, 24) Source(5, 26) + SourceIndex(0) +1 >Emitted(12, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(12, 5) Source(5, 7) + SourceIndex(0) +3 >Emitted(12, 6) Source(5, 8) + SourceIndex(0) +4 >Emitted(12, 9) Source(5, 11) + SourceIndex(0) +5 >Emitted(12, 23) Source(5, 25) + SourceIndex(0) +6 >Emitted(12, 24) Source(5, 26) + SourceIndex(0) --- >>>console.log(s); 1 > @@ -808,14 +812,14 @@ sourceFile:../../../first/first_PART1.ts 6 > s 7 > ) 8 > ; -1 >Emitted(11, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(11, 8) Source(11, 8) + SourceIndex(0) -3 >Emitted(11, 9) Source(11, 9) + SourceIndex(0) -4 >Emitted(11, 12) Source(11, 12) + SourceIndex(0) -5 >Emitted(11, 13) Source(11, 13) + SourceIndex(0) -6 >Emitted(11, 14) Source(11, 14) + SourceIndex(0) -7 >Emitted(11, 15) Source(11, 15) + SourceIndex(0) -8 >Emitted(11, 16) Source(11, 16) + SourceIndex(0) +1 >Emitted(13, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(13, 8) Source(11, 8) + SourceIndex(0) +3 >Emitted(13, 9) Source(11, 9) + SourceIndex(0) +4 >Emitted(13, 12) Source(11, 12) + SourceIndex(0) +5 >Emitted(13, 13) Source(11, 13) + SourceIndex(0) +6 >Emitted(13, 14) Source(11, 14) + SourceIndex(0) +7 >Emitted(13, 15) Source(11, 15) + SourceIndex(0) +8 >Emitted(13, 16) Source(11, 16) + SourceIndex(0) --- >>>function forfirstfirst_PART1Rest() { } 1-> @@ -829,11 +833,11 @@ sourceFile:../../../first/first_PART1.ts 3 > forfirstfirst_PART1Rest 4 > () { 5 > } -1->Emitted(12, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(12, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(12, 33) Source(12, 33) + SourceIndex(0) -4 >Emitted(12, 38) Source(12, 38) + SourceIndex(0) -5 >Emitted(12, 39) Source(12, 39) + SourceIndex(0) +1->Emitted(14, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(14, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(14, 33) Source(12, 33) + SourceIndex(0) +4 >Emitted(14, 38) Source(12, 38) + SourceIndex(0) +5 >Emitted(14, 39) Source(12, 39) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -858,15 +862,15 @@ sourceFile:../../../first/first_part2.ts 7 > () 8 > ) 9 > ; -1 >Emitted(13, 1) Source(1, 1) + SourceIndex(1) -2 >Emitted(13, 8) Source(1, 8) + SourceIndex(1) -3 >Emitted(13, 9) Source(1, 9) + SourceIndex(1) -4 >Emitted(13, 12) Source(1, 12) + SourceIndex(1) -5 >Emitted(13, 13) Source(1, 13) + SourceIndex(1) -6 >Emitted(13, 14) Source(1, 14) + SourceIndex(1) -7 >Emitted(13, 16) Source(1, 16) + SourceIndex(1) -8 >Emitted(13, 17) Source(1, 17) + SourceIndex(1) -9 >Emitted(13, 18) Source(1, 18) + SourceIndex(1) +1 >Emitted(15, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(15, 8) Source(1, 8) + SourceIndex(1) +3 >Emitted(15, 9) Source(1, 9) + SourceIndex(1) +4 >Emitted(15, 12) Source(1, 12) + SourceIndex(1) +5 >Emitted(15, 13) Source(1, 13) + SourceIndex(1) +6 >Emitted(15, 14) Source(1, 14) + SourceIndex(1) +7 >Emitted(15, 16) Source(1, 16) + SourceIndex(1) +8 >Emitted(15, 17) Source(1, 17) + SourceIndex(1) +9 >Emitted(15, 18) Source(1, 18) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -880,9 +884,9 @@ sourceFile:../../../first/first_part3.ts 1 > 2 >function 3 > f -1 >Emitted(14, 1) Source(1, 1) + SourceIndex(2) -2 >Emitted(14, 10) Source(1, 10) + SourceIndex(2) -3 >Emitted(14, 11) Source(1, 11) + SourceIndex(2) +1 >Emitted(16, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(16, 10) Source(1, 10) + SourceIndex(2) +3 >Emitted(16, 11) Source(1, 11) + SourceIndex(2) --- >>> return "JS does hoists"; 1->^^^^ @@ -894,10 +898,10 @@ sourceFile:../../../first/first_part3.ts 2 > return 3 > "JS does hoists" 4 > ; -1->Emitted(15, 5) Source(2, 5) + SourceIndex(2) -2 >Emitted(15, 12) Source(2, 12) + SourceIndex(2) -3 >Emitted(15, 28) Source(2, 28) + SourceIndex(2) -4 >Emitted(15, 29) Source(2, 29) + SourceIndex(2) +1->Emitted(17, 5) Source(2, 5) + SourceIndex(2) +2 >Emitted(17, 12) Source(2, 12) + SourceIndex(2) +3 >Emitted(17, 28) Source(2, 28) + SourceIndex(2) +4 >Emitted(17, 29) Source(2, 29) + SourceIndex(2) --- >>>} 1 > @@ -906,8 +910,8 @@ sourceFile:../../../first/first_part3.ts 1 > > 2 >} -1 >Emitted(16, 1) Source(3, 1) + SourceIndex(2) -2 >Emitted(16, 2) Source(3, 2) + SourceIndex(2) +1 >Emitted(18, 1) Source(3, 1) + SourceIndex(2) +2 >Emitted(18, 2) Source(3, 2) + SourceIndex(2) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -933,10 +937,10 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1->Emitted(17, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(17, 5) Source(5, 11) + SourceIndex(3) -3 >Emitted(17, 6) Source(5, 12) + SourceIndex(3) -4 >Emitted(17, 7) Source(11, 2) + SourceIndex(3) +1->Emitted(19, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(19, 5) Source(5, 11) + SourceIndex(3) +3 >Emitted(19, 6) Source(5, 12) + SourceIndex(3) +4 >Emitted(19, 7) Source(11, 2) + SourceIndex(3) --- >>>(function (N) { 1-> @@ -946,9 +950,9 @@ sourceFile:../../../second/second_part1.ts 1-> 2 >namespace 3 > N -1->Emitted(18, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(18, 12) Source(5, 11) + SourceIndex(3) -3 >Emitted(18, 13) Source(5, 12) + SourceIndex(3) +1->Emitted(20, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(20, 12) Source(5, 11) + SourceIndex(3) +3 >Emitted(20, 13) Source(5, 12) + SourceIndex(3) --- >>> function f() { 1->^^^^ @@ -959,9 +963,9 @@ sourceFile:../../../second/second_part1.ts > 2 > function 3 > f -1->Emitted(19, 5) Source(6, 5) + SourceIndex(3) -2 >Emitted(19, 14) Source(6, 14) + SourceIndex(3) -3 >Emitted(19, 15) Source(6, 15) + SourceIndex(3) +1->Emitted(21, 5) Source(6, 5) + SourceIndex(3) +2 >Emitted(21, 14) Source(6, 14) + SourceIndex(3) +3 >Emitted(21, 15) Source(6, 15) + SourceIndex(3) --- >>> console.log('testing'); 1->^^^^^^^^ @@ -981,14 +985,14 @@ sourceFile:../../../second/second_part1.ts 6 > 'testing' 7 > ) 8 > ; -1->Emitted(20, 9) Source(7, 9) + SourceIndex(3) -2 >Emitted(20, 16) Source(7, 16) + SourceIndex(3) -3 >Emitted(20, 17) Source(7, 17) + SourceIndex(3) -4 >Emitted(20, 20) Source(7, 20) + SourceIndex(3) -5 >Emitted(20, 21) Source(7, 21) + SourceIndex(3) -6 >Emitted(20, 30) Source(7, 30) + SourceIndex(3) -7 >Emitted(20, 31) Source(7, 31) + SourceIndex(3) -8 >Emitted(20, 32) Source(7, 32) + SourceIndex(3) +1->Emitted(22, 9) Source(7, 9) + SourceIndex(3) +2 >Emitted(22, 16) Source(7, 16) + SourceIndex(3) +3 >Emitted(22, 17) Source(7, 17) + SourceIndex(3) +4 >Emitted(22, 20) Source(7, 20) + SourceIndex(3) +5 >Emitted(22, 21) Source(7, 21) + SourceIndex(3) +6 >Emitted(22, 30) Source(7, 30) + SourceIndex(3) +7 >Emitted(22, 31) Source(7, 31) + SourceIndex(3) +8 >Emitted(22, 32) Source(7, 32) + SourceIndex(3) --- >>> } 1 >^^^^ @@ -997,8 +1001,8 @@ sourceFile:../../../second/second_part1.ts 1 > > 2 > } -1 >Emitted(21, 5) Source(8, 5) + SourceIndex(3) -2 >Emitted(21, 6) Source(8, 6) + SourceIndex(3) +1 >Emitted(23, 5) Source(8, 5) + SourceIndex(3) +2 >Emitted(23, 6) Source(8, 6) + SourceIndex(3) --- >>> f(); 1->^^^^ @@ -1012,10 +1016,10 @@ sourceFile:../../../second/second_part1.ts 2 > f 3 > () 4 > ; -1->Emitted(22, 5) Source(10, 5) + SourceIndex(3) -2 >Emitted(22, 6) Source(10, 6) + SourceIndex(3) -3 >Emitted(22, 8) Source(10, 8) + SourceIndex(3) -4 >Emitted(22, 9) Source(10, 9) + SourceIndex(3) +1->Emitted(24, 5) Source(10, 5) + SourceIndex(3) +2 >Emitted(24, 6) Source(10, 6) + SourceIndex(3) +3 >Emitted(24, 8) Source(10, 8) + SourceIndex(3) +4 >Emitted(24, 9) Source(10, 9) + SourceIndex(3) --- >>>})(N || (N = {})); 1-> @@ -1040,13 +1044,13 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1->Emitted(23, 1) Source(11, 1) + SourceIndex(3) -2 >Emitted(23, 2) Source(11, 2) + SourceIndex(3) -3 >Emitted(23, 4) Source(5, 11) + SourceIndex(3) -4 >Emitted(23, 5) Source(5, 12) + SourceIndex(3) -5 >Emitted(23, 10) Source(5, 11) + SourceIndex(3) -6 >Emitted(23, 11) Source(5, 12) + SourceIndex(3) -7 >Emitted(23, 19) Source(11, 2) + SourceIndex(3) +1->Emitted(25, 1) Source(11, 1) + SourceIndex(3) +2 >Emitted(25, 2) Source(11, 2) + SourceIndex(3) +3 >Emitted(25, 4) Source(5, 11) + SourceIndex(3) +4 >Emitted(25, 5) Source(5, 12) + SourceIndex(3) +5 >Emitted(25, 10) Source(5, 11) + SourceIndex(3) +6 >Emitted(25, 11) Source(5, 12) + SourceIndex(3) +7 >Emitted(25, 19) Source(11, 2) + SourceIndex(3) --- >>>function forsecondsecond_part1Rest() { 1-> @@ -1057,9 +1061,9 @@ sourceFile:../../../second/second_part1.ts > 2 >function 3 > forsecondsecond_part1Rest -1->Emitted(24, 1) Source(12, 1) + SourceIndex(3) -2 >Emitted(24, 10) Source(12, 10) + SourceIndex(3) -3 >Emitted(24, 35) Source(12, 35) + SourceIndex(3) +1->Emitted(26, 1) Source(12, 1) + SourceIndex(3) +2 >Emitted(26, 10) Source(12, 10) + SourceIndex(3) +3 >Emitted(26, 35) Source(12, 35) + SourceIndex(3) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -1079,14 +1083,14 @@ sourceFile:../../../second/second_part1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(25, 5) Source(13, 1) + SourceIndex(3) -2 >Emitted(25, 9) Source(13, 7) + SourceIndex(3) -3 >Emitted(25, 38) Source(13, 48) + SourceIndex(3) -4 >Emitted(25, 40) Source(13, 9) + SourceIndex(3) -5 >Emitted(25, 48) Source(13, 10) + SourceIndex(3) -6 >Emitted(25, 50) Source(13, 12) + SourceIndex(3) -7 >Emitted(25, 74) Source(13, 48) + SourceIndex(3) -8 >Emitted(25, 75) Source(13, 49) + SourceIndex(3) +1->Emitted(27, 5) Source(13, 1) + SourceIndex(3) +2 >Emitted(27, 9) Source(13, 7) + SourceIndex(3) +3 >Emitted(27, 38) Source(13, 48) + SourceIndex(3) +4 >Emitted(27, 40) Source(13, 9) + SourceIndex(3) +5 >Emitted(27, 48) Source(13, 10) + SourceIndex(3) +6 >Emitted(27, 50) Source(13, 12) + SourceIndex(3) +7 >Emitted(27, 74) Source(13, 48) + SourceIndex(3) +8 >Emitted(27, 75) Source(13, 49) + SourceIndex(3) --- >>>} 1 > @@ -1095,8 +1099,8 @@ sourceFile:../../../second/second_part1.ts 1 > > 2 >} -1 >Emitted(26, 1) Source(14, 1) + SourceIndex(3) -2 >Emitted(26, 2) Source(14, 2) + SourceIndex(3) +1 >Emitted(28, 1) Source(14, 1) + SourceIndex(3) +2 >Emitted(28, 2) Source(14, 2) + SourceIndex(3) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1106,13 +1110,13 @@ sourceFile:../../../second/second_part2.ts 1-> 2 >^^^^^^^^^^^^^^^^^^^-> 1-> -1->Emitted(27, 1) Source(1, 1) + SourceIndex(4) +1->Emitted(29, 1) Source(1, 1) + SourceIndex(4) --- >>> function C() { 1->^^^^ 2 > ^^-> 1-> -1->Emitted(28, 5) Source(1, 1) + SourceIndex(4) +1->Emitted(30, 5) Source(1, 1) + SourceIndex(4) --- >>> } 1->^^^^ @@ -1124,8 +1128,8 @@ sourceFile:../../../second/second_part2.ts > } > 2 > } -1->Emitted(29, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(29, 6) Source(5, 2) + SourceIndex(4) +1->Emitted(31, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(31, 6) Source(5, 2) + SourceIndex(4) --- >>> C.prototype.doSomething = function () { 1->^^^^ @@ -1135,9 +1139,9 @@ sourceFile:../../../second/second_part2.ts 1-> 2 > doSomething 3 > -1->Emitted(30, 5) Source(2, 5) + SourceIndex(4) -2 >Emitted(30, 28) Source(2, 16) + SourceIndex(4) -3 >Emitted(30, 31) Source(2, 5) + SourceIndex(4) +1->Emitted(32, 5) Source(2, 5) + SourceIndex(4) +2 >Emitted(32, 28) Source(2, 16) + SourceIndex(4) +3 >Emitted(32, 31) Source(2, 5) + SourceIndex(4) --- >>> console.log("something got done"); 1->^^^^^^^^ @@ -1157,14 +1161,14 @@ sourceFile:../../../second/second_part2.ts 6 > "something got done" 7 > ) 8 > ; -1->Emitted(31, 9) Source(3, 9) + SourceIndex(4) -2 >Emitted(31, 16) Source(3, 16) + SourceIndex(4) -3 >Emitted(31, 17) Source(3, 17) + SourceIndex(4) -4 >Emitted(31, 20) Source(3, 20) + SourceIndex(4) -5 >Emitted(31, 21) Source(3, 21) + SourceIndex(4) -6 >Emitted(31, 41) Source(3, 41) + SourceIndex(4) -7 >Emitted(31, 42) Source(3, 42) + SourceIndex(4) -8 >Emitted(31, 43) Source(3, 43) + SourceIndex(4) +1->Emitted(33, 9) Source(3, 9) + SourceIndex(4) +2 >Emitted(33, 16) Source(3, 16) + SourceIndex(4) +3 >Emitted(33, 17) Source(3, 17) + SourceIndex(4) +4 >Emitted(33, 20) Source(3, 20) + SourceIndex(4) +5 >Emitted(33, 21) Source(3, 21) + SourceIndex(4) +6 >Emitted(33, 41) Source(3, 41) + SourceIndex(4) +7 >Emitted(33, 42) Source(3, 42) + SourceIndex(4) +8 >Emitted(33, 43) Source(3, 43) + SourceIndex(4) --- >>> }; 1 >^^^^ @@ -1173,8 +1177,8 @@ sourceFile:../../../second/second_part2.ts 1 > > 2 > } -1 >Emitted(32, 5) Source(4, 5) + SourceIndex(4) -2 >Emitted(32, 6) Source(4, 6) + SourceIndex(4) +1 >Emitted(34, 5) Source(4, 5) + SourceIndex(4) +2 >Emitted(34, 6) Source(4, 6) + SourceIndex(4) --- >>> return C; 1->^^^^ @@ -1182,8 +1186,8 @@ sourceFile:../../../second/second_part2.ts 1-> > 2 > } -1->Emitted(33, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(33, 13) Source(5, 2) + SourceIndex(4) +1->Emitted(35, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(35, 13) Source(5, 2) + SourceIndex(4) --- >>>}()); 1 > @@ -1199,10 +1203,10 @@ sourceFile:../../../second/second_part2.ts > console.log("something got done"); > } > } -1 >Emitted(34, 1) Source(5, 1) + SourceIndex(4) -2 >Emitted(34, 2) Source(5, 2) + SourceIndex(4) -3 >Emitted(34, 2) Source(1, 1) + SourceIndex(4) -4 >Emitted(34, 6) Source(5, 2) + SourceIndex(4) +1 >Emitted(36, 1) Source(5, 1) + SourceIndex(4) +2 >Emitted(36, 2) Source(5, 2) + SourceIndex(4) +3 >Emitted(36, 2) Source(1, 1) + SourceIndex(4) +4 >Emitted(36, 6) Source(5, 2) + SourceIndex(4) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1226,14 +1230,14 @@ sourceFile:../../third_part1.ts 6 > C 7 > () 8 > ; -1->Emitted(35, 1) Source(1, 1) + SourceIndex(5) -2 >Emitted(35, 5) Source(1, 5) + SourceIndex(5) -3 >Emitted(35, 6) Source(1, 6) + SourceIndex(5) -4 >Emitted(35, 9) Source(1, 9) + SourceIndex(5) -5 >Emitted(35, 13) Source(1, 13) + SourceIndex(5) -6 >Emitted(35, 14) Source(1, 14) + SourceIndex(5) -7 >Emitted(35, 16) Source(1, 16) + SourceIndex(5) -8 >Emitted(35, 17) Source(1, 17) + SourceIndex(5) +1->Emitted(37, 1) Source(1, 1) + SourceIndex(5) +2 >Emitted(37, 5) Source(1, 5) + SourceIndex(5) +3 >Emitted(37, 6) Source(1, 6) + SourceIndex(5) +4 >Emitted(37, 9) Source(1, 9) + SourceIndex(5) +5 >Emitted(37, 13) Source(1, 13) + SourceIndex(5) +6 >Emitted(37, 14) Source(1, 14) + SourceIndex(5) +7 >Emitted(37, 16) Source(1, 16) + SourceIndex(5) +8 >Emitted(37, 17) Source(1, 17) + SourceIndex(5) --- >>>c.doSomething(); 1-> @@ -1250,12 +1254,12 @@ sourceFile:../../third_part1.ts 4 > doSomething 5 > () 6 > ; -1->Emitted(36, 1) Source(2, 1) + SourceIndex(5) -2 >Emitted(36, 2) Source(2, 2) + SourceIndex(5) -3 >Emitted(36, 3) Source(2, 3) + SourceIndex(5) -4 >Emitted(36, 14) Source(2, 14) + SourceIndex(5) -5 >Emitted(36, 16) Source(2, 16) + SourceIndex(5) -6 >Emitted(36, 17) Source(2, 17) + SourceIndex(5) +1->Emitted(38, 1) Source(2, 1) + SourceIndex(5) +2 >Emitted(38, 2) Source(2, 2) + SourceIndex(5) +3 >Emitted(38, 3) Source(2, 3) + SourceIndex(5) +4 >Emitted(38, 14) Source(2, 14) + SourceIndex(5) +5 >Emitted(38, 16) Source(2, 16) + SourceIndex(5) +6 >Emitted(38, 17) Source(2, 17) + SourceIndex(5) --- >>>function forthirdthird_part1Rest() { 1-> @@ -1266,9 +1270,9 @@ sourceFile:../../third_part1.ts > 2 >function 3 > forthirdthird_part1Rest -1->Emitted(37, 1) Source(3, 1) + SourceIndex(5) -2 >Emitted(37, 10) Source(3, 10) + SourceIndex(5) -3 >Emitted(37, 33) Source(3, 33) + SourceIndex(5) +1->Emitted(39, 1) Source(3, 1) + SourceIndex(5) +2 >Emitted(39, 10) Source(3, 10) + SourceIndex(5) +3 >Emitted(39, 33) Source(3, 33) + SourceIndex(5) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -1288,14 +1292,14 @@ sourceFile:../../third_part1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(38, 5) Source(4, 1) + SourceIndex(5) -2 >Emitted(38, 9) Source(4, 7) + SourceIndex(5) -3 >Emitted(38, 38) Source(4, 48) + SourceIndex(5) -4 >Emitted(38, 40) Source(4, 9) + SourceIndex(5) -5 >Emitted(38, 48) Source(4, 10) + SourceIndex(5) -6 >Emitted(38, 50) Source(4, 12) + SourceIndex(5) -7 >Emitted(38, 74) Source(4, 48) + SourceIndex(5) -8 >Emitted(38, 75) Source(4, 49) + SourceIndex(5) +1->Emitted(40, 5) Source(4, 1) + SourceIndex(5) +2 >Emitted(40, 9) Source(4, 7) + SourceIndex(5) +3 >Emitted(40, 38) Source(4, 48) + SourceIndex(5) +4 >Emitted(40, 40) Source(4, 9) + SourceIndex(5) +5 >Emitted(40, 48) Source(4, 10) + SourceIndex(5) +6 >Emitted(40, 50) Source(4, 12) + SourceIndex(5) +7 >Emitted(40, 74) Source(4, 48) + SourceIndex(5) +8 >Emitted(40, 75) Source(4, 49) + SourceIndex(5) --- >>>} 1 > @@ -1304,8 +1308,8 @@ sourceFile:../../third_part1.ts 1 > > 2 >} -1 >Emitted(39, 1) Source(5, 1) + SourceIndex(5) -2 >Emitted(39, 2) Source(5, 2) + SourceIndex(5) +1 >Emitted(41, 1) Source(5, 1) + SourceIndex(5) +2 >Emitted(41, 2) Source(5, 2) + SourceIndex(5) --- >>>//# sourceMappingURL=third-output.js.map @@ -1320,39 +1324,39 @@ sourceFile:../../third_part1.ts "sections": [ { "pos": 0, - "end": 415, + "end": 500, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 417, - "end": 567, + "pos": 502, + "end": 652, "kind": "prepend", "data": "/src/first/bin/first-output.js", "texts": [ { - "pos": 417, - "end": 567, + "pos": 502, + "end": 652, "kind": "text" } ] }, { - "pos": 567, - "end": 971, + "pos": 652, + "end": 1056, "kind": "prepend", "data": "/src/2/second-output.js", "texts": [ { - "pos": 567, - "end": 971, + "pos": 652, + "end": 1056, "kind": "text" } ] }, { - "pos": 971, - "end": 1124, + "pos": 1056, + "end": 1209, "kind": "text" } ], @@ -1405,20 +1409,22 @@ sourceFile:../../third_part1.ts ====================================================================== File:: /src/third/thirdjs/output/third-output.js ---------------------------------------------------------------------- -emitHelpers: (0-415):: typescript:rest +emitHelpers: (0-500):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -prepend: (417-567):: /src/first/bin/first-output.js texts:: 1 +prepend: (502-652):: /src/first/bin/first-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (417-567) +text: (502-652) var s = "Hello, world"; console.log(s); function forfirstfirst_PART1Rest() { } @@ -1428,9 +1434,9 @@ function f() { } ---------------------------------------------------------------------- -prepend: (567-971):: /src/2/second-output.js texts:: 1 +prepend: (652-1056):: /src/2/second-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (567-971) +text: (652-1056) var N; (function (N) { function f() { @@ -1451,7 +1457,7 @@ var C = (function () { }()); ---------------------------------------------------------------------- -text: (971-1124) +text: (1056-1209) var c = new C(); c.doSomething(); function forthirdthird_part1Rest() { diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/emitHelpers-in-only-one-dependency-project.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/emitHelpers-in-only-one-dependency-project.js index 3a7a68f2dfc..d043ab564b2 100644 --- a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/emitHelpers-in-only-one-dependency-project.js +++ b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/emitHelpers-in-only-one-dependency-project.js @@ -156,8 +156,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var s = "Hello, world"; @@ -172,7 +174,7 @@ function f() { //# sourceMappingURL=first-output.js.map //// [/src/first/bin/first-output.js.map] -{"version":3,"file":"first-output.js","sourceRoot":"","sources":["../first_PART1.ts","../first_part2.ts","../first_part3.ts"],"names":[],"mappings":";;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC"} +{"version":3,"file":"first-output.js","sourceRoot":"","sources":["../first_PART1.ts","../first_part2.ts","../first_part3.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC"} //// [/src/first/bin/first-output.js.map.baseline.txt] =================================================================== @@ -190,8 +192,10 @@ sourceFile:../first_PART1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var s = "Hello, world"; @@ -211,12 +215,12 @@ sourceFile:../first_PART1.ts 4 > = 5 > "Hello, world" 6 > ; -1 >Emitted(10, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(10, 5) Source(5, 7) + SourceIndex(0) -3 >Emitted(10, 6) Source(5, 8) + SourceIndex(0) -4 >Emitted(10, 9) Source(5, 11) + SourceIndex(0) -5 >Emitted(10, 23) Source(5, 25) + SourceIndex(0) -6 >Emitted(10, 24) Source(5, 26) + SourceIndex(0) +1 >Emitted(12, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(12, 5) Source(5, 7) + SourceIndex(0) +3 >Emitted(12, 6) Source(5, 8) + SourceIndex(0) +4 >Emitted(12, 9) Source(5, 11) + SourceIndex(0) +5 >Emitted(12, 23) Source(5, 25) + SourceIndex(0) +6 >Emitted(12, 24) Source(5, 26) + SourceIndex(0) --- >>>console.log(s); 1 > @@ -242,14 +246,14 @@ sourceFile:../first_PART1.ts 6 > s 7 > ) 8 > ; -1 >Emitted(11, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(11, 8) Source(11, 8) + SourceIndex(0) -3 >Emitted(11, 9) Source(11, 9) + SourceIndex(0) -4 >Emitted(11, 12) Source(11, 12) + SourceIndex(0) -5 >Emitted(11, 13) Source(11, 13) + SourceIndex(0) -6 >Emitted(11, 14) Source(11, 14) + SourceIndex(0) -7 >Emitted(11, 15) Source(11, 15) + SourceIndex(0) -8 >Emitted(11, 16) Source(11, 16) + SourceIndex(0) +1 >Emitted(13, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(13, 8) Source(11, 8) + SourceIndex(0) +3 >Emitted(13, 9) Source(11, 9) + SourceIndex(0) +4 >Emitted(13, 12) Source(11, 12) + SourceIndex(0) +5 >Emitted(13, 13) Source(11, 13) + SourceIndex(0) +6 >Emitted(13, 14) Source(11, 14) + SourceIndex(0) +7 >Emitted(13, 15) Source(11, 15) + SourceIndex(0) +8 >Emitted(13, 16) Source(11, 16) + SourceIndex(0) --- >>>function forfirstfirst_PART1Rest() { 1-> @@ -260,9 +264,9 @@ sourceFile:../first_PART1.ts > 2 >function 3 > forfirstfirst_PART1Rest -1->Emitted(12, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(12, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(12, 33) Source(12, 33) + SourceIndex(0) +1->Emitted(14, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(14, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(14, 33) Source(12, 33) + SourceIndex(0) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -282,14 +286,14 @@ sourceFile:../first_PART1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(13, 5) Source(13, 1) + SourceIndex(0) -2 >Emitted(13, 9) Source(13, 7) + SourceIndex(0) -3 >Emitted(13, 38) Source(13, 48) + SourceIndex(0) -4 >Emitted(13, 40) Source(13, 9) + SourceIndex(0) -5 >Emitted(13, 48) Source(13, 10) + SourceIndex(0) -6 >Emitted(13, 50) Source(13, 12) + SourceIndex(0) -7 >Emitted(13, 74) Source(13, 48) + SourceIndex(0) -8 >Emitted(13, 75) Source(13, 49) + SourceIndex(0) +1->Emitted(15, 5) Source(13, 1) + SourceIndex(0) +2 >Emitted(15, 9) Source(13, 7) + SourceIndex(0) +3 >Emitted(15, 38) Source(13, 48) + SourceIndex(0) +4 >Emitted(15, 40) Source(13, 9) + SourceIndex(0) +5 >Emitted(15, 48) Source(13, 10) + SourceIndex(0) +6 >Emitted(15, 50) Source(13, 12) + SourceIndex(0) +7 >Emitted(15, 74) Source(13, 48) + SourceIndex(0) +8 >Emitted(15, 75) Source(13, 49) + SourceIndex(0) --- >>>} 1 > @@ -298,8 +302,8 @@ sourceFile:../first_PART1.ts 1 > > 2 >} -1 >Emitted(14, 1) Source(14, 1) + SourceIndex(0) -2 >Emitted(14, 2) Source(14, 2) + SourceIndex(0) +1 >Emitted(16, 1) Source(14, 1) + SourceIndex(0) +2 >Emitted(16, 2) Source(14, 2) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/first/bin/first-output.js @@ -324,15 +328,15 @@ sourceFile:../first_part2.ts 7 > () 8 > ) 9 > ; -1->Emitted(15, 1) Source(1, 1) + SourceIndex(1) -2 >Emitted(15, 8) Source(1, 8) + SourceIndex(1) -3 >Emitted(15, 9) Source(1, 9) + SourceIndex(1) -4 >Emitted(15, 12) Source(1, 12) + SourceIndex(1) -5 >Emitted(15, 13) Source(1, 13) + SourceIndex(1) -6 >Emitted(15, 14) Source(1, 14) + SourceIndex(1) -7 >Emitted(15, 16) Source(1, 16) + SourceIndex(1) -8 >Emitted(15, 17) Source(1, 17) + SourceIndex(1) -9 >Emitted(15, 18) Source(1, 18) + SourceIndex(1) +1->Emitted(17, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(17, 8) Source(1, 8) + SourceIndex(1) +3 >Emitted(17, 9) Source(1, 9) + SourceIndex(1) +4 >Emitted(17, 12) Source(1, 12) + SourceIndex(1) +5 >Emitted(17, 13) Source(1, 13) + SourceIndex(1) +6 >Emitted(17, 14) Source(1, 14) + SourceIndex(1) +7 >Emitted(17, 16) Source(1, 16) + SourceIndex(1) +8 >Emitted(17, 17) Source(1, 17) + SourceIndex(1) +9 >Emitted(17, 18) Source(1, 18) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/first/bin/first-output.js @@ -346,9 +350,9 @@ sourceFile:../first_part3.ts 1 > 2 >function 3 > f -1 >Emitted(16, 1) Source(1, 1) + SourceIndex(2) -2 >Emitted(16, 10) Source(1, 10) + SourceIndex(2) -3 >Emitted(16, 11) Source(1, 11) + SourceIndex(2) +1 >Emitted(18, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(18, 10) Source(1, 10) + SourceIndex(2) +3 >Emitted(18, 11) Source(1, 11) + SourceIndex(2) --- >>> return "JS does hoists"; 1->^^^^ @@ -360,10 +364,10 @@ sourceFile:../first_part3.ts 2 > return 3 > "JS does hoists" 4 > ; -1->Emitted(17, 5) Source(2, 5) + SourceIndex(2) -2 >Emitted(17, 12) Source(2, 12) + SourceIndex(2) -3 >Emitted(17, 28) Source(2, 28) + SourceIndex(2) -4 >Emitted(17, 29) Source(2, 29) + SourceIndex(2) +1->Emitted(19, 5) Source(2, 5) + SourceIndex(2) +2 >Emitted(19, 12) Source(2, 12) + SourceIndex(2) +3 >Emitted(19, 28) Source(2, 28) + SourceIndex(2) +4 >Emitted(19, 29) Source(2, 29) + SourceIndex(2) --- >>>} 1 > @@ -372,8 +376,8 @@ sourceFile:../first_part3.ts 1 > > 2 >} -1 >Emitted(18, 1) Source(3, 1) + SourceIndex(2) -2 >Emitted(18, 2) Source(3, 2) + SourceIndex(2) +1 >Emitted(20, 1) Source(3, 1) + SourceIndex(2) +2 >Emitted(20, 2) Source(3, 2) + SourceIndex(2) --- >>>//# sourceMappingURL=first-output.js.map @@ -390,13 +394,13 @@ sourceFile:../first_part3.ts "sections": [ { "pos": 0, - "end": 415, + "end": 500, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 417, - "end": 644, + "pos": 502, + "end": 729, "kind": "text" } ], @@ -423,18 +427,20 @@ sourceFile:../first_part3.ts ====================================================================== File:: /src/first/bin/first-output.js ---------------------------------------------------------------------- -emitHelpers: (0-415):: typescript:rest +emitHelpers: (0-500):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -text: (417-644) +text: (502-729) var s = "Hello, world"; console.log(s); function forfirstfirst_PART1Rest() { @@ -765,8 +771,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var s = "Hello, world"; @@ -801,7 +809,7 @@ c.doSomething(); //# sourceMappingURL=third-output.js.map //// [/src/third/thirdjs/output/third-output.js.map] -{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;ACED,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;ACJD,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC"} +{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;ACED,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;ACJD,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC"} //// [/src/third/thirdjs/output/third-output.js.map.baseline.txt] =================================================================== @@ -819,8 +827,10 @@ sourceFile:../../../first/first_PART1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var s = "Hello, world"; @@ -840,12 +850,12 @@ sourceFile:../../../first/first_PART1.ts 4 > = 5 > "Hello, world" 6 > ; -1 >Emitted(10, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(10, 5) Source(5, 7) + SourceIndex(0) -3 >Emitted(10, 6) Source(5, 8) + SourceIndex(0) -4 >Emitted(10, 9) Source(5, 11) + SourceIndex(0) -5 >Emitted(10, 23) Source(5, 25) + SourceIndex(0) -6 >Emitted(10, 24) Source(5, 26) + SourceIndex(0) +1 >Emitted(12, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(12, 5) Source(5, 7) + SourceIndex(0) +3 >Emitted(12, 6) Source(5, 8) + SourceIndex(0) +4 >Emitted(12, 9) Source(5, 11) + SourceIndex(0) +5 >Emitted(12, 23) Source(5, 25) + SourceIndex(0) +6 >Emitted(12, 24) Source(5, 26) + SourceIndex(0) --- >>>console.log(s); 1 > @@ -871,14 +881,14 @@ sourceFile:../../../first/first_PART1.ts 6 > s 7 > ) 8 > ; -1 >Emitted(11, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(11, 8) Source(11, 8) + SourceIndex(0) -3 >Emitted(11, 9) Source(11, 9) + SourceIndex(0) -4 >Emitted(11, 12) Source(11, 12) + SourceIndex(0) -5 >Emitted(11, 13) Source(11, 13) + SourceIndex(0) -6 >Emitted(11, 14) Source(11, 14) + SourceIndex(0) -7 >Emitted(11, 15) Source(11, 15) + SourceIndex(0) -8 >Emitted(11, 16) Source(11, 16) + SourceIndex(0) +1 >Emitted(13, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(13, 8) Source(11, 8) + SourceIndex(0) +3 >Emitted(13, 9) Source(11, 9) + SourceIndex(0) +4 >Emitted(13, 12) Source(11, 12) + SourceIndex(0) +5 >Emitted(13, 13) Source(11, 13) + SourceIndex(0) +6 >Emitted(13, 14) Source(11, 14) + SourceIndex(0) +7 >Emitted(13, 15) Source(11, 15) + SourceIndex(0) +8 >Emitted(13, 16) Source(11, 16) + SourceIndex(0) --- >>>function forfirstfirst_PART1Rest() { 1-> @@ -889,9 +899,9 @@ sourceFile:../../../first/first_PART1.ts > 2 >function 3 > forfirstfirst_PART1Rest -1->Emitted(12, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(12, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(12, 33) Source(12, 33) + SourceIndex(0) +1->Emitted(14, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(14, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(14, 33) Source(12, 33) + SourceIndex(0) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -911,14 +921,14 @@ sourceFile:../../../first/first_PART1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(13, 5) Source(13, 1) + SourceIndex(0) -2 >Emitted(13, 9) Source(13, 7) + SourceIndex(0) -3 >Emitted(13, 38) Source(13, 48) + SourceIndex(0) -4 >Emitted(13, 40) Source(13, 9) + SourceIndex(0) -5 >Emitted(13, 48) Source(13, 10) + SourceIndex(0) -6 >Emitted(13, 50) Source(13, 12) + SourceIndex(0) -7 >Emitted(13, 74) Source(13, 48) + SourceIndex(0) -8 >Emitted(13, 75) Source(13, 49) + SourceIndex(0) +1->Emitted(15, 5) Source(13, 1) + SourceIndex(0) +2 >Emitted(15, 9) Source(13, 7) + SourceIndex(0) +3 >Emitted(15, 38) Source(13, 48) + SourceIndex(0) +4 >Emitted(15, 40) Source(13, 9) + SourceIndex(0) +5 >Emitted(15, 48) Source(13, 10) + SourceIndex(0) +6 >Emitted(15, 50) Source(13, 12) + SourceIndex(0) +7 >Emitted(15, 74) Source(13, 48) + SourceIndex(0) +8 >Emitted(15, 75) Source(13, 49) + SourceIndex(0) --- >>>} 1 > @@ -927,8 +937,8 @@ sourceFile:../../../first/first_PART1.ts 1 > > 2 >} -1 >Emitted(14, 1) Source(14, 1) + SourceIndex(0) -2 >Emitted(14, 2) Source(14, 2) + SourceIndex(0) +1 >Emitted(16, 1) Source(14, 1) + SourceIndex(0) +2 >Emitted(16, 2) Source(14, 2) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -953,15 +963,15 @@ sourceFile:../../../first/first_part2.ts 7 > () 8 > ) 9 > ; -1->Emitted(15, 1) Source(1, 1) + SourceIndex(1) -2 >Emitted(15, 8) Source(1, 8) + SourceIndex(1) -3 >Emitted(15, 9) Source(1, 9) + SourceIndex(1) -4 >Emitted(15, 12) Source(1, 12) + SourceIndex(1) -5 >Emitted(15, 13) Source(1, 13) + SourceIndex(1) -6 >Emitted(15, 14) Source(1, 14) + SourceIndex(1) -7 >Emitted(15, 16) Source(1, 16) + SourceIndex(1) -8 >Emitted(15, 17) Source(1, 17) + SourceIndex(1) -9 >Emitted(15, 18) Source(1, 18) + SourceIndex(1) +1->Emitted(17, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(17, 8) Source(1, 8) + SourceIndex(1) +3 >Emitted(17, 9) Source(1, 9) + SourceIndex(1) +4 >Emitted(17, 12) Source(1, 12) + SourceIndex(1) +5 >Emitted(17, 13) Source(1, 13) + SourceIndex(1) +6 >Emitted(17, 14) Source(1, 14) + SourceIndex(1) +7 >Emitted(17, 16) Source(1, 16) + SourceIndex(1) +8 >Emitted(17, 17) Source(1, 17) + SourceIndex(1) +9 >Emitted(17, 18) Source(1, 18) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -975,9 +985,9 @@ sourceFile:../../../first/first_part3.ts 1 > 2 >function 3 > f -1 >Emitted(16, 1) Source(1, 1) + SourceIndex(2) -2 >Emitted(16, 10) Source(1, 10) + SourceIndex(2) -3 >Emitted(16, 11) Source(1, 11) + SourceIndex(2) +1 >Emitted(18, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(18, 10) Source(1, 10) + SourceIndex(2) +3 >Emitted(18, 11) Source(1, 11) + SourceIndex(2) --- >>> return "JS does hoists"; 1->^^^^ @@ -989,10 +999,10 @@ sourceFile:../../../first/first_part3.ts 2 > return 3 > "JS does hoists" 4 > ; -1->Emitted(17, 5) Source(2, 5) + SourceIndex(2) -2 >Emitted(17, 12) Source(2, 12) + SourceIndex(2) -3 >Emitted(17, 28) Source(2, 28) + SourceIndex(2) -4 >Emitted(17, 29) Source(2, 29) + SourceIndex(2) +1->Emitted(19, 5) Source(2, 5) + SourceIndex(2) +2 >Emitted(19, 12) Source(2, 12) + SourceIndex(2) +3 >Emitted(19, 28) Source(2, 28) + SourceIndex(2) +4 >Emitted(19, 29) Source(2, 29) + SourceIndex(2) --- >>>} 1 > @@ -1001,8 +1011,8 @@ sourceFile:../../../first/first_part3.ts 1 > > 2 >} -1 >Emitted(18, 1) Source(3, 1) + SourceIndex(2) -2 >Emitted(18, 2) Source(3, 2) + SourceIndex(2) +1 >Emitted(20, 1) Source(3, 1) + SourceIndex(2) +2 >Emitted(20, 2) Source(3, 2) + SourceIndex(2) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1028,10 +1038,10 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1->Emitted(19, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(19, 5) Source(5, 11) + SourceIndex(3) -3 >Emitted(19, 6) Source(5, 12) + SourceIndex(3) -4 >Emitted(19, 7) Source(11, 2) + SourceIndex(3) +1->Emitted(21, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(21, 5) Source(5, 11) + SourceIndex(3) +3 >Emitted(21, 6) Source(5, 12) + SourceIndex(3) +4 >Emitted(21, 7) Source(11, 2) + SourceIndex(3) --- >>>(function (N) { 1-> @@ -1041,9 +1051,9 @@ sourceFile:../../../second/second_part1.ts 1-> 2 >namespace 3 > N -1->Emitted(20, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(20, 12) Source(5, 11) + SourceIndex(3) -3 >Emitted(20, 13) Source(5, 12) + SourceIndex(3) +1->Emitted(22, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(22, 12) Source(5, 11) + SourceIndex(3) +3 >Emitted(22, 13) Source(5, 12) + SourceIndex(3) --- >>> function f() { 1->^^^^ @@ -1054,9 +1064,9 @@ sourceFile:../../../second/second_part1.ts > 2 > function 3 > f -1->Emitted(21, 5) Source(6, 5) + SourceIndex(3) -2 >Emitted(21, 14) Source(6, 14) + SourceIndex(3) -3 >Emitted(21, 15) Source(6, 15) + SourceIndex(3) +1->Emitted(23, 5) Source(6, 5) + SourceIndex(3) +2 >Emitted(23, 14) Source(6, 14) + SourceIndex(3) +3 >Emitted(23, 15) Source(6, 15) + SourceIndex(3) --- >>> console.log('testing'); 1->^^^^^^^^ @@ -1076,14 +1086,14 @@ sourceFile:../../../second/second_part1.ts 6 > 'testing' 7 > ) 8 > ; -1->Emitted(22, 9) Source(7, 9) + SourceIndex(3) -2 >Emitted(22, 16) Source(7, 16) + SourceIndex(3) -3 >Emitted(22, 17) Source(7, 17) + SourceIndex(3) -4 >Emitted(22, 20) Source(7, 20) + SourceIndex(3) -5 >Emitted(22, 21) Source(7, 21) + SourceIndex(3) -6 >Emitted(22, 30) Source(7, 30) + SourceIndex(3) -7 >Emitted(22, 31) Source(7, 31) + SourceIndex(3) -8 >Emitted(22, 32) Source(7, 32) + SourceIndex(3) +1->Emitted(24, 9) Source(7, 9) + SourceIndex(3) +2 >Emitted(24, 16) Source(7, 16) + SourceIndex(3) +3 >Emitted(24, 17) Source(7, 17) + SourceIndex(3) +4 >Emitted(24, 20) Source(7, 20) + SourceIndex(3) +5 >Emitted(24, 21) Source(7, 21) + SourceIndex(3) +6 >Emitted(24, 30) Source(7, 30) + SourceIndex(3) +7 >Emitted(24, 31) Source(7, 31) + SourceIndex(3) +8 >Emitted(24, 32) Source(7, 32) + SourceIndex(3) --- >>> } 1 >^^^^ @@ -1092,8 +1102,8 @@ sourceFile:../../../second/second_part1.ts 1 > > 2 > } -1 >Emitted(23, 5) Source(8, 5) + SourceIndex(3) -2 >Emitted(23, 6) Source(8, 6) + SourceIndex(3) +1 >Emitted(25, 5) Source(8, 5) + SourceIndex(3) +2 >Emitted(25, 6) Source(8, 6) + SourceIndex(3) --- >>> f(); 1->^^^^ @@ -1107,10 +1117,10 @@ sourceFile:../../../second/second_part1.ts 2 > f 3 > () 4 > ; -1->Emitted(24, 5) Source(10, 5) + SourceIndex(3) -2 >Emitted(24, 6) Source(10, 6) + SourceIndex(3) -3 >Emitted(24, 8) Source(10, 8) + SourceIndex(3) -4 >Emitted(24, 9) Source(10, 9) + SourceIndex(3) +1->Emitted(26, 5) Source(10, 5) + SourceIndex(3) +2 >Emitted(26, 6) Source(10, 6) + SourceIndex(3) +3 >Emitted(26, 8) Source(10, 8) + SourceIndex(3) +4 >Emitted(26, 9) Source(10, 9) + SourceIndex(3) --- >>>})(N || (N = {})); 1-> @@ -1135,13 +1145,13 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1->Emitted(25, 1) Source(11, 1) + SourceIndex(3) -2 >Emitted(25, 2) Source(11, 2) + SourceIndex(3) -3 >Emitted(25, 4) Source(5, 11) + SourceIndex(3) -4 >Emitted(25, 5) Source(5, 12) + SourceIndex(3) -5 >Emitted(25, 10) Source(5, 11) + SourceIndex(3) -6 >Emitted(25, 11) Source(5, 12) + SourceIndex(3) -7 >Emitted(25, 19) Source(11, 2) + SourceIndex(3) +1->Emitted(27, 1) Source(11, 1) + SourceIndex(3) +2 >Emitted(27, 2) Source(11, 2) + SourceIndex(3) +3 >Emitted(27, 4) Source(5, 11) + SourceIndex(3) +4 >Emitted(27, 5) Source(5, 12) + SourceIndex(3) +5 >Emitted(27, 10) Source(5, 11) + SourceIndex(3) +6 >Emitted(27, 11) Source(5, 12) + SourceIndex(3) +7 >Emitted(27, 19) Source(11, 2) + SourceIndex(3) --- >>>function forsecondsecond_part1Rest() { 1-> @@ -1152,9 +1162,9 @@ sourceFile:../../../second/second_part1.ts > 2 >function 3 > forsecondsecond_part1Rest -1->Emitted(26, 1) Source(12, 1) + SourceIndex(3) -2 >Emitted(26, 10) Source(12, 10) + SourceIndex(3) -3 >Emitted(26, 35) Source(12, 35) + SourceIndex(3) +1->Emitted(28, 1) Source(12, 1) + SourceIndex(3) +2 >Emitted(28, 10) Source(12, 10) + SourceIndex(3) +3 >Emitted(28, 35) Source(12, 35) + SourceIndex(3) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -1174,14 +1184,14 @@ sourceFile:../../../second/second_part1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(27, 5) Source(13, 1) + SourceIndex(3) -2 >Emitted(27, 9) Source(13, 7) + SourceIndex(3) -3 >Emitted(27, 38) Source(13, 48) + SourceIndex(3) -4 >Emitted(27, 40) Source(13, 9) + SourceIndex(3) -5 >Emitted(27, 48) Source(13, 10) + SourceIndex(3) -6 >Emitted(27, 50) Source(13, 12) + SourceIndex(3) -7 >Emitted(27, 74) Source(13, 48) + SourceIndex(3) -8 >Emitted(27, 75) Source(13, 49) + SourceIndex(3) +1->Emitted(29, 5) Source(13, 1) + SourceIndex(3) +2 >Emitted(29, 9) Source(13, 7) + SourceIndex(3) +3 >Emitted(29, 38) Source(13, 48) + SourceIndex(3) +4 >Emitted(29, 40) Source(13, 9) + SourceIndex(3) +5 >Emitted(29, 48) Source(13, 10) + SourceIndex(3) +6 >Emitted(29, 50) Source(13, 12) + SourceIndex(3) +7 >Emitted(29, 74) Source(13, 48) + SourceIndex(3) +8 >Emitted(29, 75) Source(13, 49) + SourceIndex(3) --- >>>} 1 > @@ -1190,8 +1200,8 @@ sourceFile:../../../second/second_part1.ts 1 > > 2 >} -1 >Emitted(28, 1) Source(14, 1) + SourceIndex(3) -2 >Emitted(28, 2) Source(14, 2) + SourceIndex(3) +1 >Emitted(30, 1) Source(14, 1) + SourceIndex(3) +2 >Emitted(30, 2) Source(14, 2) + SourceIndex(3) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1201,13 +1211,13 @@ sourceFile:../../../second/second_part2.ts 1-> 2 >^^^^^^^^^^^^^^^^^^^-> 1-> -1->Emitted(29, 1) Source(1, 1) + SourceIndex(4) +1->Emitted(31, 1) Source(1, 1) + SourceIndex(4) --- >>> function C() { 1->^^^^ 2 > ^^-> 1-> -1->Emitted(30, 5) Source(1, 1) + SourceIndex(4) +1->Emitted(32, 5) Source(1, 1) + SourceIndex(4) --- >>> } 1->^^^^ @@ -1219,8 +1229,8 @@ sourceFile:../../../second/second_part2.ts > } > 2 > } -1->Emitted(31, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(31, 6) Source(5, 2) + SourceIndex(4) +1->Emitted(33, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(33, 6) Source(5, 2) + SourceIndex(4) --- >>> C.prototype.doSomething = function () { 1->^^^^ @@ -1230,9 +1240,9 @@ sourceFile:../../../second/second_part2.ts 1-> 2 > doSomething 3 > -1->Emitted(32, 5) Source(2, 5) + SourceIndex(4) -2 >Emitted(32, 28) Source(2, 16) + SourceIndex(4) -3 >Emitted(32, 31) Source(2, 5) + SourceIndex(4) +1->Emitted(34, 5) Source(2, 5) + SourceIndex(4) +2 >Emitted(34, 28) Source(2, 16) + SourceIndex(4) +3 >Emitted(34, 31) Source(2, 5) + SourceIndex(4) --- >>> console.log("something got done"); 1->^^^^^^^^ @@ -1252,14 +1262,14 @@ sourceFile:../../../second/second_part2.ts 6 > "something got done" 7 > ) 8 > ; -1->Emitted(33, 9) Source(3, 9) + SourceIndex(4) -2 >Emitted(33, 16) Source(3, 16) + SourceIndex(4) -3 >Emitted(33, 17) Source(3, 17) + SourceIndex(4) -4 >Emitted(33, 20) Source(3, 20) + SourceIndex(4) -5 >Emitted(33, 21) Source(3, 21) + SourceIndex(4) -6 >Emitted(33, 41) Source(3, 41) + SourceIndex(4) -7 >Emitted(33, 42) Source(3, 42) + SourceIndex(4) -8 >Emitted(33, 43) Source(3, 43) + SourceIndex(4) +1->Emitted(35, 9) Source(3, 9) + SourceIndex(4) +2 >Emitted(35, 16) Source(3, 16) + SourceIndex(4) +3 >Emitted(35, 17) Source(3, 17) + SourceIndex(4) +4 >Emitted(35, 20) Source(3, 20) + SourceIndex(4) +5 >Emitted(35, 21) Source(3, 21) + SourceIndex(4) +6 >Emitted(35, 41) Source(3, 41) + SourceIndex(4) +7 >Emitted(35, 42) Source(3, 42) + SourceIndex(4) +8 >Emitted(35, 43) Source(3, 43) + SourceIndex(4) --- >>> }; 1 >^^^^ @@ -1268,8 +1278,8 @@ sourceFile:../../../second/second_part2.ts 1 > > 2 > } -1 >Emitted(34, 5) Source(4, 5) + SourceIndex(4) -2 >Emitted(34, 6) Source(4, 6) + SourceIndex(4) +1 >Emitted(36, 5) Source(4, 5) + SourceIndex(4) +2 >Emitted(36, 6) Source(4, 6) + SourceIndex(4) --- >>> return C; 1->^^^^ @@ -1277,8 +1287,8 @@ sourceFile:../../../second/second_part2.ts 1-> > 2 > } -1->Emitted(35, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(35, 13) Source(5, 2) + SourceIndex(4) +1->Emitted(37, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(37, 13) Source(5, 2) + SourceIndex(4) --- >>>}()); 1 > @@ -1294,10 +1304,10 @@ sourceFile:../../../second/second_part2.ts > console.log("something got done"); > } > } -1 >Emitted(36, 1) Source(5, 1) + SourceIndex(4) -2 >Emitted(36, 2) Source(5, 2) + SourceIndex(4) -3 >Emitted(36, 2) Source(1, 1) + SourceIndex(4) -4 >Emitted(36, 6) Source(5, 2) + SourceIndex(4) +1 >Emitted(38, 1) Source(5, 1) + SourceIndex(4) +2 >Emitted(38, 2) Source(5, 2) + SourceIndex(4) +3 >Emitted(38, 2) Source(1, 1) + SourceIndex(4) +4 >Emitted(38, 6) Source(5, 2) + SourceIndex(4) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1321,14 +1331,14 @@ sourceFile:../../third_part1.ts 6 > C 7 > () 8 > ; -1->Emitted(37, 1) Source(1, 1) + SourceIndex(5) -2 >Emitted(37, 5) Source(1, 5) + SourceIndex(5) -3 >Emitted(37, 6) Source(1, 6) + SourceIndex(5) -4 >Emitted(37, 9) Source(1, 9) + SourceIndex(5) -5 >Emitted(37, 13) Source(1, 13) + SourceIndex(5) -6 >Emitted(37, 14) Source(1, 14) + SourceIndex(5) -7 >Emitted(37, 16) Source(1, 16) + SourceIndex(5) -8 >Emitted(37, 17) Source(1, 17) + SourceIndex(5) +1->Emitted(39, 1) Source(1, 1) + SourceIndex(5) +2 >Emitted(39, 5) Source(1, 5) + SourceIndex(5) +3 >Emitted(39, 6) Source(1, 6) + SourceIndex(5) +4 >Emitted(39, 9) Source(1, 9) + SourceIndex(5) +5 >Emitted(39, 13) Source(1, 13) + SourceIndex(5) +6 >Emitted(39, 14) Source(1, 14) + SourceIndex(5) +7 >Emitted(39, 16) Source(1, 16) + SourceIndex(5) +8 >Emitted(39, 17) Source(1, 17) + SourceIndex(5) --- >>>c.doSomething(); 1-> @@ -1345,12 +1355,12 @@ sourceFile:../../third_part1.ts 4 > doSomething 5 > () 6 > ; -1->Emitted(38, 1) Source(2, 1) + SourceIndex(5) -2 >Emitted(38, 2) Source(2, 2) + SourceIndex(5) -3 >Emitted(38, 3) Source(2, 3) + SourceIndex(5) -4 >Emitted(38, 14) Source(2, 14) + SourceIndex(5) -5 >Emitted(38, 16) Source(2, 16) + SourceIndex(5) -6 >Emitted(38, 17) Source(2, 17) + SourceIndex(5) +1->Emitted(40, 1) Source(2, 1) + SourceIndex(5) +2 >Emitted(40, 2) Source(2, 2) + SourceIndex(5) +3 >Emitted(40, 3) Source(2, 3) + SourceIndex(5) +4 >Emitted(40, 14) Source(2, 14) + SourceIndex(5) +5 >Emitted(40, 16) Source(2, 16) + SourceIndex(5) +6 >Emitted(40, 17) Source(2, 17) + SourceIndex(5) --- >>>//# sourceMappingURL=third-output.js.map @@ -1365,39 +1375,39 @@ sourceFile:../../third_part1.ts "sections": [ { "pos": 0, - "end": 415, + "end": 500, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 417, - "end": 644, + "pos": 502, + "end": 729, "kind": "prepend", "data": "/src/first/bin/first-output.js", "texts": [ { - "pos": 417, - "end": 644, + "pos": 502, + "end": 729, "kind": "text" } ] }, { - "pos": 644, - "end": 1048, + "pos": 729, + "end": 1133, "kind": "prepend", "data": "/src/2/second-output.js", "texts": [ { - "pos": 644, - "end": 1048, + "pos": 729, + "end": 1133, "kind": "text" } ] }, { - "pos": 1048, - "end": 1084, + "pos": 1133, + "end": 1169, "kind": "text" } ] @@ -1445,20 +1455,22 @@ sourceFile:../../third_part1.ts ====================================================================== File:: /src/third/thirdjs/output/third-output.js ---------------------------------------------------------------------- -emitHelpers: (0-415):: typescript:rest +emitHelpers: (0-500):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -prepend: (417-644):: /src/first/bin/first-output.js texts:: 1 +prepend: (502-729):: /src/first/bin/first-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (417-644) +text: (502-729) var s = "Hello, world"; console.log(s); function forfirstfirst_PART1Rest() { @@ -1470,9 +1482,9 @@ function f() { } ---------------------------------------------------------------------- -prepend: (644-1048):: /src/2/second-output.js texts:: 1 +prepend: (729-1133):: /src/2/second-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (644-1048) +text: (729-1133) var N; (function (N) { function f() { @@ -1493,7 +1505,7 @@ var C = (function () { }()); ---------------------------------------------------------------------- -text: (1048-1084) +text: (1133-1169) var c = new C(); c.doSomething(); diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/multiple-emitHelpers-in-all-projects.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/multiple-emitHelpers-in-all-projects.js index 339c19933fc..eee32672ff5 100644 --- a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/multiple-emitHelpers-in-all-projects.js +++ b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/multiple-emitHelpers-in-all-projects.js @@ -1036,8 +1036,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var s = "Hello, world"; @@ -1094,7 +1096,7 @@ thirdthird_part1Spread.apply(void 0, __spread([10, 20, 30])); //# sourceMappingURL=third-output.js.map //// [/src/third/thirdjs/output/third-output.js.map] -{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB,KAAK,CAAC;ACXtC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AACD,SAAS,sBAAsB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACnD,sBAAsB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;ACAxC,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;AAED,SAAS,wBAAwB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACrD,wBAAwB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;ACP1C,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC;AAChB,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;AACD,SAAS,sBAAsB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACnD,sBAAsB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE"} +{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB,KAAK,CAAC;ACXtC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AACD,SAAS,sBAAsB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACnD,sBAAsB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;ACAxC,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;AAED,SAAS,wBAAwB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACrD,wBAAwB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;ACP1C,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC;AAChB,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;AACD,SAAS,sBAAsB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACnD,sBAAsB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE"} //// [/src/third/thirdjs/output/third-output.js.map.baseline.txt] =================================================================== @@ -1132,8 +1134,10 @@ sourceFile:../../../first/first_PART1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var s = "Hello, world"; @@ -1153,12 +1157,12 @@ sourceFile:../../../first/first_PART1.ts 4 > = 5 > "Hello, world" 6 > ; -1 >Emitted(30, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(30, 5) Source(5, 7) + SourceIndex(0) -3 >Emitted(30, 6) Source(5, 8) + SourceIndex(0) -4 >Emitted(30, 9) Source(5, 11) + SourceIndex(0) -5 >Emitted(30, 23) Source(5, 25) + SourceIndex(0) -6 >Emitted(30, 24) Source(5, 26) + SourceIndex(0) +1 >Emitted(32, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(32, 5) Source(5, 7) + SourceIndex(0) +3 >Emitted(32, 6) Source(5, 8) + SourceIndex(0) +4 >Emitted(32, 9) Source(5, 11) + SourceIndex(0) +5 >Emitted(32, 23) Source(5, 25) + SourceIndex(0) +6 >Emitted(32, 24) Source(5, 26) + SourceIndex(0) --- >>>console.log(s); 1 > @@ -1184,14 +1188,14 @@ sourceFile:../../../first/first_PART1.ts 6 > s 7 > ) 8 > ; -1 >Emitted(31, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(31, 8) Source(11, 8) + SourceIndex(0) -3 >Emitted(31, 9) Source(11, 9) + SourceIndex(0) -4 >Emitted(31, 12) Source(11, 12) + SourceIndex(0) -5 >Emitted(31, 13) Source(11, 13) + SourceIndex(0) -6 >Emitted(31, 14) Source(11, 14) + SourceIndex(0) -7 >Emitted(31, 15) Source(11, 15) + SourceIndex(0) -8 >Emitted(31, 16) Source(11, 16) + SourceIndex(0) +1 >Emitted(33, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(33, 8) Source(11, 8) + SourceIndex(0) +3 >Emitted(33, 9) Source(11, 9) + SourceIndex(0) +4 >Emitted(33, 12) Source(11, 12) + SourceIndex(0) +5 >Emitted(33, 13) Source(11, 13) + SourceIndex(0) +6 >Emitted(33, 14) Source(11, 14) + SourceIndex(0) +7 >Emitted(33, 15) Source(11, 15) + SourceIndex(0) +8 >Emitted(33, 16) Source(11, 16) + SourceIndex(0) --- >>>function forfirstfirst_PART1Rest() { } 1-> @@ -1205,11 +1209,11 @@ sourceFile:../../../first/first_PART1.ts 3 > forfirstfirst_PART1Rest 4 > () { 5 > } -1->Emitted(32, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(32, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(32, 33) Source(12, 33) + SourceIndex(0) -4 >Emitted(32, 38) Source(12, 38) + SourceIndex(0) -5 >Emitted(32, 39) Source(12, 39) + SourceIndex(0) +1->Emitted(34, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(34, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(34, 33) Source(12, 33) + SourceIndex(0) +4 >Emitted(34, 38) Source(12, 38) + SourceIndex(0) +5 >Emitted(34, 39) Source(12, 39) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1234,15 +1238,15 @@ sourceFile:../../../first/first_part2.ts 7 > () 8 > ) 9 > ; -1 >Emitted(33, 1) Source(1, 1) + SourceIndex(1) -2 >Emitted(33, 8) Source(1, 8) + SourceIndex(1) -3 >Emitted(33, 9) Source(1, 9) + SourceIndex(1) -4 >Emitted(33, 12) Source(1, 12) + SourceIndex(1) -5 >Emitted(33, 13) Source(1, 13) + SourceIndex(1) -6 >Emitted(33, 14) Source(1, 14) + SourceIndex(1) -7 >Emitted(33, 16) Source(1, 16) + SourceIndex(1) -8 >Emitted(33, 17) Source(1, 17) + SourceIndex(1) -9 >Emitted(33, 18) Source(1, 18) + SourceIndex(1) +1 >Emitted(35, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(35, 8) Source(1, 8) + SourceIndex(1) +3 >Emitted(35, 9) Source(1, 9) + SourceIndex(1) +4 >Emitted(35, 12) Source(1, 12) + SourceIndex(1) +5 >Emitted(35, 13) Source(1, 13) + SourceIndex(1) +6 >Emitted(35, 14) Source(1, 14) + SourceIndex(1) +7 >Emitted(35, 16) Source(1, 16) + SourceIndex(1) +8 >Emitted(35, 17) Source(1, 17) + SourceIndex(1) +9 >Emitted(35, 18) Source(1, 18) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1256,9 +1260,9 @@ sourceFile:../../../first/first_part3.ts 1 > 2 >function 3 > f -1 >Emitted(34, 1) Source(1, 1) + SourceIndex(2) -2 >Emitted(34, 10) Source(1, 10) + SourceIndex(2) -3 >Emitted(34, 11) Source(1, 11) + SourceIndex(2) +1 >Emitted(36, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(36, 10) Source(1, 10) + SourceIndex(2) +3 >Emitted(36, 11) Source(1, 11) + SourceIndex(2) --- >>> return "JS does hoists"; 1->^^^^ @@ -1270,10 +1274,10 @@ sourceFile:../../../first/first_part3.ts 2 > return 3 > "JS does hoists" 4 > ; -1->Emitted(35, 5) Source(2, 5) + SourceIndex(2) -2 >Emitted(35, 12) Source(2, 12) + SourceIndex(2) -3 >Emitted(35, 28) Source(2, 28) + SourceIndex(2) -4 >Emitted(35, 29) Source(2, 29) + SourceIndex(2) +1->Emitted(37, 5) Source(2, 5) + SourceIndex(2) +2 >Emitted(37, 12) Source(2, 12) + SourceIndex(2) +3 >Emitted(37, 28) Source(2, 28) + SourceIndex(2) +4 >Emitted(37, 29) Source(2, 29) + SourceIndex(2) --- >>>} 1 > @@ -1282,8 +1286,8 @@ sourceFile:../../../first/first_part3.ts 1 > > 2 >} -1 >Emitted(36, 1) Source(3, 1) + SourceIndex(2) -2 >Emitted(36, 2) Source(3, 2) + SourceIndex(2) +1 >Emitted(38, 1) Source(3, 1) + SourceIndex(2) +2 >Emitted(38, 2) Source(3, 2) + SourceIndex(2) --- >>>function firstfirst_part3Spread() { 1-> @@ -1293,9 +1297,9 @@ sourceFile:../../../first/first_part3.ts > 2 >function 3 > firstfirst_part3Spread -1->Emitted(37, 1) Source(4, 1) + SourceIndex(2) -2 >Emitted(37, 10) Source(4, 10) + SourceIndex(2) -3 >Emitted(37, 32) Source(4, 32) + SourceIndex(2) +1->Emitted(39, 1) Source(4, 1) + SourceIndex(2) +2 >Emitted(39, 10) Source(4, 10) + SourceIndex(2) +3 >Emitted(39, 32) Source(4, 32) + SourceIndex(2) --- >>> var b = []; 1 >^^^^ @@ -1303,8 +1307,8 @@ sourceFile:../../../first/first_part3.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >( 2 > ...b: number[] -1 >Emitted(38, 5) Source(4, 33) + SourceIndex(2) -2 >Emitted(38, 16) Source(4, 47) + SourceIndex(2) +1 >Emitted(40, 5) Source(4, 33) + SourceIndex(2) +2 >Emitted(40, 16) Source(4, 47) + SourceIndex(2) --- >>> for (var _i = 0; _i < arguments.length; _i++) { 1->^^^^^^^^^ @@ -1319,20 +1323,20 @@ sourceFile:../../../first/first_part3.ts 4 > ...b: number[] 5 > 6 > ...b: number[] -1->Emitted(39, 10) Source(4, 33) + SourceIndex(2) -2 >Emitted(39, 20) Source(4, 47) + SourceIndex(2) -3 >Emitted(39, 22) Source(4, 33) + SourceIndex(2) -4 >Emitted(39, 43) Source(4, 47) + SourceIndex(2) -5 >Emitted(39, 45) Source(4, 33) + SourceIndex(2) -6 >Emitted(39, 49) Source(4, 47) + SourceIndex(2) +1->Emitted(41, 10) Source(4, 33) + SourceIndex(2) +2 >Emitted(41, 20) Source(4, 47) + SourceIndex(2) +3 >Emitted(41, 22) Source(4, 33) + SourceIndex(2) +4 >Emitted(41, 43) Source(4, 47) + SourceIndex(2) +5 >Emitted(41, 45) Source(4, 33) + SourceIndex(2) +6 >Emitted(41, 49) Source(4, 47) + SourceIndex(2) --- >>> b[_i] = arguments[_i]; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > ...b: number[] -1 >Emitted(40, 9) Source(4, 33) + SourceIndex(2) -2 >Emitted(40, 31) Source(4, 47) + SourceIndex(2) +1 >Emitted(42, 9) Source(4, 33) + SourceIndex(2) +2 >Emitted(42, 31) Source(4, 47) + SourceIndex(2) --- >>> } >>>} @@ -1341,8 +1345,8 @@ sourceFile:../../../first/first_part3.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >) { 2 >} -1 >Emitted(42, 1) Source(4, 51) + SourceIndex(2) -2 >Emitted(42, 2) Source(4, 52) + SourceIndex(2) +1 >Emitted(44, 1) Source(4, 51) + SourceIndex(2) +2 >Emitted(44, 2) Source(4, 52) + SourceIndex(2) --- >>>firstfirst_part3Spread.apply(void 0, __spread([10, 20, 30])); 1-> @@ -1368,17 +1372,17 @@ sourceFile:../../../first/first_part3.ts 9 > 30 10> ] 11> ); -1->Emitted(43, 1) Source(5, 1) + SourceIndex(2) -2 >Emitted(43, 23) Source(5, 23) + SourceIndex(2) -3 >Emitted(43, 47) Source(5, 27) + SourceIndex(2) -4 >Emitted(43, 48) Source(5, 28) + SourceIndex(2) -5 >Emitted(43, 50) Source(5, 30) + SourceIndex(2) -6 >Emitted(43, 52) Source(5, 32) + SourceIndex(2) -7 >Emitted(43, 54) Source(5, 34) + SourceIndex(2) -8 >Emitted(43, 56) Source(5, 36) + SourceIndex(2) -9 >Emitted(43, 58) Source(5, 38) + SourceIndex(2) -10>Emitted(43, 59) Source(5, 39) + SourceIndex(2) -11>Emitted(43, 62) Source(5, 41) + SourceIndex(2) +1->Emitted(45, 1) Source(5, 1) + SourceIndex(2) +2 >Emitted(45, 23) Source(5, 23) + SourceIndex(2) +3 >Emitted(45, 47) Source(5, 27) + SourceIndex(2) +4 >Emitted(45, 48) Source(5, 28) + SourceIndex(2) +5 >Emitted(45, 50) Source(5, 30) + SourceIndex(2) +6 >Emitted(45, 52) Source(5, 32) + SourceIndex(2) +7 >Emitted(45, 54) Source(5, 34) + SourceIndex(2) +8 >Emitted(45, 56) Source(5, 36) + SourceIndex(2) +9 >Emitted(45, 58) Source(5, 38) + SourceIndex(2) +10>Emitted(45, 59) Source(5, 39) + SourceIndex(2) +11>Emitted(45, 62) Source(5, 41) + SourceIndex(2) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1404,10 +1408,10 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1 >Emitted(44, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(44, 5) Source(5, 11) + SourceIndex(3) -3 >Emitted(44, 6) Source(5, 12) + SourceIndex(3) -4 >Emitted(44, 7) Source(11, 2) + SourceIndex(3) +1 >Emitted(46, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(46, 5) Source(5, 11) + SourceIndex(3) +3 >Emitted(46, 6) Source(5, 12) + SourceIndex(3) +4 >Emitted(46, 7) Source(11, 2) + SourceIndex(3) --- >>>(function (N) { 1-> @@ -1417,9 +1421,9 @@ sourceFile:../../../second/second_part1.ts 1-> 2 >namespace 3 > N -1->Emitted(45, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(45, 12) Source(5, 11) + SourceIndex(3) -3 >Emitted(45, 13) Source(5, 12) + SourceIndex(3) +1->Emitted(47, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(47, 12) Source(5, 11) + SourceIndex(3) +3 >Emitted(47, 13) Source(5, 12) + SourceIndex(3) --- >>> function f() { 1->^^^^ @@ -1430,9 +1434,9 @@ sourceFile:../../../second/second_part1.ts > 2 > function 3 > f -1->Emitted(46, 5) Source(6, 5) + SourceIndex(3) -2 >Emitted(46, 14) Source(6, 14) + SourceIndex(3) -3 >Emitted(46, 15) Source(6, 15) + SourceIndex(3) +1->Emitted(48, 5) Source(6, 5) + SourceIndex(3) +2 >Emitted(48, 14) Source(6, 14) + SourceIndex(3) +3 >Emitted(48, 15) Source(6, 15) + SourceIndex(3) --- >>> console.log('testing'); 1->^^^^^^^^ @@ -1452,14 +1456,14 @@ sourceFile:../../../second/second_part1.ts 6 > 'testing' 7 > ) 8 > ; -1->Emitted(47, 9) Source(7, 9) + SourceIndex(3) -2 >Emitted(47, 16) Source(7, 16) + SourceIndex(3) -3 >Emitted(47, 17) Source(7, 17) + SourceIndex(3) -4 >Emitted(47, 20) Source(7, 20) + SourceIndex(3) -5 >Emitted(47, 21) Source(7, 21) + SourceIndex(3) -6 >Emitted(47, 30) Source(7, 30) + SourceIndex(3) -7 >Emitted(47, 31) Source(7, 31) + SourceIndex(3) -8 >Emitted(47, 32) Source(7, 32) + SourceIndex(3) +1->Emitted(49, 9) Source(7, 9) + SourceIndex(3) +2 >Emitted(49, 16) Source(7, 16) + SourceIndex(3) +3 >Emitted(49, 17) Source(7, 17) + SourceIndex(3) +4 >Emitted(49, 20) Source(7, 20) + SourceIndex(3) +5 >Emitted(49, 21) Source(7, 21) + SourceIndex(3) +6 >Emitted(49, 30) Source(7, 30) + SourceIndex(3) +7 >Emitted(49, 31) Source(7, 31) + SourceIndex(3) +8 >Emitted(49, 32) Source(7, 32) + SourceIndex(3) --- >>> } 1 >^^^^ @@ -1468,8 +1472,8 @@ sourceFile:../../../second/second_part1.ts 1 > > 2 > } -1 >Emitted(48, 5) Source(8, 5) + SourceIndex(3) -2 >Emitted(48, 6) Source(8, 6) + SourceIndex(3) +1 >Emitted(50, 5) Source(8, 5) + SourceIndex(3) +2 >Emitted(50, 6) Source(8, 6) + SourceIndex(3) --- >>> f(); 1->^^^^ @@ -1483,10 +1487,10 @@ sourceFile:../../../second/second_part1.ts 2 > f 3 > () 4 > ; -1->Emitted(49, 5) Source(10, 5) + SourceIndex(3) -2 >Emitted(49, 6) Source(10, 6) + SourceIndex(3) -3 >Emitted(49, 8) Source(10, 8) + SourceIndex(3) -4 >Emitted(49, 9) Source(10, 9) + SourceIndex(3) +1->Emitted(51, 5) Source(10, 5) + SourceIndex(3) +2 >Emitted(51, 6) Source(10, 6) + SourceIndex(3) +3 >Emitted(51, 8) Source(10, 8) + SourceIndex(3) +4 >Emitted(51, 9) Source(10, 9) + SourceIndex(3) --- >>>})(N || (N = {})); 1-> @@ -1511,13 +1515,13 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1->Emitted(50, 1) Source(11, 1) + SourceIndex(3) -2 >Emitted(50, 2) Source(11, 2) + SourceIndex(3) -3 >Emitted(50, 4) Source(5, 11) + SourceIndex(3) -4 >Emitted(50, 5) Source(5, 12) + SourceIndex(3) -5 >Emitted(50, 10) Source(5, 11) + SourceIndex(3) -6 >Emitted(50, 11) Source(5, 12) + SourceIndex(3) -7 >Emitted(50, 19) Source(11, 2) + SourceIndex(3) +1->Emitted(52, 1) Source(11, 1) + SourceIndex(3) +2 >Emitted(52, 2) Source(11, 2) + SourceIndex(3) +3 >Emitted(52, 4) Source(5, 11) + SourceIndex(3) +4 >Emitted(52, 5) Source(5, 12) + SourceIndex(3) +5 >Emitted(52, 10) Source(5, 11) + SourceIndex(3) +6 >Emitted(52, 11) Source(5, 12) + SourceIndex(3) +7 >Emitted(52, 19) Source(11, 2) + SourceIndex(3) --- >>>function forsecondsecond_part1Rest() { 1-> @@ -1528,9 +1532,9 @@ sourceFile:../../../second/second_part1.ts > 2 >function 3 > forsecondsecond_part1Rest -1->Emitted(51, 1) Source(12, 1) + SourceIndex(3) -2 >Emitted(51, 10) Source(12, 10) + SourceIndex(3) -3 >Emitted(51, 35) Source(12, 35) + SourceIndex(3) +1->Emitted(53, 1) Source(12, 1) + SourceIndex(3) +2 >Emitted(53, 10) Source(12, 10) + SourceIndex(3) +3 >Emitted(53, 35) Source(12, 35) + SourceIndex(3) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -1550,14 +1554,14 @@ sourceFile:../../../second/second_part1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(52, 5) Source(13, 1) + SourceIndex(3) -2 >Emitted(52, 9) Source(13, 7) + SourceIndex(3) -3 >Emitted(52, 38) Source(13, 48) + SourceIndex(3) -4 >Emitted(52, 40) Source(13, 9) + SourceIndex(3) -5 >Emitted(52, 48) Source(13, 10) + SourceIndex(3) -6 >Emitted(52, 50) Source(13, 12) + SourceIndex(3) -7 >Emitted(52, 74) Source(13, 48) + SourceIndex(3) -8 >Emitted(52, 75) Source(13, 49) + SourceIndex(3) +1->Emitted(54, 5) Source(13, 1) + SourceIndex(3) +2 >Emitted(54, 9) Source(13, 7) + SourceIndex(3) +3 >Emitted(54, 38) Source(13, 48) + SourceIndex(3) +4 >Emitted(54, 40) Source(13, 9) + SourceIndex(3) +5 >Emitted(54, 48) Source(13, 10) + SourceIndex(3) +6 >Emitted(54, 50) Source(13, 12) + SourceIndex(3) +7 >Emitted(54, 74) Source(13, 48) + SourceIndex(3) +8 >Emitted(54, 75) Source(13, 49) + SourceIndex(3) --- >>>} 1 > @@ -1566,8 +1570,8 @@ sourceFile:../../../second/second_part1.ts 1 > > 2 >} -1 >Emitted(53, 1) Source(14, 1) + SourceIndex(3) -2 >Emitted(53, 2) Source(14, 2) + SourceIndex(3) +1 >Emitted(55, 1) Source(14, 1) + SourceIndex(3) +2 >Emitted(55, 2) Source(14, 2) + SourceIndex(3) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1577,13 +1581,13 @@ sourceFile:../../../second/second_part2.ts 1-> 2 >^^^^^^^^^^^^^^^^^^^-> 1-> -1->Emitted(54, 1) Source(1, 1) + SourceIndex(4) +1->Emitted(56, 1) Source(1, 1) + SourceIndex(4) --- >>> function C() { 1->^^^^ 2 > ^^-> 1-> -1->Emitted(55, 5) Source(1, 1) + SourceIndex(4) +1->Emitted(57, 5) Source(1, 1) + SourceIndex(4) --- >>> } 1->^^^^ @@ -1595,8 +1599,8 @@ sourceFile:../../../second/second_part2.ts > } > 2 > } -1->Emitted(56, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(56, 6) Source(5, 2) + SourceIndex(4) +1->Emitted(58, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(58, 6) Source(5, 2) + SourceIndex(4) --- >>> C.prototype.doSomething = function () { 1->^^^^ @@ -1606,9 +1610,9 @@ sourceFile:../../../second/second_part2.ts 1-> 2 > doSomething 3 > -1->Emitted(57, 5) Source(2, 5) + SourceIndex(4) -2 >Emitted(57, 28) Source(2, 16) + SourceIndex(4) -3 >Emitted(57, 31) Source(2, 5) + SourceIndex(4) +1->Emitted(59, 5) Source(2, 5) + SourceIndex(4) +2 >Emitted(59, 28) Source(2, 16) + SourceIndex(4) +3 >Emitted(59, 31) Source(2, 5) + SourceIndex(4) --- >>> console.log("something got done"); 1->^^^^^^^^ @@ -1628,14 +1632,14 @@ sourceFile:../../../second/second_part2.ts 6 > "something got done" 7 > ) 8 > ; -1->Emitted(58, 9) Source(3, 9) + SourceIndex(4) -2 >Emitted(58, 16) Source(3, 16) + SourceIndex(4) -3 >Emitted(58, 17) Source(3, 17) + SourceIndex(4) -4 >Emitted(58, 20) Source(3, 20) + SourceIndex(4) -5 >Emitted(58, 21) Source(3, 21) + SourceIndex(4) -6 >Emitted(58, 41) Source(3, 41) + SourceIndex(4) -7 >Emitted(58, 42) Source(3, 42) + SourceIndex(4) -8 >Emitted(58, 43) Source(3, 43) + SourceIndex(4) +1->Emitted(60, 9) Source(3, 9) + SourceIndex(4) +2 >Emitted(60, 16) Source(3, 16) + SourceIndex(4) +3 >Emitted(60, 17) Source(3, 17) + SourceIndex(4) +4 >Emitted(60, 20) Source(3, 20) + SourceIndex(4) +5 >Emitted(60, 21) Source(3, 21) + SourceIndex(4) +6 >Emitted(60, 41) Source(3, 41) + SourceIndex(4) +7 >Emitted(60, 42) Source(3, 42) + SourceIndex(4) +8 >Emitted(60, 43) Source(3, 43) + SourceIndex(4) --- >>> }; 1 >^^^^ @@ -1644,8 +1648,8 @@ sourceFile:../../../second/second_part2.ts 1 > > 2 > } -1 >Emitted(59, 5) Source(4, 5) + SourceIndex(4) -2 >Emitted(59, 6) Source(4, 6) + SourceIndex(4) +1 >Emitted(61, 5) Source(4, 5) + SourceIndex(4) +2 >Emitted(61, 6) Source(4, 6) + SourceIndex(4) --- >>> return C; 1->^^^^ @@ -1653,8 +1657,8 @@ sourceFile:../../../second/second_part2.ts 1-> > 2 > } -1->Emitted(60, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(60, 13) Source(5, 2) + SourceIndex(4) +1->Emitted(62, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(62, 13) Source(5, 2) + SourceIndex(4) --- >>>}()); 1 > @@ -1670,10 +1674,10 @@ sourceFile:../../../second/second_part2.ts > console.log("something got done"); > } > } -1 >Emitted(61, 1) Source(5, 1) + SourceIndex(4) -2 >Emitted(61, 2) Source(5, 2) + SourceIndex(4) -3 >Emitted(61, 2) Source(1, 1) + SourceIndex(4) -4 >Emitted(61, 6) Source(5, 2) + SourceIndex(4) +1 >Emitted(63, 1) Source(5, 1) + SourceIndex(4) +2 >Emitted(63, 2) Source(5, 2) + SourceIndex(4) +3 >Emitted(63, 2) Source(1, 1) + SourceIndex(4) +4 >Emitted(63, 6) Source(5, 2) + SourceIndex(4) --- >>>function secondsecond_part2Spread() { 1-> @@ -1684,9 +1688,9 @@ sourceFile:../../../second/second_part2.ts > 2 >function 3 > secondsecond_part2Spread -1->Emitted(62, 1) Source(7, 1) + SourceIndex(4) -2 >Emitted(62, 10) Source(7, 10) + SourceIndex(4) -3 >Emitted(62, 34) Source(7, 34) + SourceIndex(4) +1->Emitted(64, 1) Source(7, 1) + SourceIndex(4) +2 >Emitted(64, 10) Source(7, 10) + SourceIndex(4) +3 >Emitted(64, 34) Source(7, 34) + SourceIndex(4) --- >>> var b = []; 1 >^^^^ @@ -1694,8 +1698,8 @@ sourceFile:../../../second/second_part2.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >( 2 > ...b: number[] -1 >Emitted(63, 5) Source(7, 35) + SourceIndex(4) -2 >Emitted(63, 16) Source(7, 49) + SourceIndex(4) +1 >Emitted(65, 5) Source(7, 35) + SourceIndex(4) +2 >Emitted(65, 16) Source(7, 49) + SourceIndex(4) --- >>> for (var _i = 0; _i < arguments.length; _i++) { 1->^^^^^^^^^ @@ -1710,20 +1714,20 @@ sourceFile:../../../second/second_part2.ts 4 > ...b: number[] 5 > 6 > ...b: number[] -1->Emitted(64, 10) Source(7, 35) + SourceIndex(4) -2 >Emitted(64, 20) Source(7, 49) + SourceIndex(4) -3 >Emitted(64, 22) Source(7, 35) + SourceIndex(4) -4 >Emitted(64, 43) Source(7, 49) + SourceIndex(4) -5 >Emitted(64, 45) Source(7, 35) + SourceIndex(4) -6 >Emitted(64, 49) Source(7, 49) + SourceIndex(4) +1->Emitted(66, 10) Source(7, 35) + SourceIndex(4) +2 >Emitted(66, 20) Source(7, 49) + SourceIndex(4) +3 >Emitted(66, 22) Source(7, 35) + SourceIndex(4) +4 >Emitted(66, 43) Source(7, 49) + SourceIndex(4) +5 >Emitted(66, 45) Source(7, 35) + SourceIndex(4) +6 >Emitted(66, 49) Source(7, 49) + SourceIndex(4) --- >>> b[_i] = arguments[_i]; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > ...b: number[] -1 >Emitted(65, 9) Source(7, 35) + SourceIndex(4) -2 >Emitted(65, 31) Source(7, 49) + SourceIndex(4) +1 >Emitted(67, 9) Source(7, 35) + SourceIndex(4) +2 >Emitted(67, 31) Source(7, 49) + SourceIndex(4) --- >>> } >>>} @@ -1732,8 +1736,8 @@ sourceFile:../../../second/second_part2.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >) { 2 >} -1 >Emitted(67, 1) Source(7, 53) + SourceIndex(4) -2 >Emitted(67, 2) Source(7, 54) + SourceIndex(4) +1 >Emitted(69, 1) Source(7, 53) + SourceIndex(4) +2 >Emitted(69, 2) Source(7, 54) + SourceIndex(4) --- >>>secondsecond_part2Spread.apply(void 0, __spread([10, 20, 30])); 1-> @@ -1759,17 +1763,17 @@ sourceFile:../../../second/second_part2.ts 9 > 30 10> ] 11> ); -1->Emitted(68, 1) Source(8, 1) + SourceIndex(4) -2 >Emitted(68, 25) Source(8, 25) + SourceIndex(4) -3 >Emitted(68, 49) Source(8, 29) + SourceIndex(4) -4 >Emitted(68, 50) Source(8, 30) + SourceIndex(4) -5 >Emitted(68, 52) Source(8, 32) + SourceIndex(4) -6 >Emitted(68, 54) Source(8, 34) + SourceIndex(4) -7 >Emitted(68, 56) Source(8, 36) + SourceIndex(4) -8 >Emitted(68, 58) Source(8, 38) + SourceIndex(4) -9 >Emitted(68, 60) Source(8, 40) + SourceIndex(4) -10>Emitted(68, 61) Source(8, 41) + SourceIndex(4) -11>Emitted(68, 64) Source(8, 43) + SourceIndex(4) +1->Emitted(70, 1) Source(8, 1) + SourceIndex(4) +2 >Emitted(70, 25) Source(8, 25) + SourceIndex(4) +3 >Emitted(70, 49) Source(8, 29) + SourceIndex(4) +4 >Emitted(70, 50) Source(8, 30) + SourceIndex(4) +5 >Emitted(70, 52) Source(8, 32) + SourceIndex(4) +6 >Emitted(70, 54) Source(8, 34) + SourceIndex(4) +7 >Emitted(70, 56) Source(8, 36) + SourceIndex(4) +8 >Emitted(70, 58) Source(8, 38) + SourceIndex(4) +9 >Emitted(70, 60) Source(8, 40) + SourceIndex(4) +10>Emitted(70, 61) Source(8, 41) + SourceIndex(4) +11>Emitted(70, 64) Source(8, 43) + SourceIndex(4) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1793,14 +1797,14 @@ sourceFile:../../third_part1.ts 6 > C 7 > () 8 > ; -1 >Emitted(69, 1) Source(1, 1) + SourceIndex(5) -2 >Emitted(69, 5) Source(1, 5) + SourceIndex(5) -3 >Emitted(69, 6) Source(1, 6) + SourceIndex(5) -4 >Emitted(69, 9) Source(1, 9) + SourceIndex(5) -5 >Emitted(69, 13) Source(1, 13) + SourceIndex(5) -6 >Emitted(69, 14) Source(1, 14) + SourceIndex(5) -7 >Emitted(69, 16) Source(1, 16) + SourceIndex(5) -8 >Emitted(69, 17) Source(1, 17) + SourceIndex(5) +1 >Emitted(71, 1) Source(1, 1) + SourceIndex(5) +2 >Emitted(71, 5) Source(1, 5) + SourceIndex(5) +3 >Emitted(71, 6) Source(1, 6) + SourceIndex(5) +4 >Emitted(71, 9) Source(1, 9) + SourceIndex(5) +5 >Emitted(71, 13) Source(1, 13) + SourceIndex(5) +6 >Emitted(71, 14) Source(1, 14) + SourceIndex(5) +7 >Emitted(71, 16) Source(1, 16) + SourceIndex(5) +8 >Emitted(71, 17) Source(1, 17) + SourceIndex(5) --- >>>c.doSomething(); 1-> @@ -1817,12 +1821,12 @@ sourceFile:../../third_part1.ts 4 > doSomething 5 > () 6 > ; -1->Emitted(70, 1) Source(2, 1) + SourceIndex(5) -2 >Emitted(70, 2) Source(2, 2) + SourceIndex(5) -3 >Emitted(70, 3) Source(2, 3) + SourceIndex(5) -4 >Emitted(70, 14) Source(2, 14) + SourceIndex(5) -5 >Emitted(70, 16) Source(2, 16) + SourceIndex(5) -6 >Emitted(70, 17) Source(2, 17) + SourceIndex(5) +1->Emitted(72, 1) Source(2, 1) + SourceIndex(5) +2 >Emitted(72, 2) Source(2, 2) + SourceIndex(5) +3 >Emitted(72, 3) Source(2, 3) + SourceIndex(5) +4 >Emitted(72, 14) Source(2, 14) + SourceIndex(5) +5 >Emitted(72, 16) Source(2, 16) + SourceIndex(5) +6 >Emitted(72, 17) Source(2, 17) + SourceIndex(5) --- >>>function forthirdthird_part1Rest() { 1-> @@ -1833,9 +1837,9 @@ sourceFile:../../third_part1.ts > 2 >function 3 > forthirdthird_part1Rest -1->Emitted(71, 1) Source(3, 1) + SourceIndex(5) -2 >Emitted(71, 10) Source(3, 10) + SourceIndex(5) -3 >Emitted(71, 33) Source(3, 33) + SourceIndex(5) +1->Emitted(73, 1) Source(3, 1) + SourceIndex(5) +2 >Emitted(73, 10) Source(3, 10) + SourceIndex(5) +3 >Emitted(73, 33) Source(3, 33) + SourceIndex(5) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -1855,14 +1859,14 @@ sourceFile:../../third_part1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(72, 5) Source(4, 1) + SourceIndex(5) -2 >Emitted(72, 9) Source(4, 7) + SourceIndex(5) -3 >Emitted(72, 38) Source(4, 48) + SourceIndex(5) -4 >Emitted(72, 40) Source(4, 9) + SourceIndex(5) -5 >Emitted(72, 48) Source(4, 10) + SourceIndex(5) -6 >Emitted(72, 50) Source(4, 12) + SourceIndex(5) -7 >Emitted(72, 74) Source(4, 48) + SourceIndex(5) -8 >Emitted(72, 75) Source(4, 49) + SourceIndex(5) +1->Emitted(74, 5) Source(4, 1) + SourceIndex(5) +2 >Emitted(74, 9) Source(4, 7) + SourceIndex(5) +3 >Emitted(74, 38) Source(4, 48) + SourceIndex(5) +4 >Emitted(74, 40) Source(4, 9) + SourceIndex(5) +5 >Emitted(74, 48) Source(4, 10) + SourceIndex(5) +6 >Emitted(74, 50) Source(4, 12) + SourceIndex(5) +7 >Emitted(74, 74) Source(4, 48) + SourceIndex(5) +8 >Emitted(74, 75) Source(4, 49) + SourceIndex(5) --- >>>} 1 > @@ -1871,8 +1875,8 @@ sourceFile:../../third_part1.ts 1 > > 2 >} -1 >Emitted(73, 1) Source(5, 1) + SourceIndex(5) -2 >Emitted(73, 2) Source(5, 2) + SourceIndex(5) +1 >Emitted(75, 1) Source(5, 1) + SourceIndex(5) +2 >Emitted(75, 2) Source(5, 2) + SourceIndex(5) --- >>>function thirdthird_part1Spread() { 1-> @@ -1882,9 +1886,9 @@ sourceFile:../../third_part1.ts > 2 >function 3 > thirdthird_part1Spread -1->Emitted(74, 1) Source(6, 1) + SourceIndex(5) -2 >Emitted(74, 10) Source(6, 10) + SourceIndex(5) -3 >Emitted(74, 32) Source(6, 32) + SourceIndex(5) +1->Emitted(76, 1) Source(6, 1) + SourceIndex(5) +2 >Emitted(76, 10) Source(6, 10) + SourceIndex(5) +3 >Emitted(76, 32) Source(6, 32) + SourceIndex(5) --- >>> var b = []; 1 >^^^^ @@ -1892,8 +1896,8 @@ sourceFile:../../third_part1.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >( 2 > ...b: number[] -1 >Emitted(75, 5) Source(6, 33) + SourceIndex(5) -2 >Emitted(75, 16) Source(6, 47) + SourceIndex(5) +1 >Emitted(77, 5) Source(6, 33) + SourceIndex(5) +2 >Emitted(77, 16) Source(6, 47) + SourceIndex(5) --- >>> for (var _i = 0; _i < arguments.length; _i++) { 1->^^^^^^^^^ @@ -1908,20 +1912,20 @@ sourceFile:../../third_part1.ts 4 > ...b: number[] 5 > 6 > ...b: number[] -1->Emitted(76, 10) Source(6, 33) + SourceIndex(5) -2 >Emitted(76, 20) Source(6, 47) + SourceIndex(5) -3 >Emitted(76, 22) Source(6, 33) + SourceIndex(5) -4 >Emitted(76, 43) Source(6, 47) + SourceIndex(5) -5 >Emitted(76, 45) Source(6, 33) + SourceIndex(5) -6 >Emitted(76, 49) Source(6, 47) + SourceIndex(5) +1->Emitted(78, 10) Source(6, 33) + SourceIndex(5) +2 >Emitted(78, 20) Source(6, 47) + SourceIndex(5) +3 >Emitted(78, 22) Source(6, 33) + SourceIndex(5) +4 >Emitted(78, 43) Source(6, 47) + SourceIndex(5) +5 >Emitted(78, 45) Source(6, 33) + SourceIndex(5) +6 >Emitted(78, 49) Source(6, 47) + SourceIndex(5) --- >>> b[_i] = arguments[_i]; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > ...b: number[] -1 >Emitted(77, 9) Source(6, 33) + SourceIndex(5) -2 >Emitted(77, 31) Source(6, 47) + SourceIndex(5) +1 >Emitted(79, 9) Source(6, 33) + SourceIndex(5) +2 >Emitted(79, 31) Source(6, 47) + SourceIndex(5) --- >>> } >>>} @@ -1930,8 +1934,8 @@ sourceFile:../../third_part1.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >) { 2 >} -1 >Emitted(79, 1) Source(6, 51) + SourceIndex(5) -2 >Emitted(79, 2) Source(6, 52) + SourceIndex(5) +1 >Emitted(81, 1) Source(6, 51) + SourceIndex(5) +2 >Emitted(81, 2) Source(6, 52) + SourceIndex(5) --- >>>thirdthird_part1Spread.apply(void 0, __spread([10, 20, 30])); 1-> @@ -1957,17 +1961,17 @@ sourceFile:../../third_part1.ts 9 > 30 10> ] 11> ); -1->Emitted(80, 1) Source(7, 1) + SourceIndex(5) -2 >Emitted(80, 23) Source(7, 23) + SourceIndex(5) -3 >Emitted(80, 47) Source(7, 27) + SourceIndex(5) -4 >Emitted(80, 48) Source(7, 28) + SourceIndex(5) -5 >Emitted(80, 50) Source(7, 30) + SourceIndex(5) -6 >Emitted(80, 52) Source(7, 32) + SourceIndex(5) -7 >Emitted(80, 54) Source(7, 34) + SourceIndex(5) -8 >Emitted(80, 56) Source(7, 36) + SourceIndex(5) -9 >Emitted(80, 58) Source(7, 38) + SourceIndex(5) -10>Emitted(80, 59) Source(7, 39) + SourceIndex(5) -11>Emitted(80, 62) Source(7, 41) + SourceIndex(5) +1->Emitted(82, 1) Source(7, 1) + SourceIndex(5) +2 >Emitted(82, 23) Source(7, 23) + SourceIndex(5) +3 >Emitted(82, 47) Source(7, 27) + SourceIndex(5) +4 >Emitted(82, 48) Source(7, 28) + SourceIndex(5) +5 >Emitted(82, 50) Source(7, 30) + SourceIndex(5) +6 >Emitted(82, 52) Source(7, 32) + SourceIndex(5) +7 >Emitted(82, 54) Source(7, 34) + SourceIndex(5) +8 >Emitted(82, 56) Source(7, 36) + SourceIndex(5) +9 >Emitted(82, 58) Source(7, 38) + SourceIndex(5) +10>Emitted(82, 59) Source(7, 39) + SourceIndex(5) +11>Emitted(82, 62) Source(7, 41) + SourceIndex(5) --- >>>//# sourceMappingURL=third-output.js.map @@ -1994,39 +1998,39 @@ sourceFile:../../third_part1.ts }, { "pos": 678, - "end": 1093, + "end": 1178, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 1095, - "end": 1457, + "pos": 1180, + "end": 1542, "kind": "prepend", "data": "/src/first/bin/first-output.js", "texts": [ { - "pos": 1095, - "end": 1457, + "pos": 1180, + "end": 1542, "kind": "text" } ] }, { - "pos": 1457, - "end": 2077, + "pos": 1542, + "end": 2162, "kind": "prepend", "data": "/src/2/second-output.js", "texts": [ { - "pos": 1457, - "end": 2077, + "pos": 1542, + "end": 2162, "kind": "text" } ] }, { - "pos": 2077, - "end": 2442, + "pos": 2162, + "end": 2527, "kind": "text" } ], @@ -2105,20 +2109,22 @@ var __spread = (this && this.__spread) || function () { return ar; }; ---------------------------------------------------------------------- -emitHelpers: (678-1093):: typescript:rest +emitHelpers: (678-1178):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -prepend: (1095-1457):: /src/first/bin/first-output.js texts:: 1 +prepend: (1180-1542):: /src/first/bin/first-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (1095-1457) +text: (1180-1542) var s = "Hello, world"; console.log(s); function forfirstfirst_PART1Rest() { } @@ -2135,9 +2141,9 @@ function firstfirst_part3Spread() { firstfirst_part3Spread.apply(void 0, __spread([10, 20, 30])); ---------------------------------------------------------------------- -prepend: (1457-2077):: /src/2/second-output.js texts:: 1 +prepend: (1542-2162):: /src/2/second-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (1457-2077) +text: (1542-2162) var N; (function (N) { function f() { @@ -2165,7 +2171,7 @@ function secondsecond_part2Spread() { secondsecond_part2Spread.apply(void 0, __spread([10, 20, 30])); ---------------------------------------------------------------------- -text: (2077-2442) +text: (2162-2527) var c = new C(); c.doSomething(); function forthirdthird_part1Rest() { diff --git a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/multiple-emitHelpers-in-different-projects.js b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/multiple-emitHelpers-in-different-projects.js index 14fc6f86607..73bbca16dff 100644 --- a/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/multiple-emitHelpers-in-different-projects.js +++ b/tests/baselines/reference/tsbuild/outfile-concat/incremental-headers-change-without-dts-changes/multiple-emitHelpers-in-different-projects.js @@ -735,8 +735,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var s = "Hello, world"; @@ -776,7 +778,7 @@ function forthirdthird_part1Rest() { //# sourceMappingURL=third-output.js.map //// [/src/third/thirdjs/output/third-output.js.map] -{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB,KAAK,CAAC;ACXtC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;ACED,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AAED,SAAS,wBAAwB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACrD,wBAAwB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;ACb1C;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;ACJD,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC;AAChB,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC"} +{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB,KAAK,CAAC;ACXtC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;ACED,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AAED,SAAS,wBAAwB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACrD,wBAAwB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;ACb1C;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;ACJD,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC;AAChB,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC"} //// [/src/third/thirdjs/output/third-output.js.map.baseline.txt] =================================================================== @@ -814,8 +816,10 @@ sourceFile:../../../first/first_PART1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var s = "Hello, world"; @@ -835,12 +839,12 @@ sourceFile:../../../first/first_PART1.ts 4 > = 5 > "Hello, world" 6 > ; -1 >Emitted(30, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(30, 5) Source(5, 7) + SourceIndex(0) -3 >Emitted(30, 6) Source(5, 8) + SourceIndex(0) -4 >Emitted(30, 9) Source(5, 11) + SourceIndex(0) -5 >Emitted(30, 23) Source(5, 25) + SourceIndex(0) -6 >Emitted(30, 24) Source(5, 26) + SourceIndex(0) +1 >Emitted(32, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(32, 5) Source(5, 7) + SourceIndex(0) +3 >Emitted(32, 6) Source(5, 8) + SourceIndex(0) +4 >Emitted(32, 9) Source(5, 11) + SourceIndex(0) +5 >Emitted(32, 23) Source(5, 25) + SourceIndex(0) +6 >Emitted(32, 24) Source(5, 26) + SourceIndex(0) --- >>>console.log(s); 1 > @@ -866,14 +870,14 @@ sourceFile:../../../first/first_PART1.ts 6 > s 7 > ) 8 > ; -1 >Emitted(31, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(31, 8) Source(11, 8) + SourceIndex(0) -3 >Emitted(31, 9) Source(11, 9) + SourceIndex(0) -4 >Emitted(31, 12) Source(11, 12) + SourceIndex(0) -5 >Emitted(31, 13) Source(11, 13) + SourceIndex(0) -6 >Emitted(31, 14) Source(11, 14) + SourceIndex(0) -7 >Emitted(31, 15) Source(11, 15) + SourceIndex(0) -8 >Emitted(31, 16) Source(11, 16) + SourceIndex(0) +1 >Emitted(33, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(33, 8) Source(11, 8) + SourceIndex(0) +3 >Emitted(33, 9) Source(11, 9) + SourceIndex(0) +4 >Emitted(33, 12) Source(11, 12) + SourceIndex(0) +5 >Emitted(33, 13) Source(11, 13) + SourceIndex(0) +6 >Emitted(33, 14) Source(11, 14) + SourceIndex(0) +7 >Emitted(33, 15) Source(11, 15) + SourceIndex(0) +8 >Emitted(33, 16) Source(11, 16) + SourceIndex(0) --- >>>function forfirstfirst_PART1Rest() { } 1-> @@ -887,11 +891,11 @@ sourceFile:../../../first/first_PART1.ts 3 > forfirstfirst_PART1Rest 4 > () { 5 > } -1->Emitted(32, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(32, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(32, 33) Source(12, 33) + SourceIndex(0) -4 >Emitted(32, 38) Source(12, 38) + SourceIndex(0) -5 >Emitted(32, 39) Source(12, 39) + SourceIndex(0) +1->Emitted(34, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(34, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(34, 33) Source(12, 33) + SourceIndex(0) +4 >Emitted(34, 38) Source(12, 38) + SourceIndex(0) +5 >Emitted(34, 39) Source(12, 39) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -916,15 +920,15 @@ sourceFile:../../../first/first_part2.ts 7 > () 8 > ) 9 > ; -1 >Emitted(33, 1) Source(1, 1) + SourceIndex(1) -2 >Emitted(33, 8) Source(1, 8) + SourceIndex(1) -3 >Emitted(33, 9) Source(1, 9) + SourceIndex(1) -4 >Emitted(33, 12) Source(1, 12) + SourceIndex(1) -5 >Emitted(33, 13) Source(1, 13) + SourceIndex(1) -6 >Emitted(33, 14) Source(1, 14) + SourceIndex(1) -7 >Emitted(33, 16) Source(1, 16) + SourceIndex(1) -8 >Emitted(33, 17) Source(1, 17) + SourceIndex(1) -9 >Emitted(33, 18) Source(1, 18) + SourceIndex(1) +1 >Emitted(35, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(35, 8) Source(1, 8) + SourceIndex(1) +3 >Emitted(35, 9) Source(1, 9) + SourceIndex(1) +4 >Emitted(35, 12) Source(1, 12) + SourceIndex(1) +5 >Emitted(35, 13) Source(1, 13) + SourceIndex(1) +6 >Emitted(35, 14) Source(1, 14) + SourceIndex(1) +7 >Emitted(35, 16) Source(1, 16) + SourceIndex(1) +8 >Emitted(35, 17) Source(1, 17) + SourceIndex(1) +9 >Emitted(35, 18) Source(1, 18) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -938,9 +942,9 @@ sourceFile:../../../first/first_part3.ts 1 > 2 >function 3 > f -1 >Emitted(34, 1) Source(1, 1) + SourceIndex(2) -2 >Emitted(34, 10) Source(1, 10) + SourceIndex(2) -3 >Emitted(34, 11) Source(1, 11) + SourceIndex(2) +1 >Emitted(36, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(36, 10) Source(1, 10) + SourceIndex(2) +3 >Emitted(36, 11) Source(1, 11) + SourceIndex(2) --- >>> return "JS does hoists"; 1->^^^^ @@ -952,10 +956,10 @@ sourceFile:../../../first/first_part3.ts 2 > return 3 > "JS does hoists" 4 > ; -1->Emitted(35, 5) Source(2, 5) + SourceIndex(2) -2 >Emitted(35, 12) Source(2, 12) + SourceIndex(2) -3 >Emitted(35, 28) Source(2, 28) + SourceIndex(2) -4 >Emitted(35, 29) Source(2, 29) + SourceIndex(2) +1->Emitted(37, 5) Source(2, 5) + SourceIndex(2) +2 >Emitted(37, 12) Source(2, 12) + SourceIndex(2) +3 >Emitted(37, 28) Source(2, 28) + SourceIndex(2) +4 >Emitted(37, 29) Source(2, 29) + SourceIndex(2) --- >>>} 1 > @@ -964,8 +968,8 @@ sourceFile:../../../first/first_part3.ts 1 > > 2 >} -1 >Emitted(36, 1) Source(3, 1) + SourceIndex(2) -2 >Emitted(36, 2) Source(3, 2) + SourceIndex(2) +1 >Emitted(38, 1) Source(3, 1) + SourceIndex(2) +2 >Emitted(38, 2) Source(3, 2) + SourceIndex(2) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -991,10 +995,10 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1->Emitted(37, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(37, 5) Source(5, 11) + SourceIndex(3) -3 >Emitted(37, 6) Source(5, 12) + SourceIndex(3) -4 >Emitted(37, 7) Source(11, 2) + SourceIndex(3) +1->Emitted(39, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(39, 5) Source(5, 11) + SourceIndex(3) +3 >Emitted(39, 6) Source(5, 12) + SourceIndex(3) +4 >Emitted(39, 7) Source(11, 2) + SourceIndex(3) --- >>>(function (N) { 1-> @@ -1004,9 +1008,9 @@ sourceFile:../../../second/second_part1.ts 1-> 2 >namespace 3 > N -1->Emitted(38, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(38, 12) Source(5, 11) + SourceIndex(3) -3 >Emitted(38, 13) Source(5, 12) + SourceIndex(3) +1->Emitted(40, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(40, 12) Source(5, 11) + SourceIndex(3) +3 >Emitted(40, 13) Source(5, 12) + SourceIndex(3) --- >>> function f() { 1->^^^^ @@ -1017,9 +1021,9 @@ sourceFile:../../../second/second_part1.ts > 2 > function 3 > f -1->Emitted(39, 5) Source(6, 5) + SourceIndex(3) -2 >Emitted(39, 14) Source(6, 14) + SourceIndex(3) -3 >Emitted(39, 15) Source(6, 15) + SourceIndex(3) +1->Emitted(41, 5) Source(6, 5) + SourceIndex(3) +2 >Emitted(41, 14) Source(6, 14) + SourceIndex(3) +3 >Emitted(41, 15) Source(6, 15) + SourceIndex(3) --- >>> console.log('testing'); 1->^^^^^^^^ @@ -1039,14 +1043,14 @@ sourceFile:../../../second/second_part1.ts 6 > 'testing' 7 > ) 8 > ; -1->Emitted(40, 9) Source(7, 9) + SourceIndex(3) -2 >Emitted(40, 16) Source(7, 16) + SourceIndex(3) -3 >Emitted(40, 17) Source(7, 17) + SourceIndex(3) -4 >Emitted(40, 20) Source(7, 20) + SourceIndex(3) -5 >Emitted(40, 21) Source(7, 21) + SourceIndex(3) -6 >Emitted(40, 30) Source(7, 30) + SourceIndex(3) -7 >Emitted(40, 31) Source(7, 31) + SourceIndex(3) -8 >Emitted(40, 32) Source(7, 32) + SourceIndex(3) +1->Emitted(42, 9) Source(7, 9) + SourceIndex(3) +2 >Emitted(42, 16) Source(7, 16) + SourceIndex(3) +3 >Emitted(42, 17) Source(7, 17) + SourceIndex(3) +4 >Emitted(42, 20) Source(7, 20) + SourceIndex(3) +5 >Emitted(42, 21) Source(7, 21) + SourceIndex(3) +6 >Emitted(42, 30) Source(7, 30) + SourceIndex(3) +7 >Emitted(42, 31) Source(7, 31) + SourceIndex(3) +8 >Emitted(42, 32) Source(7, 32) + SourceIndex(3) --- >>> } 1 >^^^^ @@ -1055,8 +1059,8 @@ sourceFile:../../../second/second_part1.ts 1 > > 2 > } -1 >Emitted(41, 5) Source(8, 5) + SourceIndex(3) -2 >Emitted(41, 6) Source(8, 6) + SourceIndex(3) +1 >Emitted(43, 5) Source(8, 5) + SourceIndex(3) +2 >Emitted(43, 6) Source(8, 6) + SourceIndex(3) --- >>> f(); 1->^^^^ @@ -1070,10 +1074,10 @@ sourceFile:../../../second/second_part1.ts 2 > f 3 > () 4 > ; -1->Emitted(42, 5) Source(10, 5) + SourceIndex(3) -2 >Emitted(42, 6) Source(10, 6) + SourceIndex(3) -3 >Emitted(42, 8) Source(10, 8) + SourceIndex(3) -4 >Emitted(42, 9) Source(10, 9) + SourceIndex(3) +1->Emitted(44, 5) Source(10, 5) + SourceIndex(3) +2 >Emitted(44, 6) Source(10, 6) + SourceIndex(3) +3 >Emitted(44, 8) Source(10, 8) + SourceIndex(3) +4 >Emitted(44, 9) Source(10, 9) + SourceIndex(3) --- >>>})(N || (N = {})); 1-> @@ -1098,13 +1102,13 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1->Emitted(43, 1) Source(11, 1) + SourceIndex(3) -2 >Emitted(43, 2) Source(11, 2) + SourceIndex(3) -3 >Emitted(43, 4) Source(5, 11) + SourceIndex(3) -4 >Emitted(43, 5) Source(5, 12) + SourceIndex(3) -5 >Emitted(43, 10) Source(5, 11) + SourceIndex(3) -6 >Emitted(43, 11) Source(5, 12) + SourceIndex(3) -7 >Emitted(43, 19) Source(11, 2) + SourceIndex(3) +1->Emitted(45, 1) Source(11, 1) + SourceIndex(3) +2 >Emitted(45, 2) Source(11, 2) + SourceIndex(3) +3 >Emitted(45, 4) Source(5, 11) + SourceIndex(3) +4 >Emitted(45, 5) Source(5, 12) + SourceIndex(3) +5 >Emitted(45, 10) Source(5, 11) + SourceIndex(3) +6 >Emitted(45, 11) Source(5, 12) + SourceIndex(3) +7 >Emitted(45, 19) Source(11, 2) + SourceIndex(3) --- >>>function secondsecond_part1Spread() { 1-> @@ -1115,9 +1119,9 @@ sourceFile:../../../second/second_part1.ts > 2 >function 3 > secondsecond_part1Spread -1->Emitted(44, 1) Source(13, 1) + SourceIndex(3) -2 >Emitted(44, 10) Source(13, 10) + SourceIndex(3) -3 >Emitted(44, 34) Source(13, 34) + SourceIndex(3) +1->Emitted(46, 1) Source(13, 1) + SourceIndex(3) +2 >Emitted(46, 10) Source(13, 10) + SourceIndex(3) +3 >Emitted(46, 34) Source(13, 34) + SourceIndex(3) --- >>> var b = []; 1 >^^^^ @@ -1125,8 +1129,8 @@ sourceFile:../../../second/second_part1.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >( 2 > ...b: number[] -1 >Emitted(45, 5) Source(13, 35) + SourceIndex(3) -2 >Emitted(45, 16) Source(13, 49) + SourceIndex(3) +1 >Emitted(47, 5) Source(13, 35) + SourceIndex(3) +2 >Emitted(47, 16) Source(13, 49) + SourceIndex(3) --- >>> for (var _i = 0; _i < arguments.length; _i++) { 1->^^^^^^^^^ @@ -1141,20 +1145,20 @@ sourceFile:../../../second/second_part1.ts 4 > ...b: number[] 5 > 6 > ...b: number[] -1->Emitted(46, 10) Source(13, 35) + SourceIndex(3) -2 >Emitted(46, 20) Source(13, 49) + SourceIndex(3) -3 >Emitted(46, 22) Source(13, 35) + SourceIndex(3) -4 >Emitted(46, 43) Source(13, 49) + SourceIndex(3) -5 >Emitted(46, 45) Source(13, 35) + SourceIndex(3) -6 >Emitted(46, 49) Source(13, 49) + SourceIndex(3) +1->Emitted(48, 10) Source(13, 35) + SourceIndex(3) +2 >Emitted(48, 20) Source(13, 49) + SourceIndex(3) +3 >Emitted(48, 22) Source(13, 35) + SourceIndex(3) +4 >Emitted(48, 43) Source(13, 49) + SourceIndex(3) +5 >Emitted(48, 45) Source(13, 35) + SourceIndex(3) +6 >Emitted(48, 49) Source(13, 49) + SourceIndex(3) --- >>> b[_i] = arguments[_i]; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > ...b: number[] -1 >Emitted(47, 9) Source(13, 35) + SourceIndex(3) -2 >Emitted(47, 31) Source(13, 49) + SourceIndex(3) +1 >Emitted(49, 9) Source(13, 35) + SourceIndex(3) +2 >Emitted(49, 31) Source(13, 49) + SourceIndex(3) --- >>> } >>>} @@ -1163,8 +1167,8 @@ sourceFile:../../../second/second_part1.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >) { 2 >} -1 >Emitted(49, 1) Source(13, 53) + SourceIndex(3) -2 >Emitted(49, 2) Source(13, 54) + SourceIndex(3) +1 >Emitted(51, 1) Source(13, 53) + SourceIndex(3) +2 >Emitted(51, 2) Source(13, 54) + SourceIndex(3) --- >>>secondsecond_part1Spread.apply(void 0, __spread([10, 20, 30])); 1-> @@ -1190,17 +1194,17 @@ sourceFile:../../../second/second_part1.ts 9 > 30 10> ] 11> ); -1->Emitted(50, 1) Source(14, 1) + SourceIndex(3) -2 >Emitted(50, 25) Source(14, 25) + SourceIndex(3) -3 >Emitted(50, 49) Source(14, 29) + SourceIndex(3) -4 >Emitted(50, 50) Source(14, 30) + SourceIndex(3) -5 >Emitted(50, 52) Source(14, 32) + SourceIndex(3) -6 >Emitted(50, 54) Source(14, 34) + SourceIndex(3) -7 >Emitted(50, 56) Source(14, 36) + SourceIndex(3) -8 >Emitted(50, 58) Source(14, 38) + SourceIndex(3) -9 >Emitted(50, 60) Source(14, 40) + SourceIndex(3) -10>Emitted(50, 61) Source(14, 41) + SourceIndex(3) -11>Emitted(50, 64) Source(14, 43) + SourceIndex(3) +1->Emitted(52, 1) Source(14, 1) + SourceIndex(3) +2 >Emitted(52, 25) Source(14, 25) + SourceIndex(3) +3 >Emitted(52, 49) Source(14, 29) + SourceIndex(3) +4 >Emitted(52, 50) Source(14, 30) + SourceIndex(3) +5 >Emitted(52, 52) Source(14, 32) + SourceIndex(3) +6 >Emitted(52, 54) Source(14, 34) + SourceIndex(3) +7 >Emitted(52, 56) Source(14, 36) + SourceIndex(3) +8 >Emitted(52, 58) Source(14, 38) + SourceIndex(3) +9 >Emitted(52, 60) Source(14, 40) + SourceIndex(3) +10>Emitted(52, 61) Source(14, 41) + SourceIndex(3) +11>Emitted(52, 64) Source(14, 43) + SourceIndex(3) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1210,13 +1214,13 @@ sourceFile:../../../second/second_part2.ts 1 > 2 >^^^^^^^^^^^^^^^^^^^-> 1 > -1 >Emitted(51, 1) Source(1, 1) + SourceIndex(4) +1 >Emitted(53, 1) Source(1, 1) + SourceIndex(4) --- >>> function C() { 1->^^^^ 2 > ^^-> 1-> -1->Emitted(52, 5) Source(1, 1) + SourceIndex(4) +1->Emitted(54, 5) Source(1, 1) + SourceIndex(4) --- >>> } 1->^^^^ @@ -1228,8 +1232,8 @@ sourceFile:../../../second/second_part2.ts > } > 2 > } -1->Emitted(53, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(53, 6) Source(5, 2) + SourceIndex(4) +1->Emitted(55, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(55, 6) Source(5, 2) + SourceIndex(4) --- >>> C.prototype.doSomething = function () { 1->^^^^ @@ -1239,9 +1243,9 @@ sourceFile:../../../second/second_part2.ts 1-> 2 > doSomething 3 > -1->Emitted(54, 5) Source(2, 5) + SourceIndex(4) -2 >Emitted(54, 28) Source(2, 16) + SourceIndex(4) -3 >Emitted(54, 31) Source(2, 5) + SourceIndex(4) +1->Emitted(56, 5) Source(2, 5) + SourceIndex(4) +2 >Emitted(56, 28) Source(2, 16) + SourceIndex(4) +3 >Emitted(56, 31) Source(2, 5) + SourceIndex(4) --- >>> console.log("something got done"); 1->^^^^^^^^ @@ -1261,14 +1265,14 @@ sourceFile:../../../second/second_part2.ts 6 > "something got done" 7 > ) 8 > ; -1->Emitted(55, 9) Source(3, 9) + SourceIndex(4) -2 >Emitted(55, 16) Source(3, 16) + SourceIndex(4) -3 >Emitted(55, 17) Source(3, 17) + SourceIndex(4) -4 >Emitted(55, 20) Source(3, 20) + SourceIndex(4) -5 >Emitted(55, 21) Source(3, 21) + SourceIndex(4) -6 >Emitted(55, 41) Source(3, 41) + SourceIndex(4) -7 >Emitted(55, 42) Source(3, 42) + SourceIndex(4) -8 >Emitted(55, 43) Source(3, 43) + SourceIndex(4) +1->Emitted(57, 9) Source(3, 9) + SourceIndex(4) +2 >Emitted(57, 16) Source(3, 16) + SourceIndex(4) +3 >Emitted(57, 17) Source(3, 17) + SourceIndex(4) +4 >Emitted(57, 20) Source(3, 20) + SourceIndex(4) +5 >Emitted(57, 21) Source(3, 21) + SourceIndex(4) +6 >Emitted(57, 41) Source(3, 41) + SourceIndex(4) +7 >Emitted(57, 42) Source(3, 42) + SourceIndex(4) +8 >Emitted(57, 43) Source(3, 43) + SourceIndex(4) --- >>> }; 1 >^^^^ @@ -1277,8 +1281,8 @@ sourceFile:../../../second/second_part2.ts 1 > > 2 > } -1 >Emitted(56, 5) Source(4, 5) + SourceIndex(4) -2 >Emitted(56, 6) Source(4, 6) + SourceIndex(4) +1 >Emitted(58, 5) Source(4, 5) + SourceIndex(4) +2 >Emitted(58, 6) Source(4, 6) + SourceIndex(4) --- >>> return C; 1->^^^^ @@ -1286,8 +1290,8 @@ sourceFile:../../../second/second_part2.ts 1-> > 2 > } -1->Emitted(57, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(57, 13) Source(5, 2) + SourceIndex(4) +1->Emitted(59, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(59, 13) Source(5, 2) + SourceIndex(4) --- >>>}()); 1 > @@ -1303,10 +1307,10 @@ sourceFile:../../../second/second_part2.ts > console.log("something got done"); > } > } -1 >Emitted(58, 1) Source(5, 1) + SourceIndex(4) -2 >Emitted(58, 2) Source(5, 2) + SourceIndex(4) -3 >Emitted(58, 2) Source(1, 1) + SourceIndex(4) -4 >Emitted(58, 6) Source(5, 2) + SourceIndex(4) +1 >Emitted(60, 1) Source(5, 1) + SourceIndex(4) +2 >Emitted(60, 2) Source(5, 2) + SourceIndex(4) +3 >Emitted(60, 2) Source(1, 1) + SourceIndex(4) +4 >Emitted(60, 6) Source(5, 2) + SourceIndex(4) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1330,14 +1334,14 @@ sourceFile:../../third_part1.ts 6 > C 7 > () 8 > ; -1->Emitted(59, 1) Source(1, 1) + SourceIndex(5) -2 >Emitted(59, 5) Source(1, 5) + SourceIndex(5) -3 >Emitted(59, 6) Source(1, 6) + SourceIndex(5) -4 >Emitted(59, 9) Source(1, 9) + SourceIndex(5) -5 >Emitted(59, 13) Source(1, 13) + SourceIndex(5) -6 >Emitted(59, 14) Source(1, 14) + SourceIndex(5) -7 >Emitted(59, 16) Source(1, 16) + SourceIndex(5) -8 >Emitted(59, 17) Source(1, 17) + SourceIndex(5) +1->Emitted(61, 1) Source(1, 1) + SourceIndex(5) +2 >Emitted(61, 5) Source(1, 5) + SourceIndex(5) +3 >Emitted(61, 6) Source(1, 6) + SourceIndex(5) +4 >Emitted(61, 9) Source(1, 9) + SourceIndex(5) +5 >Emitted(61, 13) Source(1, 13) + SourceIndex(5) +6 >Emitted(61, 14) Source(1, 14) + SourceIndex(5) +7 >Emitted(61, 16) Source(1, 16) + SourceIndex(5) +8 >Emitted(61, 17) Source(1, 17) + SourceIndex(5) --- >>>c.doSomething(); 1-> @@ -1354,12 +1358,12 @@ sourceFile:../../third_part1.ts 4 > doSomething 5 > () 6 > ; -1->Emitted(60, 1) Source(2, 1) + SourceIndex(5) -2 >Emitted(60, 2) Source(2, 2) + SourceIndex(5) -3 >Emitted(60, 3) Source(2, 3) + SourceIndex(5) -4 >Emitted(60, 14) Source(2, 14) + SourceIndex(5) -5 >Emitted(60, 16) Source(2, 16) + SourceIndex(5) -6 >Emitted(60, 17) Source(2, 17) + SourceIndex(5) +1->Emitted(62, 1) Source(2, 1) + SourceIndex(5) +2 >Emitted(62, 2) Source(2, 2) + SourceIndex(5) +3 >Emitted(62, 3) Source(2, 3) + SourceIndex(5) +4 >Emitted(62, 14) Source(2, 14) + SourceIndex(5) +5 >Emitted(62, 16) Source(2, 16) + SourceIndex(5) +6 >Emitted(62, 17) Source(2, 17) + SourceIndex(5) --- >>>function forthirdthird_part1Rest() { 1-> @@ -1370,9 +1374,9 @@ sourceFile:../../third_part1.ts > 2 >function 3 > forthirdthird_part1Rest -1->Emitted(61, 1) Source(3, 1) + SourceIndex(5) -2 >Emitted(61, 10) Source(3, 10) + SourceIndex(5) -3 >Emitted(61, 33) Source(3, 33) + SourceIndex(5) +1->Emitted(63, 1) Source(3, 1) + SourceIndex(5) +2 >Emitted(63, 10) Source(3, 10) + SourceIndex(5) +3 >Emitted(63, 33) Source(3, 33) + SourceIndex(5) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -1392,14 +1396,14 @@ sourceFile:../../third_part1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(62, 5) Source(4, 1) + SourceIndex(5) -2 >Emitted(62, 9) Source(4, 7) + SourceIndex(5) -3 >Emitted(62, 38) Source(4, 48) + SourceIndex(5) -4 >Emitted(62, 40) Source(4, 9) + SourceIndex(5) -5 >Emitted(62, 48) Source(4, 10) + SourceIndex(5) -6 >Emitted(62, 50) Source(4, 12) + SourceIndex(5) -7 >Emitted(62, 74) Source(4, 48) + SourceIndex(5) -8 >Emitted(62, 75) Source(4, 49) + SourceIndex(5) +1->Emitted(64, 5) Source(4, 1) + SourceIndex(5) +2 >Emitted(64, 9) Source(4, 7) + SourceIndex(5) +3 >Emitted(64, 38) Source(4, 48) + SourceIndex(5) +4 >Emitted(64, 40) Source(4, 9) + SourceIndex(5) +5 >Emitted(64, 48) Source(4, 10) + SourceIndex(5) +6 >Emitted(64, 50) Source(4, 12) + SourceIndex(5) +7 >Emitted(64, 74) Source(4, 48) + SourceIndex(5) +8 >Emitted(64, 75) Source(4, 49) + SourceIndex(5) --- >>>} 1 > @@ -1408,8 +1412,8 @@ sourceFile:../../third_part1.ts 1 > > 2 >} -1 >Emitted(63, 1) Source(5, 1) + SourceIndex(5) -2 >Emitted(63, 2) Source(5, 2) + SourceIndex(5) +1 >Emitted(65, 1) Source(5, 1) + SourceIndex(5) +2 >Emitted(65, 2) Source(5, 2) + SourceIndex(5) --- >>>//# sourceMappingURL=third-output.js.map @@ -1436,39 +1440,39 @@ sourceFile:../../third_part1.ts }, { "pos": 678, - "end": 1093, + "end": 1178, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 1095, - "end": 1245, + "pos": 1180, + "end": 1330, "kind": "prepend", "data": "/src/first/bin/first-output.js", "texts": [ { - "pos": 1095, - "end": 1245, + "pos": 1180, + "end": 1330, "kind": "text" } ] }, { - "pos": 1245, - "end": 1746, + "pos": 1330, + "end": 1831, "kind": "prepend", "data": "/src/2/second-output.js", "texts": [ { - "pos": 1245, - "end": 1746, + "pos": 1330, + "end": 1831, "kind": "text" } ] }, { - "pos": 1746, - "end": 1899, + "pos": 1831, + "end": 1984, "kind": "text" } ], @@ -1545,20 +1549,22 @@ var __spread = (this && this.__spread) || function () { return ar; }; ---------------------------------------------------------------------- -emitHelpers: (678-1093):: typescript:rest +emitHelpers: (678-1178):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -prepend: (1095-1245):: /src/first/bin/first-output.js texts:: 1 +prepend: (1180-1330):: /src/first/bin/first-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (1095-1245) +text: (1180-1330) var s = "Hello, world"; console.log(s); function forfirstfirst_PART1Rest() { } @@ -1568,9 +1574,9 @@ function f() { } ---------------------------------------------------------------------- -prepend: (1245-1746):: /src/2/second-output.js texts:: 1 +prepend: (1330-1831):: /src/2/second-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (1245-1746) +text: (1330-1831) var N; (function (N) { function f() { @@ -1595,7 +1601,7 @@ var C = (function () { }()); ---------------------------------------------------------------------- -text: (1746-1899) +text: (1831-1984) var c = new C(); c.doSomething(); function forthirdthird_part1Rest() { diff --git a/tests/baselines/reference/tsbuild/outfile-concat/initial-Build/emitHelpers-in-all-projects.js b/tests/baselines/reference/tsbuild/outfile-concat/initial-Build/emitHelpers-in-all-projects.js index 659e3921ac1..72f24e18ec0 100644 --- a/tests/baselines/reference/tsbuild/outfile-concat/initial-Build/emitHelpers-in-all-projects.js +++ b/tests/baselines/reference/tsbuild/outfile-concat/initial-Build/emitHelpers-in-all-projects.js @@ -132,8 +132,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var N; @@ -157,7 +159,7 @@ var C = (function () { //# sourceMappingURL=second-output.js.map //// [/src/2/second-output.js.map] -{"version":3,"file":"second-output.js","sourceRoot":"","sources":["../second/second_part1.ts","../second/second_part2.ts"],"names":[],"mappings":";;;;;;;;;AAIA,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC"} +{"version":3,"file":"second-output.js","sourceRoot":"","sources":["../second/second_part1.ts","../second/second_part2.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC"} //// [/src/2/second-output.js.map.baseline.txt] =================================================================== @@ -175,8 +177,10 @@ sourceFile:../second/second_part1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var N; @@ -199,10 +203,10 @@ sourceFile:../second/second_part1.ts > > f(); > } -1 >Emitted(10, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(10, 5) Source(5, 11) + SourceIndex(0) -3 >Emitted(10, 6) Source(5, 12) + SourceIndex(0) -4 >Emitted(10, 7) Source(11, 2) + SourceIndex(0) +1 >Emitted(12, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(12, 5) Source(5, 11) + SourceIndex(0) +3 >Emitted(12, 6) Source(5, 12) + SourceIndex(0) +4 >Emitted(12, 7) Source(11, 2) + SourceIndex(0) --- >>>(function (N) { 1-> @@ -212,9 +216,9 @@ sourceFile:../second/second_part1.ts 1-> 2 >namespace 3 > N -1->Emitted(11, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(11, 12) Source(5, 11) + SourceIndex(0) -3 >Emitted(11, 13) Source(5, 12) + SourceIndex(0) +1->Emitted(13, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(13, 12) Source(5, 11) + SourceIndex(0) +3 >Emitted(13, 13) Source(5, 12) + SourceIndex(0) --- >>> function f() { 1->^^^^ @@ -225,9 +229,9 @@ sourceFile:../second/second_part1.ts > 2 > function 3 > f -1->Emitted(12, 5) Source(6, 5) + SourceIndex(0) -2 >Emitted(12, 14) Source(6, 14) + SourceIndex(0) -3 >Emitted(12, 15) Source(6, 15) + SourceIndex(0) +1->Emitted(14, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(14, 14) Source(6, 14) + SourceIndex(0) +3 >Emitted(14, 15) Source(6, 15) + SourceIndex(0) --- >>> console.log('testing'); 1->^^^^^^^^ @@ -247,14 +251,14 @@ sourceFile:../second/second_part1.ts 6 > 'testing' 7 > ) 8 > ; -1->Emitted(13, 9) Source(7, 9) + SourceIndex(0) -2 >Emitted(13, 16) Source(7, 16) + SourceIndex(0) -3 >Emitted(13, 17) Source(7, 17) + SourceIndex(0) -4 >Emitted(13, 20) Source(7, 20) + SourceIndex(0) -5 >Emitted(13, 21) Source(7, 21) + SourceIndex(0) -6 >Emitted(13, 30) Source(7, 30) + SourceIndex(0) -7 >Emitted(13, 31) Source(7, 31) + SourceIndex(0) -8 >Emitted(13, 32) Source(7, 32) + SourceIndex(0) +1->Emitted(15, 9) Source(7, 9) + SourceIndex(0) +2 >Emitted(15, 16) Source(7, 16) + SourceIndex(0) +3 >Emitted(15, 17) Source(7, 17) + SourceIndex(0) +4 >Emitted(15, 20) Source(7, 20) + SourceIndex(0) +5 >Emitted(15, 21) Source(7, 21) + SourceIndex(0) +6 >Emitted(15, 30) Source(7, 30) + SourceIndex(0) +7 >Emitted(15, 31) Source(7, 31) + SourceIndex(0) +8 >Emitted(15, 32) Source(7, 32) + SourceIndex(0) --- >>> } 1 >^^^^ @@ -263,8 +267,8 @@ sourceFile:../second/second_part1.ts 1 > > 2 > } -1 >Emitted(14, 5) Source(8, 5) + SourceIndex(0) -2 >Emitted(14, 6) Source(8, 6) + SourceIndex(0) +1 >Emitted(16, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(16, 6) Source(8, 6) + SourceIndex(0) --- >>> f(); 1->^^^^ @@ -278,10 +282,10 @@ sourceFile:../second/second_part1.ts 2 > f 3 > () 4 > ; -1->Emitted(15, 5) Source(10, 5) + SourceIndex(0) -2 >Emitted(15, 6) Source(10, 6) + SourceIndex(0) -3 >Emitted(15, 8) Source(10, 8) + SourceIndex(0) -4 >Emitted(15, 9) Source(10, 9) + SourceIndex(0) +1->Emitted(17, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(17, 6) Source(10, 6) + SourceIndex(0) +3 >Emitted(17, 8) Source(10, 8) + SourceIndex(0) +4 >Emitted(17, 9) Source(10, 9) + SourceIndex(0) --- >>>})(N || (N = {})); 1-> @@ -306,13 +310,13 @@ sourceFile:../second/second_part1.ts > > f(); > } -1->Emitted(16, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(16, 2) Source(11, 2) + SourceIndex(0) -3 >Emitted(16, 4) Source(5, 11) + SourceIndex(0) -4 >Emitted(16, 5) Source(5, 12) + SourceIndex(0) -5 >Emitted(16, 10) Source(5, 11) + SourceIndex(0) -6 >Emitted(16, 11) Source(5, 12) + SourceIndex(0) -7 >Emitted(16, 19) Source(11, 2) + SourceIndex(0) +1->Emitted(18, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(18, 2) Source(11, 2) + SourceIndex(0) +3 >Emitted(18, 4) Source(5, 11) + SourceIndex(0) +4 >Emitted(18, 5) Source(5, 12) + SourceIndex(0) +5 >Emitted(18, 10) Source(5, 11) + SourceIndex(0) +6 >Emitted(18, 11) Source(5, 12) + SourceIndex(0) +7 >Emitted(18, 19) Source(11, 2) + SourceIndex(0) --- >>>function forsecondsecond_part1Rest() { 1-> @@ -323,9 +327,9 @@ sourceFile:../second/second_part1.ts > 2 >function 3 > forsecondsecond_part1Rest -1->Emitted(17, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(17, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(17, 35) Source(12, 35) + SourceIndex(0) +1->Emitted(19, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(19, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(19, 35) Source(12, 35) + SourceIndex(0) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -345,14 +349,14 @@ sourceFile:../second/second_part1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(18, 5) Source(13, 1) + SourceIndex(0) -2 >Emitted(18, 9) Source(13, 7) + SourceIndex(0) -3 >Emitted(18, 38) Source(13, 48) + SourceIndex(0) -4 >Emitted(18, 40) Source(13, 9) + SourceIndex(0) -5 >Emitted(18, 48) Source(13, 10) + SourceIndex(0) -6 >Emitted(18, 50) Source(13, 12) + SourceIndex(0) -7 >Emitted(18, 74) Source(13, 48) + SourceIndex(0) -8 >Emitted(18, 75) Source(13, 49) + SourceIndex(0) +1->Emitted(20, 5) Source(13, 1) + SourceIndex(0) +2 >Emitted(20, 9) Source(13, 7) + SourceIndex(0) +3 >Emitted(20, 38) Source(13, 48) + SourceIndex(0) +4 >Emitted(20, 40) Source(13, 9) + SourceIndex(0) +5 >Emitted(20, 48) Source(13, 10) + SourceIndex(0) +6 >Emitted(20, 50) Source(13, 12) + SourceIndex(0) +7 >Emitted(20, 74) Source(13, 48) + SourceIndex(0) +8 >Emitted(20, 75) Source(13, 49) + SourceIndex(0) --- >>>} 1 > @@ -361,8 +365,8 @@ sourceFile:../second/second_part1.ts 1 > > 2 >} -1 >Emitted(19, 1) Source(14, 1) + SourceIndex(0) -2 >Emitted(19, 2) Source(14, 2) + SourceIndex(0) +1 >Emitted(21, 1) Source(14, 1) + SourceIndex(0) +2 >Emitted(21, 2) Source(14, 2) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/2/second-output.js @@ -372,13 +376,13 @@ sourceFile:../second/second_part2.ts 1-> 2 >^^^^^^^^^^^^^^^^^^^-> 1-> -1->Emitted(20, 1) Source(1, 1) + SourceIndex(1) +1->Emitted(22, 1) Source(1, 1) + SourceIndex(1) --- >>> function C() { 1->^^^^ 2 > ^^-> 1-> -1->Emitted(21, 5) Source(1, 1) + SourceIndex(1) +1->Emitted(23, 5) Source(1, 1) + SourceIndex(1) --- >>> } 1->^^^^ @@ -390,8 +394,8 @@ sourceFile:../second/second_part2.ts > } > 2 > } -1->Emitted(22, 5) Source(5, 1) + SourceIndex(1) -2 >Emitted(22, 6) Source(5, 2) + SourceIndex(1) +1->Emitted(24, 5) Source(5, 1) + SourceIndex(1) +2 >Emitted(24, 6) Source(5, 2) + SourceIndex(1) --- >>> C.prototype.doSomething = function () { 1->^^^^ @@ -401,9 +405,9 @@ sourceFile:../second/second_part2.ts 1-> 2 > doSomething 3 > -1->Emitted(23, 5) Source(2, 5) + SourceIndex(1) -2 >Emitted(23, 28) Source(2, 16) + SourceIndex(1) -3 >Emitted(23, 31) Source(2, 5) + SourceIndex(1) +1->Emitted(25, 5) Source(2, 5) + SourceIndex(1) +2 >Emitted(25, 28) Source(2, 16) + SourceIndex(1) +3 >Emitted(25, 31) Source(2, 5) + SourceIndex(1) --- >>> console.log("something got done"); 1->^^^^^^^^ @@ -423,14 +427,14 @@ sourceFile:../second/second_part2.ts 6 > "something got done" 7 > ) 8 > ; -1->Emitted(24, 9) Source(3, 9) + SourceIndex(1) -2 >Emitted(24, 16) Source(3, 16) + SourceIndex(1) -3 >Emitted(24, 17) Source(3, 17) + SourceIndex(1) -4 >Emitted(24, 20) Source(3, 20) + SourceIndex(1) -5 >Emitted(24, 21) Source(3, 21) + SourceIndex(1) -6 >Emitted(24, 41) Source(3, 41) + SourceIndex(1) -7 >Emitted(24, 42) Source(3, 42) + SourceIndex(1) -8 >Emitted(24, 43) Source(3, 43) + SourceIndex(1) +1->Emitted(26, 9) Source(3, 9) + SourceIndex(1) +2 >Emitted(26, 16) Source(3, 16) + SourceIndex(1) +3 >Emitted(26, 17) Source(3, 17) + SourceIndex(1) +4 >Emitted(26, 20) Source(3, 20) + SourceIndex(1) +5 >Emitted(26, 21) Source(3, 21) + SourceIndex(1) +6 >Emitted(26, 41) Source(3, 41) + SourceIndex(1) +7 >Emitted(26, 42) Source(3, 42) + SourceIndex(1) +8 >Emitted(26, 43) Source(3, 43) + SourceIndex(1) --- >>> }; 1 >^^^^ @@ -439,8 +443,8 @@ sourceFile:../second/second_part2.ts 1 > > 2 > } -1 >Emitted(25, 5) Source(4, 5) + SourceIndex(1) -2 >Emitted(25, 6) Source(4, 6) + SourceIndex(1) +1 >Emitted(27, 5) Source(4, 5) + SourceIndex(1) +2 >Emitted(27, 6) Source(4, 6) + SourceIndex(1) --- >>> return C; 1->^^^^ @@ -448,8 +452,8 @@ sourceFile:../second/second_part2.ts 1-> > 2 > } -1->Emitted(26, 5) Source(5, 1) + SourceIndex(1) -2 >Emitted(26, 13) Source(5, 2) + SourceIndex(1) +1->Emitted(28, 5) Source(5, 1) + SourceIndex(1) +2 >Emitted(28, 13) Source(5, 2) + SourceIndex(1) --- >>>}()); 1 > @@ -465,10 +469,10 @@ sourceFile:../second/second_part2.ts > console.log("something got done"); > } > } -1 >Emitted(27, 1) Source(5, 1) + SourceIndex(1) -2 >Emitted(27, 2) Source(5, 2) + SourceIndex(1) -3 >Emitted(27, 2) Source(1, 1) + SourceIndex(1) -4 >Emitted(27, 6) Source(5, 2) + SourceIndex(1) +1 >Emitted(29, 1) Source(5, 1) + SourceIndex(1) +2 >Emitted(29, 2) Source(5, 2) + SourceIndex(1) +3 >Emitted(29, 2) Source(1, 1) + SourceIndex(1) +4 >Emitted(29, 6) Source(5, 2) + SourceIndex(1) --- >>>//# sourceMappingURL=second-output.js.map @@ -484,13 +488,13 @@ sourceFile:../second/second_part2.ts "sections": [ { "pos": 0, - "end": 415, + "end": 500, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 417, - "end": 821, + "pos": 502, + "end": 906, "kind": "text" } ], @@ -517,18 +521,20 @@ sourceFile:../second/second_part2.ts ====================================================================== File:: /src/2/second-output.js ---------------------------------------------------------------------- -emitHelpers: (0-415):: typescript:rest +emitHelpers: (0-500):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -text: (417-821) +text: (502-906) var N; (function (N) { function f() { @@ -734,8 +740,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var s = "Hello, world"; @@ -750,7 +758,7 @@ function f() { //# sourceMappingURL=first-output.js.map //// [/src/first/bin/first-output.js.map] -{"version":3,"file":"first-output.js","sourceRoot":"","sources":["../first_PART1.ts","../first_part2.ts","../first_part3.ts"],"names":[],"mappings":";;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC"} +{"version":3,"file":"first-output.js","sourceRoot":"","sources":["../first_PART1.ts","../first_part2.ts","../first_part3.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC"} //// [/src/first/bin/first-output.js.map.baseline.txt] =================================================================== @@ -768,8 +776,10 @@ sourceFile:../first_PART1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var s = "Hello, world"; @@ -789,12 +799,12 @@ sourceFile:../first_PART1.ts 4 > = 5 > "Hello, world" 6 > ; -1 >Emitted(10, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(10, 5) Source(5, 7) + SourceIndex(0) -3 >Emitted(10, 6) Source(5, 8) + SourceIndex(0) -4 >Emitted(10, 9) Source(5, 11) + SourceIndex(0) -5 >Emitted(10, 23) Source(5, 25) + SourceIndex(0) -6 >Emitted(10, 24) Source(5, 26) + SourceIndex(0) +1 >Emitted(12, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(12, 5) Source(5, 7) + SourceIndex(0) +3 >Emitted(12, 6) Source(5, 8) + SourceIndex(0) +4 >Emitted(12, 9) Source(5, 11) + SourceIndex(0) +5 >Emitted(12, 23) Source(5, 25) + SourceIndex(0) +6 >Emitted(12, 24) Source(5, 26) + SourceIndex(0) --- >>>console.log(s); 1 > @@ -820,14 +830,14 @@ sourceFile:../first_PART1.ts 6 > s 7 > ) 8 > ; -1 >Emitted(11, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(11, 8) Source(11, 8) + SourceIndex(0) -3 >Emitted(11, 9) Source(11, 9) + SourceIndex(0) -4 >Emitted(11, 12) Source(11, 12) + SourceIndex(0) -5 >Emitted(11, 13) Source(11, 13) + SourceIndex(0) -6 >Emitted(11, 14) Source(11, 14) + SourceIndex(0) -7 >Emitted(11, 15) Source(11, 15) + SourceIndex(0) -8 >Emitted(11, 16) Source(11, 16) + SourceIndex(0) +1 >Emitted(13, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(13, 8) Source(11, 8) + SourceIndex(0) +3 >Emitted(13, 9) Source(11, 9) + SourceIndex(0) +4 >Emitted(13, 12) Source(11, 12) + SourceIndex(0) +5 >Emitted(13, 13) Source(11, 13) + SourceIndex(0) +6 >Emitted(13, 14) Source(11, 14) + SourceIndex(0) +7 >Emitted(13, 15) Source(11, 15) + SourceIndex(0) +8 >Emitted(13, 16) Source(11, 16) + SourceIndex(0) --- >>>function forfirstfirst_PART1Rest() { 1-> @@ -838,9 +848,9 @@ sourceFile:../first_PART1.ts > 2 >function 3 > forfirstfirst_PART1Rest -1->Emitted(12, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(12, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(12, 33) Source(12, 33) + SourceIndex(0) +1->Emitted(14, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(14, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(14, 33) Source(12, 33) + SourceIndex(0) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -860,14 +870,14 @@ sourceFile:../first_PART1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(13, 5) Source(13, 1) + SourceIndex(0) -2 >Emitted(13, 9) Source(13, 7) + SourceIndex(0) -3 >Emitted(13, 38) Source(13, 48) + SourceIndex(0) -4 >Emitted(13, 40) Source(13, 9) + SourceIndex(0) -5 >Emitted(13, 48) Source(13, 10) + SourceIndex(0) -6 >Emitted(13, 50) Source(13, 12) + SourceIndex(0) -7 >Emitted(13, 74) Source(13, 48) + SourceIndex(0) -8 >Emitted(13, 75) Source(13, 49) + SourceIndex(0) +1->Emitted(15, 5) Source(13, 1) + SourceIndex(0) +2 >Emitted(15, 9) Source(13, 7) + SourceIndex(0) +3 >Emitted(15, 38) Source(13, 48) + SourceIndex(0) +4 >Emitted(15, 40) Source(13, 9) + SourceIndex(0) +5 >Emitted(15, 48) Source(13, 10) + SourceIndex(0) +6 >Emitted(15, 50) Source(13, 12) + SourceIndex(0) +7 >Emitted(15, 74) Source(13, 48) + SourceIndex(0) +8 >Emitted(15, 75) Source(13, 49) + SourceIndex(0) --- >>>} 1 > @@ -876,8 +886,8 @@ sourceFile:../first_PART1.ts 1 > > 2 >} -1 >Emitted(14, 1) Source(14, 1) + SourceIndex(0) -2 >Emitted(14, 2) Source(14, 2) + SourceIndex(0) +1 >Emitted(16, 1) Source(14, 1) + SourceIndex(0) +2 >Emitted(16, 2) Source(14, 2) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/first/bin/first-output.js @@ -902,15 +912,15 @@ sourceFile:../first_part2.ts 7 > () 8 > ) 9 > ; -1->Emitted(15, 1) Source(1, 1) + SourceIndex(1) -2 >Emitted(15, 8) Source(1, 8) + SourceIndex(1) -3 >Emitted(15, 9) Source(1, 9) + SourceIndex(1) -4 >Emitted(15, 12) Source(1, 12) + SourceIndex(1) -5 >Emitted(15, 13) Source(1, 13) + SourceIndex(1) -6 >Emitted(15, 14) Source(1, 14) + SourceIndex(1) -7 >Emitted(15, 16) Source(1, 16) + SourceIndex(1) -8 >Emitted(15, 17) Source(1, 17) + SourceIndex(1) -9 >Emitted(15, 18) Source(1, 18) + SourceIndex(1) +1->Emitted(17, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(17, 8) Source(1, 8) + SourceIndex(1) +3 >Emitted(17, 9) Source(1, 9) + SourceIndex(1) +4 >Emitted(17, 12) Source(1, 12) + SourceIndex(1) +5 >Emitted(17, 13) Source(1, 13) + SourceIndex(1) +6 >Emitted(17, 14) Source(1, 14) + SourceIndex(1) +7 >Emitted(17, 16) Source(1, 16) + SourceIndex(1) +8 >Emitted(17, 17) Source(1, 17) + SourceIndex(1) +9 >Emitted(17, 18) Source(1, 18) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/first/bin/first-output.js @@ -924,9 +934,9 @@ sourceFile:../first_part3.ts 1 > 2 >function 3 > f -1 >Emitted(16, 1) Source(1, 1) + SourceIndex(2) -2 >Emitted(16, 10) Source(1, 10) + SourceIndex(2) -3 >Emitted(16, 11) Source(1, 11) + SourceIndex(2) +1 >Emitted(18, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(18, 10) Source(1, 10) + SourceIndex(2) +3 >Emitted(18, 11) Source(1, 11) + SourceIndex(2) --- >>> return "JS does hoists"; 1->^^^^ @@ -938,10 +948,10 @@ sourceFile:../first_part3.ts 2 > return 3 > "JS does hoists" 4 > ; -1->Emitted(17, 5) Source(2, 5) + SourceIndex(2) -2 >Emitted(17, 12) Source(2, 12) + SourceIndex(2) -3 >Emitted(17, 28) Source(2, 28) + SourceIndex(2) -4 >Emitted(17, 29) Source(2, 29) + SourceIndex(2) +1->Emitted(19, 5) Source(2, 5) + SourceIndex(2) +2 >Emitted(19, 12) Source(2, 12) + SourceIndex(2) +3 >Emitted(19, 28) Source(2, 28) + SourceIndex(2) +4 >Emitted(19, 29) Source(2, 29) + SourceIndex(2) --- >>>} 1 > @@ -950,8 +960,8 @@ sourceFile:../first_part3.ts 1 > > 2 >} -1 >Emitted(18, 1) Source(3, 1) + SourceIndex(2) -2 >Emitted(18, 2) Source(3, 2) + SourceIndex(2) +1 >Emitted(20, 1) Source(3, 1) + SourceIndex(2) +2 >Emitted(20, 2) Source(3, 2) + SourceIndex(2) --- >>>//# sourceMappingURL=first-output.js.map @@ -968,13 +978,13 @@ sourceFile:../first_part3.ts "sections": [ { "pos": 0, - "end": 415, + "end": 500, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 417, - "end": 644, + "pos": 502, + "end": 729, "kind": "text" } ], @@ -1001,18 +1011,20 @@ sourceFile:../first_part3.ts ====================================================================== File:: /src/first/bin/first-output.js ---------------------------------------------------------------------- -emitHelpers: (0-415):: typescript:rest +emitHelpers: (0-500):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -text: (417-644) +text: (502-729) var s = "Hello, world"; console.log(s); function forfirstfirst_PART1Rest() { @@ -1399,8 +1411,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var s = "Hello, world"; @@ -1438,7 +1452,7 @@ function forthirdthird_part1Rest() { //# sourceMappingURL=third-output.js.map //// [/src/third/thirdjs/output/third-output.js.map] -{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;ACED,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;ACJD,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC;AAChB,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC"} +{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;ACED,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;ACJD,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC;AAChB,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC"} //// [/src/third/thirdjs/output/third-output.js.map.baseline.txt] =================================================================== @@ -1456,8 +1470,10 @@ sourceFile:../../../first/first_PART1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var s = "Hello, world"; @@ -1477,12 +1493,12 @@ sourceFile:../../../first/first_PART1.ts 4 > = 5 > "Hello, world" 6 > ; -1 >Emitted(10, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(10, 5) Source(5, 7) + SourceIndex(0) -3 >Emitted(10, 6) Source(5, 8) + SourceIndex(0) -4 >Emitted(10, 9) Source(5, 11) + SourceIndex(0) -5 >Emitted(10, 23) Source(5, 25) + SourceIndex(0) -6 >Emitted(10, 24) Source(5, 26) + SourceIndex(0) +1 >Emitted(12, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(12, 5) Source(5, 7) + SourceIndex(0) +3 >Emitted(12, 6) Source(5, 8) + SourceIndex(0) +4 >Emitted(12, 9) Source(5, 11) + SourceIndex(0) +5 >Emitted(12, 23) Source(5, 25) + SourceIndex(0) +6 >Emitted(12, 24) Source(5, 26) + SourceIndex(0) --- >>>console.log(s); 1 > @@ -1508,14 +1524,14 @@ sourceFile:../../../first/first_PART1.ts 6 > s 7 > ) 8 > ; -1 >Emitted(11, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(11, 8) Source(11, 8) + SourceIndex(0) -3 >Emitted(11, 9) Source(11, 9) + SourceIndex(0) -4 >Emitted(11, 12) Source(11, 12) + SourceIndex(0) -5 >Emitted(11, 13) Source(11, 13) + SourceIndex(0) -6 >Emitted(11, 14) Source(11, 14) + SourceIndex(0) -7 >Emitted(11, 15) Source(11, 15) + SourceIndex(0) -8 >Emitted(11, 16) Source(11, 16) + SourceIndex(0) +1 >Emitted(13, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(13, 8) Source(11, 8) + SourceIndex(0) +3 >Emitted(13, 9) Source(11, 9) + SourceIndex(0) +4 >Emitted(13, 12) Source(11, 12) + SourceIndex(0) +5 >Emitted(13, 13) Source(11, 13) + SourceIndex(0) +6 >Emitted(13, 14) Source(11, 14) + SourceIndex(0) +7 >Emitted(13, 15) Source(11, 15) + SourceIndex(0) +8 >Emitted(13, 16) Source(11, 16) + SourceIndex(0) --- >>>function forfirstfirst_PART1Rest() { 1-> @@ -1526,9 +1542,9 @@ sourceFile:../../../first/first_PART1.ts > 2 >function 3 > forfirstfirst_PART1Rest -1->Emitted(12, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(12, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(12, 33) Source(12, 33) + SourceIndex(0) +1->Emitted(14, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(14, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(14, 33) Source(12, 33) + SourceIndex(0) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -1548,14 +1564,14 @@ sourceFile:../../../first/first_PART1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(13, 5) Source(13, 1) + SourceIndex(0) -2 >Emitted(13, 9) Source(13, 7) + SourceIndex(0) -3 >Emitted(13, 38) Source(13, 48) + SourceIndex(0) -4 >Emitted(13, 40) Source(13, 9) + SourceIndex(0) -5 >Emitted(13, 48) Source(13, 10) + SourceIndex(0) -6 >Emitted(13, 50) Source(13, 12) + SourceIndex(0) -7 >Emitted(13, 74) Source(13, 48) + SourceIndex(0) -8 >Emitted(13, 75) Source(13, 49) + SourceIndex(0) +1->Emitted(15, 5) Source(13, 1) + SourceIndex(0) +2 >Emitted(15, 9) Source(13, 7) + SourceIndex(0) +3 >Emitted(15, 38) Source(13, 48) + SourceIndex(0) +4 >Emitted(15, 40) Source(13, 9) + SourceIndex(0) +5 >Emitted(15, 48) Source(13, 10) + SourceIndex(0) +6 >Emitted(15, 50) Source(13, 12) + SourceIndex(0) +7 >Emitted(15, 74) Source(13, 48) + SourceIndex(0) +8 >Emitted(15, 75) Source(13, 49) + SourceIndex(0) --- >>>} 1 > @@ -1564,8 +1580,8 @@ sourceFile:../../../first/first_PART1.ts 1 > > 2 >} -1 >Emitted(14, 1) Source(14, 1) + SourceIndex(0) -2 >Emitted(14, 2) Source(14, 2) + SourceIndex(0) +1 >Emitted(16, 1) Source(14, 1) + SourceIndex(0) +2 >Emitted(16, 2) Source(14, 2) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1590,15 +1606,15 @@ sourceFile:../../../first/first_part2.ts 7 > () 8 > ) 9 > ; -1->Emitted(15, 1) Source(1, 1) + SourceIndex(1) -2 >Emitted(15, 8) Source(1, 8) + SourceIndex(1) -3 >Emitted(15, 9) Source(1, 9) + SourceIndex(1) -4 >Emitted(15, 12) Source(1, 12) + SourceIndex(1) -5 >Emitted(15, 13) Source(1, 13) + SourceIndex(1) -6 >Emitted(15, 14) Source(1, 14) + SourceIndex(1) -7 >Emitted(15, 16) Source(1, 16) + SourceIndex(1) -8 >Emitted(15, 17) Source(1, 17) + SourceIndex(1) -9 >Emitted(15, 18) Source(1, 18) + SourceIndex(1) +1->Emitted(17, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(17, 8) Source(1, 8) + SourceIndex(1) +3 >Emitted(17, 9) Source(1, 9) + SourceIndex(1) +4 >Emitted(17, 12) Source(1, 12) + SourceIndex(1) +5 >Emitted(17, 13) Source(1, 13) + SourceIndex(1) +6 >Emitted(17, 14) Source(1, 14) + SourceIndex(1) +7 >Emitted(17, 16) Source(1, 16) + SourceIndex(1) +8 >Emitted(17, 17) Source(1, 17) + SourceIndex(1) +9 >Emitted(17, 18) Source(1, 18) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1612,9 +1628,9 @@ sourceFile:../../../first/first_part3.ts 1 > 2 >function 3 > f -1 >Emitted(16, 1) Source(1, 1) + SourceIndex(2) -2 >Emitted(16, 10) Source(1, 10) + SourceIndex(2) -3 >Emitted(16, 11) Source(1, 11) + SourceIndex(2) +1 >Emitted(18, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(18, 10) Source(1, 10) + SourceIndex(2) +3 >Emitted(18, 11) Source(1, 11) + SourceIndex(2) --- >>> return "JS does hoists"; 1->^^^^ @@ -1626,10 +1642,10 @@ sourceFile:../../../first/first_part3.ts 2 > return 3 > "JS does hoists" 4 > ; -1->Emitted(17, 5) Source(2, 5) + SourceIndex(2) -2 >Emitted(17, 12) Source(2, 12) + SourceIndex(2) -3 >Emitted(17, 28) Source(2, 28) + SourceIndex(2) -4 >Emitted(17, 29) Source(2, 29) + SourceIndex(2) +1->Emitted(19, 5) Source(2, 5) + SourceIndex(2) +2 >Emitted(19, 12) Source(2, 12) + SourceIndex(2) +3 >Emitted(19, 28) Source(2, 28) + SourceIndex(2) +4 >Emitted(19, 29) Source(2, 29) + SourceIndex(2) --- >>>} 1 > @@ -1638,8 +1654,8 @@ sourceFile:../../../first/first_part3.ts 1 > > 2 >} -1 >Emitted(18, 1) Source(3, 1) + SourceIndex(2) -2 >Emitted(18, 2) Source(3, 2) + SourceIndex(2) +1 >Emitted(20, 1) Source(3, 1) + SourceIndex(2) +2 >Emitted(20, 2) Source(3, 2) + SourceIndex(2) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1665,10 +1681,10 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1->Emitted(19, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(19, 5) Source(5, 11) + SourceIndex(3) -3 >Emitted(19, 6) Source(5, 12) + SourceIndex(3) -4 >Emitted(19, 7) Source(11, 2) + SourceIndex(3) +1->Emitted(21, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(21, 5) Source(5, 11) + SourceIndex(3) +3 >Emitted(21, 6) Source(5, 12) + SourceIndex(3) +4 >Emitted(21, 7) Source(11, 2) + SourceIndex(3) --- >>>(function (N) { 1-> @@ -1678,9 +1694,9 @@ sourceFile:../../../second/second_part1.ts 1-> 2 >namespace 3 > N -1->Emitted(20, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(20, 12) Source(5, 11) + SourceIndex(3) -3 >Emitted(20, 13) Source(5, 12) + SourceIndex(3) +1->Emitted(22, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(22, 12) Source(5, 11) + SourceIndex(3) +3 >Emitted(22, 13) Source(5, 12) + SourceIndex(3) --- >>> function f() { 1->^^^^ @@ -1691,9 +1707,9 @@ sourceFile:../../../second/second_part1.ts > 2 > function 3 > f -1->Emitted(21, 5) Source(6, 5) + SourceIndex(3) -2 >Emitted(21, 14) Source(6, 14) + SourceIndex(3) -3 >Emitted(21, 15) Source(6, 15) + SourceIndex(3) +1->Emitted(23, 5) Source(6, 5) + SourceIndex(3) +2 >Emitted(23, 14) Source(6, 14) + SourceIndex(3) +3 >Emitted(23, 15) Source(6, 15) + SourceIndex(3) --- >>> console.log('testing'); 1->^^^^^^^^ @@ -1713,14 +1729,14 @@ sourceFile:../../../second/second_part1.ts 6 > 'testing' 7 > ) 8 > ; -1->Emitted(22, 9) Source(7, 9) + SourceIndex(3) -2 >Emitted(22, 16) Source(7, 16) + SourceIndex(3) -3 >Emitted(22, 17) Source(7, 17) + SourceIndex(3) -4 >Emitted(22, 20) Source(7, 20) + SourceIndex(3) -5 >Emitted(22, 21) Source(7, 21) + SourceIndex(3) -6 >Emitted(22, 30) Source(7, 30) + SourceIndex(3) -7 >Emitted(22, 31) Source(7, 31) + SourceIndex(3) -8 >Emitted(22, 32) Source(7, 32) + SourceIndex(3) +1->Emitted(24, 9) Source(7, 9) + SourceIndex(3) +2 >Emitted(24, 16) Source(7, 16) + SourceIndex(3) +3 >Emitted(24, 17) Source(7, 17) + SourceIndex(3) +4 >Emitted(24, 20) Source(7, 20) + SourceIndex(3) +5 >Emitted(24, 21) Source(7, 21) + SourceIndex(3) +6 >Emitted(24, 30) Source(7, 30) + SourceIndex(3) +7 >Emitted(24, 31) Source(7, 31) + SourceIndex(3) +8 >Emitted(24, 32) Source(7, 32) + SourceIndex(3) --- >>> } 1 >^^^^ @@ -1729,8 +1745,8 @@ sourceFile:../../../second/second_part1.ts 1 > > 2 > } -1 >Emitted(23, 5) Source(8, 5) + SourceIndex(3) -2 >Emitted(23, 6) Source(8, 6) + SourceIndex(3) +1 >Emitted(25, 5) Source(8, 5) + SourceIndex(3) +2 >Emitted(25, 6) Source(8, 6) + SourceIndex(3) --- >>> f(); 1->^^^^ @@ -1744,10 +1760,10 @@ sourceFile:../../../second/second_part1.ts 2 > f 3 > () 4 > ; -1->Emitted(24, 5) Source(10, 5) + SourceIndex(3) -2 >Emitted(24, 6) Source(10, 6) + SourceIndex(3) -3 >Emitted(24, 8) Source(10, 8) + SourceIndex(3) -4 >Emitted(24, 9) Source(10, 9) + SourceIndex(3) +1->Emitted(26, 5) Source(10, 5) + SourceIndex(3) +2 >Emitted(26, 6) Source(10, 6) + SourceIndex(3) +3 >Emitted(26, 8) Source(10, 8) + SourceIndex(3) +4 >Emitted(26, 9) Source(10, 9) + SourceIndex(3) --- >>>})(N || (N = {})); 1-> @@ -1772,13 +1788,13 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1->Emitted(25, 1) Source(11, 1) + SourceIndex(3) -2 >Emitted(25, 2) Source(11, 2) + SourceIndex(3) -3 >Emitted(25, 4) Source(5, 11) + SourceIndex(3) -4 >Emitted(25, 5) Source(5, 12) + SourceIndex(3) -5 >Emitted(25, 10) Source(5, 11) + SourceIndex(3) -6 >Emitted(25, 11) Source(5, 12) + SourceIndex(3) -7 >Emitted(25, 19) Source(11, 2) + SourceIndex(3) +1->Emitted(27, 1) Source(11, 1) + SourceIndex(3) +2 >Emitted(27, 2) Source(11, 2) + SourceIndex(3) +3 >Emitted(27, 4) Source(5, 11) + SourceIndex(3) +4 >Emitted(27, 5) Source(5, 12) + SourceIndex(3) +5 >Emitted(27, 10) Source(5, 11) + SourceIndex(3) +6 >Emitted(27, 11) Source(5, 12) + SourceIndex(3) +7 >Emitted(27, 19) Source(11, 2) + SourceIndex(3) --- >>>function forsecondsecond_part1Rest() { 1-> @@ -1789,9 +1805,9 @@ sourceFile:../../../second/second_part1.ts > 2 >function 3 > forsecondsecond_part1Rest -1->Emitted(26, 1) Source(12, 1) + SourceIndex(3) -2 >Emitted(26, 10) Source(12, 10) + SourceIndex(3) -3 >Emitted(26, 35) Source(12, 35) + SourceIndex(3) +1->Emitted(28, 1) Source(12, 1) + SourceIndex(3) +2 >Emitted(28, 10) Source(12, 10) + SourceIndex(3) +3 >Emitted(28, 35) Source(12, 35) + SourceIndex(3) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -1811,14 +1827,14 @@ sourceFile:../../../second/second_part1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(27, 5) Source(13, 1) + SourceIndex(3) -2 >Emitted(27, 9) Source(13, 7) + SourceIndex(3) -3 >Emitted(27, 38) Source(13, 48) + SourceIndex(3) -4 >Emitted(27, 40) Source(13, 9) + SourceIndex(3) -5 >Emitted(27, 48) Source(13, 10) + SourceIndex(3) -6 >Emitted(27, 50) Source(13, 12) + SourceIndex(3) -7 >Emitted(27, 74) Source(13, 48) + SourceIndex(3) -8 >Emitted(27, 75) Source(13, 49) + SourceIndex(3) +1->Emitted(29, 5) Source(13, 1) + SourceIndex(3) +2 >Emitted(29, 9) Source(13, 7) + SourceIndex(3) +3 >Emitted(29, 38) Source(13, 48) + SourceIndex(3) +4 >Emitted(29, 40) Source(13, 9) + SourceIndex(3) +5 >Emitted(29, 48) Source(13, 10) + SourceIndex(3) +6 >Emitted(29, 50) Source(13, 12) + SourceIndex(3) +7 >Emitted(29, 74) Source(13, 48) + SourceIndex(3) +8 >Emitted(29, 75) Source(13, 49) + SourceIndex(3) --- >>>} 1 > @@ -1827,8 +1843,8 @@ sourceFile:../../../second/second_part1.ts 1 > > 2 >} -1 >Emitted(28, 1) Source(14, 1) + SourceIndex(3) -2 >Emitted(28, 2) Source(14, 2) + SourceIndex(3) +1 >Emitted(30, 1) Source(14, 1) + SourceIndex(3) +2 >Emitted(30, 2) Source(14, 2) + SourceIndex(3) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1838,13 +1854,13 @@ sourceFile:../../../second/second_part2.ts 1-> 2 >^^^^^^^^^^^^^^^^^^^-> 1-> -1->Emitted(29, 1) Source(1, 1) + SourceIndex(4) +1->Emitted(31, 1) Source(1, 1) + SourceIndex(4) --- >>> function C() { 1->^^^^ 2 > ^^-> 1-> -1->Emitted(30, 5) Source(1, 1) + SourceIndex(4) +1->Emitted(32, 5) Source(1, 1) + SourceIndex(4) --- >>> } 1->^^^^ @@ -1856,8 +1872,8 @@ sourceFile:../../../second/second_part2.ts > } > 2 > } -1->Emitted(31, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(31, 6) Source(5, 2) + SourceIndex(4) +1->Emitted(33, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(33, 6) Source(5, 2) + SourceIndex(4) --- >>> C.prototype.doSomething = function () { 1->^^^^ @@ -1867,9 +1883,9 @@ sourceFile:../../../second/second_part2.ts 1-> 2 > doSomething 3 > -1->Emitted(32, 5) Source(2, 5) + SourceIndex(4) -2 >Emitted(32, 28) Source(2, 16) + SourceIndex(4) -3 >Emitted(32, 31) Source(2, 5) + SourceIndex(4) +1->Emitted(34, 5) Source(2, 5) + SourceIndex(4) +2 >Emitted(34, 28) Source(2, 16) + SourceIndex(4) +3 >Emitted(34, 31) Source(2, 5) + SourceIndex(4) --- >>> console.log("something got done"); 1->^^^^^^^^ @@ -1889,14 +1905,14 @@ sourceFile:../../../second/second_part2.ts 6 > "something got done" 7 > ) 8 > ; -1->Emitted(33, 9) Source(3, 9) + SourceIndex(4) -2 >Emitted(33, 16) Source(3, 16) + SourceIndex(4) -3 >Emitted(33, 17) Source(3, 17) + SourceIndex(4) -4 >Emitted(33, 20) Source(3, 20) + SourceIndex(4) -5 >Emitted(33, 21) Source(3, 21) + SourceIndex(4) -6 >Emitted(33, 41) Source(3, 41) + SourceIndex(4) -7 >Emitted(33, 42) Source(3, 42) + SourceIndex(4) -8 >Emitted(33, 43) Source(3, 43) + SourceIndex(4) +1->Emitted(35, 9) Source(3, 9) + SourceIndex(4) +2 >Emitted(35, 16) Source(3, 16) + SourceIndex(4) +3 >Emitted(35, 17) Source(3, 17) + SourceIndex(4) +4 >Emitted(35, 20) Source(3, 20) + SourceIndex(4) +5 >Emitted(35, 21) Source(3, 21) + SourceIndex(4) +6 >Emitted(35, 41) Source(3, 41) + SourceIndex(4) +7 >Emitted(35, 42) Source(3, 42) + SourceIndex(4) +8 >Emitted(35, 43) Source(3, 43) + SourceIndex(4) --- >>> }; 1 >^^^^ @@ -1905,8 +1921,8 @@ sourceFile:../../../second/second_part2.ts 1 > > 2 > } -1 >Emitted(34, 5) Source(4, 5) + SourceIndex(4) -2 >Emitted(34, 6) Source(4, 6) + SourceIndex(4) +1 >Emitted(36, 5) Source(4, 5) + SourceIndex(4) +2 >Emitted(36, 6) Source(4, 6) + SourceIndex(4) --- >>> return C; 1->^^^^ @@ -1914,8 +1930,8 @@ sourceFile:../../../second/second_part2.ts 1-> > 2 > } -1->Emitted(35, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(35, 13) Source(5, 2) + SourceIndex(4) +1->Emitted(37, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(37, 13) Source(5, 2) + SourceIndex(4) --- >>>}()); 1 > @@ -1931,10 +1947,10 @@ sourceFile:../../../second/second_part2.ts > console.log("something got done"); > } > } -1 >Emitted(36, 1) Source(5, 1) + SourceIndex(4) -2 >Emitted(36, 2) Source(5, 2) + SourceIndex(4) -3 >Emitted(36, 2) Source(1, 1) + SourceIndex(4) -4 >Emitted(36, 6) Source(5, 2) + SourceIndex(4) +1 >Emitted(38, 1) Source(5, 1) + SourceIndex(4) +2 >Emitted(38, 2) Source(5, 2) + SourceIndex(4) +3 >Emitted(38, 2) Source(1, 1) + SourceIndex(4) +4 >Emitted(38, 6) Source(5, 2) + SourceIndex(4) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1958,14 +1974,14 @@ sourceFile:../../third_part1.ts 6 > C 7 > () 8 > ; -1->Emitted(37, 1) Source(1, 1) + SourceIndex(5) -2 >Emitted(37, 5) Source(1, 5) + SourceIndex(5) -3 >Emitted(37, 6) Source(1, 6) + SourceIndex(5) -4 >Emitted(37, 9) Source(1, 9) + SourceIndex(5) -5 >Emitted(37, 13) Source(1, 13) + SourceIndex(5) -6 >Emitted(37, 14) Source(1, 14) + SourceIndex(5) -7 >Emitted(37, 16) Source(1, 16) + SourceIndex(5) -8 >Emitted(37, 17) Source(1, 17) + SourceIndex(5) +1->Emitted(39, 1) Source(1, 1) + SourceIndex(5) +2 >Emitted(39, 5) Source(1, 5) + SourceIndex(5) +3 >Emitted(39, 6) Source(1, 6) + SourceIndex(5) +4 >Emitted(39, 9) Source(1, 9) + SourceIndex(5) +5 >Emitted(39, 13) Source(1, 13) + SourceIndex(5) +6 >Emitted(39, 14) Source(1, 14) + SourceIndex(5) +7 >Emitted(39, 16) Source(1, 16) + SourceIndex(5) +8 >Emitted(39, 17) Source(1, 17) + SourceIndex(5) --- >>>c.doSomething(); 1-> @@ -1982,12 +1998,12 @@ sourceFile:../../third_part1.ts 4 > doSomething 5 > () 6 > ; -1->Emitted(38, 1) Source(2, 1) + SourceIndex(5) -2 >Emitted(38, 2) Source(2, 2) + SourceIndex(5) -3 >Emitted(38, 3) Source(2, 3) + SourceIndex(5) -4 >Emitted(38, 14) Source(2, 14) + SourceIndex(5) -5 >Emitted(38, 16) Source(2, 16) + SourceIndex(5) -6 >Emitted(38, 17) Source(2, 17) + SourceIndex(5) +1->Emitted(40, 1) Source(2, 1) + SourceIndex(5) +2 >Emitted(40, 2) Source(2, 2) + SourceIndex(5) +3 >Emitted(40, 3) Source(2, 3) + SourceIndex(5) +4 >Emitted(40, 14) Source(2, 14) + SourceIndex(5) +5 >Emitted(40, 16) Source(2, 16) + SourceIndex(5) +6 >Emitted(40, 17) Source(2, 17) + SourceIndex(5) --- >>>function forthirdthird_part1Rest() { 1-> @@ -1998,9 +2014,9 @@ sourceFile:../../third_part1.ts > 2 >function 3 > forthirdthird_part1Rest -1->Emitted(39, 1) Source(3, 1) + SourceIndex(5) -2 >Emitted(39, 10) Source(3, 10) + SourceIndex(5) -3 >Emitted(39, 33) Source(3, 33) + SourceIndex(5) +1->Emitted(41, 1) Source(3, 1) + SourceIndex(5) +2 >Emitted(41, 10) Source(3, 10) + SourceIndex(5) +3 >Emitted(41, 33) Source(3, 33) + SourceIndex(5) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -2020,14 +2036,14 @@ sourceFile:../../third_part1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(40, 5) Source(4, 1) + SourceIndex(5) -2 >Emitted(40, 9) Source(4, 7) + SourceIndex(5) -3 >Emitted(40, 38) Source(4, 48) + SourceIndex(5) -4 >Emitted(40, 40) Source(4, 9) + SourceIndex(5) -5 >Emitted(40, 48) Source(4, 10) + SourceIndex(5) -6 >Emitted(40, 50) Source(4, 12) + SourceIndex(5) -7 >Emitted(40, 74) Source(4, 48) + SourceIndex(5) -8 >Emitted(40, 75) Source(4, 49) + SourceIndex(5) +1->Emitted(42, 5) Source(4, 1) + SourceIndex(5) +2 >Emitted(42, 9) Source(4, 7) + SourceIndex(5) +3 >Emitted(42, 38) Source(4, 48) + SourceIndex(5) +4 >Emitted(42, 40) Source(4, 9) + SourceIndex(5) +5 >Emitted(42, 48) Source(4, 10) + SourceIndex(5) +6 >Emitted(42, 50) Source(4, 12) + SourceIndex(5) +7 >Emitted(42, 74) Source(4, 48) + SourceIndex(5) +8 >Emitted(42, 75) Source(4, 49) + SourceIndex(5) --- >>>} 1 > @@ -2036,8 +2052,8 @@ sourceFile:../../third_part1.ts 1 > > 2 >} -1 >Emitted(41, 1) Source(5, 1) + SourceIndex(5) -2 >Emitted(41, 2) Source(5, 2) + SourceIndex(5) +1 >Emitted(43, 1) Source(5, 1) + SourceIndex(5) +2 >Emitted(43, 2) Source(5, 2) + SourceIndex(5) --- >>>//# sourceMappingURL=third-output.js.map @@ -2052,39 +2068,39 @@ sourceFile:../../third_part1.ts "sections": [ { "pos": 0, - "end": 415, + "end": 500, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 417, - "end": 644, + "pos": 502, + "end": 729, "kind": "prepend", "data": "/src/first/bin/first-output.js", "texts": [ { - "pos": 417, - "end": 644, + "pos": 502, + "end": 729, "kind": "text" } ] }, { - "pos": 644, - "end": 1048, + "pos": 729, + "end": 1133, "kind": "prepend", "data": "/src/2/second-output.js", "texts": [ { - "pos": 644, - "end": 1048, + "pos": 729, + "end": 1133, "kind": "text" } ] }, { - "pos": 1048, - "end": 1201, + "pos": 1133, + "end": 1286, "kind": "text" } ], @@ -2137,20 +2153,22 @@ sourceFile:../../third_part1.ts ====================================================================== File:: /src/third/thirdjs/output/third-output.js ---------------------------------------------------------------------- -emitHelpers: (0-415):: typescript:rest +emitHelpers: (0-500):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -prepend: (417-644):: /src/first/bin/first-output.js texts:: 1 +prepend: (502-729):: /src/first/bin/first-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (417-644) +text: (502-729) var s = "Hello, world"; console.log(s); function forfirstfirst_PART1Rest() { @@ -2162,9 +2180,9 @@ function f() { } ---------------------------------------------------------------------- -prepend: (644-1048):: /src/2/second-output.js texts:: 1 +prepend: (729-1133):: /src/2/second-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (644-1048) +text: (729-1133) var N; (function (N) { function f() { @@ -2185,7 +2203,7 @@ var C = (function () { }()); ---------------------------------------------------------------------- -text: (1048-1201) +text: (1133-1286) var c = new C(); c.doSomething(); function forthirdthird_part1Rest() { diff --git a/tests/baselines/reference/tsbuild/outfile-concat/initial-Build/emitHelpers-in-only-one-dependency-project.js b/tests/baselines/reference/tsbuild/outfile-concat/initial-Build/emitHelpers-in-only-one-dependency-project.js index fba3d8b427a..d97e63db8a3 100644 --- a/tests/baselines/reference/tsbuild/outfile-concat/initial-Build/emitHelpers-in-only-one-dependency-project.js +++ b/tests/baselines/reference/tsbuild/outfile-concat/initial-Build/emitHelpers-in-only-one-dependency-project.js @@ -132,8 +132,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var N; @@ -157,7 +159,7 @@ var C = (function () { //# sourceMappingURL=second-output.js.map //// [/src/2/second-output.js.map] -{"version":3,"file":"second-output.js","sourceRoot":"","sources":["../second/second_part1.ts","../second/second_part2.ts"],"names":[],"mappings":";;;;;;;;;AAIA,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC"} +{"version":3,"file":"second-output.js","sourceRoot":"","sources":["../second/second_part1.ts","../second/second_part2.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC"} //// [/src/2/second-output.js.map.baseline.txt] =================================================================== @@ -175,8 +177,10 @@ sourceFile:../second/second_part1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var N; @@ -199,10 +203,10 @@ sourceFile:../second/second_part1.ts > > f(); > } -1 >Emitted(10, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(10, 5) Source(5, 11) + SourceIndex(0) -3 >Emitted(10, 6) Source(5, 12) + SourceIndex(0) -4 >Emitted(10, 7) Source(11, 2) + SourceIndex(0) +1 >Emitted(12, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(12, 5) Source(5, 11) + SourceIndex(0) +3 >Emitted(12, 6) Source(5, 12) + SourceIndex(0) +4 >Emitted(12, 7) Source(11, 2) + SourceIndex(0) --- >>>(function (N) { 1-> @@ -212,9 +216,9 @@ sourceFile:../second/second_part1.ts 1-> 2 >namespace 3 > N -1->Emitted(11, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(11, 12) Source(5, 11) + SourceIndex(0) -3 >Emitted(11, 13) Source(5, 12) + SourceIndex(0) +1->Emitted(13, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(13, 12) Source(5, 11) + SourceIndex(0) +3 >Emitted(13, 13) Source(5, 12) + SourceIndex(0) --- >>> function f() { 1->^^^^ @@ -225,9 +229,9 @@ sourceFile:../second/second_part1.ts > 2 > function 3 > f -1->Emitted(12, 5) Source(6, 5) + SourceIndex(0) -2 >Emitted(12, 14) Source(6, 14) + SourceIndex(0) -3 >Emitted(12, 15) Source(6, 15) + SourceIndex(0) +1->Emitted(14, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(14, 14) Source(6, 14) + SourceIndex(0) +3 >Emitted(14, 15) Source(6, 15) + SourceIndex(0) --- >>> console.log('testing'); 1->^^^^^^^^ @@ -247,14 +251,14 @@ sourceFile:../second/second_part1.ts 6 > 'testing' 7 > ) 8 > ; -1->Emitted(13, 9) Source(7, 9) + SourceIndex(0) -2 >Emitted(13, 16) Source(7, 16) + SourceIndex(0) -3 >Emitted(13, 17) Source(7, 17) + SourceIndex(0) -4 >Emitted(13, 20) Source(7, 20) + SourceIndex(0) -5 >Emitted(13, 21) Source(7, 21) + SourceIndex(0) -6 >Emitted(13, 30) Source(7, 30) + SourceIndex(0) -7 >Emitted(13, 31) Source(7, 31) + SourceIndex(0) -8 >Emitted(13, 32) Source(7, 32) + SourceIndex(0) +1->Emitted(15, 9) Source(7, 9) + SourceIndex(0) +2 >Emitted(15, 16) Source(7, 16) + SourceIndex(0) +3 >Emitted(15, 17) Source(7, 17) + SourceIndex(0) +4 >Emitted(15, 20) Source(7, 20) + SourceIndex(0) +5 >Emitted(15, 21) Source(7, 21) + SourceIndex(0) +6 >Emitted(15, 30) Source(7, 30) + SourceIndex(0) +7 >Emitted(15, 31) Source(7, 31) + SourceIndex(0) +8 >Emitted(15, 32) Source(7, 32) + SourceIndex(0) --- >>> } 1 >^^^^ @@ -263,8 +267,8 @@ sourceFile:../second/second_part1.ts 1 > > 2 > } -1 >Emitted(14, 5) Source(8, 5) + SourceIndex(0) -2 >Emitted(14, 6) Source(8, 6) + SourceIndex(0) +1 >Emitted(16, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(16, 6) Source(8, 6) + SourceIndex(0) --- >>> f(); 1->^^^^ @@ -278,10 +282,10 @@ sourceFile:../second/second_part1.ts 2 > f 3 > () 4 > ; -1->Emitted(15, 5) Source(10, 5) + SourceIndex(0) -2 >Emitted(15, 6) Source(10, 6) + SourceIndex(0) -3 >Emitted(15, 8) Source(10, 8) + SourceIndex(0) -4 >Emitted(15, 9) Source(10, 9) + SourceIndex(0) +1->Emitted(17, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(17, 6) Source(10, 6) + SourceIndex(0) +3 >Emitted(17, 8) Source(10, 8) + SourceIndex(0) +4 >Emitted(17, 9) Source(10, 9) + SourceIndex(0) --- >>>})(N || (N = {})); 1-> @@ -306,13 +310,13 @@ sourceFile:../second/second_part1.ts > > f(); > } -1->Emitted(16, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(16, 2) Source(11, 2) + SourceIndex(0) -3 >Emitted(16, 4) Source(5, 11) + SourceIndex(0) -4 >Emitted(16, 5) Source(5, 12) + SourceIndex(0) -5 >Emitted(16, 10) Source(5, 11) + SourceIndex(0) -6 >Emitted(16, 11) Source(5, 12) + SourceIndex(0) -7 >Emitted(16, 19) Source(11, 2) + SourceIndex(0) +1->Emitted(18, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(18, 2) Source(11, 2) + SourceIndex(0) +3 >Emitted(18, 4) Source(5, 11) + SourceIndex(0) +4 >Emitted(18, 5) Source(5, 12) + SourceIndex(0) +5 >Emitted(18, 10) Source(5, 11) + SourceIndex(0) +6 >Emitted(18, 11) Source(5, 12) + SourceIndex(0) +7 >Emitted(18, 19) Source(11, 2) + SourceIndex(0) --- >>>function forsecondsecond_part1Rest() { 1-> @@ -323,9 +327,9 @@ sourceFile:../second/second_part1.ts > 2 >function 3 > forsecondsecond_part1Rest -1->Emitted(17, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(17, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(17, 35) Source(12, 35) + SourceIndex(0) +1->Emitted(19, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(19, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(19, 35) Source(12, 35) + SourceIndex(0) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -345,14 +349,14 @@ sourceFile:../second/second_part1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(18, 5) Source(13, 1) + SourceIndex(0) -2 >Emitted(18, 9) Source(13, 7) + SourceIndex(0) -3 >Emitted(18, 38) Source(13, 48) + SourceIndex(0) -4 >Emitted(18, 40) Source(13, 9) + SourceIndex(0) -5 >Emitted(18, 48) Source(13, 10) + SourceIndex(0) -6 >Emitted(18, 50) Source(13, 12) + SourceIndex(0) -7 >Emitted(18, 74) Source(13, 48) + SourceIndex(0) -8 >Emitted(18, 75) Source(13, 49) + SourceIndex(0) +1->Emitted(20, 5) Source(13, 1) + SourceIndex(0) +2 >Emitted(20, 9) Source(13, 7) + SourceIndex(0) +3 >Emitted(20, 38) Source(13, 48) + SourceIndex(0) +4 >Emitted(20, 40) Source(13, 9) + SourceIndex(0) +5 >Emitted(20, 48) Source(13, 10) + SourceIndex(0) +6 >Emitted(20, 50) Source(13, 12) + SourceIndex(0) +7 >Emitted(20, 74) Source(13, 48) + SourceIndex(0) +8 >Emitted(20, 75) Source(13, 49) + SourceIndex(0) --- >>>} 1 > @@ -361,8 +365,8 @@ sourceFile:../second/second_part1.ts 1 > > 2 >} -1 >Emitted(19, 1) Source(14, 1) + SourceIndex(0) -2 >Emitted(19, 2) Source(14, 2) + SourceIndex(0) +1 >Emitted(21, 1) Source(14, 1) + SourceIndex(0) +2 >Emitted(21, 2) Source(14, 2) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/2/second-output.js @@ -372,13 +376,13 @@ sourceFile:../second/second_part2.ts 1-> 2 >^^^^^^^^^^^^^^^^^^^-> 1-> -1->Emitted(20, 1) Source(1, 1) + SourceIndex(1) +1->Emitted(22, 1) Source(1, 1) + SourceIndex(1) --- >>> function C() { 1->^^^^ 2 > ^^-> 1-> -1->Emitted(21, 5) Source(1, 1) + SourceIndex(1) +1->Emitted(23, 5) Source(1, 1) + SourceIndex(1) --- >>> } 1->^^^^ @@ -390,8 +394,8 @@ sourceFile:../second/second_part2.ts > } > 2 > } -1->Emitted(22, 5) Source(5, 1) + SourceIndex(1) -2 >Emitted(22, 6) Source(5, 2) + SourceIndex(1) +1->Emitted(24, 5) Source(5, 1) + SourceIndex(1) +2 >Emitted(24, 6) Source(5, 2) + SourceIndex(1) --- >>> C.prototype.doSomething = function () { 1->^^^^ @@ -401,9 +405,9 @@ sourceFile:../second/second_part2.ts 1-> 2 > doSomething 3 > -1->Emitted(23, 5) Source(2, 5) + SourceIndex(1) -2 >Emitted(23, 28) Source(2, 16) + SourceIndex(1) -3 >Emitted(23, 31) Source(2, 5) + SourceIndex(1) +1->Emitted(25, 5) Source(2, 5) + SourceIndex(1) +2 >Emitted(25, 28) Source(2, 16) + SourceIndex(1) +3 >Emitted(25, 31) Source(2, 5) + SourceIndex(1) --- >>> console.log("something got done"); 1->^^^^^^^^ @@ -423,14 +427,14 @@ sourceFile:../second/second_part2.ts 6 > "something got done" 7 > ) 8 > ; -1->Emitted(24, 9) Source(3, 9) + SourceIndex(1) -2 >Emitted(24, 16) Source(3, 16) + SourceIndex(1) -3 >Emitted(24, 17) Source(3, 17) + SourceIndex(1) -4 >Emitted(24, 20) Source(3, 20) + SourceIndex(1) -5 >Emitted(24, 21) Source(3, 21) + SourceIndex(1) -6 >Emitted(24, 41) Source(3, 41) + SourceIndex(1) -7 >Emitted(24, 42) Source(3, 42) + SourceIndex(1) -8 >Emitted(24, 43) Source(3, 43) + SourceIndex(1) +1->Emitted(26, 9) Source(3, 9) + SourceIndex(1) +2 >Emitted(26, 16) Source(3, 16) + SourceIndex(1) +3 >Emitted(26, 17) Source(3, 17) + SourceIndex(1) +4 >Emitted(26, 20) Source(3, 20) + SourceIndex(1) +5 >Emitted(26, 21) Source(3, 21) + SourceIndex(1) +6 >Emitted(26, 41) Source(3, 41) + SourceIndex(1) +7 >Emitted(26, 42) Source(3, 42) + SourceIndex(1) +8 >Emitted(26, 43) Source(3, 43) + SourceIndex(1) --- >>> }; 1 >^^^^ @@ -439,8 +443,8 @@ sourceFile:../second/second_part2.ts 1 > > 2 > } -1 >Emitted(25, 5) Source(4, 5) + SourceIndex(1) -2 >Emitted(25, 6) Source(4, 6) + SourceIndex(1) +1 >Emitted(27, 5) Source(4, 5) + SourceIndex(1) +2 >Emitted(27, 6) Source(4, 6) + SourceIndex(1) --- >>> return C; 1->^^^^ @@ -448,8 +452,8 @@ sourceFile:../second/second_part2.ts 1-> > 2 > } -1->Emitted(26, 5) Source(5, 1) + SourceIndex(1) -2 >Emitted(26, 13) Source(5, 2) + SourceIndex(1) +1->Emitted(28, 5) Source(5, 1) + SourceIndex(1) +2 >Emitted(28, 13) Source(5, 2) + SourceIndex(1) --- >>>}()); 1 > @@ -465,10 +469,10 @@ sourceFile:../second/second_part2.ts > console.log("something got done"); > } > } -1 >Emitted(27, 1) Source(5, 1) + SourceIndex(1) -2 >Emitted(27, 2) Source(5, 2) + SourceIndex(1) -3 >Emitted(27, 2) Source(1, 1) + SourceIndex(1) -4 >Emitted(27, 6) Source(5, 2) + SourceIndex(1) +1 >Emitted(29, 1) Source(5, 1) + SourceIndex(1) +2 >Emitted(29, 2) Source(5, 2) + SourceIndex(1) +3 >Emitted(29, 2) Source(1, 1) + SourceIndex(1) +4 >Emitted(29, 6) Source(5, 2) + SourceIndex(1) --- >>>//# sourceMappingURL=second-output.js.map @@ -484,13 +488,13 @@ sourceFile:../second/second_part2.ts "sections": [ { "pos": 0, - "end": 415, + "end": 500, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 417, - "end": 821, + "pos": 502, + "end": 906, "kind": "text" } ], @@ -517,18 +521,20 @@ sourceFile:../second/second_part2.ts ====================================================================== File:: /src/2/second-output.js ---------------------------------------------------------------------- -emitHelpers: (0-415):: typescript:rest +emitHelpers: (0-500):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -text: (417-821) +text: (502-906) var N; (function (N) { function f() { @@ -1298,8 +1304,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var s = "Hello, world"; @@ -1332,7 +1340,7 @@ c.doSomething(); //# sourceMappingURL=third-output.js.map //// [/src/third/thirdjs/output/third-output.js.map] -{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB,KAAK,CAAC;ACXtC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;ACED,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;ACJD,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC"} +{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB,KAAK,CAAC;ACXtC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;ACED,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;ACJD,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC"} //// [/src/third/thirdjs/output/third-output.js.map.baseline.txt] =================================================================== @@ -1350,8 +1358,10 @@ sourceFile:../../../first/first_PART1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var s = "Hello, world"; @@ -1371,12 +1381,12 @@ sourceFile:../../../first/first_PART1.ts 4 > = 5 > "Hello, world" 6 > ; -1 >Emitted(10, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(10, 5) Source(5, 7) + SourceIndex(0) -3 >Emitted(10, 6) Source(5, 8) + SourceIndex(0) -4 >Emitted(10, 9) Source(5, 11) + SourceIndex(0) -5 >Emitted(10, 23) Source(5, 25) + SourceIndex(0) -6 >Emitted(10, 24) Source(5, 26) + SourceIndex(0) +1 >Emitted(12, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(12, 5) Source(5, 7) + SourceIndex(0) +3 >Emitted(12, 6) Source(5, 8) + SourceIndex(0) +4 >Emitted(12, 9) Source(5, 11) + SourceIndex(0) +5 >Emitted(12, 23) Source(5, 25) + SourceIndex(0) +6 >Emitted(12, 24) Source(5, 26) + SourceIndex(0) --- >>>console.log(s); 1 > @@ -1402,14 +1412,14 @@ sourceFile:../../../first/first_PART1.ts 6 > s 7 > ) 8 > ; -1 >Emitted(11, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(11, 8) Source(11, 8) + SourceIndex(0) -3 >Emitted(11, 9) Source(11, 9) + SourceIndex(0) -4 >Emitted(11, 12) Source(11, 12) + SourceIndex(0) -5 >Emitted(11, 13) Source(11, 13) + SourceIndex(0) -6 >Emitted(11, 14) Source(11, 14) + SourceIndex(0) -7 >Emitted(11, 15) Source(11, 15) + SourceIndex(0) -8 >Emitted(11, 16) Source(11, 16) + SourceIndex(0) +1 >Emitted(13, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(13, 8) Source(11, 8) + SourceIndex(0) +3 >Emitted(13, 9) Source(11, 9) + SourceIndex(0) +4 >Emitted(13, 12) Source(11, 12) + SourceIndex(0) +5 >Emitted(13, 13) Source(11, 13) + SourceIndex(0) +6 >Emitted(13, 14) Source(11, 14) + SourceIndex(0) +7 >Emitted(13, 15) Source(11, 15) + SourceIndex(0) +8 >Emitted(13, 16) Source(11, 16) + SourceIndex(0) --- >>>function forfirstfirst_PART1Rest() { } 1-> @@ -1423,11 +1433,11 @@ sourceFile:../../../first/first_PART1.ts 3 > forfirstfirst_PART1Rest 4 > () { 5 > } -1->Emitted(12, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(12, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(12, 33) Source(12, 33) + SourceIndex(0) -4 >Emitted(12, 38) Source(12, 38) + SourceIndex(0) -5 >Emitted(12, 39) Source(12, 39) + SourceIndex(0) +1->Emitted(14, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(14, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(14, 33) Source(12, 33) + SourceIndex(0) +4 >Emitted(14, 38) Source(12, 38) + SourceIndex(0) +5 >Emitted(14, 39) Source(12, 39) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1452,15 +1462,15 @@ sourceFile:../../../first/first_part2.ts 7 > () 8 > ) 9 > ; -1 >Emitted(13, 1) Source(1, 1) + SourceIndex(1) -2 >Emitted(13, 8) Source(1, 8) + SourceIndex(1) -3 >Emitted(13, 9) Source(1, 9) + SourceIndex(1) -4 >Emitted(13, 12) Source(1, 12) + SourceIndex(1) -5 >Emitted(13, 13) Source(1, 13) + SourceIndex(1) -6 >Emitted(13, 14) Source(1, 14) + SourceIndex(1) -7 >Emitted(13, 16) Source(1, 16) + SourceIndex(1) -8 >Emitted(13, 17) Source(1, 17) + SourceIndex(1) -9 >Emitted(13, 18) Source(1, 18) + SourceIndex(1) +1 >Emitted(15, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(15, 8) Source(1, 8) + SourceIndex(1) +3 >Emitted(15, 9) Source(1, 9) + SourceIndex(1) +4 >Emitted(15, 12) Source(1, 12) + SourceIndex(1) +5 >Emitted(15, 13) Source(1, 13) + SourceIndex(1) +6 >Emitted(15, 14) Source(1, 14) + SourceIndex(1) +7 >Emitted(15, 16) Source(1, 16) + SourceIndex(1) +8 >Emitted(15, 17) Source(1, 17) + SourceIndex(1) +9 >Emitted(15, 18) Source(1, 18) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1474,9 +1484,9 @@ sourceFile:../../../first/first_part3.ts 1 > 2 >function 3 > f -1 >Emitted(14, 1) Source(1, 1) + SourceIndex(2) -2 >Emitted(14, 10) Source(1, 10) + SourceIndex(2) -3 >Emitted(14, 11) Source(1, 11) + SourceIndex(2) +1 >Emitted(16, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(16, 10) Source(1, 10) + SourceIndex(2) +3 >Emitted(16, 11) Source(1, 11) + SourceIndex(2) --- >>> return "JS does hoists"; 1->^^^^ @@ -1488,10 +1498,10 @@ sourceFile:../../../first/first_part3.ts 2 > return 3 > "JS does hoists" 4 > ; -1->Emitted(15, 5) Source(2, 5) + SourceIndex(2) -2 >Emitted(15, 12) Source(2, 12) + SourceIndex(2) -3 >Emitted(15, 28) Source(2, 28) + SourceIndex(2) -4 >Emitted(15, 29) Source(2, 29) + SourceIndex(2) +1->Emitted(17, 5) Source(2, 5) + SourceIndex(2) +2 >Emitted(17, 12) Source(2, 12) + SourceIndex(2) +3 >Emitted(17, 28) Source(2, 28) + SourceIndex(2) +4 >Emitted(17, 29) Source(2, 29) + SourceIndex(2) --- >>>} 1 > @@ -1500,8 +1510,8 @@ sourceFile:../../../first/first_part3.ts 1 > > 2 >} -1 >Emitted(16, 1) Source(3, 1) + SourceIndex(2) -2 >Emitted(16, 2) Source(3, 2) + SourceIndex(2) +1 >Emitted(18, 1) Source(3, 1) + SourceIndex(2) +2 >Emitted(18, 2) Source(3, 2) + SourceIndex(2) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1527,10 +1537,10 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1->Emitted(17, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(17, 5) Source(5, 11) + SourceIndex(3) -3 >Emitted(17, 6) Source(5, 12) + SourceIndex(3) -4 >Emitted(17, 7) Source(11, 2) + SourceIndex(3) +1->Emitted(19, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(19, 5) Source(5, 11) + SourceIndex(3) +3 >Emitted(19, 6) Source(5, 12) + SourceIndex(3) +4 >Emitted(19, 7) Source(11, 2) + SourceIndex(3) --- >>>(function (N) { 1-> @@ -1540,9 +1550,9 @@ sourceFile:../../../second/second_part1.ts 1-> 2 >namespace 3 > N -1->Emitted(18, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(18, 12) Source(5, 11) + SourceIndex(3) -3 >Emitted(18, 13) Source(5, 12) + SourceIndex(3) +1->Emitted(20, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(20, 12) Source(5, 11) + SourceIndex(3) +3 >Emitted(20, 13) Source(5, 12) + SourceIndex(3) --- >>> function f() { 1->^^^^ @@ -1553,9 +1563,9 @@ sourceFile:../../../second/second_part1.ts > 2 > function 3 > f -1->Emitted(19, 5) Source(6, 5) + SourceIndex(3) -2 >Emitted(19, 14) Source(6, 14) + SourceIndex(3) -3 >Emitted(19, 15) Source(6, 15) + SourceIndex(3) +1->Emitted(21, 5) Source(6, 5) + SourceIndex(3) +2 >Emitted(21, 14) Source(6, 14) + SourceIndex(3) +3 >Emitted(21, 15) Source(6, 15) + SourceIndex(3) --- >>> console.log('testing'); 1->^^^^^^^^ @@ -1575,14 +1585,14 @@ sourceFile:../../../second/second_part1.ts 6 > 'testing' 7 > ) 8 > ; -1->Emitted(20, 9) Source(7, 9) + SourceIndex(3) -2 >Emitted(20, 16) Source(7, 16) + SourceIndex(3) -3 >Emitted(20, 17) Source(7, 17) + SourceIndex(3) -4 >Emitted(20, 20) Source(7, 20) + SourceIndex(3) -5 >Emitted(20, 21) Source(7, 21) + SourceIndex(3) -6 >Emitted(20, 30) Source(7, 30) + SourceIndex(3) -7 >Emitted(20, 31) Source(7, 31) + SourceIndex(3) -8 >Emitted(20, 32) Source(7, 32) + SourceIndex(3) +1->Emitted(22, 9) Source(7, 9) + SourceIndex(3) +2 >Emitted(22, 16) Source(7, 16) + SourceIndex(3) +3 >Emitted(22, 17) Source(7, 17) + SourceIndex(3) +4 >Emitted(22, 20) Source(7, 20) + SourceIndex(3) +5 >Emitted(22, 21) Source(7, 21) + SourceIndex(3) +6 >Emitted(22, 30) Source(7, 30) + SourceIndex(3) +7 >Emitted(22, 31) Source(7, 31) + SourceIndex(3) +8 >Emitted(22, 32) Source(7, 32) + SourceIndex(3) --- >>> } 1 >^^^^ @@ -1591,8 +1601,8 @@ sourceFile:../../../second/second_part1.ts 1 > > 2 > } -1 >Emitted(21, 5) Source(8, 5) + SourceIndex(3) -2 >Emitted(21, 6) Source(8, 6) + SourceIndex(3) +1 >Emitted(23, 5) Source(8, 5) + SourceIndex(3) +2 >Emitted(23, 6) Source(8, 6) + SourceIndex(3) --- >>> f(); 1->^^^^ @@ -1606,10 +1616,10 @@ sourceFile:../../../second/second_part1.ts 2 > f 3 > () 4 > ; -1->Emitted(22, 5) Source(10, 5) + SourceIndex(3) -2 >Emitted(22, 6) Source(10, 6) + SourceIndex(3) -3 >Emitted(22, 8) Source(10, 8) + SourceIndex(3) -4 >Emitted(22, 9) Source(10, 9) + SourceIndex(3) +1->Emitted(24, 5) Source(10, 5) + SourceIndex(3) +2 >Emitted(24, 6) Source(10, 6) + SourceIndex(3) +3 >Emitted(24, 8) Source(10, 8) + SourceIndex(3) +4 >Emitted(24, 9) Source(10, 9) + SourceIndex(3) --- >>>})(N || (N = {})); 1-> @@ -1634,13 +1644,13 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1->Emitted(23, 1) Source(11, 1) + SourceIndex(3) -2 >Emitted(23, 2) Source(11, 2) + SourceIndex(3) -3 >Emitted(23, 4) Source(5, 11) + SourceIndex(3) -4 >Emitted(23, 5) Source(5, 12) + SourceIndex(3) -5 >Emitted(23, 10) Source(5, 11) + SourceIndex(3) -6 >Emitted(23, 11) Source(5, 12) + SourceIndex(3) -7 >Emitted(23, 19) Source(11, 2) + SourceIndex(3) +1->Emitted(25, 1) Source(11, 1) + SourceIndex(3) +2 >Emitted(25, 2) Source(11, 2) + SourceIndex(3) +3 >Emitted(25, 4) Source(5, 11) + SourceIndex(3) +4 >Emitted(25, 5) Source(5, 12) + SourceIndex(3) +5 >Emitted(25, 10) Source(5, 11) + SourceIndex(3) +6 >Emitted(25, 11) Source(5, 12) + SourceIndex(3) +7 >Emitted(25, 19) Source(11, 2) + SourceIndex(3) --- >>>function forsecondsecond_part1Rest() { 1-> @@ -1651,9 +1661,9 @@ sourceFile:../../../second/second_part1.ts > 2 >function 3 > forsecondsecond_part1Rest -1->Emitted(24, 1) Source(12, 1) + SourceIndex(3) -2 >Emitted(24, 10) Source(12, 10) + SourceIndex(3) -3 >Emitted(24, 35) Source(12, 35) + SourceIndex(3) +1->Emitted(26, 1) Source(12, 1) + SourceIndex(3) +2 >Emitted(26, 10) Source(12, 10) + SourceIndex(3) +3 >Emitted(26, 35) Source(12, 35) + SourceIndex(3) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -1673,14 +1683,14 @@ sourceFile:../../../second/second_part1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(25, 5) Source(13, 1) + SourceIndex(3) -2 >Emitted(25, 9) Source(13, 7) + SourceIndex(3) -3 >Emitted(25, 38) Source(13, 48) + SourceIndex(3) -4 >Emitted(25, 40) Source(13, 9) + SourceIndex(3) -5 >Emitted(25, 48) Source(13, 10) + SourceIndex(3) -6 >Emitted(25, 50) Source(13, 12) + SourceIndex(3) -7 >Emitted(25, 74) Source(13, 48) + SourceIndex(3) -8 >Emitted(25, 75) Source(13, 49) + SourceIndex(3) +1->Emitted(27, 5) Source(13, 1) + SourceIndex(3) +2 >Emitted(27, 9) Source(13, 7) + SourceIndex(3) +3 >Emitted(27, 38) Source(13, 48) + SourceIndex(3) +4 >Emitted(27, 40) Source(13, 9) + SourceIndex(3) +5 >Emitted(27, 48) Source(13, 10) + SourceIndex(3) +6 >Emitted(27, 50) Source(13, 12) + SourceIndex(3) +7 >Emitted(27, 74) Source(13, 48) + SourceIndex(3) +8 >Emitted(27, 75) Source(13, 49) + SourceIndex(3) --- >>>} 1 > @@ -1689,8 +1699,8 @@ sourceFile:../../../second/second_part1.ts 1 > > 2 >} -1 >Emitted(26, 1) Source(14, 1) + SourceIndex(3) -2 >Emitted(26, 2) Source(14, 2) + SourceIndex(3) +1 >Emitted(28, 1) Source(14, 1) + SourceIndex(3) +2 >Emitted(28, 2) Source(14, 2) + SourceIndex(3) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1700,13 +1710,13 @@ sourceFile:../../../second/second_part2.ts 1-> 2 >^^^^^^^^^^^^^^^^^^^-> 1-> -1->Emitted(27, 1) Source(1, 1) + SourceIndex(4) +1->Emitted(29, 1) Source(1, 1) + SourceIndex(4) --- >>> function C() { 1->^^^^ 2 > ^^-> 1-> -1->Emitted(28, 5) Source(1, 1) + SourceIndex(4) +1->Emitted(30, 5) Source(1, 1) + SourceIndex(4) --- >>> } 1->^^^^ @@ -1718,8 +1728,8 @@ sourceFile:../../../second/second_part2.ts > } > 2 > } -1->Emitted(29, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(29, 6) Source(5, 2) + SourceIndex(4) +1->Emitted(31, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(31, 6) Source(5, 2) + SourceIndex(4) --- >>> C.prototype.doSomething = function () { 1->^^^^ @@ -1729,9 +1739,9 @@ sourceFile:../../../second/second_part2.ts 1-> 2 > doSomething 3 > -1->Emitted(30, 5) Source(2, 5) + SourceIndex(4) -2 >Emitted(30, 28) Source(2, 16) + SourceIndex(4) -3 >Emitted(30, 31) Source(2, 5) + SourceIndex(4) +1->Emitted(32, 5) Source(2, 5) + SourceIndex(4) +2 >Emitted(32, 28) Source(2, 16) + SourceIndex(4) +3 >Emitted(32, 31) Source(2, 5) + SourceIndex(4) --- >>> console.log("something got done"); 1->^^^^^^^^ @@ -1751,14 +1761,14 @@ sourceFile:../../../second/second_part2.ts 6 > "something got done" 7 > ) 8 > ; -1->Emitted(31, 9) Source(3, 9) + SourceIndex(4) -2 >Emitted(31, 16) Source(3, 16) + SourceIndex(4) -3 >Emitted(31, 17) Source(3, 17) + SourceIndex(4) -4 >Emitted(31, 20) Source(3, 20) + SourceIndex(4) -5 >Emitted(31, 21) Source(3, 21) + SourceIndex(4) -6 >Emitted(31, 41) Source(3, 41) + SourceIndex(4) -7 >Emitted(31, 42) Source(3, 42) + SourceIndex(4) -8 >Emitted(31, 43) Source(3, 43) + SourceIndex(4) +1->Emitted(33, 9) Source(3, 9) + SourceIndex(4) +2 >Emitted(33, 16) Source(3, 16) + SourceIndex(4) +3 >Emitted(33, 17) Source(3, 17) + SourceIndex(4) +4 >Emitted(33, 20) Source(3, 20) + SourceIndex(4) +5 >Emitted(33, 21) Source(3, 21) + SourceIndex(4) +6 >Emitted(33, 41) Source(3, 41) + SourceIndex(4) +7 >Emitted(33, 42) Source(3, 42) + SourceIndex(4) +8 >Emitted(33, 43) Source(3, 43) + SourceIndex(4) --- >>> }; 1 >^^^^ @@ -1767,8 +1777,8 @@ sourceFile:../../../second/second_part2.ts 1 > > 2 > } -1 >Emitted(32, 5) Source(4, 5) + SourceIndex(4) -2 >Emitted(32, 6) Source(4, 6) + SourceIndex(4) +1 >Emitted(34, 5) Source(4, 5) + SourceIndex(4) +2 >Emitted(34, 6) Source(4, 6) + SourceIndex(4) --- >>> return C; 1->^^^^ @@ -1776,8 +1786,8 @@ sourceFile:../../../second/second_part2.ts 1-> > 2 > } -1->Emitted(33, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(33, 13) Source(5, 2) + SourceIndex(4) +1->Emitted(35, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(35, 13) Source(5, 2) + SourceIndex(4) --- >>>}()); 1 > @@ -1793,10 +1803,10 @@ sourceFile:../../../second/second_part2.ts > console.log("something got done"); > } > } -1 >Emitted(34, 1) Source(5, 1) + SourceIndex(4) -2 >Emitted(34, 2) Source(5, 2) + SourceIndex(4) -3 >Emitted(34, 2) Source(1, 1) + SourceIndex(4) -4 >Emitted(34, 6) Source(5, 2) + SourceIndex(4) +1 >Emitted(36, 1) Source(5, 1) + SourceIndex(4) +2 >Emitted(36, 2) Source(5, 2) + SourceIndex(4) +3 >Emitted(36, 2) Source(1, 1) + SourceIndex(4) +4 >Emitted(36, 6) Source(5, 2) + SourceIndex(4) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1820,14 +1830,14 @@ sourceFile:../../third_part1.ts 6 > C 7 > () 8 > ; -1->Emitted(35, 1) Source(1, 1) + SourceIndex(5) -2 >Emitted(35, 5) Source(1, 5) + SourceIndex(5) -3 >Emitted(35, 6) Source(1, 6) + SourceIndex(5) -4 >Emitted(35, 9) Source(1, 9) + SourceIndex(5) -5 >Emitted(35, 13) Source(1, 13) + SourceIndex(5) -6 >Emitted(35, 14) Source(1, 14) + SourceIndex(5) -7 >Emitted(35, 16) Source(1, 16) + SourceIndex(5) -8 >Emitted(35, 17) Source(1, 17) + SourceIndex(5) +1->Emitted(37, 1) Source(1, 1) + SourceIndex(5) +2 >Emitted(37, 5) Source(1, 5) + SourceIndex(5) +3 >Emitted(37, 6) Source(1, 6) + SourceIndex(5) +4 >Emitted(37, 9) Source(1, 9) + SourceIndex(5) +5 >Emitted(37, 13) Source(1, 13) + SourceIndex(5) +6 >Emitted(37, 14) Source(1, 14) + SourceIndex(5) +7 >Emitted(37, 16) Source(1, 16) + SourceIndex(5) +8 >Emitted(37, 17) Source(1, 17) + SourceIndex(5) --- >>>c.doSomething(); 1-> @@ -1844,12 +1854,12 @@ sourceFile:../../third_part1.ts 4 > doSomething 5 > () 6 > ; -1->Emitted(36, 1) Source(2, 1) + SourceIndex(5) -2 >Emitted(36, 2) Source(2, 2) + SourceIndex(5) -3 >Emitted(36, 3) Source(2, 3) + SourceIndex(5) -4 >Emitted(36, 14) Source(2, 14) + SourceIndex(5) -5 >Emitted(36, 16) Source(2, 16) + SourceIndex(5) -6 >Emitted(36, 17) Source(2, 17) + SourceIndex(5) +1->Emitted(38, 1) Source(2, 1) + SourceIndex(5) +2 >Emitted(38, 2) Source(2, 2) + SourceIndex(5) +3 >Emitted(38, 3) Source(2, 3) + SourceIndex(5) +4 >Emitted(38, 14) Source(2, 14) + SourceIndex(5) +5 >Emitted(38, 16) Source(2, 16) + SourceIndex(5) +6 >Emitted(38, 17) Source(2, 17) + SourceIndex(5) --- >>>//# sourceMappingURL=third-output.js.map @@ -1864,39 +1874,39 @@ sourceFile:../../third_part1.ts "sections": [ { "pos": 0, - "end": 415, + "end": 500, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 417, - "end": 567, + "pos": 502, + "end": 652, "kind": "prepend", "data": "/src/first/bin/first-output.js", "texts": [ { - "pos": 417, - "end": 567, + "pos": 502, + "end": 652, "kind": "text" } ] }, { - "pos": 567, - "end": 971, + "pos": 652, + "end": 1056, "kind": "prepend", "data": "/src/2/second-output.js", "texts": [ { - "pos": 567, - "end": 971, + "pos": 652, + "end": 1056, "kind": "text" } ] }, { - "pos": 971, - "end": 1007, + "pos": 1056, + "end": 1092, "kind": "text" } ] @@ -1944,20 +1954,22 @@ sourceFile:../../third_part1.ts ====================================================================== File:: /src/third/thirdjs/output/third-output.js ---------------------------------------------------------------------- -emitHelpers: (0-415):: typescript:rest +emitHelpers: (0-500):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -prepend: (417-567):: /src/first/bin/first-output.js texts:: 1 +prepend: (502-652):: /src/first/bin/first-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (417-567) +text: (502-652) var s = "Hello, world"; console.log(s); function forfirstfirst_PART1Rest() { } @@ -1967,9 +1979,9 @@ function f() { } ---------------------------------------------------------------------- -prepend: (567-971):: /src/2/second-output.js texts:: 1 +prepend: (652-1056):: /src/2/second-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (567-971) +text: (652-1056) var N; (function (N) { function f() { @@ -1990,7 +2002,7 @@ var C = (function () { }()); ---------------------------------------------------------------------- -text: (971-1007) +text: (1056-1092) var c = new C(); c.doSomething(); diff --git a/tests/baselines/reference/tsbuild/outfile-concat/initial-Build/multiple-emitHelpers-in-all-projects.js b/tests/baselines/reference/tsbuild/outfile-concat/initial-Build/multiple-emitHelpers-in-all-projects.js index 7f7f82dd9d7..95fea18598d 100644 --- a/tests/baselines/reference/tsbuild/outfile-concat/initial-Build/multiple-emitHelpers-in-all-projects.js +++ b/tests/baselines/reference/tsbuild/outfile-concat/initial-Build/multiple-emitHelpers-in-all-projects.js @@ -164,8 +164,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var __read = (this && this.__read) || function (o, n) { @@ -216,7 +218,7 @@ secondsecond_part2Spread.apply(void 0, __spread([10, 20, 30])); //# sourceMappingURL=second-output.js.map //// [/src/2/second-output.js.map] -{"version":3,"file":"second-output.js","sourceRoot":"","sources":["../second/second_part1.ts","../second/second_part2.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;AAED,SAAS,wBAAwB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACrD,wBAAwB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE"} +{"version":3,"file":"second-output.js","sourceRoot":"","sources":["../second/second_part1.ts","../second/second_part2.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;AAED,SAAS,wBAAwB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACrD,wBAAwB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE"} //// [/src/2/second-output.js.map.baseline.txt] =================================================================== @@ -234,8 +236,10 @@ sourceFile:../second/second_part1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var __read = (this && this.__read) || function (o, n) { @@ -278,10 +282,10 @@ sourceFile:../second/second_part1.ts > > f(); > } -1 >Emitted(30, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(30, 5) Source(5, 11) + SourceIndex(0) -3 >Emitted(30, 6) Source(5, 12) + SourceIndex(0) -4 >Emitted(30, 7) Source(11, 2) + SourceIndex(0) +1 >Emitted(32, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(32, 5) Source(5, 11) + SourceIndex(0) +3 >Emitted(32, 6) Source(5, 12) + SourceIndex(0) +4 >Emitted(32, 7) Source(11, 2) + SourceIndex(0) --- >>>(function (N) { 1-> @@ -291,9 +295,9 @@ sourceFile:../second/second_part1.ts 1-> 2 >namespace 3 > N -1->Emitted(31, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(31, 12) Source(5, 11) + SourceIndex(0) -3 >Emitted(31, 13) Source(5, 12) + SourceIndex(0) +1->Emitted(33, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(33, 12) Source(5, 11) + SourceIndex(0) +3 >Emitted(33, 13) Source(5, 12) + SourceIndex(0) --- >>> function f() { 1->^^^^ @@ -304,9 +308,9 @@ sourceFile:../second/second_part1.ts > 2 > function 3 > f -1->Emitted(32, 5) Source(6, 5) + SourceIndex(0) -2 >Emitted(32, 14) Source(6, 14) + SourceIndex(0) -3 >Emitted(32, 15) Source(6, 15) + SourceIndex(0) +1->Emitted(34, 5) Source(6, 5) + SourceIndex(0) +2 >Emitted(34, 14) Source(6, 14) + SourceIndex(0) +3 >Emitted(34, 15) Source(6, 15) + SourceIndex(0) --- >>> console.log('testing'); 1->^^^^^^^^ @@ -326,14 +330,14 @@ sourceFile:../second/second_part1.ts 6 > 'testing' 7 > ) 8 > ; -1->Emitted(33, 9) Source(7, 9) + SourceIndex(0) -2 >Emitted(33, 16) Source(7, 16) + SourceIndex(0) -3 >Emitted(33, 17) Source(7, 17) + SourceIndex(0) -4 >Emitted(33, 20) Source(7, 20) + SourceIndex(0) -5 >Emitted(33, 21) Source(7, 21) + SourceIndex(0) -6 >Emitted(33, 30) Source(7, 30) + SourceIndex(0) -7 >Emitted(33, 31) Source(7, 31) + SourceIndex(0) -8 >Emitted(33, 32) Source(7, 32) + SourceIndex(0) +1->Emitted(35, 9) Source(7, 9) + SourceIndex(0) +2 >Emitted(35, 16) Source(7, 16) + SourceIndex(0) +3 >Emitted(35, 17) Source(7, 17) + SourceIndex(0) +4 >Emitted(35, 20) Source(7, 20) + SourceIndex(0) +5 >Emitted(35, 21) Source(7, 21) + SourceIndex(0) +6 >Emitted(35, 30) Source(7, 30) + SourceIndex(0) +7 >Emitted(35, 31) Source(7, 31) + SourceIndex(0) +8 >Emitted(35, 32) Source(7, 32) + SourceIndex(0) --- >>> } 1 >^^^^ @@ -342,8 +346,8 @@ sourceFile:../second/second_part1.ts 1 > > 2 > } -1 >Emitted(34, 5) Source(8, 5) + SourceIndex(0) -2 >Emitted(34, 6) Source(8, 6) + SourceIndex(0) +1 >Emitted(36, 5) Source(8, 5) + SourceIndex(0) +2 >Emitted(36, 6) Source(8, 6) + SourceIndex(0) --- >>> f(); 1->^^^^ @@ -357,10 +361,10 @@ sourceFile:../second/second_part1.ts 2 > f 3 > () 4 > ; -1->Emitted(35, 5) Source(10, 5) + SourceIndex(0) -2 >Emitted(35, 6) Source(10, 6) + SourceIndex(0) -3 >Emitted(35, 8) Source(10, 8) + SourceIndex(0) -4 >Emitted(35, 9) Source(10, 9) + SourceIndex(0) +1->Emitted(37, 5) Source(10, 5) + SourceIndex(0) +2 >Emitted(37, 6) Source(10, 6) + SourceIndex(0) +3 >Emitted(37, 8) Source(10, 8) + SourceIndex(0) +4 >Emitted(37, 9) Source(10, 9) + SourceIndex(0) --- >>>})(N || (N = {})); 1-> @@ -385,13 +389,13 @@ sourceFile:../second/second_part1.ts > > f(); > } -1->Emitted(36, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(36, 2) Source(11, 2) + SourceIndex(0) -3 >Emitted(36, 4) Source(5, 11) + SourceIndex(0) -4 >Emitted(36, 5) Source(5, 12) + SourceIndex(0) -5 >Emitted(36, 10) Source(5, 11) + SourceIndex(0) -6 >Emitted(36, 11) Source(5, 12) + SourceIndex(0) -7 >Emitted(36, 19) Source(11, 2) + SourceIndex(0) +1->Emitted(38, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(38, 2) Source(11, 2) + SourceIndex(0) +3 >Emitted(38, 4) Source(5, 11) + SourceIndex(0) +4 >Emitted(38, 5) Source(5, 12) + SourceIndex(0) +5 >Emitted(38, 10) Source(5, 11) + SourceIndex(0) +6 >Emitted(38, 11) Source(5, 12) + SourceIndex(0) +7 >Emitted(38, 19) Source(11, 2) + SourceIndex(0) --- >>>function forsecondsecond_part1Rest() { 1-> @@ -402,9 +406,9 @@ sourceFile:../second/second_part1.ts > 2 >function 3 > forsecondsecond_part1Rest -1->Emitted(37, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(37, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(37, 35) Source(12, 35) + SourceIndex(0) +1->Emitted(39, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(39, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(39, 35) Source(12, 35) + SourceIndex(0) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -424,14 +428,14 @@ sourceFile:../second/second_part1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(38, 5) Source(13, 1) + SourceIndex(0) -2 >Emitted(38, 9) Source(13, 7) + SourceIndex(0) -3 >Emitted(38, 38) Source(13, 48) + SourceIndex(0) -4 >Emitted(38, 40) Source(13, 9) + SourceIndex(0) -5 >Emitted(38, 48) Source(13, 10) + SourceIndex(0) -6 >Emitted(38, 50) Source(13, 12) + SourceIndex(0) -7 >Emitted(38, 74) Source(13, 48) + SourceIndex(0) -8 >Emitted(38, 75) Source(13, 49) + SourceIndex(0) +1->Emitted(40, 5) Source(13, 1) + SourceIndex(0) +2 >Emitted(40, 9) Source(13, 7) + SourceIndex(0) +3 >Emitted(40, 38) Source(13, 48) + SourceIndex(0) +4 >Emitted(40, 40) Source(13, 9) + SourceIndex(0) +5 >Emitted(40, 48) Source(13, 10) + SourceIndex(0) +6 >Emitted(40, 50) Source(13, 12) + SourceIndex(0) +7 >Emitted(40, 74) Source(13, 48) + SourceIndex(0) +8 >Emitted(40, 75) Source(13, 49) + SourceIndex(0) --- >>>} 1 > @@ -440,8 +444,8 @@ sourceFile:../second/second_part1.ts 1 > > 2 >} -1 >Emitted(39, 1) Source(14, 1) + SourceIndex(0) -2 >Emitted(39, 2) Source(14, 2) + SourceIndex(0) +1 >Emitted(41, 1) Source(14, 1) + SourceIndex(0) +2 >Emitted(41, 2) Source(14, 2) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/2/second-output.js @@ -451,13 +455,13 @@ sourceFile:../second/second_part2.ts 1-> 2 >^^^^^^^^^^^^^^^^^^^-> 1-> -1->Emitted(40, 1) Source(1, 1) + SourceIndex(1) +1->Emitted(42, 1) Source(1, 1) + SourceIndex(1) --- >>> function C() { 1->^^^^ 2 > ^^-> 1-> -1->Emitted(41, 5) Source(1, 1) + SourceIndex(1) +1->Emitted(43, 5) Source(1, 1) + SourceIndex(1) --- >>> } 1->^^^^ @@ -469,8 +473,8 @@ sourceFile:../second/second_part2.ts > } > 2 > } -1->Emitted(42, 5) Source(5, 1) + SourceIndex(1) -2 >Emitted(42, 6) Source(5, 2) + SourceIndex(1) +1->Emitted(44, 5) Source(5, 1) + SourceIndex(1) +2 >Emitted(44, 6) Source(5, 2) + SourceIndex(1) --- >>> C.prototype.doSomething = function () { 1->^^^^ @@ -480,9 +484,9 @@ sourceFile:../second/second_part2.ts 1-> 2 > doSomething 3 > -1->Emitted(43, 5) Source(2, 5) + SourceIndex(1) -2 >Emitted(43, 28) Source(2, 16) + SourceIndex(1) -3 >Emitted(43, 31) Source(2, 5) + SourceIndex(1) +1->Emitted(45, 5) Source(2, 5) + SourceIndex(1) +2 >Emitted(45, 28) Source(2, 16) + SourceIndex(1) +3 >Emitted(45, 31) Source(2, 5) + SourceIndex(1) --- >>> console.log("something got done"); 1->^^^^^^^^ @@ -502,14 +506,14 @@ sourceFile:../second/second_part2.ts 6 > "something got done" 7 > ) 8 > ; -1->Emitted(44, 9) Source(3, 9) + SourceIndex(1) -2 >Emitted(44, 16) Source(3, 16) + SourceIndex(1) -3 >Emitted(44, 17) Source(3, 17) + SourceIndex(1) -4 >Emitted(44, 20) Source(3, 20) + SourceIndex(1) -5 >Emitted(44, 21) Source(3, 21) + SourceIndex(1) -6 >Emitted(44, 41) Source(3, 41) + SourceIndex(1) -7 >Emitted(44, 42) Source(3, 42) + SourceIndex(1) -8 >Emitted(44, 43) Source(3, 43) + SourceIndex(1) +1->Emitted(46, 9) Source(3, 9) + SourceIndex(1) +2 >Emitted(46, 16) Source(3, 16) + SourceIndex(1) +3 >Emitted(46, 17) Source(3, 17) + SourceIndex(1) +4 >Emitted(46, 20) Source(3, 20) + SourceIndex(1) +5 >Emitted(46, 21) Source(3, 21) + SourceIndex(1) +6 >Emitted(46, 41) Source(3, 41) + SourceIndex(1) +7 >Emitted(46, 42) Source(3, 42) + SourceIndex(1) +8 >Emitted(46, 43) Source(3, 43) + SourceIndex(1) --- >>> }; 1 >^^^^ @@ -518,8 +522,8 @@ sourceFile:../second/second_part2.ts 1 > > 2 > } -1 >Emitted(45, 5) Source(4, 5) + SourceIndex(1) -2 >Emitted(45, 6) Source(4, 6) + SourceIndex(1) +1 >Emitted(47, 5) Source(4, 5) + SourceIndex(1) +2 >Emitted(47, 6) Source(4, 6) + SourceIndex(1) --- >>> return C; 1->^^^^ @@ -527,8 +531,8 @@ sourceFile:../second/second_part2.ts 1-> > 2 > } -1->Emitted(46, 5) Source(5, 1) + SourceIndex(1) -2 >Emitted(46, 13) Source(5, 2) + SourceIndex(1) +1->Emitted(48, 5) Source(5, 1) + SourceIndex(1) +2 >Emitted(48, 13) Source(5, 2) + SourceIndex(1) --- >>>}()); 1 > @@ -544,10 +548,10 @@ sourceFile:../second/second_part2.ts > console.log("something got done"); > } > } -1 >Emitted(47, 1) Source(5, 1) + SourceIndex(1) -2 >Emitted(47, 2) Source(5, 2) + SourceIndex(1) -3 >Emitted(47, 2) Source(1, 1) + SourceIndex(1) -4 >Emitted(47, 6) Source(5, 2) + SourceIndex(1) +1 >Emitted(49, 1) Source(5, 1) + SourceIndex(1) +2 >Emitted(49, 2) Source(5, 2) + SourceIndex(1) +3 >Emitted(49, 2) Source(1, 1) + SourceIndex(1) +4 >Emitted(49, 6) Source(5, 2) + SourceIndex(1) --- >>>function secondsecond_part2Spread() { 1-> @@ -558,9 +562,9 @@ sourceFile:../second/second_part2.ts > 2 >function 3 > secondsecond_part2Spread -1->Emitted(48, 1) Source(7, 1) + SourceIndex(1) -2 >Emitted(48, 10) Source(7, 10) + SourceIndex(1) -3 >Emitted(48, 34) Source(7, 34) + SourceIndex(1) +1->Emitted(50, 1) Source(7, 1) + SourceIndex(1) +2 >Emitted(50, 10) Source(7, 10) + SourceIndex(1) +3 >Emitted(50, 34) Source(7, 34) + SourceIndex(1) --- >>> var b = []; 1 >^^^^ @@ -568,8 +572,8 @@ sourceFile:../second/second_part2.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >( 2 > ...b: number[] -1 >Emitted(49, 5) Source(7, 35) + SourceIndex(1) -2 >Emitted(49, 16) Source(7, 49) + SourceIndex(1) +1 >Emitted(51, 5) Source(7, 35) + SourceIndex(1) +2 >Emitted(51, 16) Source(7, 49) + SourceIndex(1) --- >>> for (var _i = 0; _i < arguments.length; _i++) { 1->^^^^^^^^^ @@ -584,20 +588,20 @@ sourceFile:../second/second_part2.ts 4 > ...b: number[] 5 > 6 > ...b: number[] -1->Emitted(50, 10) Source(7, 35) + SourceIndex(1) -2 >Emitted(50, 20) Source(7, 49) + SourceIndex(1) -3 >Emitted(50, 22) Source(7, 35) + SourceIndex(1) -4 >Emitted(50, 43) Source(7, 49) + SourceIndex(1) -5 >Emitted(50, 45) Source(7, 35) + SourceIndex(1) -6 >Emitted(50, 49) Source(7, 49) + SourceIndex(1) +1->Emitted(52, 10) Source(7, 35) + SourceIndex(1) +2 >Emitted(52, 20) Source(7, 49) + SourceIndex(1) +3 >Emitted(52, 22) Source(7, 35) + SourceIndex(1) +4 >Emitted(52, 43) Source(7, 49) + SourceIndex(1) +5 >Emitted(52, 45) Source(7, 35) + SourceIndex(1) +6 >Emitted(52, 49) Source(7, 49) + SourceIndex(1) --- >>> b[_i] = arguments[_i]; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > ...b: number[] -1 >Emitted(51, 9) Source(7, 35) + SourceIndex(1) -2 >Emitted(51, 31) Source(7, 49) + SourceIndex(1) +1 >Emitted(53, 9) Source(7, 35) + SourceIndex(1) +2 >Emitted(53, 31) Source(7, 49) + SourceIndex(1) --- >>> } >>>} @@ -606,8 +610,8 @@ sourceFile:../second/second_part2.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >) { 2 >} -1 >Emitted(53, 1) Source(7, 53) + SourceIndex(1) -2 >Emitted(53, 2) Source(7, 54) + SourceIndex(1) +1 >Emitted(55, 1) Source(7, 53) + SourceIndex(1) +2 >Emitted(55, 2) Source(7, 54) + SourceIndex(1) --- >>>secondsecond_part2Spread.apply(void 0, __spread([10, 20, 30])); 1-> @@ -633,17 +637,17 @@ sourceFile:../second/second_part2.ts 9 > 30 10> ] 11> ); -1->Emitted(54, 1) Source(8, 1) + SourceIndex(1) -2 >Emitted(54, 25) Source(8, 25) + SourceIndex(1) -3 >Emitted(54, 49) Source(8, 29) + SourceIndex(1) -4 >Emitted(54, 50) Source(8, 30) + SourceIndex(1) -5 >Emitted(54, 52) Source(8, 32) + SourceIndex(1) -6 >Emitted(54, 54) Source(8, 34) + SourceIndex(1) -7 >Emitted(54, 56) Source(8, 36) + SourceIndex(1) -8 >Emitted(54, 58) Source(8, 38) + SourceIndex(1) -9 >Emitted(54, 60) Source(8, 40) + SourceIndex(1) -10>Emitted(54, 61) Source(8, 41) + SourceIndex(1) -11>Emitted(54, 64) Source(8, 43) + SourceIndex(1) +1->Emitted(56, 1) Source(8, 1) + SourceIndex(1) +2 >Emitted(56, 25) Source(8, 25) + SourceIndex(1) +3 >Emitted(56, 49) Source(8, 29) + SourceIndex(1) +4 >Emitted(56, 50) Source(8, 30) + SourceIndex(1) +5 >Emitted(56, 52) Source(8, 32) + SourceIndex(1) +6 >Emitted(56, 54) Source(8, 34) + SourceIndex(1) +7 >Emitted(56, 56) Source(8, 36) + SourceIndex(1) +8 >Emitted(56, 58) Source(8, 38) + SourceIndex(1) +9 >Emitted(56, 60) Source(8, 40) + SourceIndex(1) +10>Emitted(56, 61) Source(8, 41) + SourceIndex(1) +11>Emitted(56, 64) Source(8, 43) + SourceIndex(1) --- >>>//# sourceMappingURL=second-output.js.map @@ -659,25 +663,25 @@ sourceFile:../second/second_part2.ts "sections": [ { "pos": 0, - "end": 415, + "end": 500, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 417, - "end": 921, + "pos": 502, + "end": 1006, "kind": "emitHelpers", "data": "typescript:read" }, { - "pos": 923, - "end": 1093, + "pos": 1008, + "end": 1178, "kind": "emitHelpers", "data": "typescript:spread" }, { - "pos": 1095, - "end": 1715, + "pos": 1180, + "end": 1800, "kind": "text" } ], @@ -706,18 +710,20 @@ sourceFile:../second/second_part2.ts ====================================================================== File:: /src/2/second-output.js ---------------------------------------------------------------------- -emitHelpers: (0-415):: typescript:rest +emitHelpers: (0-500):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -emitHelpers: (417-921):: typescript:read +emitHelpers: (502-1006):: typescript:read var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; @@ -735,13 +741,13 @@ var __read = (this && this.__read) || function (o, n) { return ar; }; ---------------------------------------------------------------------- -emitHelpers: (923-1093):: typescript:spread +emitHelpers: (1008-1178):: typescript:spread var __spread = (this && this.__spread) || function () { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; }; ---------------------------------------------------------------------- -text: (1095-1715) +text: (1180-1800) var N; (function (N) { function f() { @@ -986,8 +992,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var __read = (this && this.__read) || function (o, n) { @@ -1029,7 +1037,7 @@ firstfirst_part3Spread.apply(void 0, __spread([10, 20, 30])); //# sourceMappingURL=first-output.js.map //// [/src/first/bin/first-output.js.map] -{"version":3,"file":"first-output.js","sourceRoot":"","sources":["../first_PART1.ts","../first_part2.ts","../first_part3.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AACD,SAAS,sBAAsB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACnD,sBAAsB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE"} +{"version":3,"file":"first-output.js","sourceRoot":"","sources":["../first_PART1.ts","../first_part2.ts","../first_part3.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AACD,SAAS,sBAAsB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACnD,sBAAsB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE"} //// [/src/first/bin/first-output.js.map.baseline.txt] =================================================================== @@ -1047,8 +1055,10 @@ sourceFile:../first_PART1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var __read = (this && this.__read) || function (o, n) { @@ -1088,12 +1098,12 @@ sourceFile:../first_PART1.ts 4 > = 5 > "Hello, world" 6 > ; -1 >Emitted(30, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(30, 5) Source(5, 7) + SourceIndex(0) -3 >Emitted(30, 6) Source(5, 8) + SourceIndex(0) -4 >Emitted(30, 9) Source(5, 11) + SourceIndex(0) -5 >Emitted(30, 23) Source(5, 25) + SourceIndex(0) -6 >Emitted(30, 24) Source(5, 26) + SourceIndex(0) +1 >Emitted(32, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(32, 5) Source(5, 7) + SourceIndex(0) +3 >Emitted(32, 6) Source(5, 8) + SourceIndex(0) +4 >Emitted(32, 9) Source(5, 11) + SourceIndex(0) +5 >Emitted(32, 23) Source(5, 25) + SourceIndex(0) +6 >Emitted(32, 24) Source(5, 26) + SourceIndex(0) --- >>>console.log(s); 1 > @@ -1119,14 +1129,14 @@ sourceFile:../first_PART1.ts 6 > s 7 > ) 8 > ; -1 >Emitted(31, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(31, 8) Source(11, 8) + SourceIndex(0) -3 >Emitted(31, 9) Source(11, 9) + SourceIndex(0) -4 >Emitted(31, 12) Source(11, 12) + SourceIndex(0) -5 >Emitted(31, 13) Source(11, 13) + SourceIndex(0) -6 >Emitted(31, 14) Source(11, 14) + SourceIndex(0) -7 >Emitted(31, 15) Source(11, 15) + SourceIndex(0) -8 >Emitted(31, 16) Source(11, 16) + SourceIndex(0) +1 >Emitted(33, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(33, 8) Source(11, 8) + SourceIndex(0) +3 >Emitted(33, 9) Source(11, 9) + SourceIndex(0) +4 >Emitted(33, 12) Source(11, 12) + SourceIndex(0) +5 >Emitted(33, 13) Source(11, 13) + SourceIndex(0) +6 >Emitted(33, 14) Source(11, 14) + SourceIndex(0) +7 >Emitted(33, 15) Source(11, 15) + SourceIndex(0) +8 >Emitted(33, 16) Source(11, 16) + SourceIndex(0) --- >>>function forfirstfirst_PART1Rest() { 1-> @@ -1137,9 +1147,9 @@ sourceFile:../first_PART1.ts > 2 >function 3 > forfirstfirst_PART1Rest -1->Emitted(32, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(32, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(32, 33) Source(12, 33) + SourceIndex(0) +1->Emitted(34, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(34, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(34, 33) Source(12, 33) + SourceIndex(0) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -1159,14 +1169,14 @@ sourceFile:../first_PART1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(33, 5) Source(13, 1) + SourceIndex(0) -2 >Emitted(33, 9) Source(13, 7) + SourceIndex(0) -3 >Emitted(33, 38) Source(13, 48) + SourceIndex(0) -4 >Emitted(33, 40) Source(13, 9) + SourceIndex(0) -5 >Emitted(33, 48) Source(13, 10) + SourceIndex(0) -6 >Emitted(33, 50) Source(13, 12) + SourceIndex(0) -7 >Emitted(33, 74) Source(13, 48) + SourceIndex(0) -8 >Emitted(33, 75) Source(13, 49) + SourceIndex(0) +1->Emitted(35, 5) Source(13, 1) + SourceIndex(0) +2 >Emitted(35, 9) Source(13, 7) + SourceIndex(0) +3 >Emitted(35, 38) Source(13, 48) + SourceIndex(0) +4 >Emitted(35, 40) Source(13, 9) + SourceIndex(0) +5 >Emitted(35, 48) Source(13, 10) + SourceIndex(0) +6 >Emitted(35, 50) Source(13, 12) + SourceIndex(0) +7 >Emitted(35, 74) Source(13, 48) + SourceIndex(0) +8 >Emitted(35, 75) Source(13, 49) + SourceIndex(0) --- >>>} 1 > @@ -1175,8 +1185,8 @@ sourceFile:../first_PART1.ts 1 > > 2 >} -1 >Emitted(34, 1) Source(14, 1) + SourceIndex(0) -2 >Emitted(34, 2) Source(14, 2) + SourceIndex(0) +1 >Emitted(36, 1) Source(14, 1) + SourceIndex(0) +2 >Emitted(36, 2) Source(14, 2) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/first/bin/first-output.js @@ -1201,15 +1211,15 @@ sourceFile:../first_part2.ts 7 > () 8 > ) 9 > ; -1->Emitted(35, 1) Source(1, 1) + SourceIndex(1) -2 >Emitted(35, 8) Source(1, 8) + SourceIndex(1) -3 >Emitted(35, 9) Source(1, 9) + SourceIndex(1) -4 >Emitted(35, 12) Source(1, 12) + SourceIndex(1) -5 >Emitted(35, 13) Source(1, 13) + SourceIndex(1) -6 >Emitted(35, 14) Source(1, 14) + SourceIndex(1) -7 >Emitted(35, 16) Source(1, 16) + SourceIndex(1) -8 >Emitted(35, 17) Source(1, 17) + SourceIndex(1) -9 >Emitted(35, 18) Source(1, 18) + SourceIndex(1) +1->Emitted(37, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(37, 8) Source(1, 8) + SourceIndex(1) +3 >Emitted(37, 9) Source(1, 9) + SourceIndex(1) +4 >Emitted(37, 12) Source(1, 12) + SourceIndex(1) +5 >Emitted(37, 13) Source(1, 13) + SourceIndex(1) +6 >Emitted(37, 14) Source(1, 14) + SourceIndex(1) +7 >Emitted(37, 16) Source(1, 16) + SourceIndex(1) +8 >Emitted(37, 17) Source(1, 17) + SourceIndex(1) +9 >Emitted(37, 18) Source(1, 18) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/first/bin/first-output.js @@ -1223,9 +1233,9 @@ sourceFile:../first_part3.ts 1 > 2 >function 3 > f -1 >Emitted(36, 1) Source(1, 1) + SourceIndex(2) -2 >Emitted(36, 10) Source(1, 10) + SourceIndex(2) -3 >Emitted(36, 11) Source(1, 11) + SourceIndex(2) +1 >Emitted(38, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(38, 10) Source(1, 10) + SourceIndex(2) +3 >Emitted(38, 11) Source(1, 11) + SourceIndex(2) --- >>> return "JS does hoists"; 1->^^^^ @@ -1237,10 +1247,10 @@ sourceFile:../first_part3.ts 2 > return 3 > "JS does hoists" 4 > ; -1->Emitted(37, 5) Source(2, 5) + SourceIndex(2) -2 >Emitted(37, 12) Source(2, 12) + SourceIndex(2) -3 >Emitted(37, 28) Source(2, 28) + SourceIndex(2) -4 >Emitted(37, 29) Source(2, 29) + SourceIndex(2) +1->Emitted(39, 5) Source(2, 5) + SourceIndex(2) +2 >Emitted(39, 12) Source(2, 12) + SourceIndex(2) +3 >Emitted(39, 28) Source(2, 28) + SourceIndex(2) +4 >Emitted(39, 29) Source(2, 29) + SourceIndex(2) --- >>>} 1 > @@ -1249,8 +1259,8 @@ sourceFile:../first_part3.ts 1 > > 2 >} -1 >Emitted(38, 1) Source(3, 1) + SourceIndex(2) -2 >Emitted(38, 2) Source(3, 2) + SourceIndex(2) +1 >Emitted(40, 1) Source(3, 1) + SourceIndex(2) +2 >Emitted(40, 2) Source(3, 2) + SourceIndex(2) --- >>>function firstfirst_part3Spread() { 1-> @@ -1260,9 +1270,9 @@ sourceFile:../first_part3.ts > 2 >function 3 > firstfirst_part3Spread -1->Emitted(39, 1) Source(4, 1) + SourceIndex(2) -2 >Emitted(39, 10) Source(4, 10) + SourceIndex(2) -3 >Emitted(39, 32) Source(4, 32) + SourceIndex(2) +1->Emitted(41, 1) Source(4, 1) + SourceIndex(2) +2 >Emitted(41, 10) Source(4, 10) + SourceIndex(2) +3 >Emitted(41, 32) Source(4, 32) + SourceIndex(2) --- >>> var b = []; 1 >^^^^ @@ -1270,8 +1280,8 @@ sourceFile:../first_part3.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >( 2 > ...b: number[] -1 >Emitted(40, 5) Source(4, 33) + SourceIndex(2) -2 >Emitted(40, 16) Source(4, 47) + SourceIndex(2) +1 >Emitted(42, 5) Source(4, 33) + SourceIndex(2) +2 >Emitted(42, 16) Source(4, 47) + SourceIndex(2) --- >>> for (var _i = 0; _i < arguments.length; _i++) { 1->^^^^^^^^^ @@ -1286,20 +1296,20 @@ sourceFile:../first_part3.ts 4 > ...b: number[] 5 > 6 > ...b: number[] -1->Emitted(41, 10) Source(4, 33) + SourceIndex(2) -2 >Emitted(41, 20) Source(4, 47) + SourceIndex(2) -3 >Emitted(41, 22) Source(4, 33) + SourceIndex(2) -4 >Emitted(41, 43) Source(4, 47) + SourceIndex(2) -5 >Emitted(41, 45) Source(4, 33) + SourceIndex(2) -6 >Emitted(41, 49) Source(4, 47) + SourceIndex(2) +1->Emitted(43, 10) Source(4, 33) + SourceIndex(2) +2 >Emitted(43, 20) Source(4, 47) + SourceIndex(2) +3 >Emitted(43, 22) Source(4, 33) + SourceIndex(2) +4 >Emitted(43, 43) Source(4, 47) + SourceIndex(2) +5 >Emitted(43, 45) Source(4, 33) + SourceIndex(2) +6 >Emitted(43, 49) Source(4, 47) + SourceIndex(2) --- >>> b[_i] = arguments[_i]; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > ...b: number[] -1 >Emitted(42, 9) Source(4, 33) + SourceIndex(2) -2 >Emitted(42, 31) Source(4, 47) + SourceIndex(2) +1 >Emitted(44, 9) Source(4, 33) + SourceIndex(2) +2 >Emitted(44, 31) Source(4, 47) + SourceIndex(2) --- >>> } >>>} @@ -1308,8 +1318,8 @@ sourceFile:../first_part3.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >) { 2 >} -1 >Emitted(44, 1) Source(4, 51) + SourceIndex(2) -2 >Emitted(44, 2) Source(4, 52) + SourceIndex(2) +1 >Emitted(46, 1) Source(4, 51) + SourceIndex(2) +2 >Emitted(46, 2) Source(4, 52) + SourceIndex(2) --- >>>firstfirst_part3Spread.apply(void 0, __spread([10, 20, 30])); 1-> @@ -1335,17 +1345,17 @@ sourceFile:../first_part3.ts 9 > 30 10> ] 11> ); -1->Emitted(45, 1) Source(5, 1) + SourceIndex(2) -2 >Emitted(45, 23) Source(5, 23) + SourceIndex(2) -3 >Emitted(45, 47) Source(5, 27) + SourceIndex(2) -4 >Emitted(45, 48) Source(5, 28) + SourceIndex(2) -5 >Emitted(45, 50) Source(5, 30) + SourceIndex(2) -6 >Emitted(45, 52) Source(5, 32) + SourceIndex(2) -7 >Emitted(45, 54) Source(5, 34) + SourceIndex(2) -8 >Emitted(45, 56) Source(5, 36) + SourceIndex(2) -9 >Emitted(45, 58) Source(5, 38) + SourceIndex(2) -10>Emitted(45, 59) Source(5, 39) + SourceIndex(2) -11>Emitted(45, 62) Source(5, 41) + SourceIndex(2) +1->Emitted(47, 1) Source(5, 1) + SourceIndex(2) +2 >Emitted(47, 23) Source(5, 23) + SourceIndex(2) +3 >Emitted(47, 47) Source(5, 27) + SourceIndex(2) +4 >Emitted(47, 48) Source(5, 28) + SourceIndex(2) +5 >Emitted(47, 50) Source(5, 30) + SourceIndex(2) +6 >Emitted(47, 52) Source(5, 32) + SourceIndex(2) +7 >Emitted(47, 54) Source(5, 34) + SourceIndex(2) +8 >Emitted(47, 56) Source(5, 36) + SourceIndex(2) +9 >Emitted(47, 58) Source(5, 38) + SourceIndex(2) +10>Emitted(47, 59) Source(5, 39) + SourceIndex(2) +11>Emitted(47, 62) Source(5, 41) + SourceIndex(2) --- >>>//# sourceMappingURL=first-output.js.map @@ -1362,25 +1372,25 @@ sourceFile:../first_part3.ts "sections": [ { "pos": 0, - "end": 415, + "end": 500, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 417, - "end": 921, + "pos": 502, + "end": 1006, "kind": "emitHelpers", "data": "typescript:read" }, { - "pos": 923, - "end": 1093, + "pos": 1008, + "end": 1178, "kind": "emitHelpers", "data": "typescript:spread" }, { - "pos": 1095, - "end": 1534, + "pos": 1180, + "end": 1619, "kind": "text" } ], @@ -1409,18 +1419,20 @@ sourceFile:../first_part3.ts ====================================================================== File:: /src/first/bin/first-output.js ---------------------------------------------------------------------- -emitHelpers: (0-415):: typescript:rest +emitHelpers: (0-500):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -emitHelpers: (417-921):: typescript:read +emitHelpers: (502-1006):: typescript:read var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; @@ -1438,13 +1450,13 @@ var __read = (this && this.__read) || function (o, n) { return ar; }; ---------------------------------------------------------------------- -emitHelpers: (923-1093):: typescript:spread +emitHelpers: (1008-1178):: typescript:spread var __spread = (this && this.__spread) || function () { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; }; ---------------------------------------------------------------------- -text: (1095-1534) +text: (1180-1619) var s = "Hello, world"; console.log(s); function forfirstfirst_PART1Rest() { @@ -1994,8 +2006,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var __read = (this && this.__read) || function (o, n) { @@ -2074,7 +2088,7 @@ thirdthird_part1Spread.apply(void 0, __spread([10, 20, 30])); //# sourceMappingURL=third-output.js.map //// [/src/third/thirdjs/output/third-output.js.map] -{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AACD,SAAS,sBAAsB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACnD,sBAAsB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;ACAxC,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;AAED,SAAS,wBAAwB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACrD,wBAAwB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;ACP1C,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC;AAChB,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;AACD,SAAS,sBAAsB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACnD,sBAAsB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE"} +{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AACD,SAAS,sBAAsB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACnD,sBAAsB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;ACAxC,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AACD,SAAS,yBAAyB;IAClC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;AAED,SAAS,wBAAwB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACrD,wBAAwB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;ACP1C,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC;AAChB,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;AACD,SAAS,sBAAsB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACnD,sBAAsB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE"} //// [/src/third/thirdjs/output/third-output.js.map.baseline.txt] =================================================================== @@ -2092,8 +2106,10 @@ sourceFile:../../../first/first_PART1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var __read = (this && this.__read) || function (o, n) { @@ -2133,12 +2149,12 @@ sourceFile:../../../first/first_PART1.ts 4 > = 5 > "Hello, world" 6 > ; -1 >Emitted(30, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(30, 5) Source(5, 7) + SourceIndex(0) -3 >Emitted(30, 6) Source(5, 8) + SourceIndex(0) -4 >Emitted(30, 9) Source(5, 11) + SourceIndex(0) -5 >Emitted(30, 23) Source(5, 25) + SourceIndex(0) -6 >Emitted(30, 24) Source(5, 26) + SourceIndex(0) +1 >Emitted(32, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(32, 5) Source(5, 7) + SourceIndex(0) +3 >Emitted(32, 6) Source(5, 8) + SourceIndex(0) +4 >Emitted(32, 9) Source(5, 11) + SourceIndex(0) +5 >Emitted(32, 23) Source(5, 25) + SourceIndex(0) +6 >Emitted(32, 24) Source(5, 26) + SourceIndex(0) --- >>>console.log(s); 1 > @@ -2164,14 +2180,14 @@ sourceFile:../../../first/first_PART1.ts 6 > s 7 > ) 8 > ; -1 >Emitted(31, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(31, 8) Source(11, 8) + SourceIndex(0) -3 >Emitted(31, 9) Source(11, 9) + SourceIndex(0) -4 >Emitted(31, 12) Source(11, 12) + SourceIndex(0) -5 >Emitted(31, 13) Source(11, 13) + SourceIndex(0) -6 >Emitted(31, 14) Source(11, 14) + SourceIndex(0) -7 >Emitted(31, 15) Source(11, 15) + SourceIndex(0) -8 >Emitted(31, 16) Source(11, 16) + SourceIndex(0) +1 >Emitted(33, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(33, 8) Source(11, 8) + SourceIndex(0) +3 >Emitted(33, 9) Source(11, 9) + SourceIndex(0) +4 >Emitted(33, 12) Source(11, 12) + SourceIndex(0) +5 >Emitted(33, 13) Source(11, 13) + SourceIndex(0) +6 >Emitted(33, 14) Source(11, 14) + SourceIndex(0) +7 >Emitted(33, 15) Source(11, 15) + SourceIndex(0) +8 >Emitted(33, 16) Source(11, 16) + SourceIndex(0) --- >>>function forfirstfirst_PART1Rest() { 1-> @@ -2182,9 +2198,9 @@ sourceFile:../../../first/first_PART1.ts > 2 >function 3 > forfirstfirst_PART1Rest -1->Emitted(32, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(32, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(32, 33) Source(12, 33) + SourceIndex(0) +1->Emitted(34, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(34, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(34, 33) Source(12, 33) + SourceIndex(0) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -2204,14 +2220,14 @@ sourceFile:../../../first/first_PART1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(33, 5) Source(13, 1) + SourceIndex(0) -2 >Emitted(33, 9) Source(13, 7) + SourceIndex(0) -3 >Emitted(33, 38) Source(13, 48) + SourceIndex(0) -4 >Emitted(33, 40) Source(13, 9) + SourceIndex(0) -5 >Emitted(33, 48) Source(13, 10) + SourceIndex(0) -6 >Emitted(33, 50) Source(13, 12) + SourceIndex(0) -7 >Emitted(33, 74) Source(13, 48) + SourceIndex(0) -8 >Emitted(33, 75) Source(13, 49) + SourceIndex(0) +1->Emitted(35, 5) Source(13, 1) + SourceIndex(0) +2 >Emitted(35, 9) Source(13, 7) + SourceIndex(0) +3 >Emitted(35, 38) Source(13, 48) + SourceIndex(0) +4 >Emitted(35, 40) Source(13, 9) + SourceIndex(0) +5 >Emitted(35, 48) Source(13, 10) + SourceIndex(0) +6 >Emitted(35, 50) Source(13, 12) + SourceIndex(0) +7 >Emitted(35, 74) Source(13, 48) + SourceIndex(0) +8 >Emitted(35, 75) Source(13, 49) + SourceIndex(0) --- >>>} 1 > @@ -2220,8 +2236,8 @@ sourceFile:../../../first/first_PART1.ts 1 > > 2 >} -1 >Emitted(34, 1) Source(14, 1) + SourceIndex(0) -2 >Emitted(34, 2) Source(14, 2) + SourceIndex(0) +1 >Emitted(36, 1) Source(14, 1) + SourceIndex(0) +2 >Emitted(36, 2) Source(14, 2) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -2246,15 +2262,15 @@ sourceFile:../../../first/first_part2.ts 7 > () 8 > ) 9 > ; -1->Emitted(35, 1) Source(1, 1) + SourceIndex(1) -2 >Emitted(35, 8) Source(1, 8) + SourceIndex(1) -3 >Emitted(35, 9) Source(1, 9) + SourceIndex(1) -4 >Emitted(35, 12) Source(1, 12) + SourceIndex(1) -5 >Emitted(35, 13) Source(1, 13) + SourceIndex(1) -6 >Emitted(35, 14) Source(1, 14) + SourceIndex(1) -7 >Emitted(35, 16) Source(1, 16) + SourceIndex(1) -8 >Emitted(35, 17) Source(1, 17) + SourceIndex(1) -9 >Emitted(35, 18) Source(1, 18) + SourceIndex(1) +1->Emitted(37, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(37, 8) Source(1, 8) + SourceIndex(1) +3 >Emitted(37, 9) Source(1, 9) + SourceIndex(1) +4 >Emitted(37, 12) Source(1, 12) + SourceIndex(1) +5 >Emitted(37, 13) Source(1, 13) + SourceIndex(1) +6 >Emitted(37, 14) Source(1, 14) + SourceIndex(1) +7 >Emitted(37, 16) Source(1, 16) + SourceIndex(1) +8 >Emitted(37, 17) Source(1, 17) + SourceIndex(1) +9 >Emitted(37, 18) Source(1, 18) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -2268,9 +2284,9 @@ sourceFile:../../../first/first_part3.ts 1 > 2 >function 3 > f -1 >Emitted(36, 1) Source(1, 1) + SourceIndex(2) -2 >Emitted(36, 10) Source(1, 10) + SourceIndex(2) -3 >Emitted(36, 11) Source(1, 11) + SourceIndex(2) +1 >Emitted(38, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(38, 10) Source(1, 10) + SourceIndex(2) +3 >Emitted(38, 11) Source(1, 11) + SourceIndex(2) --- >>> return "JS does hoists"; 1->^^^^ @@ -2282,10 +2298,10 @@ sourceFile:../../../first/first_part3.ts 2 > return 3 > "JS does hoists" 4 > ; -1->Emitted(37, 5) Source(2, 5) + SourceIndex(2) -2 >Emitted(37, 12) Source(2, 12) + SourceIndex(2) -3 >Emitted(37, 28) Source(2, 28) + SourceIndex(2) -4 >Emitted(37, 29) Source(2, 29) + SourceIndex(2) +1->Emitted(39, 5) Source(2, 5) + SourceIndex(2) +2 >Emitted(39, 12) Source(2, 12) + SourceIndex(2) +3 >Emitted(39, 28) Source(2, 28) + SourceIndex(2) +4 >Emitted(39, 29) Source(2, 29) + SourceIndex(2) --- >>>} 1 > @@ -2294,8 +2310,8 @@ sourceFile:../../../first/first_part3.ts 1 > > 2 >} -1 >Emitted(38, 1) Source(3, 1) + SourceIndex(2) -2 >Emitted(38, 2) Source(3, 2) + SourceIndex(2) +1 >Emitted(40, 1) Source(3, 1) + SourceIndex(2) +2 >Emitted(40, 2) Source(3, 2) + SourceIndex(2) --- >>>function firstfirst_part3Spread() { 1-> @@ -2305,9 +2321,9 @@ sourceFile:../../../first/first_part3.ts > 2 >function 3 > firstfirst_part3Spread -1->Emitted(39, 1) Source(4, 1) + SourceIndex(2) -2 >Emitted(39, 10) Source(4, 10) + SourceIndex(2) -3 >Emitted(39, 32) Source(4, 32) + SourceIndex(2) +1->Emitted(41, 1) Source(4, 1) + SourceIndex(2) +2 >Emitted(41, 10) Source(4, 10) + SourceIndex(2) +3 >Emitted(41, 32) Source(4, 32) + SourceIndex(2) --- >>> var b = []; 1 >^^^^ @@ -2315,8 +2331,8 @@ sourceFile:../../../first/first_part3.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >( 2 > ...b: number[] -1 >Emitted(40, 5) Source(4, 33) + SourceIndex(2) -2 >Emitted(40, 16) Source(4, 47) + SourceIndex(2) +1 >Emitted(42, 5) Source(4, 33) + SourceIndex(2) +2 >Emitted(42, 16) Source(4, 47) + SourceIndex(2) --- >>> for (var _i = 0; _i < arguments.length; _i++) { 1->^^^^^^^^^ @@ -2331,20 +2347,20 @@ sourceFile:../../../first/first_part3.ts 4 > ...b: number[] 5 > 6 > ...b: number[] -1->Emitted(41, 10) Source(4, 33) + SourceIndex(2) -2 >Emitted(41, 20) Source(4, 47) + SourceIndex(2) -3 >Emitted(41, 22) Source(4, 33) + SourceIndex(2) -4 >Emitted(41, 43) Source(4, 47) + SourceIndex(2) -5 >Emitted(41, 45) Source(4, 33) + SourceIndex(2) -6 >Emitted(41, 49) Source(4, 47) + SourceIndex(2) +1->Emitted(43, 10) Source(4, 33) + SourceIndex(2) +2 >Emitted(43, 20) Source(4, 47) + SourceIndex(2) +3 >Emitted(43, 22) Source(4, 33) + SourceIndex(2) +4 >Emitted(43, 43) Source(4, 47) + SourceIndex(2) +5 >Emitted(43, 45) Source(4, 33) + SourceIndex(2) +6 >Emitted(43, 49) Source(4, 47) + SourceIndex(2) --- >>> b[_i] = arguments[_i]; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > ...b: number[] -1 >Emitted(42, 9) Source(4, 33) + SourceIndex(2) -2 >Emitted(42, 31) Source(4, 47) + SourceIndex(2) +1 >Emitted(44, 9) Source(4, 33) + SourceIndex(2) +2 >Emitted(44, 31) Source(4, 47) + SourceIndex(2) --- >>> } >>>} @@ -2353,8 +2369,8 @@ sourceFile:../../../first/first_part3.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >) { 2 >} -1 >Emitted(44, 1) Source(4, 51) + SourceIndex(2) -2 >Emitted(44, 2) Source(4, 52) + SourceIndex(2) +1 >Emitted(46, 1) Source(4, 51) + SourceIndex(2) +2 >Emitted(46, 2) Source(4, 52) + SourceIndex(2) --- >>>firstfirst_part3Spread.apply(void 0, __spread([10, 20, 30])); 1-> @@ -2380,17 +2396,17 @@ sourceFile:../../../first/first_part3.ts 9 > 30 10> ] 11> ); -1->Emitted(45, 1) Source(5, 1) + SourceIndex(2) -2 >Emitted(45, 23) Source(5, 23) + SourceIndex(2) -3 >Emitted(45, 47) Source(5, 27) + SourceIndex(2) -4 >Emitted(45, 48) Source(5, 28) + SourceIndex(2) -5 >Emitted(45, 50) Source(5, 30) + SourceIndex(2) -6 >Emitted(45, 52) Source(5, 32) + SourceIndex(2) -7 >Emitted(45, 54) Source(5, 34) + SourceIndex(2) -8 >Emitted(45, 56) Source(5, 36) + SourceIndex(2) -9 >Emitted(45, 58) Source(5, 38) + SourceIndex(2) -10>Emitted(45, 59) Source(5, 39) + SourceIndex(2) -11>Emitted(45, 62) Source(5, 41) + SourceIndex(2) +1->Emitted(47, 1) Source(5, 1) + SourceIndex(2) +2 >Emitted(47, 23) Source(5, 23) + SourceIndex(2) +3 >Emitted(47, 47) Source(5, 27) + SourceIndex(2) +4 >Emitted(47, 48) Source(5, 28) + SourceIndex(2) +5 >Emitted(47, 50) Source(5, 30) + SourceIndex(2) +6 >Emitted(47, 52) Source(5, 32) + SourceIndex(2) +7 >Emitted(47, 54) Source(5, 34) + SourceIndex(2) +8 >Emitted(47, 56) Source(5, 36) + SourceIndex(2) +9 >Emitted(47, 58) Source(5, 38) + SourceIndex(2) +10>Emitted(47, 59) Source(5, 39) + SourceIndex(2) +11>Emitted(47, 62) Source(5, 41) + SourceIndex(2) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -2416,10 +2432,10 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1 >Emitted(46, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(46, 5) Source(5, 11) + SourceIndex(3) -3 >Emitted(46, 6) Source(5, 12) + SourceIndex(3) -4 >Emitted(46, 7) Source(11, 2) + SourceIndex(3) +1 >Emitted(48, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(48, 5) Source(5, 11) + SourceIndex(3) +3 >Emitted(48, 6) Source(5, 12) + SourceIndex(3) +4 >Emitted(48, 7) Source(11, 2) + SourceIndex(3) --- >>>(function (N) { 1-> @@ -2429,9 +2445,9 @@ sourceFile:../../../second/second_part1.ts 1-> 2 >namespace 3 > N -1->Emitted(47, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(47, 12) Source(5, 11) + SourceIndex(3) -3 >Emitted(47, 13) Source(5, 12) + SourceIndex(3) +1->Emitted(49, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(49, 12) Source(5, 11) + SourceIndex(3) +3 >Emitted(49, 13) Source(5, 12) + SourceIndex(3) --- >>> function f() { 1->^^^^ @@ -2442,9 +2458,9 @@ sourceFile:../../../second/second_part1.ts > 2 > function 3 > f -1->Emitted(48, 5) Source(6, 5) + SourceIndex(3) -2 >Emitted(48, 14) Source(6, 14) + SourceIndex(3) -3 >Emitted(48, 15) Source(6, 15) + SourceIndex(3) +1->Emitted(50, 5) Source(6, 5) + SourceIndex(3) +2 >Emitted(50, 14) Source(6, 14) + SourceIndex(3) +3 >Emitted(50, 15) Source(6, 15) + SourceIndex(3) --- >>> console.log('testing'); 1->^^^^^^^^ @@ -2464,14 +2480,14 @@ sourceFile:../../../second/second_part1.ts 6 > 'testing' 7 > ) 8 > ; -1->Emitted(49, 9) Source(7, 9) + SourceIndex(3) -2 >Emitted(49, 16) Source(7, 16) + SourceIndex(3) -3 >Emitted(49, 17) Source(7, 17) + SourceIndex(3) -4 >Emitted(49, 20) Source(7, 20) + SourceIndex(3) -5 >Emitted(49, 21) Source(7, 21) + SourceIndex(3) -6 >Emitted(49, 30) Source(7, 30) + SourceIndex(3) -7 >Emitted(49, 31) Source(7, 31) + SourceIndex(3) -8 >Emitted(49, 32) Source(7, 32) + SourceIndex(3) +1->Emitted(51, 9) Source(7, 9) + SourceIndex(3) +2 >Emitted(51, 16) Source(7, 16) + SourceIndex(3) +3 >Emitted(51, 17) Source(7, 17) + SourceIndex(3) +4 >Emitted(51, 20) Source(7, 20) + SourceIndex(3) +5 >Emitted(51, 21) Source(7, 21) + SourceIndex(3) +6 >Emitted(51, 30) Source(7, 30) + SourceIndex(3) +7 >Emitted(51, 31) Source(7, 31) + SourceIndex(3) +8 >Emitted(51, 32) Source(7, 32) + SourceIndex(3) --- >>> } 1 >^^^^ @@ -2480,8 +2496,8 @@ sourceFile:../../../second/second_part1.ts 1 > > 2 > } -1 >Emitted(50, 5) Source(8, 5) + SourceIndex(3) -2 >Emitted(50, 6) Source(8, 6) + SourceIndex(3) +1 >Emitted(52, 5) Source(8, 5) + SourceIndex(3) +2 >Emitted(52, 6) Source(8, 6) + SourceIndex(3) --- >>> f(); 1->^^^^ @@ -2495,10 +2511,10 @@ sourceFile:../../../second/second_part1.ts 2 > f 3 > () 4 > ; -1->Emitted(51, 5) Source(10, 5) + SourceIndex(3) -2 >Emitted(51, 6) Source(10, 6) + SourceIndex(3) -3 >Emitted(51, 8) Source(10, 8) + SourceIndex(3) -4 >Emitted(51, 9) Source(10, 9) + SourceIndex(3) +1->Emitted(53, 5) Source(10, 5) + SourceIndex(3) +2 >Emitted(53, 6) Source(10, 6) + SourceIndex(3) +3 >Emitted(53, 8) Source(10, 8) + SourceIndex(3) +4 >Emitted(53, 9) Source(10, 9) + SourceIndex(3) --- >>>})(N || (N = {})); 1-> @@ -2523,13 +2539,13 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1->Emitted(52, 1) Source(11, 1) + SourceIndex(3) -2 >Emitted(52, 2) Source(11, 2) + SourceIndex(3) -3 >Emitted(52, 4) Source(5, 11) + SourceIndex(3) -4 >Emitted(52, 5) Source(5, 12) + SourceIndex(3) -5 >Emitted(52, 10) Source(5, 11) + SourceIndex(3) -6 >Emitted(52, 11) Source(5, 12) + SourceIndex(3) -7 >Emitted(52, 19) Source(11, 2) + SourceIndex(3) +1->Emitted(54, 1) Source(11, 1) + SourceIndex(3) +2 >Emitted(54, 2) Source(11, 2) + SourceIndex(3) +3 >Emitted(54, 4) Source(5, 11) + SourceIndex(3) +4 >Emitted(54, 5) Source(5, 12) + SourceIndex(3) +5 >Emitted(54, 10) Source(5, 11) + SourceIndex(3) +6 >Emitted(54, 11) Source(5, 12) + SourceIndex(3) +7 >Emitted(54, 19) Source(11, 2) + SourceIndex(3) --- >>>function forsecondsecond_part1Rest() { 1-> @@ -2540,9 +2556,9 @@ sourceFile:../../../second/second_part1.ts > 2 >function 3 > forsecondsecond_part1Rest -1->Emitted(53, 1) Source(12, 1) + SourceIndex(3) -2 >Emitted(53, 10) Source(12, 10) + SourceIndex(3) -3 >Emitted(53, 35) Source(12, 35) + SourceIndex(3) +1->Emitted(55, 1) Source(12, 1) + SourceIndex(3) +2 >Emitted(55, 10) Source(12, 10) + SourceIndex(3) +3 >Emitted(55, 35) Source(12, 35) + SourceIndex(3) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -2562,14 +2578,14 @@ sourceFile:../../../second/second_part1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(54, 5) Source(13, 1) + SourceIndex(3) -2 >Emitted(54, 9) Source(13, 7) + SourceIndex(3) -3 >Emitted(54, 38) Source(13, 48) + SourceIndex(3) -4 >Emitted(54, 40) Source(13, 9) + SourceIndex(3) -5 >Emitted(54, 48) Source(13, 10) + SourceIndex(3) -6 >Emitted(54, 50) Source(13, 12) + SourceIndex(3) -7 >Emitted(54, 74) Source(13, 48) + SourceIndex(3) -8 >Emitted(54, 75) Source(13, 49) + SourceIndex(3) +1->Emitted(56, 5) Source(13, 1) + SourceIndex(3) +2 >Emitted(56, 9) Source(13, 7) + SourceIndex(3) +3 >Emitted(56, 38) Source(13, 48) + SourceIndex(3) +4 >Emitted(56, 40) Source(13, 9) + SourceIndex(3) +5 >Emitted(56, 48) Source(13, 10) + SourceIndex(3) +6 >Emitted(56, 50) Source(13, 12) + SourceIndex(3) +7 >Emitted(56, 74) Source(13, 48) + SourceIndex(3) +8 >Emitted(56, 75) Source(13, 49) + SourceIndex(3) --- >>>} 1 > @@ -2578,8 +2594,8 @@ sourceFile:../../../second/second_part1.ts 1 > > 2 >} -1 >Emitted(55, 1) Source(14, 1) + SourceIndex(3) -2 >Emitted(55, 2) Source(14, 2) + SourceIndex(3) +1 >Emitted(57, 1) Source(14, 1) + SourceIndex(3) +2 >Emitted(57, 2) Source(14, 2) + SourceIndex(3) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -2589,13 +2605,13 @@ sourceFile:../../../second/second_part2.ts 1-> 2 >^^^^^^^^^^^^^^^^^^^-> 1-> -1->Emitted(56, 1) Source(1, 1) + SourceIndex(4) +1->Emitted(58, 1) Source(1, 1) + SourceIndex(4) --- >>> function C() { 1->^^^^ 2 > ^^-> 1-> -1->Emitted(57, 5) Source(1, 1) + SourceIndex(4) +1->Emitted(59, 5) Source(1, 1) + SourceIndex(4) --- >>> } 1->^^^^ @@ -2607,8 +2623,8 @@ sourceFile:../../../second/second_part2.ts > } > 2 > } -1->Emitted(58, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(58, 6) Source(5, 2) + SourceIndex(4) +1->Emitted(60, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(60, 6) Source(5, 2) + SourceIndex(4) --- >>> C.prototype.doSomething = function () { 1->^^^^ @@ -2618,9 +2634,9 @@ sourceFile:../../../second/second_part2.ts 1-> 2 > doSomething 3 > -1->Emitted(59, 5) Source(2, 5) + SourceIndex(4) -2 >Emitted(59, 28) Source(2, 16) + SourceIndex(4) -3 >Emitted(59, 31) Source(2, 5) + SourceIndex(4) +1->Emitted(61, 5) Source(2, 5) + SourceIndex(4) +2 >Emitted(61, 28) Source(2, 16) + SourceIndex(4) +3 >Emitted(61, 31) Source(2, 5) + SourceIndex(4) --- >>> console.log("something got done"); 1->^^^^^^^^ @@ -2640,14 +2656,14 @@ sourceFile:../../../second/second_part2.ts 6 > "something got done" 7 > ) 8 > ; -1->Emitted(60, 9) Source(3, 9) + SourceIndex(4) -2 >Emitted(60, 16) Source(3, 16) + SourceIndex(4) -3 >Emitted(60, 17) Source(3, 17) + SourceIndex(4) -4 >Emitted(60, 20) Source(3, 20) + SourceIndex(4) -5 >Emitted(60, 21) Source(3, 21) + SourceIndex(4) -6 >Emitted(60, 41) Source(3, 41) + SourceIndex(4) -7 >Emitted(60, 42) Source(3, 42) + SourceIndex(4) -8 >Emitted(60, 43) Source(3, 43) + SourceIndex(4) +1->Emitted(62, 9) Source(3, 9) + SourceIndex(4) +2 >Emitted(62, 16) Source(3, 16) + SourceIndex(4) +3 >Emitted(62, 17) Source(3, 17) + SourceIndex(4) +4 >Emitted(62, 20) Source(3, 20) + SourceIndex(4) +5 >Emitted(62, 21) Source(3, 21) + SourceIndex(4) +6 >Emitted(62, 41) Source(3, 41) + SourceIndex(4) +7 >Emitted(62, 42) Source(3, 42) + SourceIndex(4) +8 >Emitted(62, 43) Source(3, 43) + SourceIndex(4) --- >>> }; 1 >^^^^ @@ -2656,8 +2672,8 @@ sourceFile:../../../second/second_part2.ts 1 > > 2 > } -1 >Emitted(61, 5) Source(4, 5) + SourceIndex(4) -2 >Emitted(61, 6) Source(4, 6) + SourceIndex(4) +1 >Emitted(63, 5) Source(4, 5) + SourceIndex(4) +2 >Emitted(63, 6) Source(4, 6) + SourceIndex(4) --- >>> return C; 1->^^^^ @@ -2665,8 +2681,8 @@ sourceFile:../../../second/second_part2.ts 1-> > 2 > } -1->Emitted(62, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(62, 13) Source(5, 2) + SourceIndex(4) +1->Emitted(64, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(64, 13) Source(5, 2) + SourceIndex(4) --- >>>}()); 1 > @@ -2682,10 +2698,10 @@ sourceFile:../../../second/second_part2.ts > console.log("something got done"); > } > } -1 >Emitted(63, 1) Source(5, 1) + SourceIndex(4) -2 >Emitted(63, 2) Source(5, 2) + SourceIndex(4) -3 >Emitted(63, 2) Source(1, 1) + SourceIndex(4) -4 >Emitted(63, 6) Source(5, 2) + SourceIndex(4) +1 >Emitted(65, 1) Source(5, 1) + SourceIndex(4) +2 >Emitted(65, 2) Source(5, 2) + SourceIndex(4) +3 >Emitted(65, 2) Source(1, 1) + SourceIndex(4) +4 >Emitted(65, 6) Source(5, 2) + SourceIndex(4) --- >>>function secondsecond_part2Spread() { 1-> @@ -2696,9 +2712,9 @@ sourceFile:../../../second/second_part2.ts > 2 >function 3 > secondsecond_part2Spread -1->Emitted(64, 1) Source(7, 1) + SourceIndex(4) -2 >Emitted(64, 10) Source(7, 10) + SourceIndex(4) -3 >Emitted(64, 34) Source(7, 34) + SourceIndex(4) +1->Emitted(66, 1) Source(7, 1) + SourceIndex(4) +2 >Emitted(66, 10) Source(7, 10) + SourceIndex(4) +3 >Emitted(66, 34) Source(7, 34) + SourceIndex(4) --- >>> var b = []; 1 >^^^^ @@ -2706,8 +2722,8 @@ sourceFile:../../../second/second_part2.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >( 2 > ...b: number[] -1 >Emitted(65, 5) Source(7, 35) + SourceIndex(4) -2 >Emitted(65, 16) Source(7, 49) + SourceIndex(4) +1 >Emitted(67, 5) Source(7, 35) + SourceIndex(4) +2 >Emitted(67, 16) Source(7, 49) + SourceIndex(4) --- >>> for (var _i = 0; _i < arguments.length; _i++) { 1->^^^^^^^^^ @@ -2722,20 +2738,20 @@ sourceFile:../../../second/second_part2.ts 4 > ...b: number[] 5 > 6 > ...b: number[] -1->Emitted(66, 10) Source(7, 35) + SourceIndex(4) -2 >Emitted(66, 20) Source(7, 49) + SourceIndex(4) -3 >Emitted(66, 22) Source(7, 35) + SourceIndex(4) -4 >Emitted(66, 43) Source(7, 49) + SourceIndex(4) -5 >Emitted(66, 45) Source(7, 35) + SourceIndex(4) -6 >Emitted(66, 49) Source(7, 49) + SourceIndex(4) +1->Emitted(68, 10) Source(7, 35) + SourceIndex(4) +2 >Emitted(68, 20) Source(7, 49) + SourceIndex(4) +3 >Emitted(68, 22) Source(7, 35) + SourceIndex(4) +4 >Emitted(68, 43) Source(7, 49) + SourceIndex(4) +5 >Emitted(68, 45) Source(7, 35) + SourceIndex(4) +6 >Emitted(68, 49) Source(7, 49) + SourceIndex(4) --- >>> b[_i] = arguments[_i]; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > ...b: number[] -1 >Emitted(67, 9) Source(7, 35) + SourceIndex(4) -2 >Emitted(67, 31) Source(7, 49) + SourceIndex(4) +1 >Emitted(69, 9) Source(7, 35) + SourceIndex(4) +2 >Emitted(69, 31) Source(7, 49) + SourceIndex(4) --- >>> } >>>} @@ -2744,8 +2760,8 @@ sourceFile:../../../second/second_part2.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >) { 2 >} -1 >Emitted(69, 1) Source(7, 53) + SourceIndex(4) -2 >Emitted(69, 2) Source(7, 54) + SourceIndex(4) +1 >Emitted(71, 1) Source(7, 53) + SourceIndex(4) +2 >Emitted(71, 2) Source(7, 54) + SourceIndex(4) --- >>>secondsecond_part2Spread.apply(void 0, __spread([10, 20, 30])); 1-> @@ -2771,17 +2787,17 @@ sourceFile:../../../second/second_part2.ts 9 > 30 10> ] 11> ); -1->Emitted(70, 1) Source(8, 1) + SourceIndex(4) -2 >Emitted(70, 25) Source(8, 25) + SourceIndex(4) -3 >Emitted(70, 49) Source(8, 29) + SourceIndex(4) -4 >Emitted(70, 50) Source(8, 30) + SourceIndex(4) -5 >Emitted(70, 52) Source(8, 32) + SourceIndex(4) -6 >Emitted(70, 54) Source(8, 34) + SourceIndex(4) -7 >Emitted(70, 56) Source(8, 36) + SourceIndex(4) -8 >Emitted(70, 58) Source(8, 38) + SourceIndex(4) -9 >Emitted(70, 60) Source(8, 40) + SourceIndex(4) -10>Emitted(70, 61) Source(8, 41) + SourceIndex(4) -11>Emitted(70, 64) Source(8, 43) + SourceIndex(4) +1->Emitted(72, 1) Source(8, 1) + SourceIndex(4) +2 >Emitted(72, 25) Source(8, 25) + SourceIndex(4) +3 >Emitted(72, 49) Source(8, 29) + SourceIndex(4) +4 >Emitted(72, 50) Source(8, 30) + SourceIndex(4) +5 >Emitted(72, 52) Source(8, 32) + SourceIndex(4) +6 >Emitted(72, 54) Source(8, 34) + SourceIndex(4) +7 >Emitted(72, 56) Source(8, 36) + SourceIndex(4) +8 >Emitted(72, 58) Source(8, 38) + SourceIndex(4) +9 >Emitted(72, 60) Source(8, 40) + SourceIndex(4) +10>Emitted(72, 61) Source(8, 41) + SourceIndex(4) +11>Emitted(72, 64) Source(8, 43) + SourceIndex(4) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -2805,14 +2821,14 @@ sourceFile:../../third_part1.ts 6 > C 7 > () 8 > ; -1 >Emitted(71, 1) Source(1, 1) + SourceIndex(5) -2 >Emitted(71, 5) Source(1, 5) + SourceIndex(5) -3 >Emitted(71, 6) Source(1, 6) + SourceIndex(5) -4 >Emitted(71, 9) Source(1, 9) + SourceIndex(5) -5 >Emitted(71, 13) Source(1, 13) + SourceIndex(5) -6 >Emitted(71, 14) Source(1, 14) + SourceIndex(5) -7 >Emitted(71, 16) Source(1, 16) + SourceIndex(5) -8 >Emitted(71, 17) Source(1, 17) + SourceIndex(5) +1 >Emitted(73, 1) Source(1, 1) + SourceIndex(5) +2 >Emitted(73, 5) Source(1, 5) + SourceIndex(5) +3 >Emitted(73, 6) Source(1, 6) + SourceIndex(5) +4 >Emitted(73, 9) Source(1, 9) + SourceIndex(5) +5 >Emitted(73, 13) Source(1, 13) + SourceIndex(5) +6 >Emitted(73, 14) Source(1, 14) + SourceIndex(5) +7 >Emitted(73, 16) Source(1, 16) + SourceIndex(5) +8 >Emitted(73, 17) Source(1, 17) + SourceIndex(5) --- >>>c.doSomething(); 1-> @@ -2829,12 +2845,12 @@ sourceFile:../../third_part1.ts 4 > doSomething 5 > () 6 > ; -1->Emitted(72, 1) Source(2, 1) + SourceIndex(5) -2 >Emitted(72, 2) Source(2, 2) + SourceIndex(5) -3 >Emitted(72, 3) Source(2, 3) + SourceIndex(5) -4 >Emitted(72, 14) Source(2, 14) + SourceIndex(5) -5 >Emitted(72, 16) Source(2, 16) + SourceIndex(5) -6 >Emitted(72, 17) Source(2, 17) + SourceIndex(5) +1->Emitted(74, 1) Source(2, 1) + SourceIndex(5) +2 >Emitted(74, 2) Source(2, 2) + SourceIndex(5) +3 >Emitted(74, 3) Source(2, 3) + SourceIndex(5) +4 >Emitted(74, 14) Source(2, 14) + SourceIndex(5) +5 >Emitted(74, 16) Source(2, 16) + SourceIndex(5) +6 >Emitted(74, 17) Source(2, 17) + SourceIndex(5) --- >>>function forthirdthird_part1Rest() { 1-> @@ -2845,9 +2861,9 @@ sourceFile:../../third_part1.ts > 2 >function 3 > forthirdthird_part1Rest -1->Emitted(73, 1) Source(3, 1) + SourceIndex(5) -2 >Emitted(73, 10) Source(3, 10) + SourceIndex(5) -3 >Emitted(73, 33) Source(3, 33) + SourceIndex(5) +1->Emitted(75, 1) Source(3, 1) + SourceIndex(5) +2 >Emitted(75, 10) Source(3, 10) + SourceIndex(5) +3 >Emitted(75, 33) Source(3, 33) + SourceIndex(5) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -2867,14 +2883,14 @@ sourceFile:../../third_part1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(74, 5) Source(4, 1) + SourceIndex(5) -2 >Emitted(74, 9) Source(4, 7) + SourceIndex(5) -3 >Emitted(74, 38) Source(4, 48) + SourceIndex(5) -4 >Emitted(74, 40) Source(4, 9) + SourceIndex(5) -5 >Emitted(74, 48) Source(4, 10) + SourceIndex(5) -6 >Emitted(74, 50) Source(4, 12) + SourceIndex(5) -7 >Emitted(74, 74) Source(4, 48) + SourceIndex(5) -8 >Emitted(74, 75) Source(4, 49) + SourceIndex(5) +1->Emitted(76, 5) Source(4, 1) + SourceIndex(5) +2 >Emitted(76, 9) Source(4, 7) + SourceIndex(5) +3 >Emitted(76, 38) Source(4, 48) + SourceIndex(5) +4 >Emitted(76, 40) Source(4, 9) + SourceIndex(5) +5 >Emitted(76, 48) Source(4, 10) + SourceIndex(5) +6 >Emitted(76, 50) Source(4, 12) + SourceIndex(5) +7 >Emitted(76, 74) Source(4, 48) + SourceIndex(5) +8 >Emitted(76, 75) Source(4, 49) + SourceIndex(5) --- >>>} 1 > @@ -2883,8 +2899,8 @@ sourceFile:../../third_part1.ts 1 > > 2 >} -1 >Emitted(75, 1) Source(5, 1) + SourceIndex(5) -2 >Emitted(75, 2) Source(5, 2) + SourceIndex(5) +1 >Emitted(77, 1) Source(5, 1) + SourceIndex(5) +2 >Emitted(77, 2) Source(5, 2) + SourceIndex(5) --- >>>function thirdthird_part1Spread() { 1-> @@ -2894,9 +2910,9 @@ sourceFile:../../third_part1.ts > 2 >function 3 > thirdthird_part1Spread -1->Emitted(76, 1) Source(6, 1) + SourceIndex(5) -2 >Emitted(76, 10) Source(6, 10) + SourceIndex(5) -3 >Emitted(76, 32) Source(6, 32) + SourceIndex(5) +1->Emitted(78, 1) Source(6, 1) + SourceIndex(5) +2 >Emitted(78, 10) Source(6, 10) + SourceIndex(5) +3 >Emitted(78, 32) Source(6, 32) + SourceIndex(5) --- >>> var b = []; 1 >^^^^ @@ -2904,8 +2920,8 @@ sourceFile:../../third_part1.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >( 2 > ...b: number[] -1 >Emitted(77, 5) Source(6, 33) + SourceIndex(5) -2 >Emitted(77, 16) Source(6, 47) + SourceIndex(5) +1 >Emitted(79, 5) Source(6, 33) + SourceIndex(5) +2 >Emitted(79, 16) Source(6, 47) + SourceIndex(5) --- >>> for (var _i = 0; _i < arguments.length; _i++) { 1->^^^^^^^^^ @@ -2920,20 +2936,20 @@ sourceFile:../../third_part1.ts 4 > ...b: number[] 5 > 6 > ...b: number[] -1->Emitted(78, 10) Source(6, 33) + SourceIndex(5) -2 >Emitted(78, 20) Source(6, 47) + SourceIndex(5) -3 >Emitted(78, 22) Source(6, 33) + SourceIndex(5) -4 >Emitted(78, 43) Source(6, 47) + SourceIndex(5) -5 >Emitted(78, 45) Source(6, 33) + SourceIndex(5) -6 >Emitted(78, 49) Source(6, 47) + SourceIndex(5) +1->Emitted(80, 10) Source(6, 33) + SourceIndex(5) +2 >Emitted(80, 20) Source(6, 47) + SourceIndex(5) +3 >Emitted(80, 22) Source(6, 33) + SourceIndex(5) +4 >Emitted(80, 43) Source(6, 47) + SourceIndex(5) +5 >Emitted(80, 45) Source(6, 33) + SourceIndex(5) +6 >Emitted(80, 49) Source(6, 47) + SourceIndex(5) --- >>> b[_i] = arguments[_i]; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > ...b: number[] -1 >Emitted(79, 9) Source(6, 33) + SourceIndex(5) -2 >Emitted(79, 31) Source(6, 47) + SourceIndex(5) +1 >Emitted(81, 9) Source(6, 33) + SourceIndex(5) +2 >Emitted(81, 31) Source(6, 47) + SourceIndex(5) --- >>> } >>>} @@ -2942,8 +2958,8 @@ sourceFile:../../third_part1.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >) { 2 >} -1 >Emitted(81, 1) Source(6, 51) + SourceIndex(5) -2 >Emitted(81, 2) Source(6, 52) + SourceIndex(5) +1 >Emitted(83, 1) Source(6, 51) + SourceIndex(5) +2 >Emitted(83, 2) Source(6, 52) + SourceIndex(5) --- >>>thirdthird_part1Spread.apply(void 0, __spread([10, 20, 30])); 1-> @@ -2969,17 +2985,17 @@ sourceFile:../../third_part1.ts 9 > 30 10> ] 11> ); -1->Emitted(82, 1) Source(7, 1) + SourceIndex(5) -2 >Emitted(82, 23) Source(7, 23) + SourceIndex(5) -3 >Emitted(82, 47) Source(7, 27) + SourceIndex(5) -4 >Emitted(82, 48) Source(7, 28) + SourceIndex(5) -5 >Emitted(82, 50) Source(7, 30) + SourceIndex(5) -6 >Emitted(82, 52) Source(7, 32) + SourceIndex(5) -7 >Emitted(82, 54) Source(7, 34) + SourceIndex(5) -8 >Emitted(82, 56) Source(7, 36) + SourceIndex(5) -9 >Emitted(82, 58) Source(7, 38) + SourceIndex(5) -10>Emitted(82, 59) Source(7, 39) + SourceIndex(5) -11>Emitted(82, 62) Source(7, 41) + SourceIndex(5) +1->Emitted(84, 1) Source(7, 1) + SourceIndex(5) +2 >Emitted(84, 23) Source(7, 23) + SourceIndex(5) +3 >Emitted(84, 47) Source(7, 27) + SourceIndex(5) +4 >Emitted(84, 48) Source(7, 28) + SourceIndex(5) +5 >Emitted(84, 50) Source(7, 30) + SourceIndex(5) +6 >Emitted(84, 52) Source(7, 32) + SourceIndex(5) +7 >Emitted(84, 54) Source(7, 34) + SourceIndex(5) +8 >Emitted(84, 56) Source(7, 36) + SourceIndex(5) +9 >Emitted(84, 58) Source(7, 38) + SourceIndex(5) +10>Emitted(84, 59) Source(7, 39) + SourceIndex(5) +11>Emitted(84, 62) Source(7, 41) + SourceIndex(5) --- >>>//# sourceMappingURL=third-output.js.map @@ -2994,51 +3010,51 @@ sourceFile:../../third_part1.ts "sections": [ { "pos": 0, - "end": 415, + "end": 500, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 417, - "end": 921, + "pos": 502, + "end": 1006, "kind": "emitHelpers", "data": "typescript:read" }, { - "pos": 923, - "end": 1093, + "pos": 1008, + "end": 1178, "kind": "emitHelpers", "data": "typescript:spread" }, { - "pos": 1095, - "end": 1534, + "pos": 1180, + "end": 1619, "kind": "prepend", "data": "/src/first/bin/first-output.js", "texts": [ { - "pos": 1095, - "end": 1534, + "pos": 1180, + "end": 1619, "kind": "text" } ] }, { - "pos": 1534, - "end": 2154, + "pos": 1619, + "end": 2239, "kind": "prepend", "data": "/src/2/second-output.js", "texts": [ { - "pos": 1534, - "end": 2154, + "pos": 1619, + "end": 2239, "kind": "text" } ] }, { - "pos": 2154, - "end": 2519, + "pos": 2239, + "end": 2604, "kind": "text" } ], @@ -3093,18 +3109,20 @@ sourceFile:../../third_part1.ts ====================================================================== File:: /src/third/thirdjs/output/third-output.js ---------------------------------------------------------------------- -emitHelpers: (0-415):: typescript:rest +emitHelpers: (0-500):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -emitHelpers: (417-921):: typescript:read +emitHelpers: (502-1006):: typescript:read var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; @@ -3122,15 +3140,15 @@ var __read = (this && this.__read) || function (o, n) { return ar; }; ---------------------------------------------------------------------- -emitHelpers: (923-1093):: typescript:spread +emitHelpers: (1008-1178):: typescript:spread var __spread = (this && this.__spread) || function () { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; }; ---------------------------------------------------------------------- -prepend: (1095-1534):: /src/first/bin/first-output.js texts:: 1 +prepend: (1180-1619):: /src/first/bin/first-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (1095-1534) +text: (1180-1619) var s = "Hello, world"; console.log(s); function forfirstfirst_PART1Rest() { @@ -3149,9 +3167,9 @@ function firstfirst_part3Spread() { firstfirst_part3Spread.apply(void 0, __spread([10, 20, 30])); ---------------------------------------------------------------------- -prepend: (1534-2154):: /src/2/second-output.js texts:: 1 +prepend: (1619-2239):: /src/2/second-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (1534-2154) +text: (1619-2239) var N; (function (N) { function f() { @@ -3179,7 +3197,7 @@ function secondsecond_part2Spread() { secondsecond_part2Spread.apply(void 0, __spread([10, 20, 30])); ---------------------------------------------------------------------- -text: (2154-2519) +text: (2239-2604) var c = new C(); c.doSomething(); function forthirdthird_part1Rest() { diff --git a/tests/baselines/reference/tsbuild/outfile-concat/initial-Build/multiple-emitHelpers-in-different-projects.js b/tests/baselines/reference/tsbuild/outfile-concat/initial-Build/multiple-emitHelpers-in-different-projects.js index a72bd86b35c..571327e08d6 100644 --- a/tests/baselines/reference/tsbuild/outfile-concat/initial-Build/multiple-emitHelpers-in-different-projects.js +++ b/tests/baselines/reference/tsbuild/outfile-concat/initial-Build/multiple-emitHelpers-in-different-projects.js @@ -844,8 +844,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var s = "Hello, world"; @@ -860,7 +862,7 @@ function f() { //# sourceMappingURL=first-output.js.map //// [/src/first/bin/first-output.js.map] -{"version":3,"file":"first-output.js","sourceRoot":"","sources":["../first_PART1.ts","../first_part2.ts","../first_part3.ts"],"names":[],"mappings":";;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC"} +{"version":3,"file":"first-output.js","sourceRoot":"","sources":["../first_PART1.ts","../first_part2.ts","../first_part3.ts"],"names":[],"mappings":";;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC"} //// [/src/first/bin/first-output.js.map.baseline.txt] =================================================================== @@ -878,8 +880,10 @@ sourceFile:../first_PART1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var s = "Hello, world"; @@ -899,12 +903,12 @@ sourceFile:../first_PART1.ts 4 > = 5 > "Hello, world" 6 > ; -1 >Emitted(10, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(10, 5) Source(5, 7) + SourceIndex(0) -3 >Emitted(10, 6) Source(5, 8) + SourceIndex(0) -4 >Emitted(10, 9) Source(5, 11) + SourceIndex(0) -5 >Emitted(10, 23) Source(5, 25) + SourceIndex(0) -6 >Emitted(10, 24) Source(5, 26) + SourceIndex(0) +1 >Emitted(12, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(12, 5) Source(5, 7) + SourceIndex(0) +3 >Emitted(12, 6) Source(5, 8) + SourceIndex(0) +4 >Emitted(12, 9) Source(5, 11) + SourceIndex(0) +5 >Emitted(12, 23) Source(5, 25) + SourceIndex(0) +6 >Emitted(12, 24) Source(5, 26) + SourceIndex(0) --- >>>console.log(s); 1 > @@ -930,14 +934,14 @@ sourceFile:../first_PART1.ts 6 > s 7 > ) 8 > ; -1 >Emitted(11, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(11, 8) Source(11, 8) + SourceIndex(0) -3 >Emitted(11, 9) Source(11, 9) + SourceIndex(0) -4 >Emitted(11, 12) Source(11, 12) + SourceIndex(0) -5 >Emitted(11, 13) Source(11, 13) + SourceIndex(0) -6 >Emitted(11, 14) Source(11, 14) + SourceIndex(0) -7 >Emitted(11, 15) Source(11, 15) + SourceIndex(0) -8 >Emitted(11, 16) Source(11, 16) + SourceIndex(0) +1 >Emitted(13, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(13, 8) Source(11, 8) + SourceIndex(0) +3 >Emitted(13, 9) Source(11, 9) + SourceIndex(0) +4 >Emitted(13, 12) Source(11, 12) + SourceIndex(0) +5 >Emitted(13, 13) Source(11, 13) + SourceIndex(0) +6 >Emitted(13, 14) Source(11, 14) + SourceIndex(0) +7 >Emitted(13, 15) Source(11, 15) + SourceIndex(0) +8 >Emitted(13, 16) Source(11, 16) + SourceIndex(0) --- >>>function forfirstfirst_PART1Rest() { 1-> @@ -948,9 +952,9 @@ sourceFile:../first_PART1.ts > 2 >function 3 > forfirstfirst_PART1Rest -1->Emitted(12, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(12, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(12, 33) Source(12, 33) + SourceIndex(0) +1->Emitted(14, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(14, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(14, 33) Source(12, 33) + SourceIndex(0) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -970,14 +974,14 @@ sourceFile:../first_PART1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(13, 5) Source(13, 1) + SourceIndex(0) -2 >Emitted(13, 9) Source(13, 7) + SourceIndex(0) -3 >Emitted(13, 38) Source(13, 48) + SourceIndex(0) -4 >Emitted(13, 40) Source(13, 9) + SourceIndex(0) -5 >Emitted(13, 48) Source(13, 10) + SourceIndex(0) -6 >Emitted(13, 50) Source(13, 12) + SourceIndex(0) -7 >Emitted(13, 74) Source(13, 48) + SourceIndex(0) -8 >Emitted(13, 75) Source(13, 49) + SourceIndex(0) +1->Emitted(15, 5) Source(13, 1) + SourceIndex(0) +2 >Emitted(15, 9) Source(13, 7) + SourceIndex(0) +3 >Emitted(15, 38) Source(13, 48) + SourceIndex(0) +4 >Emitted(15, 40) Source(13, 9) + SourceIndex(0) +5 >Emitted(15, 48) Source(13, 10) + SourceIndex(0) +6 >Emitted(15, 50) Source(13, 12) + SourceIndex(0) +7 >Emitted(15, 74) Source(13, 48) + SourceIndex(0) +8 >Emitted(15, 75) Source(13, 49) + SourceIndex(0) --- >>>} 1 > @@ -986,8 +990,8 @@ sourceFile:../first_PART1.ts 1 > > 2 >} -1 >Emitted(14, 1) Source(14, 1) + SourceIndex(0) -2 >Emitted(14, 2) Source(14, 2) + SourceIndex(0) +1 >Emitted(16, 1) Source(14, 1) + SourceIndex(0) +2 >Emitted(16, 2) Source(14, 2) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/first/bin/first-output.js @@ -1012,15 +1016,15 @@ sourceFile:../first_part2.ts 7 > () 8 > ) 9 > ; -1->Emitted(15, 1) Source(1, 1) + SourceIndex(1) -2 >Emitted(15, 8) Source(1, 8) + SourceIndex(1) -3 >Emitted(15, 9) Source(1, 9) + SourceIndex(1) -4 >Emitted(15, 12) Source(1, 12) + SourceIndex(1) -5 >Emitted(15, 13) Source(1, 13) + SourceIndex(1) -6 >Emitted(15, 14) Source(1, 14) + SourceIndex(1) -7 >Emitted(15, 16) Source(1, 16) + SourceIndex(1) -8 >Emitted(15, 17) Source(1, 17) + SourceIndex(1) -9 >Emitted(15, 18) Source(1, 18) + SourceIndex(1) +1->Emitted(17, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(17, 8) Source(1, 8) + SourceIndex(1) +3 >Emitted(17, 9) Source(1, 9) + SourceIndex(1) +4 >Emitted(17, 12) Source(1, 12) + SourceIndex(1) +5 >Emitted(17, 13) Source(1, 13) + SourceIndex(1) +6 >Emitted(17, 14) Source(1, 14) + SourceIndex(1) +7 >Emitted(17, 16) Source(1, 16) + SourceIndex(1) +8 >Emitted(17, 17) Source(1, 17) + SourceIndex(1) +9 >Emitted(17, 18) Source(1, 18) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/first/bin/first-output.js @@ -1034,9 +1038,9 @@ sourceFile:../first_part3.ts 1 > 2 >function 3 > f -1 >Emitted(16, 1) Source(1, 1) + SourceIndex(2) -2 >Emitted(16, 10) Source(1, 10) + SourceIndex(2) -3 >Emitted(16, 11) Source(1, 11) + SourceIndex(2) +1 >Emitted(18, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(18, 10) Source(1, 10) + SourceIndex(2) +3 >Emitted(18, 11) Source(1, 11) + SourceIndex(2) --- >>> return "JS does hoists"; 1->^^^^ @@ -1048,10 +1052,10 @@ sourceFile:../first_part3.ts 2 > return 3 > "JS does hoists" 4 > ; -1->Emitted(17, 5) Source(2, 5) + SourceIndex(2) -2 >Emitted(17, 12) Source(2, 12) + SourceIndex(2) -3 >Emitted(17, 28) Source(2, 28) + SourceIndex(2) -4 >Emitted(17, 29) Source(2, 29) + SourceIndex(2) +1->Emitted(19, 5) Source(2, 5) + SourceIndex(2) +2 >Emitted(19, 12) Source(2, 12) + SourceIndex(2) +3 >Emitted(19, 28) Source(2, 28) + SourceIndex(2) +4 >Emitted(19, 29) Source(2, 29) + SourceIndex(2) --- >>>} 1 > @@ -1060,8 +1064,8 @@ sourceFile:../first_part3.ts 1 > > 2 >} -1 >Emitted(18, 1) Source(3, 1) + SourceIndex(2) -2 >Emitted(18, 2) Source(3, 2) + SourceIndex(2) +1 >Emitted(20, 1) Source(3, 1) + SourceIndex(2) +2 >Emitted(20, 2) Source(3, 2) + SourceIndex(2) --- >>>//# sourceMappingURL=first-output.js.map @@ -1078,13 +1082,13 @@ sourceFile:../first_part3.ts "sections": [ { "pos": 0, - "end": 415, + "end": 500, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 417, - "end": 644, + "pos": 502, + "end": 729, "kind": "text" } ], @@ -1111,18 +1115,20 @@ sourceFile:../first_part3.ts ====================================================================== File:: /src/first/bin/first-output.js ---------------------------------------------------------------------- -emitHelpers: (0-415):: typescript:rest +emitHelpers: (0-500):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -text: (417-644) +text: (502-729) var s = "Hello, world"; console.log(s); function forfirstfirst_PART1Rest() { @@ -1542,8 +1548,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; var __read = (this && this.__read) || function (o, n) { @@ -1605,7 +1613,7 @@ function forthirdthird_part1Rest() { //# sourceMappingURL=third-output.js.map //// [/src/third/thirdjs/output/third-output.js.map] -{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;ACED,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AAED,SAAS,wBAAwB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACrD,wBAAwB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;ACb1C;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;ACJD,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC;AAChB,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC"} +{"version":3,"file":"third-output.js","sourceRoot":"","sources":["../../../first/first_PART1.ts","../../../first/first_part2.ts","../../../first/first_part3.ts","../../../second/second_part1.ts","../../../second/second_part2.ts","../../third_part1.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,IAAM,CAAC,GAAG,cAAc,CAAC;AAMzB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACf,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC;ACbD,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;ACAjB,SAAS,CAAC;IACN,OAAO,gBAAgB,CAAC;AAC5B,CAAC;ACED,IAAU,CAAC,CAMV;AAND,WAAU,CAAC;IACP,SAAS,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,CAAC,EAAE,CAAC;AACR,CAAC,EANS,CAAC,KAAD,CAAC,QAMV;AAED,SAAS,wBAAwB;IAAC,WAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,sBAAc;;AAAI,CAAC;AACrD,wBAAwB,wBAAI,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,GAAE;ACb1C;IAAA;IAIA,CAAC;IAHG,uBAAW,GAAX;QACI,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtC,CAAC;IACL,QAAC;AAAD,CAAC,AAJD,IAIC;ACJD,IAAI,CAAC,GAAG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC,CAAC,WAAW,EAAE,CAAC;AAChB,SAAS,uBAAuB;IAChC,IAAM,6BAAyC,EAAvC,QAAC,EAAE,wBAAoC,CAAC;AAChD,CAAC"} //// [/src/third/thirdjs/output/third-output.js.map.baseline.txt] =================================================================== @@ -1623,8 +1631,10 @@ sourceFile:../../../first/first_PART1.ts >>> for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) >>> t[p] = s[p]; >>> if (s != null && typeof Object.getOwnPropertySymbols === "function") ->>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) ->>> t[p[i]] = s[p[i]]; +>>> for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { +>>> if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) +>>> t[p[i]] = s[p[i]]; +>>> } >>> return t; >>>}; >>>var __read = (this && this.__read) || function (o, n) { @@ -1664,12 +1674,12 @@ sourceFile:../../../first/first_PART1.ts 4 > = 5 > "Hello, world" 6 > ; -1 >Emitted(30, 1) Source(5, 1) + SourceIndex(0) -2 >Emitted(30, 5) Source(5, 7) + SourceIndex(0) -3 >Emitted(30, 6) Source(5, 8) + SourceIndex(0) -4 >Emitted(30, 9) Source(5, 11) + SourceIndex(0) -5 >Emitted(30, 23) Source(5, 25) + SourceIndex(0) -6 >Emitted(30, 24) Source(5, 26) + SourceIndex(0) +1 >Emitted(32, 1) Source(5, 1) + SourceIndex(0) +2 >Emitted(32, 5) Source(5, 7) + SourceIndex(0) +3 >Emitted(32, 6) Source(5, 8) + SourceIndex(0) +4 >Emitted(32, 9) Source(5, 11) + SourceIndex(0) +5 >Emitted(32, 23) Source(5, 25) + SourceIndex(0) +6 >Emitted(32, 24) Source(5, 26) + SourceIndex(0) --- >>>console.log(s); 1 > @@ -1695,14 +1705,14 @@ sourceFile:../../../first/first_PART1.ts 6 > s 7 > ) 8 > ; -1 >Emitted(31, 1) Source(11, 1) + SourceIndex(0) -2 >Emitted(31, 8) Source(11, 8) + SourceIndex(0) -3 >Emitted(31, 9) Source(11, 9) + SourceIndex(0) -4 >Emitted(31, 12) Source(11, 12) + SourceIndex(0) -5 >Emitted(31, 13) Source(11, 13) + SourceIndex(0) -6 >Emitted(31, 14) Source(11, 14) + SourceIndex(0) -7 >Emitted(31, 15) Source(11, 15) + SourceIndex(0) -8 >Emitted(31, 16) Source(11, 16) + SourceIndex(0) +1 >Emitted(33, 1) Source(11, 1) + SourceIndex(0) +2 >Emitted(33, 8) Source(11, 8) + SourceIndex(0) +3 >Emitted(33, 9) Source(11, 9) + SourceIndex(0) +4 >Emitted(33, 12) Source(11, 12) + SourceIndex(0) +5 >Emitted(33, 13) Source(11, 13) + SourceIndex(0) +6 >Emitted(33, 14) Source(11, 14) + SourceIndex(0) +7 >Emitted(33, 15) Source(11, 15) + SourceIndex(0) +8 >Emitted(33, 16) Source(11, 16) + SourceIndex(0) --- >>>function forfirstfirst_PART1Rest() { 1-> @@ -1713,9 +1723,9 @@ sourceFile:../../../first/first_PART1.ts > 2 >function 3 > forfirstfirst_PART1Rest -1->Emitted(32, 1) Source(12, 1) + SourceIndex(0) -2 >Emitted(32, 10) Source(12, 10) + SourceIndex(0) -3 >Emitted(32, 33) Source(12, 33) + SourceIndex(0) +1->Emitted(34, 1) Source(12, 1) + SourceIndex(0) +2 >Emitted(34, 10) Source(12, 10) + SourceIndex(0) +3 >Emitted(34, 33) Source(12, 33) + SourceIndex(0) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -1735,14 +1745,14 @@ sourceFile:../../../first/first_PART1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(33, 5) Source(13, 1) + SourceIndex(0) -2 >Emitted(33, 9) Source(13, 7) + SourceIndex(0) -3 >Emitted(33, 38) Source(13, 48) + SourceIndex(0) -4 >Emitted(33, 40) Source(13, 9) + SourceIndex(0) -5 >Emitted(33, 48) Source(13, 10) + SourceIndex(0) -6 >Emitted(33, 50) Source(13, 12) + SourceIndex(0) -7 >Emitted(33, 74) Source(13, 48) + SourceIndex(0) -8 >Emitted(33, 75) Source(13, 49) + SourceIndex(0) +1->Emitted(35, 5) Source(13, 1) + SourceIndex(0) +2 >Emitted(35, 9) Source(13, 7) + SourceIndex(0) +3 >Emitted(35, 38) Source(13, 48) + SourceIndex(0) +4 >Emitted(35, 40) Source(13, 9) + SourceIndex(0) +5 >Emitted(35, 48) Source(13, 10) + SourceIndex(0) +6 >Emitted(35, 50) Source(13, 12) + SourceIndex(0) +7 >Emitted(35, 74) Source(13, 48) + SourceIndex(0) +8 >Emitted(35, 75) Source(13, 49) + SourceIndex(0) --- >>>} 1 > @@ -1751,8 +1761,8 @@ sourceFile:../../../first/first_PART1.ts 1 > > 2 >} -1 >Emitted(34, 1) Source(14, 1) + SourceIndex(0) -2 >Emitted(34, 2) Source(14, 2) + SourceIndex(0) +1 >Emitted(36, 1) Source(14, 1) + SourceIndex(0) +2 >Emitted(36, 2) Source(14, 2) + SourceIndex(0) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1777,15 +1787,15 @@ sourceFile:../../../first/first_part2.ts 7 > () 8 > ) 9 > ; -1->Emitted(35, 1) Source(1, 1) + SourceIndex(1) -2 >Emitted(35, 8) Source(1, 8) + SourceIndex(1) -3 >Emitted(35, 9) Source(1, 9) + SourceIndex(1) -4 >Emitted(35, 12) Source(1, 12) + SourceIndex(1) -5 >Emitted(35, 13) Source(1, 13) + SourceIndex(1) -6 >Emitted(35, 14) Source(1, 14) + SourceIndex(1) -7 >Emitted(35, 16) Source(1, 16) + SourceIndex(1) -8 >Emitted(35, 17) Source(1, 17) + SourceIndex(1) -9 >Emitted(35, 18) Source(1, 18) + SourceIndex(1) +1->Emitted(37, 1) Source(1, 1) + SourceIndex(1) +2 >Emitted(37, 8) Source(1, 8) + SourceIndex(1) +3 >Emitted(37, 9) Source(1, 9) + SourceIndex(1) +4 >Emitted(37, 12) Source(1, 12) + SourceIndex(1) +5 >Emitted(37, 13) Source(1, 13) + SourceIndex(1) +6 >Emitted(37, 14) Source(1, 14) + SourceIndex(1) +7 >Emitted(37, 16) Source(1, 16) + SourceIndex(1) +8 >Emitted(37, 17) Source(1, 17) + SourceIndex(1) +9 >Emitted(37, 18) Source(1, 18) + SourceIndex(1) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1799,9 +1809,9 @@ sourceFile:../../../first/first_part3.ts 1 > 2 >function 3 > f -1 >Emitted(36, 1) Source(1, 1) + SourceIndex(2) -2 >Emitted(36, 10) Source(1, 10) + SourceIndex(2) -3 >Emitted(36, 11) Source(1, 11) + SourceIndex(2) +1 >Emitted(38, 1) Source(1, 1) + SourceIndex(2) +2 >Emitted(38, 10) Source(1, 10) + SourceIndex(2) +3 >Emitted(38, 11) Source(1, 11) + SourceIndex(2) --- >>> return "JS does hoists"; 1->^^^^ @@ -1813,10 +1823,10 @@ sourceFile:../../../first/first_part3.ts 2 > return 3 > "JS does hoists" 4 > ; -1->Emitted(37, 5) Source(2, 5) + SourceIndex(2) -2 >Emitted(37, 12) Source(2, 12) + SourceIndex(2) -3 >Emitted(37, 28) Source(2, 28) + SourceIndex(2) -4 >Emitted(37, 29) Source(2, 29) + SourceIndex(2) +1->Emitted(39, 5) Source(2, 5) + SourceIndex(2) +2 >Emitted(39, 12) Source(2, 12) + SourceIndex(2) +3 >Emitted(39, 28) Source(2, 28) + SourceIndex(2) +4 >Emitted(39, 29) Source(2, 29) + SourceIndex(2) --- >>>} 1 > @@ -1825,8 +1835,8 @@ sourceFile:../../../first/first_part3.ts 1 > > 2 >} -1 >Emitted(38, 1) Source(3, 1) + SourceIndex(2) -2 >Emitted(38, 2) Source(3, 2) + SourceIndex(2) +1 >Emitted(40, 1) Source(3, 1) + SourceIndex(2) +2 >Emitted(40, 2) Source(3, 2) + SourceIndex(2) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -1852,10 +1862,10 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1->Emitted(39, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(39, 5) Source(5, 11) + SourceIndex(3) -3 >Emitted(39, 6) Source(5, 12) + SourceIndex(3) -4 >Emitted(39, 7) Source(11, 2) + SourceIndex(3) +1->Emitted(41, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(41, 5) Source(5, 11) + SourceIndex(3) +3 >Emitted(41, 6) Source(5, 12) + SourceIndex(3) +4 >Emitted(41, 7) Source(11, 2) + SourceIndex(3) --- >>>(function (N) { 1-> @@ -1865,9 +1875,9 @@ sourceFile:../../../second/second_part1.ts 1-> 2 >namespace 3 > N -1->Emitted(40, 1) Source(5, 1) + SourceIndex(3) -2 >Emitted(40, 12) Source(5, 11) + SourceIndex(3) -3 >Emitted(40, 13) Source(5, 12) + SourceIndex(3) +1->Emitted(42, 1) Source(5, 1) + SourceIndex(3) +2 >Emitted(42, 12) Source(5, 11) + SourceIndex(3) +3 >Emitted(42, 13) Source(5, 12) + SourceIndex(3) --- >>> function f() { 1->^^^^ @@ -1878,9 +1888,9 @@ sourceFile:../../../second/second_part1.ts > 2 > function 3 > f -1->Emitted(41, 5) Source(6, 5) + SourceIndex(3) -2 >Emitted(41, 14) Source(6, 14) + SourceIndex(3) -3 >Emitted(41, 15) Source(6, 15) + SourceIndex(3) +1->Emitted(43, 5) Source(6, 5) + SourceIndex(3) +2 >Emitted(43, 14) Source(6, 14) + SourceIndex(3) +3 >Emitted(43, 15) Source(6, 15) + SourceIndex(3) --- >>> console.log('testing'); 1->^^^^^^^^ @@ -1900,14 +1910,14 @@ sourceFile:../../../second/second_part1.ts 6 > 'testing' 7 > ) 8 > ; -1->Emitted(42, 9) Source(7, 9) + SourceIndex(3) -2 >Emitted(42, 16) Source(7, 16) + SourceIndex(3) -3 >Emitted(42, 17) Source(7, 17) + SourceIndex(3) -4 >Emitted(42, 20) Source(7, 20) + SourceIndex(3) -5 >Emitted(42, 21) Source(7, 21) + SourceIndex(3) -6 >Emitted(42, 30) Source(7, 30) + SourceIndex(3) -7 >Emitted(42, 31) Source(7, 31) + SourceIndex(3) -8 >Emitted(42, 32) Source(7, 32) + SourceIndex(3) +1->Emitted(44, 9) Source(7, 9) + SourceIndex(3) +2 >Emitted(44, 16) Source(7, 16) + SourceIndex(3) +3 >Emitted(44, 17) Source(7, 17) + SourceIndex(3) +4 >Emitted(44, 20) Source(7, 20) + SourceIndex(3) +5 >Emitted(44, 21) Source(7, 21) + SourceIndex(3) +6 >Emitted(44, 30) Source(7, 30) + SourceIndex(3) +7 >Emitted(44, 31) Source(7, 31) + SourceIndex(3) +8 >Emitted(44, 32) Source(7, 32) + SourceIndex(3) --- >>> } 1 >^^^^ @@ -1916,8 +1926,8 @@ sourceFile:../../../second/second_part1.ts 1 > > 2 > } -1 >Emitted(43, 5) Source(8, 5) + SourceIndex(3) -2 >Emitted(43, 6) Source(8, 6) + SourceIndex(3) +1 >Emitted(45, 5) Source(8, 5) + SourceIndex(3) +2 >Emitted(45, 6) Source(8, 6) + SourceIndex(3) --- >>> f(); 1->^^^^ @@ -1931,10 +1941,10 @@ sourceFile:../../../second/second_part1.ts 2 > f 3 > () 4 > ; -1->Emitted(44, 5) Source(10, 5) + SourceIndex(3) -2 >Emitted(44, 6) Source(10, 6) + SourceIndex(3) -3 >Emitted(44, 8) Source(10, 8) + SourceIndex(3) -4 >Emitted(44, 9) Source(10, 9) + SourceIndex(3) +1->Emitted(46, 5) Source(10, 5) + SourceIndex(3) +2 >Emitted(46, 6) Source(10, 6) + SourceIndex(3) +3 >Emitted(46, 8) Source(10, 8) + SourceIndex(3) +4 >Emitted(46, 9) Source(10, 9) + SourceIndex(3) --- >>>})(N || (N = {})); 1-> @@ -1959,13 +1969,13 @@ sourceFile:../../../second/second_part1.ts > > f(); > } -1->Emitted(45, 1) Source(11, 1) + SourceIndex(3) -2 >Emitted(45, 2) Source(11, 2) + SourceIndex(3) -3 >Emitted(45, 4) Source(5, 11) + SourceIndex(3) -4 >Emitted(45, 5) Source(5, 12) + SourceIndex(3) -5 >Emitted(45, 10) Source(5, 11) + SourceIndex(3) -6 >Emitted(45, 11) Source(5, 12) + SourceIndex(3) -7 >Emitted(45, 19) Source(11, 2) + SourceIndex(3) +1->Emitted(47, 1) Source(11, 1) + SourceIndex(3) +2 >Emitted(47, 2) Source(11, 2) + SourceIndex(3) +3 >Emitted(47, 4) Source(5, 11) + SourceIndex(3) +4 >Emitted(47, 5) Source(5, 12) + SourceIndex(3) +5 >Emitted(47, 10) Source(5, 11) + SourceIndex(3) +6 >Emitted(47, 11) Source(5, 12) + SourceIndex(3) +7 >Emitted(47, 19) Source(11, 2) + SourceIndex(3) --- >>>function secondsecond_part1Spread() { 1-> @@ -1976,9 +1986,9 @@ sourceFile:../../../second/second_part1.ts > 2 >function 3 > secondsecond_part1Spread -1->Emitted(46, 1) Source(13, 1) + SourceIndex(3) -2 >Emitted(46, 10) Source(13, 10) + SourceIndex(3) -3 >Emitted(46, 34) Source(13, 34) + SourceIndex(3) +1->Emitted(48, 1) Source(13, 1) + SourceIndex(3) +2 >Emitted(48, 10) Source(13, 10) + SourceIndex(3) +3 >Emitted(48, 34) Source(13, 34) + SourceIndex(3) --- >>> var b = []; 1 >^^^^ @@ -1986,8 +1996,8 @@ sourceFile:../../../second/second_part1.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >( 2 > ...b: number[] -1 >Emitted(47, 5) Source(13, 35) + SourceIndex(3) -2 >Emitted(47, 16) Source(13, 49) + SourceIndex(3) +1 >Emitted(49, 5) Source(13, 35) + SourceIndex(3) +2 >Emitted(49, 16) Source(13, 49) + SourceIndex(3) --- >>> for (var _i = 0; _i < arguments.length; _i++) { 1->^^^^^^^^^ @@ -2002,20 +2012,20 @@ sourceFile:../../../second/second_part1.ts 4 > ...b: number[] 5 > 6 > ...b: number[] -1->Emitted(48, 10) Source(13, 35) + SourceIndex(3) -2 >Emitted(48, 20) Source(13, 49) + SourceIndex(3) -3 >Emitted(48, 22) Source(13, 35) + SourceIndex(3) -4 >Emitted(48, 43) Source(13, 49) + SourceIndex(3) -5 >Emitted(48, 45) Source(13, 35) + SourceIndex(3) -6 >Emitted(48, 49) Source(13, 49) + SourceIndex(3) +1->Emitted(50, 10) Source(13, 35) + SourceIndex(3) +2 >Emitted(50, 20) Source(13, 49) + SourceIndex(3) +3 >Emitted(50, 22) Source(13, 35) + SourceIndex(3) +4 >Emitted(50, 43) Source(13, 49) + SourceIndex(3) +5 >Emitted(50, 45) Source(13, 35) + SourceIndex(3) +6 >Emitted(50, 49) Source(13, 49) + SourceIndex(3) --- >>> b[_i] = arguments[_i]; 1 >^^^^^^^^ 2 > ^^^^^^^^^^^^^^^^^^^^^^ 1 > 2 > ...b: number[] -1 >Emitted(49, 9) Source(13, 35) + SourceIndex(3) -2 >Emitted(49, 31) Source(13, 49) + SourceIndex(3) +1 >Emitted(51, 9) Source(13, 35) + SourceIndex(3) +2 >Emitted(51, 31) Source(13, 49) + SourceIndex(3) --- >>> } >>>} @@ -2024,8 +2034,8 @@ sourceFile:../../../second/second_part1.ts 3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-> 1 >) { 2 >} -1 >Emitted(51, 1) Source(13, 53) + SourceIndex(3) -2 >Emitted(51, 2) Source(13, 54) + SourceIndex(3) +1 >Emitted(53, 1) Source(13, 53) + SourceIndex(3) +2 >Emitted(53, 2) Source(13, 54) + SourceIndex(3) --- >>>secondsecond_part1Spread.apply(void 0, __spread([10, 20, 30])); 1-> @@ -2051,17 +2061,17 @@ sourceFile:../../../second/second_part1.ts 9 > 30 10> ] 11> ); -1->Emitted(52, 1) Source(14, 1) + SourceIndex(3) -2 >Emitted(52, 25) Source(14, 25) + SourceIndex(3) -3 >Emitted(52, 49) Source(14, 29) + SourceIndex(3) -4 >Emitted(52, 50) Source(14, 30) + SourceIndex(3) -5 >Emitted(52, 52) Source(14, 32) + SourceIndex(3) -6 >Emitted(52, 54) Source(14, 34) + SourceIndex(3) -7 >Emitted(52, 56) Source(14, 36) + SourceIndex(3) -8 >Emitted(52, 58) Source(14, 38) + SourceIndex(3) -9 >Emitted(52, 60) Source(14, 40) + SourceIndex(3) -10>Emitted(52, 61) Source(14, 41) + SourceIndex(3) -11>Emitted(52, 64) Source(14, 43) + SourceIndex(3) +1->Emitted(54, 1) Source(14, 1) + SourceIndex(3) +2 >Emitted(54, 25) Source(14, 25) + SourceIndex(3) +3 >Emitted(54, 49) Source(14, 29) + SourceIndex(3) +4 >Emitted(54, 50) Source(14, 30) + SourceIndex(3) +5 >Emitted(54, 52) Source(14, 32) + SourceIndex(3) +6 >Emitted(54, 54) Source(14, 34) + SourceIndex(3) +7 >Emitted(54, 56) Source(14, 36) + SourceIndex(3) +8 >Emitted(54, 58) Source(14, 38) + SourceIndex(3) +9 >Emitted(54, 60) Source(14, 40) + SourceIndex(3) +10>Emitted(54, 61) Source(14, 41) + SourceIndex(3) +11>Emitted(54, 64) Source(14, 43) + SourceIndex(3) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -2071,13 +2081,13 @@ sourceFile:../../../second/second_part2.ts 1 > 2 >^^^^^^^^^^^^^^^^^^^-> 1 > -1 >Emitted(53, 1) Source(1, 1) + SourceIndex(4) +1 >Emitted(55, 1) Source(1, 1) + SourceIndex(4) --- >>> function C() { 1->^^^^ 2 > ^^-> 1-> -1->Emitted(54, 5) Source(1, 1) + SourceIndex(4) +1->Emitted(56, 5) Source(1, 1) + SourceIndex(4) --- >>> } 1->^^^^ @@ -2089,8 +2099,8 @@ sourceFile:../../../second/second_part2.ts > } > 2 > } -1->Emitted(55, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(55, 6) Source(5, 2) + SourceIndex(4) +1->Emitted(57, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(57, 6) Source(5, 2) + SourceIndex(4) --- >>> C.prototype.doSomething = function () { 1->^^^^ @@ -2100,9 +2110,9 @@ sourceFile:../../../second/second_part2.ts 1-> 2 > doSomething 3 > -1->Emitted(56, 5) Source(2, 5) + SourceIndex(4) -2 >Emitted(56, 28) Source(2, 16) + SourceIndex(4) -3 >Emitted(56, 31) Source(2, 5) + SourceIndex(4) +1->Emitted(58, 5) Source(2, 5) + SourceIndex(4) +2 >Emitted(58, 28) Source(2, 16) + SourceIndex(4) +3 >Emitted(58, 31) Source(2, 5) + SourceIndex(4) --- >>> console.log("something got done"); 1->^^^^^^^^ @@ -2122,14 +2132,14 @@ sourceFile:../../../second/second_part2.ts 6 > "something got done" 7 > ) 8 > ; -1->Emitted(57, 9) Source(3, 9) + SourceIndex(4) -2 >Emitted(57, 16) Source(3, 16) + SourceIndex(4) -3 >Emitted(57, 17) Source(3, 17) + SourceIndex(4) -4 >Emitted(57, 20) Source(3, 20) + SourceIndex(4) -5 >Emitted(57, 21) Source(3, 21) + SourceIndex(4) -6 >Emitted(57, 41) Source(3, 41) + SourceIndex(4) -7 >Emitted(57, 42) Source(3, 42) + SourceIndex(4) -8 >Emitted(57, 43) Source(3, 43) + SourceIndex(4) +1->Emitted(59, 9) Source(3, 9) + SourceIndex(4) +2 >Emitted(59, 16) Source(3, 16) + SourceIndex(4) +3 >Emitted(59, 17) Source(3, 17) + SourceIndex(4) +4 >Emitted(59, 20) Source(3, 20) + SourceIndex(4) +5 >Emitted(59, 21) Source(3, 21) + SourceIndex(4) +6 >Emitted(59, 41) Source(3, 41) + SourceIndex(4) +7 >Emitted(59, 42) Source(3, 42) + SourceIndex(4) +8 >Emitted(59, 43) Source(3, 43) + SourceIndex(4) --- >>> }; 1 >^^^^ @@ -2138,8 +2148,8 @@ sourceFile:../../../second/second_part2.ts 1 > > 2 > } -1 >Emitted(58, 5) Source(4, 5) + SourceIndex(4) -2 >Emitted(58, 6) Source(4, 6) + SourceIndex(4) +1 >Emitted(60, 5) Source(4, 5) + SourceIndex(4) +2 >Emitted(60, 6) Source(4, 6) + SourceIndex(4) --- >>> return C; 1->^^^^ @@ -2147,8 +2157,8 @@ sourceFile:../../../second/second_part2.ts 1-> > 2 > } -1->Emitted(59, 5) Source(5, 1) + SourceIndex(4) -2 >Emitted(59, 13) Source(5, 2) + SourceIndex(4) +1->Emitted(61, 5) Source(5, 1) + SourceIndex(4) +2 >Emitted(61, 13) Source(5, 2) + SourceIndex(4) --- >>>}()); 1 > @@ -2164,10 +2174,10 @@ sourceFile:../../../second/second_part2.ts > console.log("something got done"); > } > } -1 >Emitted(60, 1) Source(5, 1) + SourceIndex(4) -2 >Emitted(60, 2) Source(5, 2) + SourceIndex(4) -3 >Emitted(60, 2) Source(1, 1) + SourceIndex(4) -4 >Emitted(60, 6) Source(5, 2) + SourceIndex(4) +1 >Emitted(62, 1) Source(5, 1) + SourceIndex(4) +2 >Emitted(62, 2) Source(5, 2) + SourceIndex(4) +3 >Emitted(62, 2) Source(1, 1) + SourceIndex(4) +4 >Emitted(62, 6) Source(5, 2) + SourceIndex(4) --- ------------------------------------------------------------------- emittedFile:/src/third/thirdjs/output/third-output.js @@ -2191,14 +2201,14 @@ sourceFile:../../third_part1.ts 6 > C 7 > () 8 > ; -1->Emitted(61, 1) Source(1, 1) + SourceIndex(5) -2 >Emitted(61, 5) Source(1, 5) + SourceIndex(5) -3 >Emitted(61, 6) Source(1, 6) + SourceIndex(5) -4 >Emitted(61, 9) Source(1, 9) + SourceIndex(5) -5 >Emitted(61, 13) Source(1, 13) + SourceIndex(5) -6 >Emitted(61, 14) Source(1, 14) + SourceIndex(5) -7 >Emitted(61, 16) Source(1, 16) + SourceIndex(5) -8 >Emitted(61, 17) Source(1, 17) + SourceIndex(5) +1->Emitted(63, 1) Source(1, 1) + SourceIndex(5) +2 >Emitted(63, 5) Source(1, 5) + SourceIndex(5) +3 >Emitted(63, 6) Source(1, 6) + SourceIndex(5) +4 >Emitted(63, 9) Source(1, 9) + SourceIndex(5) +5 >Emitted(63, 13) Source(1, 13) + SourceIndex(5) +6 >Emitted(63, 14) Source(1, 14) + SourceIndex(5) +7 >Emitted(63, 16) Source(1, 16) + SourceIndex(5) +8 >Emitted(63, 17) Source(1, 17) + SourceIndex(5) --- >>>c.doSomething(); 1-> @@ -2215,12 +2225,12 @@ sourceFile:../../third_part1.ts 4 > doSomething 5 > () 6 > ; -1->Emitted(62, 1) Source(2, 1) + SourceIndex(5) -2 >Emitted(62, 2) Source(2, 2) + SourceIndex(5) -3 >Emitted(62, 3) Source(2, 3) + SourceIndex(5) -4 >Emitted(62, 14) Source(2, 14) + SourceIndex(5) -5 >Emitted(62, 16) Source(2, 16) + SourceIndex(5) -6 >Emitted(62, 17) Source(2, 17) + SourceIndex(5) +1->Emitted(64, 1) Source(2, 1) + SourceIndex(5) +2 >Emitted(64, 2) Source(2, 2) + SourceIndex(5) +3 >Emitted(64, 3) Source(2, 3) + SourceIndex(5) +4 >Emitted(64, 14) Source(2, 14) + SourceIndex(5) +5 >Emitted(64, 16) Source(2, 16) + SourceIndex(5) +6 >Emitted(64, 17) Source(2, 17) + SourceIndex(5) --- >>>function forthirdthird_part1Rest() { 1-> @@ -2231,9 +2241,9 @@ sourceFile:../../third_part1.ts > 2 >function 3 > forthirdthird_part1Rest -1->Emitted(63, 1) Source(3, 1) + SourceIndex(5) -2 >Emitted(63, 10) Source(3, 10) + SourceIndex(5) -3 >Emitted(63, 33) Source(3, 33) + SourceIndex(5) +1->Emitted(65, 1) Source(3, 1) + SourceIndex(5) +2 >Emitted(65, 10) Source(3, 10) + SourceIndex(5) +3 >Emitted(65, 33) Source(3, 33) + SourceIndex(5) --- >>> var _a = { a: 10, b: 30, yy: 30 }, b = _a.b, rest = __rest(_a, ["b"]); 1->^^^^ @@ -2253,14 +2263,14 @@ sourceFile:../../third_part1.ts 6 > , 7 > ...rest } = { a: 10, b: 30, yy: 30 } 8 > ; -1->Emitted(64, 5) Source(4, 1) + SourceIndex(5) -2 >Emitted(64, 9) Source(4, 7) + SourceIndex(5) -3 >Emitted(64, 38) Source(4, 48) + SourceIndex(5) -4 >Emitted(64, 40) Source(4, 9) + SourceIndex(5) -5 >Emitted(64, 48) Source(4, 10) + SourceIndex(5) -6 >Emitted(64, 50) Source(4, 12) + SourceIndex(5) -7 >Emitted(64, 74) Source(4, 48) + SourceIndex(5) -8 >Emitted(64, 75) Source(4, 49) + SourceIndex(5) +1->Emitted(66, 5) Source(4, 1) + SourceIndex(5) +2 >Emitted(66, 9) Source(4, 7) + SourceIndex(5) +3 >Emitted(66, 38) Source(4, 48) + SourceIndex(5) +4 >Emitted(66, 40) Source(4, 9) + SourceIndex(5) +5 >Emitted(66, 48) Source(4, 10) + SourceIndex(5) +6 >Emitted(66, 50) Source(4, 12) + SourceIndex(5) +7 >Emitted(66, 74) Source(4, 48) + SourceIndex(5) +8 >Emitted(66, 75) Source(4, 49) + SourceIndex(5) --- >>>} 1 > @@ -2269,8 +2279,8 @@ sourceFile:../../third_part1.ts 1 > > 2 >} -1 >Emitted(65, 1) Source(5, 1) + SourceIndex(5) -2 >Emitted(65, 2) Source(5, 2) + SourceIndex(5) +1 >Emitted(67, 1) Source(5, 1) + SourceIndex(5) +2 >Emitted(67, 2) Source(5, 2) + SourceIndex(5) --- >>>//# sourceMappingURL=third-output.js.map @@ -2285,51 +2295,51 @@ sourceFile:../../third_part1.ts "sections": [ { "pos": 0, - "end": 415, + "end": 500, "kind": "emitHelpers", "data": "typescript:rest" }, { - "pos": 417, - "end": 921, + "pos": 502, + "end": 1006, "kind": "emitHelpers", "data": "typescript:read" }, { - "pos": 923, - "end": 1093, + "pos": 1008, + "end": 1178, "kind": "emitHelpers", "data": "typescript:spread" }, { - "pos": 1095, - "end": 1322, + "pos": 1180, + "end": 1407, "kind": "prepend", "data": "/src/first/bin/first-output.js", "texts": [ { - "pos": 1095, - "end": 1322, + "pos": 1180, + "end": 1407, "kind": "text" } ] }, { - "pos": 1322, - "end": 1823, + "pos": 1407, + "end": 1908, "kind": "prepend", "data": "/src/2/second-output.js", "texts": [ { - "pos": 1322, - "end": 1823, + "pos": 1407, + "end": 1908, "kind": "text" } ] }, { - "pos": 1823, - "end": 1976, + "pos": 1908, + "end": 2061, "kind": "text" } ], @@ -2382,18 +2392,20 @@ sourceFile:../../third_part1.ts ====================================================================== File:: /src/third/thirdjs/output/third-output.js ---------------------------------------------------------------------- -emitHelpers: (0-415):: typescript:rest +emitHelpers: (0-500):: typescript:rest var __rest = (this && this.__rest) || function (s, e) { var t = {}; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; ---------------------------------------------------------------------- -emitHelpers: (417-921):: typescript:read +emitHelpers: (502-1006):: typescript:read var __read = (this && this.__read) || function (o, n) { var m = typeof Symbol === "function" && o[Symbol.iterator]; if (!m) return o; @@ -2411,15 +2423,15 @@ var __read = (this && this.__read) || function (o, n) { return ar; }; ---------------------------------------------------------------------- -emitHelpers: (923-1093):: typescript:spread +emitHelpers: (1008-1178):: typescript:spread var __spread = (this && this.__spread) || function () { for (var ar = [], i = 0; i < arguments.length; i++) ar = ar.concat(__read(arguments[i])); return ar; }; ---------------------------------------------------------------------- -prepend: (1095-1322):: /src/first/bin/first-output.js texts:: 1 +prepend: (1180-1407):: /src/first/bin/first-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (1095-1322) +text: (1180-1407) var s = "Hello, world"; console.log(s); function forfirstfirst_PART1Rest() { @@ -2431,9 +2443,9 @@ function f() { } ---------------------------------------------------------------------- -prepend: (1322-1823):: /src/2/second-output.js texts:: 1 +prepend: (1407-1908):: /src/2/second-output.js texts:: 1 >>-------------------------------------------------------------------- -text: (1322-1823) +text: (1407-1908) var N; (function (N) { function f() { @@ -2458,7 +2470,7 @@ var C = (function () { }()); ---------------------------------------------------------------------- -text: (1823-1976) +text: (1908-2061) var c = new C(); c.doSomething(); function forthirdthird_part1Rest() { diff --git a/tests/baselines/reference/tupleTypes.errors.txt b/tests/baselines/reference/tupleTypes.errors.txt index 1cf2f113d14..af76c872a6f 100644 --- a/tests/baselines/reference/tupleTypes.errors.txt +++ b/tests/baselines/reference/tupleTypes.errors.txt @@ -39,6 +39,7 @@ tests/cases/compiler/tupleTypes.ts(51,1): error TS2322: Type '[number, {}]' is n var t2: number|string; ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 't2' must be of type 'undefined', but here has type 'string | number'. +!!! related TS6203 tests/cases/compiler/tupleTypes.ts:11:5: 't2' was also declared here. t = []; // Error ~ @@ -79,6 +80,7 @@ tests/cases/compiler/tupleTypes.ts(51,1): error TS2322: Type '[number, {}]' is n var tt2: number | string; ~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'tt2' must be of type 'undefined', but here has type 'string | number'. +!!! related TS6203 tests/cases/compiler/tupleTypes.ts:35:5: 'tt2' was also declared here. tt = tuple2(1, undefined); tt = [1, undefined]; diff --git a/tests/baselines/reference/typeArgumentInference.errors.txt b/tests/baselines/reference/typeArgumentInference.errors.txt index 95e47ab583f..fd4bd90771e 100644 --- a/tests/baselines/reference/typeArgumentInference.errors.txt +++ b/tests/baselines/reference/typeArgumentInference.errors.txt @@ -92,6 +92,7 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInference.ts(84,74 var a9e: {}; ~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a9e' must be of type '{ x: number; z: Date; y?: undefined; } | { x: number; y: string; z?: undefined; }', but here has type '{}'. +!!! related TS6203 tests/cases/conformance/expressions/functionCalls/typeArgumentInference.ts:82:5: 'a9e' was also declared here. var a9f = someGenerics9(undefined, { x: 6, z: new Date() }, { x: 6, y: '' }); ~~~~~ !!! error TS2345: Argument of type '{ x: number; y: string; }' is not assignable to parameter of type 'A92'. diff --git a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.errors.txt b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.errors.txt index 8707ff26ef0..e40f1210487 100644 --- a/tests/baselines/reference/typeArgumentInferenceConstructSignatures.errors.txt +++ b/tests/baselines/reference/typeArgumentInferenceConstructSignatures.errors.txt @@ -154,6 +154,7 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstruct var a9e: {}; ~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a9e' must be of type '{ x: number; z: Window; y?: undefined; } | { x: number; y: string; z?: undefined; }', but here has type '{}'. +!!! related TS6203 tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceConstructSignatures.ts:120:5: 'a9e' was also declared here. var a9f = new someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); ~~~~~ !!! error TS2345: Argument of type '{ x: number; y: string; }' is not assignable to parameter of type 'A92'. diff --git a/tests/baselines/reference/typeArgumentInferenceWithConstraints.errors.txt b/tests/baselines/reference/typeArgumentInferenceWithConstraints.errors.txt index 3b7750f23f0..e07a0be74cb 100644 --- a/tests/baselines/reference/typeArgumentInferenceWithConstraints.errors.txt +++ b/tests/baselines/reference/typeArgumentInferenceWithConstraints.errors.txt @@ -140,6 +140,7 @@ tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConst var a9e: {}; ~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'a9e' must be of type '{ x: number; z: Window; y?: undefined; } | { x: number; y: string; z?: undefined; }', but here has type '{}'. +!!! related TS6203 tests/cases/conformance/expressions/functionCalls/typeArgumentInferenceWithConstraints.ts:87:5: 'a9e' was also declared here. var a9f = someGenerics9(undefined, { x: 6, z: window }, { x: 6, y: '' }); ~~~~~ !!! error TS2345: Argument of type '{ x: number; y: string; }' is not assignable to parameter of type 'A92'. diff --git a/tests/baselines/reference/typeFromPrototypeAssignment3.errors.txt b/tests/baselines/reference/typeFromPrototypeAssignment3.errors.txt index 579c3efac72..02ff4ae344c 100644 --- a/tests/baselines/reference/typeFromPrototypeAssignment3.errors.txt +++ b/tests/baselines/reference/typeFromPrototypeAssignment3.errors.txt @@ -1,5 +1,6 @@ tests/cases/conformance/salsa/bug26885.js(2,5): error TS2683: 'this' implicitly has type 'any' because it does not have a type annotation. -tests/cases/conformance/salsa/bug26885.js(11,16): error TS7017: Element implicitly has an 'any' type because type '{}' has no index signature. +tests/cases/conformance/salsa/bug26885.js(11,16): error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{}'. + No index signature with a parameter of type 'string' was found on type '{}'. ==== tests/cases/conformance/salsa/bug26885.js (2 errors) ==== @@ -17,7 +18,8 @@ tests/cases/conformance/salsa/bug26885.js(11,16): error TS7017: Element implicit get(key) { return this._map[key + '']; ~~~~~~~~~~~~~~~~~~~ -!!! error TS7017: Element implicitly has an 'any' type because type '{}' has no index signature. +!!! error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{}'. +!!! error TS7053: No index signature with a parameter of type 'string' was found on type '{}'. } } diff --git a/tests/baselines/reference/typeGuardBoolean.js b/tests/baselines/reference/typeGuardBoolean.js deleted file mode 100644 index 1bfe41983d8..00000000000 --- a/tests/baselines/reference/typeGuardBoolean.js +++ /dev/null @@ -1,30 +0,0 @@ -//// [typeGuardBoolean.ts] -function test(strOrNull: string | null, strOrUndefined: string | undefined) { - var str: string = "original"; - var nil: null; - if (!Boolean(strOrNull)) { - nil = strOrNull; - } - else { - str = strOrNull; - } - if (Boolean(strOrUndefined)) { - str = strOrUndefined; - } -} - - -//// [typeGuardBoolean.js] -function test(strOrNull, strOrUndefined) { - var str = "original"; - var nil; - if (!Boolean(strOrNull)) { - nil = strOrNull; - } - else { - str = strOrNull; - } - if (Boolean(strOrUndefined)) { - str = strOrUndefined; - } -} diff --git a/tests/baselines/reference/typeGuardBoolean.symbols b/tests/baselines/reference/typeGuardBoolean.symbols deleted file mode 100644 index 6a08dcbda8a..00000000000 --- a/tests/baselines/reference/typeGuardBoolean.symbols +++ /dev/null @@ -1,35 +0,0 @@ -=== tests/cases/conformance/expressions/typeGuards/typeGuardBoolean.ts === -function test(strOrNull: string | null, strOrUndefined: string | undefined) { ->test : Symbol(test, Decl(typeGuardBoolean.ts, 0, 0)) ->strOrNull : Symbol(strOrNull, Decl(typeGuardBoolean.ts, 0, 14)) ->strOrUndefined : Symbol(strOrUndefined, Decl(typeGuardBoolean.ts, 0, 39)) - - var str: string = "original"; ->str : Symbol(str, Decl(typeGuardBoolean.ts, 1, 5)) - - var nil: null; ->nil : Symbol(nil, Decl(typeGuardBoolean.ts, 2, 5)) - - if (!Boolean(strOrNull)) { ->Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) ->strOrNull : Symbol(strOrNull, Decl(typeGuardBoolean.ts, 0, 14)) - - nil = strOrNull; ->nil : Symbol(nil, Decl(typeGuardBoolean.ts, 2, 5)) ->strOrNull : Symbol(strOrNull, Decl(typeGuardBoolean.ts, 0, 14)) - } - else { - str = strOrNull; ->str : Symbol(str, Decl(typeGuardBoolean.ts, 1, 5)) ->strOrNull : Symbol(strOrNull, Decl(typeGuardBoolean.ts, 0, 14)) - } - if (Boolean(strOrUndefined)) { ->Boolean : Symbol(Boolean, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) ->strOrUndefined : Symbol(strOrUndefined, Decl(typeGuardBoolean.ts, 0, 39)) - - str = strOrUndefined; ->str : Symbol(str, Decl(typeGuardBoolean.ts, 1, 5)) ->strOrUndefined : Symbol(strOrUndefined, Decl(typeGuardBoolean.ts, 0, 39)) - } -} - diff --git a/tests/baselines/reference/typeGuardBoolean.types b/tests/baselines/reference/typeGuardBoolean.types deleted file mode 100644 index db3d6f39cd8..00000000000 --- a/tests/baselines/reference/typeGuardBoolean.types +++ /dev/null @@ -1,44 +0,0 @@ -=== tests/cases/conformance/expressions/typeGuards/typeGuardBoolean.ts === -function test(strOrNull: string | null, strOrUndefined: string | undefined) { ->test : (strOrNull: string | null, strOrUndefined: string | undefined) => void ->strOrNull : string | null ->null : null ->strOrUndefined : string | undefined - - var str: string = "original"; ->str : string ->"original" : "original" - - var nil: null; ->nil : null ->null : null - - if (!Boolean(strOrNull)) { ->!Boolean(strOrNull) : boolean ->Boolean(strOrNull) : boolean ->Boolean : BooleanConstructor ->strOrNull : string | null - - nil = strOrNull; ->nil = strOrNull : null ->nil : null ->strOrNull : null - } - else { - str = strOrNull; ->str = strOrNull : string ->str : string ->strOrNull : string - } - if (Boolean(strOrUndefined)) { ->Boolean(strOrUndefined) : boolean ->Boolean : BooleanConstructor ->strOrUndefined : string | undefined - - str = strOrUndefined; ->str = strOrUndefined : string ->str : string ->strOrUndefined : string - } -} - diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.errors.txt b/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.errors.txt index e10cf2d1a78..52c312ae7c0 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.errors.txt +++ b/tests/baselines/reference/typeGuardOfFormTypeOfEqualEqualHasNoEffect.errors.txt @@ -21,6 +21,7 @@ tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfEqualEqualHa var r1 = strOrNum; // string | number ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'r1' must be of type 'string', but here has type 'number'. +!!! related TS6203 tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts:10:9: 'r1' was also declared here. } if (typeof strOrBool == "boolean") { @@ -30,6 +31,7 @@ tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfEqualEqualHa var r2 = strOrBool; // string | boolean ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'r2' must be of type 'boolean', but here has type 'string'. +!!! related TS6203 tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts:17:9: 'r2' was also declared here. } if (typeof numOrBool == "number") { @@ -39,6 +41,7 @@ tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfEqualEqualHa var r3 = numOrBool; // number | boolean ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'r3' must be of type 'number', but here has type 'boolean'. +!!! related TS6203 tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts:24:9: 'r3' was also declared here. } if (typeof strOrC == "Object") { @@ -50,4 +53,5 @@ tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfEqualEqualHa var r4 = strOrC; // string | C ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'r4' must be of type 'C', but here has type 'string'. +!!! related TS6203 tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfEqualEqualHasNoEffect.ts:31:9: 'r4' was also declared here. } \ No newline at end of file diff --git a/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.errors.txt b/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.errors.txt index a0e9cd0f7bf..46b10e75b87 100644 --- a/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.errors.txt +++ b/tests/baselines/reference/typeGuardOfFormTypeOfNotEqualHasNoEffect.errors.txt @@ -21,6 +21,7 @@ tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfNotEqualHasN var r1 = strOrNum; // string | number ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'r1' must be of type 'number', but here has type 'string'. +!!! related TS6203 tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfNotEqualHasNoEffect.ts:10:9: 'r1' was also declared here. } if (typeof strOrBool != "boolean") { @@ -30,6 +31,7 @@ tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfNotEqualHasN var r2 = strOrBool; // string | boolean ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'r2' must be of type 'string', but here has type 'boolean'. +!!! related TS6203 tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfNotEqualHasNoEffect.ts:17:9: 'r2' was also declared here. } if (typeof numOrBool != "number") { @@ -39,6 +41,7 @@ tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfNotEqualHasN var r3 = numOrBool; // number | boolean ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'r3' must be of type 'boolean', but here has type 'number'. +!!! related TS6203 tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfNotEqualHasNoEffect.ts:24:9: 'r3' was also declared here. } if (typeof strOrC != "Object") { @@ -50,4 +53,5 @@ tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfNotEqualHasN var r4 = strOrC; // string | C ~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'r4' must be of type 'string', but here has type 'C'. +!!! related TS6203 tests/cases/conformance/expressions/typeGuards/typeGuardOfFormTypeOfNotEqualHasNoEffect.ts:31:9: 'r4' was also declared here. } \ No newline at end of file diff --git a/tests/baselines/reference/typeGuardsInConditionalExpression.types b/tests/baselines/reference/typeGuardsInConditionalExpression.types index 19e11e2e888..f3b0a045e6b 100644 --- a/tests/baselines/reference/typeGuardsInConditionalExpression.types +++ b/tests/baselines/reference/typeGuardsInConditionalExpression.types @@ -211,11 +211,11 @@ function foo8(x: number | string | boolean) { >typeof x === "boolean" ? x // boolean : x == 10 : boolean >typeof x === "boolean" : boolean >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" ->x : number | boolean +>x : number | true >"boolean" : "boolean" ? x // boolean ->x : boolean +>x : true : x == 10)); // boolean >x == 10 : boolean @@ -286,7 +286,7 @@ function foo10(x: number | string | boolean) { && typeof x === "number" >typeof x === "number" : boolean >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" ->x : number | boolean +>x : number | true >"number" : "number" && x.toString()); // x is number @@ -326,7 +326,7 @@ function foo11(x: number | string | boolean) { && typeof x === "number" >typeof x === "number" : boolean >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" ->x : number | boolean +>x : number | true >"number" : "number" && (x = 10) // assignment to x @@ -379,7 +379,7 @@ function foo12(x: number | string | boolean) { && typeof x === "number" >typeof x === "number" : boolean >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" ->x : number | boolean +>x : number | true >"number" : "number" && x); // x is number diff --git a/tests/baselines/reference/typeGuardsInRightOperandOfAndAndOperator.types b/tests/baselines/reference/typeGuardsInRightOperandOfAndAndOperator.types index 166dd9ac0e1..43766b1db12 100644 --- a/tests/baselines/reference/typeGuardsInRightOperandOfAndAndOperator.types +++ b/tests/baselines/reference/typeGuardsInRightOperandOfAndAndOperator.types @@ -102,11 +102,11 @@ function foo5(x: number | string | boolean) { >typeof x !== "number" // number | boolean && x : boolean >typeof x !== "number" : boolean >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" ->x : number | boolean +>x : number | true >"number" : "number" && x)); // boolean ->x : boolean +>x : true } function foo6(x: number | string | boolean) { >foo6 : (x: string | number | boolean) => boolean @@ -167,7 +167,7 @@ function foo7(x: number | string | boolean) { >typeof x === "number" // change value of x ? ((x = 10) && x.toString()) // x is number // do not change value : ((y = x) && x.toString()) : string >typeof x === "number" : boolean >typeof x : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" ->x : number | boolean +>x : number | true >"number" : "number" // change value of x @@ -187,13 +187,13 @@ function foo7(x: number | string | boolean) { : ((y = x) && x.toString()))); // x is boolean >((y = x) && x.toString()) : string >(y = x) && x.toString() : string ->(y = x) : boolean ->y = x : boolean +>(y = x) : true +>y = x : true >y : string | number | boolean ->x : boolean +>x : true >x.toString() : string >x.toString : () => string ->x : boolean +>x : true >toString : () => string } diff --git a/tests/baselines/reference/typeGuardsInRightOperandOfOrOrOperator.types b/tests/baselines/reference/typeGuardsInRightOperandOfOrOrOperator.types index d3335cd75be..8f381e115f5 100644 --- a/tests/baselines/reference/typeGuardsInRightOperandOfOrOrOperator.types +++ b/tests/baselines/reference/typeGuardsInRightOperandOfOrOrOperator.types @@ -194,7 +194,7 @@ function foo7(x: number | string | boolean) { >x : boolean >x.toString() : string >x.toString : () => string ->x : boolean +>x : true >toString : () => string } diff --git a/tests/baselines/reference/typeOfEnumAndVarRedeclarations.errors.txt b/tests/baselines/reference/typeOfEnumAndVarRedeclarations.errors.txt index 89849d3a614..43035121212 100644 --- a/tests/baselines/reference/typeOfEnumAndVarRedeclarations.errors.txt +++ b/tests/baselines/reference/typeOfEnumAndVarRedeclarations.errors.txt @@ -14,9 +14,11 @@ tests/cases/compiler/typeOfEnumAndVarRedeclarations.ts(10,70): error TS2375: Dup var x: { readonly a: E; readonly b: E; readonly [x: number]: string; }; // Shouldnt error ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'typeof E', but here has type '{ readonly [x: number]: string; readonly a: E; readonly b: E; }'. +!!! related TS6203 tests/cases/compiler/typeOfEnumAndVarRedeclarations.ts:7:5: 'x' was also declared here. var y = E; var y: { readonly a: E; readonly b: E; readonly [x: number]: string; readonly [x: number]: string } // two errors: the types are not identical and duplicate signatures ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'y' must be of type 'typeof E', but here has type '{ readonly [x: number]: string; readonly a: E; readonly b: E; }'. +!!! related TS6203 tests/cases/compiler/typeOfEnumAndVarRedeclarations.ts:9:5: 'y' was also declared here. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2375: Duplicate number index signature. \ No newline at end of file diff --git a/tests/baselines/reference/typeOfThis.errors.txt b/tests/baselines/reference/typeOfThis.errors.txt index b47207670cc..adba7ba2f9f 100644 --- a/tests/baselines/reference/typeOfThis.errors.txt +++ b/tests/baselines/reference/typeOfThis.errors.txt @@ -27,12 +27,14 @@ tests/cases/conformance/expressions/thisKeyword/typeOfThis.ts(106,13): error TS2 var t: MyTestClass; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 't' must be of type 'this', but here has type 'MyTestClass'. +!!! related TS6203 tests/cases/conformance/expressions/thisKeyword/typeOfThis.ts:13:16: 't' was also declared here. //type of 'this' in member function body is the class instance type var p = this; var p: MyTestClass; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'p' must be of type 'this', but here has type 'MyTestClass'. +!!! related TS6203 tests/cases/conformance/expressions/thisKeyword/typeOfThis.ts:17:13: 'p' was also declared here. } //type of 'this' in member accessor(get and set) body is the class instance type @@ -41,6 +43,7 @@ tests/cases/conformance/expressions/thisKeyword/typeOfThis.ts(106,13): error TS2 var p: MyTestClass; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'p' must be of type 'this', but here has type 'MyTestClass'. +!!! related TS6203 tests/cases/conformance/expressions/thisKeyword/typeOfThis.ts:23:13: 'p' was also declared here. return this; } set prop(v) { @@ -48,6 +51,7 @@ tests/cases/conformance/expressions/thisKeyword/typeOfThis.ts(106,13): error TS2 var p: MyTestClass; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'p' must be of type 'this', but here has type 'MyTestClass'. +!!! related TS6203 tests/cases/conformance/expressions/thisKeyword/typeOfThis.ts:28:13: 'p' was also declared here. p = v; v = p; } @@ -58,6 +62,7 @@ tests/cases/conformance/expressions/thisKeyword/typeOfThis.ts(106,13): error TS2 var t: MyTestClass; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 't' must be of type 'this', but here has type 'MyTestClass'. +!!! related TS6203 tests/cases/conformance/expressions/thisKeyword/typeOfThis.ts:36:13: 't' was also declared here. }; //type of 'this' in static function param list is constructor function type @@ -106,12 +111,14 @@ tests/cases/conformance/expressions/thisKeyword/typeOfThis.ts(106,13): error TS2 var t: MyGenericTestClass; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 't' must be of type 'this', but here has type 'MyGenericTestClass'. +!!! related TS6203 tests/cases/conformance/expressions/thisKeyword/typeOfThis.ts:82:16: 't' was also declared here. //type of 'this' in member function body is the class instance type var p = this; var p: MyGenericTestClass; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'p' must be of type 'this', but here has type 'MyGenericTestClass'. +!!! related TS6203 tests/cases/conformance/expressions/thisKeyword/typeOfThis.ts:86:13: 'p' was also declared here. } //type of 'this' in member accessor(get and set) body is the class instance type @@ -120,6 +127,7 @@ tests/cases/conformance/expressions/thisKeyword/typeOfThis.ts(106,13): error TS2 var p: MyGenericTestClass; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'p' must be of type 'this', but here has type 'MyGenericTestClass'. +!!! related TS6203 tests/cases/conformance/expressions/thisKeyword/typeOfThis.ts:92:13: 'p' was also declared here. return this; } set prop(v) { @@ -127,6 +135,7 @@ tests/cases/conformance/expressions/thisKeyword/typeOfThis.ts(106,13): error TS2 var p: MyGenericTestClass; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'p' must be of type 'this', but here has type 'MyGenericTestClass'. +!!! related TS6203 tests/cases/conformance/expressions/thisKeyword/typeOfThis.ts:97:13: 'p' was also declared here. p = v; v = p; } @@ -137,6 +146,7 @@ tests/cases/conformance/expressions/thisKeyword/typeOfThis.ts(106,13): error TS2 var t: MyGenericTestClass; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 't' must be of type 'this', but here has type 'MyGenericTestClass'. +!!! related TS6203 tests/cases/conformance/expressions/thisKeyword/typeOfThis.ts:105:13: 't' was also declared here. }; //type of 'this' in static function param list is constructor function type diff --git a/tests/baselines/reference/typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.js b/tests/baselines/reference/typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.js new file mode 100644 index 00000000000..fc3922448e9 --- /dev/null +++ b/tests/baselines/reference/typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.js @@ -0,0 +1,42 @@ +//// [typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts] +// tricky interface +interface Settable { + set(value: V): T; +} + +// implement +class Identity implements Settable, V> { + readonly item: V; + constructor(value: V) { + this.item = value; + } + public set(value: V): Identity { + return new Identity(value); + } +} + +// generic parameter default +interface Test1 = Identity> { }; +let test1: Test1; + +// not generic parameter default +interface Test2Base> { }; +type Test2 = Test2Base>; +let test2: Test2; + + +//// [typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.js] +// implement +var Identity = /** @class */ (function () { + function Identity(value) { + this.item = value; + } + Identity.prototype.set = function (value) { + return new Identity(value); + }; + return Identity; +}()); +; +var test1; +; +var test2; diff --git a/tests/baselines/reference/typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.symbols b/tests/baselines/reference/typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.symbols new file mode 100644 index 00000000000..3462a11d800 --- /dev/null +++ b/tests/baselines/reference/typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.symbols @@ -0,0 +1,87 @@ +=== tests/cases/compiler/typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts === +// tricky interface +interface Settable { +>Settable : Symbol(Settable, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 0, 0)) +>T : Symbol(T, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 1, 19)) +>V : Symbol(V, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 1, 21)) + + set(value: V): T; +>set : Symbol(Settable.set, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 1, 26)) +>value : Symbol(value, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 2, 8)) +>V : Symbol(V, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 1, 21)) +>T : Symbol(T, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 1, 19)) +} + +// implement +class Identity implements Settable, V> { +>Identity : Symbol(Identity, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 3, 1)) +>V : Symbol(V, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 6, 15)) +>Settable : Symbol(Settable, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 0, 0)) +>Identity : Symbol(Identity, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 3, 1)) +>V : Symbol(V, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 6, 15)) +>V : Symbol(V, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 6, 15)) + + readonly item: V; +>item : Symbol(Identity.item, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 6, 55)) +>V : Symbol(V, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 6, 15)) + + constructor(value: V) { +>value : Symbol(value, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 8, 16)) +>V : Symbol(V, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 6, 15)) + + this.item = value; +>this.item : Symbol(Identity.item, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 6, 55)) +>this : Symbol(Identity, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 3, 1)) +>item : Symbol(Identity.item, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 6, 55)) +>value : Symbol(value, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 8, 16)) + } + public set(value: V): Identity { +>set : Symbol(Identity.set, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 10, 5)) +>value : Symbol(value, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 11, 15)) +>V : Symbol(V, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 6, 15)) +>Identity : Symbol(Identity, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 3, 1)) +>V : Symbol(V, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 6, 15)) + + return new Identity(value); +>Identity : Symbol(Identity, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 3, 1)) +>V : Symbol(V, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 6, 15)) +>value : Symbol(value, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 11, 15)) + } +} + +// generic parameter default +interface Test1 = Identity> { }; +>Test1 : Symbol(Test1, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 14, 1)) +>V : Symbol(V, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 17, 16)) +>T : Symbol(T, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 17, 18)) +>Settable : Symbol(Settable, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 0, 0)) +>T : Symbol(T, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 17, 18)) +>V : Symbol(V, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 17, 16)) +>Identity : Symbol(Identity, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 3, 1)) +>V : Symbol(V, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 17, 16)) + +let test1: Test1; +>test1 : Symbol(test1, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 18, 3)) +>Test1 : Symbol(Test1, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 14, 1)) + +// not generic parameter default +interface Test2Base> { }; +>Test2Base : Symbol(Test2Base, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 18, 25)) +>V : Symbol(V, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 21, 20)) +>T : Symbol(T, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 21, 22)) +>Settable : Symbol(Settable, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 0, 0)) +>T : Symbol(T, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 21, 22)) +>V : Symbol(V, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 21, 20)) + +type Test2 = Test2Base>; +>Test2 : Symbol(Test2, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 21, 53)) +>V : Symbol(V, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 22, 11)) +>Test2Base : Symbol(Test2Base, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 18, 25)) +>V : Symbol(V, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 22, 11)) +>Identity : Symbol(Identity, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 3, 1)) +>V : Symbol(V, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 22, 11)) + +let test2: Test2; +>test2 : Symbol(test2, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 23, 3)) +>Test2 : Symbol(Test2, Decl(typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts, 21, 53)) + diff --git a/tests/baselines/reference/typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.types b/tests/baselines/reference/typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.types new file mode 100644 index 00000000000..cb3394962c6 --- /dev/null +++ b/tests/baselines/reference/typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.types @@ -0,0 +1,49 @@ +=== tests/cases/compiler/typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts === +// tricky interface +interface Settable { + set(value: V): T; +>set : (value: V) => T +>value : V +} + +// implement +class Identity implements Settable, V> { +>Identity : Identity + + readonly item: V; +>item : V + + constructor(value: V) { +>value : V + + this.item = value; +>this.item = value : V +>this.item : V +>this : this +>item : V +>value : V + } + public set(value: V): Identity { +>set : (value: V) => Identity +>value : V + + return new Identity(value); +>new Identity(value) : Identity +>Identity : typeof Identity +>value : V + } +} + +// generic parameter default +interface Test1 = Identity> { }; +let test1: Test1; +>test1 : Test1> + +// not generic parameter default +interface Test2Base> { }; +type Test2 = Test2Base>; +>Test2 : Test2Base> + +let test2: Test2; +>test2 : Test2Base> + diff --git a/tests/baselines/reference/typesVersions.ambientModules.trace.json b/tests/baselines/reference/typesVersions.ambientModules.trace.json index ad73f88a8ef..53de9ae651e 100644 --- a/tests/baselines/reference/typesVersions.ambientModules.trace.json +++ b/tests/baselines/reference/typesVersions.ambientModules.trace.json @@ -2,10 +2,8 @@ "======== Resolving module 'ext' from 'tests/cases/conformance/moduleResolution/main.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'ext' from 'node_modules' folder, target file type 'TypeScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' has 'types' field 'index' that references 'tests/cases/conformance/moduleResolution/node_modules/ext/index'.", + "Found 'package.json' at 'tests/cases/conformance/moduleResolution/node_modules/ext/package.json'.", "'package.json' has a 'typesVersions' field with version-specific path mappings.", - "Found 'package.json' at 'tests/cases/conformance/moduleResolution/node_modules/ext/package.json'. Package ID is 'ext/index.d.ts@1.0.0'.", "File 'tests/cases/conformance/moduleResolution/node_modules/ext.ts' does not exist.", "File 'tests/cases/conformance/moduleResolution/node_modules/ext.tsx' does not exist.", "File 'tests/cases/conformance/moduleResolution/node_modules/ext.d.ts' does not exist.", @@ -20,18 +18,20 @@ "File 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/index.tsx' does not exist.", "File 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/index.d.ts', result 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/index.d.ts'.", - "======== Module name 'ext' was successfully resolved to 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/index.d.ts'. ========", + "======== Module name 'ext' was successfully resolved to 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/index.d.ts' with Package ID 'ext/ts3.1/index.d.ts@1.0.0'. ========", "======== Resolving module 'ext/other' from 'tests/cases/conformance/moduleResolution/main.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'ext/other' from 'node_modules' folder, target file type 'TypeScript'.", + "Found 'package.json' at 'tests/cases/conformance/moduleResolution/node_modules/ext/package.json'.", "'package.json' has a 'typesVersions' field with version-specific path mappings.", - "Found 'package.json' at 'tests/cases/conformance/moduleResolution/node_modules/ext/package.json'. Package ID is 'ext/other/index.d.ts@1.0.0'.", "'package.json' has a 'typesVersions' entry '>=3.1.0-0' that matches compiler version '3.1.0-dev', looking for a pattern to match module name 'other'.", "Module name 'other', matched pattern '*'.", "Trying substitution 'ts3.1/*', candidate module location: 'ts3.1/other'.", "File 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/other.ts' does not exist.", "File 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/other.tsx' does not exist.", "File 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/other.d.ts' does not exist.", + "'package.json' does not have a 'typings' field.", + "'package.json' has 'types' field 'index' that references 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/other/index'.", "'package.json' has a 'typesVersions' entry '>=3.1.0-0' that matches compiler version '3.1.0-dev', looking for a pattern to match module name 'index'.", "Module name 'index', matched pattern '*'.", "Trying substitution 'ts3.1/*', candidate module location: 'ts3.1/index'.", @@ -43,13 +43,14 @@ "Directory 'node_modules' does not exist, skipping all lookups in it.", "Directory '/node_modules' does not exist, skipping all lookups in it.", "Loading module 'ext/other' from 'node_modules' folder, target file type 'JavaScript'.", + "Found 'package.json' at 'tests/cases/conformance/moduleResolution/node_modules/ext/package.json'.", "'package.json' has a 'typesVersions' field with version-specific path mappings.", - "Found 'package.json' at 'tests/cases/conformance/moduleResolution/node_modules/ext/package.json'. Package ID is 'ext/other/index.d.ts@1.0.0'.", "'package.json' has a 'typesVersions' entry '>=3.1.0-0' that matches compiler version '3.1.0-dev', looking for a pattern to match module name 'other'.", "Module name 'other', matched pattern '*'.", "Trying substitution 'ts3.1/*', candidate module location: 'ts3.1/other'.", "File 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/other.js' does not exist.", "File 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/other.jsx' does not exist.", + "'package.json' does not have a 'main' field.", "'package.json' has a 'typesVersions' entry '>=3.1.0-0' that matches compiler version '3.1.0-dev', looking for a pattern to match module name 'index'.", "Module name 'index', matched pattern '*'.", "Trying substitution 'ts3.1/*', candidate module location: 'ts3.1/index'.", diff --git a/tests/baselines/reference/typesVersions.emptyTypes.js b/tests/baselines/reference/typesVersions.emptyTypes.js new file mode 100644 index 00000000000..0bcc27d7a65 --- /dev/null +++ b/tests/baselines/reference/typesVersions.emptyTypes.js @@ -0,0 +1,20 @@ +//// [tests/cases/conformance/moduleResolution/typesVersions.emptyTypes.ts] //// + +//// [package.json] +{ + "types": "", + "typesVersions": { + ">=3.1.0-0": { "*" : ["ts3.1/*"] } + } +} + +//// [index.d.ts] +export const a = 0; + +//// [user.ts] +import { a } from "a"; + + +//// [user.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/tests/baselines/reference/typesVersions.emptyTypes.symbols b/tests/baselines/reference/typesVersions.emptyTypes.symbols new file mode 100644 index 00000000000..a4441e407d7 --- /dev/null +++ b/tests/baselines/reference/typesVersions.emptyTypes.symbols @@ -0,0 +1,8 @@ +=== /a/ts3.1/index.d.ts === +export const a = 0; +>a : Symbol(a, Decl(index.d.ts, 0, 12)) + +=== /b/user.ts === +import { a } from "a"; +>a : Symbol(a, Decl(user.ts, 0, 8)) + diff --git a/tests/baselines/reference/typesVersions.emptyTypes.trace.json b/tests/baselines/reference/typesVersions.emptyTypes.trace.json new file mode 100644 index 00000000000..e7a9e7547cf --- /dev/null +++ b/tests/baselines/reference/typesVersions.emptyTypes.trace.json @@ -0,0 +1,24 @@ +[ + "======== Resolving module 'a' from '/b/user.ts'. ========", + "Module resolution kind is not specified, using 'NodeJs'.", + "'baseUrl' option is set to '/', using this value to resolve non-relative module name 'a'.", + "Resolving module name 'a' relative to base url '/' - '/a'.", + "Loading module as file / folder, candidate module location '/a', target file type 'TypeScript'.", + "File '/a.ts' does not exist.", + "File '/a.tsx' does not exist.", + "File '/a.d.ts' does not exist.", + "Found 'package.json' at '/a/package.json'.", + "'package.json' has a 'typesVersions' field with version-specific path mappings.", + "'package.json' does not have a 'typings' field.", + "'package.json' had a falsy 'types' field.", + "'package.json' does not have a 'main' field.", + "'package.json' has a 'typesVersions' entry '>=3.1.0-0' that matches compiler version '3.1.0-dev', looking for a pattern to match module name 'index'.", + "Module name 'index', matched pattern '*'.", + "Trying substitution 'ts3.1/*', candidate module location: 'ts3.1/index'.", + "File '/a/ts3.1/index' does not exist.", + "Loading module as file / folder, candidate module location '/a/ts3.1/index', target file type 'TypeScript'.", + "File '/a/ts3.1/index.ts' does not exist.", + "File '/a/ts3.1/index.tsx' does not exist.", + "File '/a/ts3.1/index.d.ts' exist - use it as a name resolution result.", + "======== Module name 'a' was successfully resolved to '/a/ts3.1/index.d.ts'. ========" +] \ No newline at end of file diff --git a/tests/baselines/reference/typesVersions.emptyTypes.types b/tests/baselines/reference/typesVersions.emptyTypes.types new file mode 100644 index 00000000000..578d4695e1c --- /dev/null +++ b/tests/baselines/reference/typesVersions.emptyTypes.types @@ -0,0 +1,9 @@ +=== /a/ts3.1/index.d.ts === +export const a = 0; +>a : 0 +>0 : 0 + +=== /b/user.ts === +import { a } from "a"; +>a : 0 + diff --git a/tests/baselines/reference/typesVersions.justIndex.trace.json b/tests/baselines/reference/typesVersions.justIndex.trace.json index 28e4a5cb3bf..263d16b0b4b 100644 --- a/tests/baselines/reference/typesVersions.justIndex.trace.json +++ b/tests/baselines/reference/typesVersions.justIndex.trace.json @@ -7,11 +7,8 @@ "File '/a.ts' does not exist.", "File '/a.tsx' does not exist.", "File '/a.d.ts' does not exist.", - "'package.json' does not have a 'typings' field.", - "'package.json' does not have a 'types' field.", - "'package.json' does not have a 'main' field.", - "'package.json' has a 'typesVersions' field with version-specific path mappings.", "Found 'package.json' at '/a/package.json'.", + "'package.json' has a 'typesVersions' field with version-specific path mappings.", "'package.json' does not have a 'typings' field.", "'package.json' does not have a 'types' field.", "'package.json' does not have a 'main' field.", diff --git a/tests/baselines/reference/typesVersions.multiFile.trace.json b/tests/baselines/reference/typesVersions.multiFile.trace.json index d52db48acfe..d487d352948 100644 --- a/tests/baselines/reference/typesVersions.multiFile.trace.json +++ b/tests/baselines/reference/typesVersions.multiFile.trace.json @@ -2,10 +2,8 @@ "======== Resolving module 'ext' from 'tests/cases/conformance/moduleResolution/main.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'ext' from 'node_modules' folder, target file type 'TypeScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' has 'types' field 'index' that references 'tests/cases/conformance/moduleResolution/node_modules/ext/index'.", + "Found 'package.json' at 'tests/cases/conformance/moduleResolution/node_modules/ext/package.json'.", "'package.json' has a 'typesVersions' field with version-specific path mappings.", - "Found 'package.json' at 'tests/cases/conformance/moduleResolution/node_modules/ext/package.json'. Package ID is 'ext/index.d.ts@1.0.0'.", "File 'tests/cases/conformance/moduleResolution/node_modules/ext.ts' does not exist.", "File 'tests/cases/conformance/moduleResolution/node_modules/ext.tsx' does not exist.", "File 'tests/cases/conformance/moduleResolution/node_modules/ext.d.ts' does not exist.", @@ -20,12 +18,12 @@ "File 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/index.tsx' does not exist.", "File 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/index.d.ts', result 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/index.d.ts'.", - "======== Module name 'ext' was successfully resolved to 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/index.d.ts'. ========", + "======== Module name 'ext' was successfully resolved to 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/index.d.ts' with Package ID 'ext/ts3.1/index.d.ts@1.0.0'. ========", "======== Resolving module 'ext/other' from 'tests/cases/conformance/moduleResolution/main.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'ext/other' from 'node_modules' folder, target file type 'TypeScript'.", + "Found 'package.json' at 'tests/cases/conformance/moduleResolution/node_modules/ext/package.json'.", "'package.json' has a 'typesVersions' field with version-specific path mappings.", - "Found 'package.json' at 'tests/cases/conformance/moduleResolution/node_modules/ext/package.json'. Package ID is 'ext/other/index.d.ts@1.0.0'.", "'package.json' has a 'typesVersions' entry '>=3.1.0-0' that matches compiler version '3.1.0-dev', looking for a pattern to match module name 'other'.", "Module name 'other', matched pattern '*'.", "Trying substitution 'ts3.1/*', candidate module location: 'ts3.1/other'.", @@ -33,5 +31,5 @@ "File 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/other.tsx' does not exist.", "File 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/other.d.ts' exist - use it as a name resolution result.", "Resolving real path for 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/other.d.ts', result 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/other.d.ts'.", - "======== Module name 'ext/other' was successfully resolved to 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/other.d.ts'. ========" + "======== Module name 'ext/other' was successfully resolved to 'tests/cases/conformance/moduleResolution/node_modules/ext/ts3.1/other.d.ts' with Package ID 'ext/ts3.1/other.d.ts@1.0.0'. ========" ] \ No newline at end of file diff --git a/tests/baselines/reference/typesVersionsDeclarationEmit.ambient.trace.json b/tests/baselines/reference/typesVersionsDeclarationEmit.ambient.trace.json index 2fcf9d052d4..97972b9d1f6 100644 --- a/tests/baselines/reference/typesVersionsDeclarationEmit.ambient.trace.json +++ b/tests/baselines/reference/typesVersionsDeclarationEmit.ambient.trace.json @@ -2,10 +2,8 @@ "======== Resolving module 'ext' from 'tests/cases/conformance/declarationEmit/main.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'ext' from 'node_modules' folder, target file type 'TypeScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' has 'types' field 'index' that references 'tests/cases/conformance/declarationEmit/node_modules/ext/index'.", + "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'.", "'package.json' has a 'typesVersions' field with version-specific path mappings.", - "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'. Package ID is 'ext/index.d.ts@1.0.0'.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext.ts' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext.tsx' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext.d.ts' does not exist.", @@ -20,18 +18,20 @@ "File 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.tsx' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts', result 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts'.", - "======== Module name 'ext' was successfully resolved to 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts'. ========", + "======== Module name 'ext' was successfully resolved to 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts' with Package ID 'ext/ts3.1/index.d.ts@1.0.0'. ========", "======== Resolving module 'ext/other' from 'tests/cases/conformance/declarationEmit/main.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'ext/other' from 'node_modules' folder, target file type 'TypeScript'.", + "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'.", "'package.json' has a 'typesVersions' field with version-specific path mappings.", - "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'. Package ID is 'ext/other/index.d.ts@1.0.0'.", "'package.json' has a 'typesVersions' entry '>=3.1.0-0' that matches compiler version '3.1.0-dev', looking for a pattern to match module name 'other'.", "Module name 'other', matched pattern '*'.", "Trying substitution 'ts3.1/*', candidate module location: 'ts3.1/other'.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/other.ts' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/other.tsx' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/other.d.ts' does not exist.", + "'package.json' does not have a 'typings' field.", + "'package.json' has 'types' field 'index' that references 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/other/index'.", "'package.json' has a 'typesVersions' entry '>=3.1.0-0' that matches compiler version '3.1.0-dev', looking for a pattern to match module name 'index'.", "Module name 'index', matched pattern '*'.", "Trying substitution 'ts3.1/*', candidate module location: 'ts3.1/index'.", @@ -43,13 +43,14 @@ "Directory 'node_modules' does not exist, skipping all lookups in it.", "Directory '/node_modules' does not exist, skipping all lookups in it.", "Loading module 'ext/other' from 'node_modules' folder, target file type 'JavaScript'.", + "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'.", "'package.json' has a 'typesVersions' field with version-specific path mappings.", - "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'. Package ID is 'ext/other/index.d.ts@1.0.0'.", "'package.json' has a 'typesVersions' entry '>=3.1.0-0' that matches compiler version '3.1.0-dev', looking for a pattern to match module name 'other'.", "Module name 'other', matched pattern '*'.", "Trying substitution 'ts3.1/*', candidate module location: 'ts3.1/other'.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/other.js' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/other.jsx' does not exist.", + "'package.json' does not have a 'main' field.", "'package.json' has a 'typesVersions' entry '>=3.1.0-0' that matches compiler version '3.1.0-dev', looking for a pattern to match module name 'index'.", "Module name 'index', matched pattern '*'.", "Trying substitution 'ts3.1/*', candidate module location: 'ts3.1/index'.", diff --git a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFile.trace.json b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFile.trace.json index eee9622037b..224839cf26d 100644 --- a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFile.trace.json +++ b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFile.trace.json @@ -2,10 +2,8 @@ "======== Resolving module 'ext' from 'tests/cases/conformance/declarationEmit/main.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'ext' from 'node_modules' folder, target file type 'TypeScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' has 'types' field 'index' that references 'tests/cases/conformance/declarationEmit/node_modules/ext/index'.", + "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'.", "'package.json' has a 'typesVersions' field with version-specific path mappings.", - "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'. Package ID is 'ext/index.d.ts@1.0.0'.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext.ts' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext.tsx' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext.d.ts' does not exist.", @@ -20,12 +18,12 @@ "File 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.tsx' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts', result 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts'.", - "======== Module name 'ext' was successfully resolved to 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts'. ========", + "======== Module name 'ext' was successfully resolved to 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts' with Package ID 'ext/ts3.1/index.d.ts@1.0.0'. ========", "======== Resolving module 'ext/other' from 'tests/cases/conformance/declarationEmit/main.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'ext/other' from 'node_modules' folder, target file type 'TypeScript'.", + "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'.", "'package.json' has a 'typesVersions' field with version-specific path mappings.", - "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'. Package ID is 'ext/other/index.d.ts@1.0.0'.", "'package.json' has a 'typesVersions' entry '>=3.1.0-0' that matches compiler version '3.1.0-dev', looking for a pattern to match module name 'other'.", "Module name 'other', matched pattern '*'.", "Trying substitution 'ts3.1/*', candidate module location: 'ts3.1/other'.", @@ -33,5 +31,5 @@ "File 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/other.tsx' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/other.d.ts' exist - use it as a name resolution result.", "Resolving real path for 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/other.d.ts', result 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/other.d.ts'.", - "======== Module name 'ext/other' was successfully resolved to 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/other.d.ts'. ========" + "======== Module name 'ext/other' was successfully resolved to 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/other.d.ts' with Package ID 'ext/ts3.1/other.d.ts@1.0.0'. ========" ] \ No newline at end of file diff --git a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToSelf.trace.json b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToSelf.trace.json index 464da214bae..a89df5a6dfe 100644 --- a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToSelf.trace.json +++ b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToSelf.trace.json @@ -2,10 +2,8 @@ "======== Resolving module '../' from 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module as file / folder, candidate module location 'tests/cases/conformance/declarationEmit/node_modules/ext/', target file type 'TypeScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' has 'types' field 'index' that references 'tests/cases/conformance/declarationEmit/node_modules/ext/index'.", + "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'.", "'package.json' has a 'typesVersions' field with version-specific path mappings.", - "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'. Package ID is 'ext/ndex/index.d.ts@1.0.0'.", "'package.json' does not have a 'typings' field.", "'package.json' has 'types' field 'index' that references 'tests/cases/conformance/declarationEmit/node_modules/ext/index'.", "'package.json' has a 'typesVersions' entry '>=3.1.0-0' that matches compiler version '3.1.0-dev', looking for a pattern to match module name 'index'.", @@ -16,23 +14,21 @@ "File 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.ts' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.tsx' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts' exist - use it as a name resolution result.", - "======== Module name '../' was successfully resolved to 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts'. ========", + "======== Module name '../' was successfully resolved to 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts' with Package ID 'ext/s3.1/index.d.ts@1.0.0'. ========", "======== Resolving module '../other' from 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/other.d.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module as file / folder, candidate module location 'tests/cases/conformance/declarationEmit/node_modules/ext/other', target file type 'TypeScript'.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext/other.ts' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext/other.tsx' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext/other.d.ts' exist - use it as a name resolution result.", + "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'.", "'package.json' has a 'typesVersions' field with version-specific path mappings.", - "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'. Package ID is 'ext/other.d.ts@1.0.0'.", - "======== Module name '../other' was successfully resolved to 'tests/cases/conformance/declarationEmit/node_modules/ext/other.d.ts'. ========", + "======== Module name '../other' was successfully resolved to 'tests/cases/conformance/declarationEmit/node_modules/ext/other.d.ts' with Package ID 'ext/other.d.ts@1.0.0'. ========", "======== Resolving module 'ext' from 'tests/cases/conformance/declarationEmit/main.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'ext' from 'node_modules' folder, target file type 'TypeScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' has 'types' field 'index' that references 'tests/cases/conformance/declarationEmit/node_modules/ext/index'.", + "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'.", "'package.json' has a 'typesVersions' field with version-specific path mappings.", - "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'. Package ID is 'ext/index.d.ts@1.0.0'.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext.ts' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext.tsx' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext.d.ts' does not exist.", @@ -47,12 +43,12 @@ "File 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.tsx' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts', result 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts'.", - "======== Module name 'ext' was successfully resolved to 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts'. ========", + "======== Module name 'ext' was successfully resolved to 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts' with Package ID 'ext/ts3.1/index.d.ts@1.0.0'. ========", "======== Resolving module 'ext/other' from 'tests/cases/conformance/declarationEmit/main.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'ext/other' from 'node_modules' folder, target file type 'TypeScript'.", + "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'.", "'package.json' has a 'typesVersions' field with version-specific path mappings.", - "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'. Package ID is 'ext/other/index.d.ts@1.0.0'.", "'package.json' has a 'typesVersions' entry '>=3.1.0-0' that matches compiler version '3.1.0-dev', looking for a pattern to match module name 'other'.", "Module name 'other', matched pattern '*'.", "Trying substitution 'ts3.1/*', candidate module location: 'ts3.1/other'.", @@ -60,5 +56,5 @@ "File 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/other.tsx' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/other.d.ts' exist - use it as a name resolution result.", "Resolving real path for 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/other.d.ts', result 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/other.d.ts'.", - "======== Module name 'ext/other' was successfully resolved to 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/other.d.ts'. ========" + "======== Module name 'ext/other' was successfully resolved to 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/other.d.ts' with Package ID 'ext/ts3.1/other.d.ts@1.0.0'. ========" ] \ No newline at end of file diff --git a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToUnmapped.trace.json b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToUnmapped.trace.json index fe65b605283..7da95cd402c 100644 --- a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToUnmapped.trace.json +++ b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToUnmapped.trace.json @@ -5,16 +5,14 @@ "File 'tests/cases/conformance/declarationEmit/node_modules/ext/other.ts' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext/other.tsx' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext/other.d.ts' exist - use it as a name resolution result.", + "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'.", "'package.json' has a 'typesVersions' field with version-specific path mappings.", - "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'. Package ID is 'ext/other.d.ts@1.0.0'.", - "======== Module name '../other' was successfully resolved to 'tests/cases/conformance/declarationEmit/node_modules/ext/other.d.ts'. ========", + "======== Module name '../other' was successfully resolved to 'tests/cases/conformance/declarationEmit/node_modules/ext/other.d.ts' with Package ID 'ext/other.d.ts@1.0.0'. ========", "======== Resolving module 'ext' from 'tests/cases/conformance/declarationEmit/main.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'ext' from 'node_modules' folder, target file type 'TypeScript'.", - "'package.json' does not have a 'typings' field.", - "'package.json' has 'types' field 'index' that references 'tests/cases/conformance/declarationEmit/node_modules/ext/index'.", + "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'.", "'package.json' has a 'typesVersions' field with version-specific path mappings.", - "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'. Package ID is 'ext/index.d.ts@1.0.0'.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext.ts' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext.tsx' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext.d.ts' does not exist.", @@ -29,16 +27,16 @@ "File 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.tsx' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts' exist - use it as a name resolution result.", "Resolving real path for 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts', result 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts'.", - "======== Module name 'ext' was successfully resolved to 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts'. ========", + "======== Module name 'ext' was successfully resolved to 'tests/cases/conformance/declarationEmit/node_modules/ext/ts3.1/index.d.ts' with Package ID 'ext/ts3.1/index.d.ts@1.0.0'. ========", "======== Resolving module 'ext/other' from 'tests/cases/conformance/declarationEmit/main.ts'. ========", "Module resolution kind is not specified, using 'NodeJs'.", "Loading module 'ext/other' from 'node_modules' folder, target file type 'TypeScript'.", + "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'.", "'package.json' has a 'typesVersions' field with version-specific path mappings.", - "Found 'package.json' at 'tests/cases/conformance/declarationEmit/node_modules/ext/package.json'. Package ID is 'ext/other/index.d.ts@1.0.0'.", "'package.json' has a 'typesVersions' entry '>=3.1.0-0' that matches compiler version '3.1.0-dev', looking for a pattern to match module name 'other'.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext/other.ts' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext/other.tsx' does not exist.", "File 'tests/cases/conformance/declarationEmit/node_modules/ext/other.d.ts' exist - use it as a name resolution result.", "Resolving real path for 'tests/cases/conformance/declarationEmit/node_modules/ext/other.d.ts', result 'tests/cases/conformance/declarationEmit/node_modules/ext/other.d.ts'.", - "======== Module name 'ext/other' was successfully resolved to 'tests/cases/conformance/declarationEmit/node_modules/ext/other.d.ts'. ========" + "======== Module name 'ext/other' was successfully resolved to 'tests/cases/conformance/declarationEmit/node_modules/ext/other.d.ts' with Package ID 'ext/other.d.ts@1.0.0'. ========" ] \ No newline at end of file diff --git a/tests/baselines/reference/typingsLookup4.trace.json b/tests/baselines/reference/typingsLookup4.trace.json index 6409896ad17..3ce97d9d8c9 100644 --- a/tests/baselines/reference/typingsLookup4.trace.json +++ b/tests/baselines/reference/typingsLookup4.trace.json @@ -5,9 +5,8 @@ "File '/node_modules/jquery.ts' does not exist.", "File '/node_modules/jquery.tsx' does not exist.", "File '/node_modules/jquery.d.ts' does not exist.", - "'package.json' has 'typings' field 'jquery.d.ts' that references '/node_modules/@types/jquery/jquery.d.ts'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/node_modules/@types/jquery/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "File '/node_modules/@types/jquery.d.ts' does not exist.", "'package.json' has 'typings' field 'jquery.d.ts' that references '/node_modules/@types/jquery/jquery.d.ts'.", "File '/node_modules/@types/jquery/jquery.d.ts' exist - use it as a name resolution result.", @@ -19,9 +18,8 @@ "File '/node_modules/kquery.ts' does not exist.", "File '/node_modules/kquery.tsx' does not exist.", "File '/node_modules/kquery.d.ts' does not exist.", - "'package.json' has 'typings' field 'kquery' that references '/node_modules/@types/kquery/kquery'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/node_modules/@types/kquery/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "File '/node_modules/@types/kquery.d.ts' does not exist.", "'package.json' has 'typings' field 'kquery' that references '/node_modules/@types/kquery/kquery'.", "File '/node_modules/@types/kquery/kquery' does not exist.", @@ -37,9 +35,8 @@ "File '/node_modules/lquery.ts' does not exist.", "File '/node_modules/lquery.tsx' does not exist.", "File '/node_modules/lquery.d.ts' does not exist.", - "'package.json' has 'typings' field 'lquery' that references '/node_modules/@types/lquery/lquery'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/node_modules/@types/lquery/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "File '/node_modules/@types/lquery.d.ts' does not exist.", "'package.json' has 'typings' field 'lquery' that references '/node_modules/@types/lquery/lquery'.", "File '/node_modules/@types/lquery/lquery' does not exist.", @@ -53,9 +50,8 @@ "File '/node_modules/mquery.ts' does not exist.", "File '/node_modules/mquery.tsx' does not exist.", "File '/node_modules/mquery.d.ts' does not exist.", - "'package.json' has 'typings' field 'mquery' that references '/node_modules/@types/mquery/mquery'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/node_modules/@types/mquery/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "File '/node_modules/@types/mquery.d.ts' does not exist.", "'package.json' has 'typings' field 'mquery' that references '/node_modules/@types/mquery/mquery'.", "File '/node_modules/@types/mquery/mquery' does not exist.", @@ -69,18 +65,16 @@ "======== Module name 'mquery' was successfully resolved to '/node_modules/@types/mquery/mquery/index.tsx'. ========", "======== Resolving type reference directive 'jquery', containing file '/__inferred type names__.ts', root directory '/node_modules/@types'. ========", "Resolving with primary search path '/node_modules/@types'.", - "'package.json' has 'typings' field 'jquery.d.ts' that references '/node_modules/@types/jquery/jquery.d.ts'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/node_modules/@types/jquery/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "'package.json' has 'typings' field 'jquery.d.ts' that references '/node_modules/@types/jquery/jquery.d.ts'.", "File '/node_modules/@types/jquery/jquery.d.ts' exist - use it as a name resolution result.", "Resolving real path for '/node_modules/@types/jquery/jquery.d.ts', result '/node_modules/@types/jquery/jquery.d.ts'.", "======== Type reference directive 'jquery' was successfully resolved to '/node_modules/@types/jquery/jquery.d.ts', primary: true. ========", "======== Resolving type reference directive 'kquery', containing file '/__inferred type names__.ts', root directory '/node_modules/@types'. ========", "Resolving with primary search path '/node_modules/@types'.", - "'package.json' has 'typings' field 'kquery' that references '/node_modules/@types/kquery/kquery'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/node_modules/@types/kquery/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "'package.json' has 'typings' field 'kquery' that references '/node_modules/@types/kquery/kquery'.", "File '/node_modules/@types/kquery/kquery' does not exist.", "Loading module as file / folder, candidate module location '/node_modules/@types/kquery/kquery', target file type 'TypeScript'.", @@ -91,9 +85,8 @@ "======== Type reference directive 'kquery' was successfully resolved to '/node_modules/@types/kquery/kquery.d.ts', primary: true. ========", "======== Resolving type reference directive 'lquery', containing file '/__inferred type names__.ts', root directory '/node_modules/@types'. ========", "Resolving with primary search path '/node_modules/@types'.", - "'package.json' has 'typings' field 'lquery' that references '/node_modules/@types/lquery/lquery'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/node_modules/@types/lquery/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "'package.json' has 'typings' field 'lquery' that references '/node_modules/@types/lquery/lquery'.", "File '/node_modules/@types/lquery/lquery' does not exist.", "Loading module as file / folder, candidate module location '/node_modules/@types/lquery/lquery', target file type 'TypeScript'.", @@ -102,9 +95,8 @@ "======== Type reference directive 'lquery' was successfully resolved to '/node_modules/@types/lquery/lquery.ts', primary: true. ========", "======== Resolving type reference directive 'mquery', containing file '/__inferred type names__.ts', root directory '/node_modules/@types'. ========", "Resolving with primary search path '/node_modules/@types'.", - "'package.json' has 'typings' field 'mquery' that references '/node_modules/@types/mquery/mquery'.", - "'package.json' does not have a 'typesVersions' field.", "Found 'package.json' at '/node_modules/@types/mquery/package.json'.", + "'package.json' does not have a 'typesVersions' field.", "'package.json' has 'typings' field 'mquery' that references '/node_modules/@types/mquery/mquery'.", "File '/node_modules/@types/mquery/mquery' does not exist.", "Loading module as file / folder, candidate module location '/node_modules/@types/mquery/mquery', target file type 'TypeScript'.", diff --git a/tests/baselines/reference/unionTypeEquivalence.errors.txt b/tests/baselines/reference/unionTypeEquivalence.errors.txt index d561a96f97e..3a50459e925 100644 --- a/tests/baselines/reference/unionTypeEquivalence.errors.txt +++ b/tests/baselines/reference/unionTypeEquivalence.errors.txt @@ -9,6 +9,7 @@ tests/cases/conformance/types/union/unionTypeEquivalence.ts(5,5): error TS2403: var x : C | D; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'C', but here has type 'C | D'. +!!! related TS6203 tests/cases/conformance/types/union/unionTypeEquivalence.ts:4:5: 'x' was also declared here. // A | B is equivalent to B | A. var y: string | number; diff --git a/tests/baselines/reference/unionTypeIdentity.errors.txt b/tests/baselines/reference/unionTypeIdentity.errors.txt index 77d25bd78d1..4acb5895d41 100644 --- a/tests/baselines/reference/unionTypeIdentity.errors.txt +++ b/tests/baselines/reference/unionTypeIdentity.errors.txt @@ -12,9 +12,12 @@ tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/unionTypeI var strOrNum: string; // error ~~~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'strOrNum' must be of type 'string | boolean', but here has type 'string'. +!!! related TS6203 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/unionTypeIdentity.ts:3:5: 'strOrNum' was also declared here. var strOrNum: boolean; // error ~~~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'strOrNum' must be of type 'string | boolean', but here has type 'boolean'. +!!! related TS6203 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/unionTypeIdentity.ts:3:5: 'strOrNum' was also declared here. var strOrNum: number; // error ~~~~~~~~ -!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'strOrNum' must be of type 'string | boolean', but here has type 'number'. \ No newline at end of file +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'strOrNum' must be of type 'string | boolean', but here has type 'number'. +!!! related TS6203 tests/cases/conformance/types/typeRelationships/typeAndMemberIdentity/unionTypeIdentity.ts:3:5: 'strOrNum' was also declared here. \ No newline at end of file diff --git a/tests/baselines/reference/unionTypeLiterals.errors.txt b/tests/baselines/reference/unionTypeLiterals.errors.txt index d976d769f59..197f4e23647 100644 --- a/tests/baselines/reference/unionTypeLiterals.errors.txt +++ b/tests/baselines/reference/unionTypeLiterals.errors.txt @@ -16,9 +16,11 @@ tests/cases/conformance/types/specifyingTypes/typeLiterals/unionTypeLiterals.ts( var unionOfFunctionType: () => string | number; ~~~~~~~~~~~~~~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'unionOfFunctionType' must be of type '(() => string) | (() => number)', but here has type '() => string | number'. +!!! related TS6203 tests/cases/conformance/types/specifyingTypes/typeLiterals/unionTypeLiterals.ts:9:5: 'unionOfFunctionType' was also declared here. var unionOfConstructorType: (new () => string) | (new () => number); var unionOfConstructorType: { new (): string } | { new (): number }; var unionOfConstructorType: new () => string | number; ~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'unionOfConstructorType' must be of type '(new () => string) | (new () => number)', but here has type 'new () => string | number'. \ No newline at end of file +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'unionOfConstructorType' must be of type '(new () => string) | (new () => number)', but here has type 'new () => string | number'. +!!! related TS6203 tests/cases/conformance/types/specifyingTypes/typeLiterals/unionTypeLiterals.ts:13:5: 'unionOfConstructorType' was also declared here. \ No newline at end of file diff --git a/tests/baselines/reference/unionTypeWithIndexSignature.errors.txt b/tests/baselines/reference/unionTypeWithIndexSignature.errors.txt index fb4463bc2d9..14a3ffc58a6 100644 --- a/tests/baselines/reference/unionTypeWithIndexSignature.errors.txt +++ b/tests/baselines/reference/unionTypeWithIndexSignature.errors.txt @@ -1,9 +1,11 @@ tests/cases/conformance/types/union/unionTypeWithIndexSignature.ts(11,3): error TS2339: Property 'bar' does not exist on type 'Missing'. Property 'bar' does not exist on type '{ [s: string]: string; }'. tests/cases/conformance/types/union/unionTypeWithIndexSignature.ts(14,4): error TS2540: Cannot assign to 'foo' because it is a read-only property. -tests/cases/conformance/types/union/unionTypeWithIndexSignature.ts(24,1): error TS7017: Element implicitly has an 'any' type because type 'Both' has no index signature. +tests/cases/conformance/types/union/unionTypeWithIndexSignature.ts(24,1): error TS7053: Element implicitly has an 'any' type because expression of type '1' can't be used to index type 'Both'. + Property '1' does not exist on type 'Both'. tests/cases/conformance/types/union/unionTypeWithIndexSignature.ts(25,1): error TS2322: Type '"not ok"' is not assignable to type 'number'. -tests/cases/conformance/types/union/unionTypeWithIndexSignature.ts(26,1): error TS7017: Element implicitly has an 'any' type because type 'Both' has no index signature. +tests/cases/conformance/types/union/unionTypeWithIndexSignature.ts(26,1): error TS7053: Element implicitly has an 'any' type because expression of type 'unique symbol' can't be used to index type 'Both'. + Property '[sym]' does not exist on type 'Both'. ==== tests/cases/conformance/types/union/unionTypeWithIndexSignature.ts (5 errors) ==== @@ -37,11 +39,13 @@ tests/cases/conformance/types/union/unionTypeWithIndexSignature.ts(26,1): error both[0] = 1 both[1] = 0 // not ok ~~~~~~~ -!!! error TS7017: Element implicitly has an 'any' type because type 'Both' has no index signature. +!!! error TS7053: Element implicitly has an 'any' type because expression of type '1' can't be used to index type 'Both'. +!!! error TS7053: Property '1' does not exist on type 'Both'. both[0] = 'not ok' ~~~~~~~ !!! error TS2322: Type '"not ok"' is not assignable to type 'number'. both[sym] = 'not ok' ~~~~~~~~~ -!!! error TS7017: Element implicitly has an 'any' type because type 'Both' has no index signature. +!!! error TS7053: Element implicitly has an 'any' type because expression of type 'unique symbol' can't be used to index type 'Both'. +!!! error TS7053: Property '[sym]' does not exist on type 'Both'. \ No newline at end of file diff --git a/tests/baselines/reference/unionTypeWithLeadingOperator.js b/tests/baselines/reference/unionTypeWithLeadingOperator.js index 0fb366d538e..84572d9430e 100644 --- a/tests/baselines/reference/unionTypeWithLeadingOperator.js +++ b/tests/baselines/reference/unionTypeWithLeadingOperator.js @@ -5,6 +5,16 @@ type B = | { type: "DECREMENT" }; type C = [| 0 | 1, | "foo" | "bar"]; - + +export type D = + /*leading0*/ + | /*leading1*/ 1 /*trailing1*/ + | /*leading2*/ 2 /*trailing2*/; //// [unionTypeWithLeadingOperator.js] +"use strict"; +exports.__esModule = true; + + +//// [unionTypeWithLeadingOperator.d.ts] +export declare type D = /*leading1*/ 1 | /*leading2*/ 2; diff --git a/tests/baselines/reference/unionTypeWithLeadingOperator.symbols b/tests/baselines/reference/unionTypeWithLeadingOperator.symbols index 8c15d299c48..4ded4561a62 100644 --- a/tests/baselines/reference/unionTypeWithLeadingOperator.symbols +++ b/tests/baselines/reference/unionTypeWithLeadingOperator.symbols @@ -14,3 +14,9 @@ type B = type C = [| 0 | 1, | "foo" | "bar"]; >C : Symbol(C, Decl(unionTypeWithLeadingOperator.ts, 3, 26)) +export type D = +>D : Symbol(D, Decl(unionTypeWithLeadingOperator.ts, 5, 36)) + + /*leading0*/ + | /*leading1*/ 1 /*trailing1*/ + | /*leading2*/ 2 /*trailing2*/; diff --git a/tests/baselines/reference/unionTypeWithLeadingOperator.types b/tests/baselines/reference/unionTypeWithLeadingOperator.types index 2ca15fb54a2..930ff71f3f7 100644 --- a/tests/baselines/reference/unionTypeWithLeadingOperator.types +++ b/tests/baselines/reference/unionTypeWithLeadingOperator.types @@ -14,3 +14,9 @@ type B = type C = [| 0 | 1, | "foo" | "bar"]; >C : [0 | 1, "foo" | "bar"] +export type D = +>D : D + + /*leading0*/ + | /*leading1*/ 1 /*trailing1*/ + | /*leading2*/ 2 /*trailing2*/; diff --git a/tests/baselines/reference/unknownType1.js b/tests/baselines/reference/unknownType1.js index b7e40954359..a5183fd5029 100644 --- a/tests/baselines/reference/unknownType1.js +++ b/tests/baselines/reference/unknownType1.js @@ -201,8 +201,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; // Only equality operators are allowed with unknown diff --git a/tests/baselines/reference/unusedLocalsAndObjectSpread.js b/tests/baselines/reference/unusedLocalsAndObjectSpread.js index c9329f369d1..416107d34a6 100644 --- a/tests/baselines/reference/unusedLocalsAndObjectSpread.js +++ b/tests/baselines/reference/unusedLocalsAndObjectSpread.js @@ -36,8 +36,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; function one() { diff --git a/tests/baselines/reference/unusedLocalsAndObjectSpread2.js b/tests/baselines/reference/unusedLocalsAndObjectSpread2.js index 39061c7431c..66ec2a1a2ec 100644 --- a/tests/baselines/reference/unusedLocalsAndObjectSpread2.js +++ b/tests/baselines/reference/unusedLocalsAndObjectSpread2.js @@ -23,8 +23,10 @@ var __rest = (this && this.__rest) || function (s, e) { for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p]; if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) - t[p[i]] = s[p[i]]; + for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { + if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) + t[p[i]] = s[p[i]]; + } return t; }; exports.__esModule = true; diff --git a/tests/baselines/reference/user/TypeScript-React-Native-Starter.log b/tests/baselines/reference/user/TypeScript-React-Native-Starter.log index a678ef73eb7..2f5a0d1f7f5 100644 --- a/tests/baselines/reference/user/TypeScript-React-Native-Starter.log +++ b/tests/baselines/reference/user/TypeScript-React-Native-Starter.log @@ -3,7 +3,7 @@ Standard output: node_modules/@types/react-native/index.d.ts(3425,42): error TS2583: Cannot find name 'Map'. Do you need to change your target library? Try changing the `lib` compiler option to es2015 or later. node_modules/@types/react-native/index.d.ts(3438,42): error TS2583: Cannot find name 'Map'. Do you need to change your target library? Try changing the `lib` compiler option to es2015 or later. node_modules/@types/react-native/index.d.ts(8745,18): error TS2717: Subsequent property declarations must have the same type. Property 'geolocation' must be of type 'Geolocation', but here has type 'GeolocationStatic'. -node_modules/@types/react/index.d.ts(379,23): error TS2583: Cannot find name 'Set'. Do you need to change your target library? Try changing the `lib` compiler option to es2015 or later. +node_modules/@types/react/index.d.ts(378,23): error TS2583: Cannot find name 'Set'. Do you need to change your target library? Try changing the `lib` compiler option to es2015 or later. diff --git a/tests/baselines/reference/user/assert.log b/tests/baselines/reference/user/assert.log index 60e693ae6f3..3870753f663 100644 --- a/tests/baselines/reference/user/assert.log +++ b/tests/baselines/reference/user/assert.log @@ -1,14 +1,5 @@ Exit Code: 1 Standard output: -node_modules/assert/assert.js(124,8): error TS2540: Cannot assign to 'name' because it is a read-only property. -node_modules/assert/assert.js(125,8): error TS2339: Property 'actual' does not exist on type 'typeof ok'. -node_modules/assert/assert.js(126,8): error TS2339: Property 'expected' does not exist on type 'typeof ok'. -node_modules/assert/assert.js(127,8): error TS2339: Property 'operator' does not exist on type 'typeof ok'. -node_modules/assert/assert.js(129,10): error TS2339: Property 'message' does not exist on type 'typeof ok'. -node_modules/assert/assert.js(130,10): error TS2339: Property 'generatedMessage' does not exist on type 'typeof ok'. -node_modules/assert/assert.js(132,10): error TS2339: Property 'message' does not exist on type 'typeof ok'. -node_modules/assert/assert.js(133,10): error TS2339: Property 'generatedMessage' does not exist on type 'typeof ok'. -node_modules/assert/assert.js(154,12): error TS2339: Property 'stack' does not exist on type 'typeof ok'. node_modules/assert/test.js(25,5): error TS2367: This condition will always return 'false' since the types 'string | undefined' and 'true' have no overlap. node_modules/assert/test.js(39,5): error TS2552: Cannot find name 'test'. Did you mean 'tests'? node_modules/assert/test.js(55,5): error TS2552: Cannot find name 'test'. Did you mean 'tests'? @@ -36,6 +27,7 @@ node_modules/assert/test.js(262,5): error TS2593: Cannot find name 'test'. Do yo node_modules/assert/test.js(279,5): error TS2593: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i @types/jest` or `npm i @types/mocha` and then add `jest` or `mocha` to the types field in your tsconfig. node_modules/assert/test.js(285,5): error TS2593: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i @types/jest` or `npm i @types/mocha` and then add `jest` or `mocha` to the types field in your tsconfig. node_modules/assert/test.js(320,5): error TS2593: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i @types/jest` or `npm i @types/mocha` and then add `jest` or `mocha` to the types field in your tsconfig. +node_modules/assert/test.js(346,5): error TS2593: Cannot find name 'test'. Do you need to install type definitions for a test runner? Try `npm i @types/jest` or `npm i @types/mocha` and then add `jest` or `mocha` to the types field in your tsconfig. diff --git a/tests/baselines/reference/user/chrome-devtools-frontend.log b/tests/baselines/reference/user/chrome-devtools-frontend.log index 4fd3354a2bb..bdde6b918c0 100644 --- a/tests/baselines/reference/user/chrome-devtools-frontend.log +++ b/tests/baselines/reference/user/chrome-devtools-frontend.log @@ -4484,9 +4484,7 @@ node_modules/chrome-devtools-frontend/front_end/coverage/CoverageModel.js(175,64 node_modules/chrome-devtools-frontend/front_end/coverage/CoverageModel.js(190,48): error TS2694: Namespace 'Coverage' has no exported member 'RangeUseCount'. node_modules/chrome-devtools-frontend/front_end/coverage/CoverageModel.js(191,11): error TS2403: Subsequent variable declarations must have the same type. Variable 'entry' must be of type '[CSSStyleSheetHeader, any[]]', but here has type 'CoverageInfo'. node_modules/chrome-devtools-frontend/front_end/coverage/CoverageModel.js(197,5): error TS2322: Type '[CSSStyleSheetHeader, any[]][]' is not assignable to type 'CoverageInfo[]'. - Types of property 'pop' are incompatible. - Type '() => [CSSStyleSheetHeader, any[]]' is not assignable to type '() => CoverageInfo'. - Type '[CSSStyleSheetHeader, any[]]' is not assignable to type 'CoverageInfo'. + Type '[CSSStyleSheetHeader, any[]]' is not assignable to type 'CoverageInfo'. node_modules/chrome-devtools-frontend/front_end/coverage/CoverageModel.js(201,31): error TS2694: Namespace 'Coverage' has no exported member 'RangeUseCount'. node_modules/chrome-devtools-frontend/front_end/coverage/CoverageModel.js(202,32): error TS2694: Namespace 'Coverage' has no exported member 'CoverageSegment'. node_modules/chrome-devtools-frontend/front_end/coverage/CoverageModel.js(210,23): error TS2339: Property 'peekLast' does not exist on type 'any[]'. diff --git a/tests/baselines/reference/user/uglify-js.log b/tests/baselines/reference/user/uglify-js.log index a01fffa63cf..3c98006c52f 100644 --- a/tests/baselines/reference/user/uglify-js.log +++ b/tests/baselines/reference/user/uglify-js.log @@ -1,74 +1,74 @@ Exit Code: 1 Standard output: node_modules/uglify-js/lib/ast.js(223,38): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/ast.js(344,33): error TS2339: Property 'transform' does not exist on type 'string'. -node_modules/uglify-js/lib/ast.js(885,5): error TS2322: Type '{ _visit: (node: any, descend: any) => any; parent: (n: any) => any; push: typeof push; pop: typeof pop; self: () => any; find_parent: (type: any) => any; has_directive: (type: any) => any; loopcontrol_target: (node: any) => any; in_boolean_context: () => boolean | undefined; }' is not assignable to type 'TreeWalker'. +node_modules/uglify-js/lib/ast.js(906,5): error TS2322: Type '{ _visit: (node: any, descend: any) => any; parent: (n: any) => any; push: typeof push; pop: typeof pop; self: () => any; find_parent: (type: any) => any; has_directive: (type: any) => any; loopcontrol_target: (node: any) => any; in_boolean_context: () => boolean | undefined; }' is not assignable to type 'TreeWalker'. Object literal may only specify known properties, but '_visit' does not exist in type 'TreeWalker'. Did you mean to write 'visit'? -node_modules/uglify-js/lib/ast.js(886,14): error TS2339: Property 'push' does not exist on type 'TreeWalker'. -node_modules/uglify-js/lib/ast.js(893,14): error TS2339: Property 'pop' does not exist on type 'TreeWalker'. -node_modules/uglify-js/lib/ast.js(948,25): error TS2339: Property 'self' does not exist on type 'TreeWalker'. -node_modules/uglify-js/lib/ast.js(949,37): error TS2339: Property 'parent' does not exist on type 'TreeWalker'. -node_modules/uglify-js/lib/compress.js(173,42): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(512,41): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(838,33): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(1094,38): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. -node_modules/uglify-js/lib/compress.js(1108,51): error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'true | ((node: any) => any)' has no compatible call signatures. -node_modules/uglify-js/lib/compress.js(1172,53): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. -node_modules/uglify-js/lib/compress.js(1213,112): error TS2454: Variable 'args' is used before being assigned. -node_modules/uglify-js/lib/compress.js(1214,29): error TS2532: Object is possibly 'undefined'. -node_modules/uglify-js/lib/compress.js(1223,87): error TS2322: Type 'false' is not assignable to type 'number'. -node_modules/uglify-js/lib/compress.js(1231,29): error TS2322: Type 'false' is not assignable to type 'never'. -node_modules/uglify-js/lib/compress.js(1339,53): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(1440,38): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. -node_modules/uglify-js/lib/compress.js(1550,42): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(1582,41): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(1694,49): error TS2345: Argument of type 'number[]' is not assignable to parameter of type '[number, number, ...never[]]'. +node_modules/uglify-js/lib/ast.js(907,14): error TS2339: Property 'push' does not exist on type 'TreeWalker'. +node_modules/uglify-js/lib/ast.js(914,14): error TS2339: Property 'pop' does not exist on type 'TreeWalker'. +node_modules/uglify-js/lib/ast.js(969,25): error TS2339: Property 'self' does not exist on type 'TreeWalker'. +node_modules/uglify-js/lib/ast.js(970,37): error TS2339: Property 'parent' does not exist on type 'TreeWalker'. +node_modules/uglify-js/lib/compress.js(184,42): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(535,41): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(861,33): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(1121,38): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(1135,51): error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'true | ((node: any) => any)' has no compatible call signatures. +node_modules/uglify-js/lib/compress.js(1199,53): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(1240,112): error TS2454: Variable 'args' is used before being assigned. +node_modules/uglify-js/lib/compress.js(1241,29): error TS2532: Object is possibly 'undefined'. +node_modules/uglify-js/lib/compress.js(1250,87): error TS2322: Type 'false' is not assignable to type 'number'. +node_modules/uglify-js/lib/compress.js(1258,29): error TS2322: Type 'false' is not assignable to type 'never'. +node_modules/uglify-js/lib/compress.js(1366,53): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(1467,38): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(1577,42): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(1609,41): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(1721,49): error TS2345: Argument of type 'number[]' is not assignable to parameter of type '[number, number, ...never[]]'. Type 'number[]' is missing the following properties from type '[number, number, ...never[]]': 0, 1 -node_modules/uglify-js/lib/compress.js(2017,59): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(2055,53): error TS2345: Argument of type 'any[]' is not assignable to parameter of type '[number, number, ...never[]]'. +node_modules/uglify-js/lib/compress.js(2044,59): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(2082,53): error TS2345: Argument of type 'any[]' is not assignable to parameter of type '[number, number, ...never[]]'. Type 'any[]' is missing the following properties from type '[number, number, ...never[]]': 0, 1 -node_modules/uglify-js/lib/compress.js(2203,34): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(2925,42): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3378,38): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3391,33): error TS2322: Type '"f"' is not assignable to type 'boolean'. -node_modules/uglify-js/lib/compress.js(3525,33): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3578,29): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3595,29): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. -node_modules/uglify-js/lib/compress.js(3620,75): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3693,63): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3878,38): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(3899,24): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. -node_modules/uglify-js/lib/compress.js(3909,28): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. -node_modules/uglify-js/lib/compress.js(4068,21): error TS2403: Subsequent variable declarations must have the same type. Variable 'defs' must be of type 'Dictionary & { set: (key: any, val: any) => Dictionary & { set: ...; add: (key: any, val: any) => Dictionary & { set: ...; add: ...; get: (key: any) => any; del: (key: any) => Dictionary & { set: ...; ... 8 more ...; toObject: () => any; }; ... 5 more ...; toObject: () => any; }; ... 7 more ...; toObject: () => any;...', but here has type 'any'. -node_modules/uglify-js/lib/compress.js(4120,17): error TS2447: The '|=' operator is not allowed for boolean types. Consider using '||' instead. -node_modules/uglify-js/lib/compress.js(4181,45): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(4291,33): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(4588,17): error TS2403: Subsequent variable declarations must have the same type. Variable 'body' must be of type 'any[]', but here has type 'any'. -node_modules/uglify-js/lib/compress.js(4672,37): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(4880,57): error TS2345: Argument of type 'any[]' is not assignable to parameter of type '[RegExp, (string | undefined)?]'. +node_modules/uglify-js/lib/compress.js(2230,34): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(2942,42): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3395,38): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3408,33): error TS2322: Type '"f"' is not assignable to type 'boolean'. +node_modules/uglify-js/lib/compress.js(3542,33): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3595,29): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3612,29): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(3637,75): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3711,63): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3832,12): error TS2339: Property 'push' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(3897,38): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(3918,24): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(3928,28): error TS2339: Property 'parent' does not exist on type 'TreeTransformer'. +node_modules/uglify-js/lib/compress.js(4097,21): error TS2403: Subsequent variable declarations must have the same type. Variable 'defs' must be of type 'Dictionary & { set: (key: any, val: any) => Dictionary & { set: ...; add: (key: any, val: any) => Dictionary & { set: ...; add: ...; get: (key: any) => any; del: (key: any) => Dictionary & { set: ...; ... 8 more ...; toObject: () => any; }; ... 5 more ...; toObject: () => any; }; ... 7 more ...; toObject: () => any;...', but here has type 'any'. +node_modules/uglify-js/lib/compress.js(4149,17): error TS2447: The '|=' operator is not allowed for boolean types. Consider using '||' instead. +node_modules/uglify-js/lib/compress.js(4210,45): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(4320,33): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(4618,17): error TS2403: Subsequent variable declarations must have the same type. Variable 'body' must be of type 'any[]', but here has type 'any'. +node_modules/uglify-js/lib/compress.js(4702,37): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(4910,57): error TS2345: Argument of type 'any[]' is not assignable to parameter of type '[RegExp, (string | undefined)?]'. Property '0' is missing in type 'any[]' but required in type '[RegExp, (string | undefined)?]'. -node_modules/uglify-js/lib/compress.js(5044,45): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(5051,25): error TS2403: Subsequent variable declarations must have the same type. Variable 'code' must be of type 'string', but here has type '{ get: () => string; toString: () => string; indent: () => void; indentation: () => number; current_width: () => number; should_break: () => boolean; has_parens: () => boolean; newline: () => void; print: (str: any) => void; ... 24 more ...; parent: (n: any) => any; }'. -node_modules/uglify-js/lib/compress.js(5055,36): error TS2532: Object is possibly 'undefined'. -node_modules/uglify-js/lib/compress.js(5060,41): error TS2339: Property 'get' does not exist on type 'string'. -node_modules/uglify-js/lib/compress.js(5563,18): error TS2454: Variable 'is_strict_comparison' is used before being assigned. -node_modules/uglify-js/lib/compress.js(6058,25): error TS2367: This condition will always return 'false' since the types 'boolean' and '"f"' have no overlap. -node_modules/uglify-js/lib/compress.js(6085,47): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(6159,39): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(6231,39): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(6237,41): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/compress.js(6670,43): error TS2454: Variable 'property' is used before being assigned. -node_modules/uglify-js/lib/compress.js(6685,25): error TS2403: Subsequent variable declarations must have the same type. Variable 'value' must be of type 'number', but here has type 'any'. -node_modules/uglify-js/lib/compress.js(6688,46): error TS2339: Property 'has_side_effects' does not exist on type 'number'. -node_modules/uglify-js/lib/compress.js(6694,25): error TS2403: Subsequent variable declarations must have the same type. Variable 'value' must be of type 'number', but here has type 'any'. -node_modules/uglify-js/lib/compress.js(6722,34): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/minify.js(166,75): error TS2339: Property 'compress' does not exist on type 'Compressor'. +node_modules/uglify-js/lib/compress.js(5074,45): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(5081,25): error TS2403: Subsequent variable declarations must have the same type. Variable 'code' must be of type 'string', but here has type '{ get: () => string; toString: () => string; indent: () => void; indentation: () => number; current_width: () => number; should_break: () => boolean; has_parens: () => boolean; newline: () => void; print: (str: any) => void; ... 24 more ...; parent: (n: any) => any; }'. +node_modules/uglify-js/lib/compress.js(5085,36): error TS2532: Object is possibly 'undefined'. +node_modules/uglify-js/lib/compress.js(5090,41): error TS2339: Property 'get' does not exist on type 'string'. +node_modules/uglify-js/lib/compress.js(5594,18): error TS2454: Variable 'is_strict_comparison' is used before being assigned. +node_modules/uglify-js/lib/compress.js(6105,25): error TS2367: This condition will always return 'false' since the types 'boolean' and '"f"' have no overlap. +node_modules/uglify-js/lib/compress.js(6132,47): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(6205,39): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(6277,39): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(6283,41): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/compress.js(6728,43): error TS2454: Variable 'property' is used before being assigned. +node_modules/uglify-js/lib/compress.js(6743,25): error TS2403: Subsequent variable declarations must have the same type. Variable 'value' must be of type 'number', but here has type 'any'. +node_modules/uglify-js/lib/compress.js(6746,46): error TS2339: Property 'has_side_effects' does not exist on type 'number'. +node_modules/uglify-js/lib/compress.js(6752,25): error TS2403: Subsequent variable declarations must have the same type. Variable 'value' must be of type 'number', but here has type 'any'. +node_modules/uglify-js/lib/compress.js(6790,34): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/minify.js(167,75): error TS2339: Property 'compress' does not exist on type 'Compressor'. node_modules/uglify-js/lib/mozilla-ast.js(566,33): error TS2554: Expected 0 arguments, but got 1. node_modules/uglify-js/lib/output.js(235,25): error TS2554: Expected 0 arguments, but got 2. -node_modules/uglify-js/lib/output.js(464,37): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/output.js(756,38): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/output.js(1152,44): error TS2554: Expected 0 arguments, but got 1. -node_modules/uglify-js/lib/output.js(1434,58): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. +node_modules/uglify-js/lib/output.js(459,37): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/output.js(764,38): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/output.js(1160,44): error TS2554: Expected 0 arguments, but got 1. +node_modules/uglify-js/lib/output.js(1442,58): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. node_modules/uglify-js/lib/parse.js(361,20): error TS2345: Argument of type 'number | undefined' is not assignable to parameter of type 'number'. Type 'undefined' is not assignable to type 'number'. node_modules/uglify-js/lib/parse.js(443,32): error TS2345: Argument of type 'any' is not assignable to parameter of type 'never'. diff --git a/tests/baselines/reference/varBlock.errors.txt b/tests/baselines/reference/varBlock.errors.txt index 12e3fc6a629..bcdb58f5979 100644 --- a/tests/baselines/reference/varBlock.errors.txt +++ b/tests/baselines/reference/varBlock.errors.txt @@ -98,5 +98,6 @@ tests/cases/compiler/varBlock.ts(39,17): error TS1039: Initializers are not allo declare var c = 10; ~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'c' must be of type 'any', but here has type 'number'. +!!! related TS6203 tests/cases/compiler/varBlock.ts:38:13: 'c' was also declared here. ~~ !!! error TS1039: Initializers are not allowed in ambient contexts. \ No newline at end of file diff --git a/tests/baselines/reference/witness.errors.txt b/tests/baselines/reference/witness.errors.txt index cf21a8b2ed2..efaed3cc43c 100644 --- a/tests/baselines/reference/witness.errors.txt +++ b/tests/baselines/reference/witness.errors.txt @@ -56,6 +56,7 @@ tests/cases/conformance/types/witness/witness.ts(128,19): error TS2729: Property var co1: number; ~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'co1' must be of type 'any', but here has type 'number'. +!!! related TS6203 tests/cases/conformance/types/witness/witness.ts:28:5: 'co1' was also declared here. var co2 = (3, 4, co2); ~ !!! error TS2695: Left side of comma operator is unused and has no side effects. @@ -72,22 +73,26 @@ tests/cases/conformance/types/witness/witness.ts(128,19): error TS2729: Property var co3: number; ~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'co3' must be of type 'any', but here has type 'number'. +!!! related TS6203 tests/cases/conformance/types/witness/witness.ts:32:5: 'co3' was also declared here. // Assignment var as1 = (as1 = 2); var as1: number; ~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'as1' must be of type 'any', but here has type 'number'. +!!! related TS6203 tests/cases/conformance/types/witness/witness.ts:36:5: 'as1' was also declared here. var as2 = (as2 = as2 = 2); var as2: number; ~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'as2' must be of type 'any', but here has type 'number'. +!!! related TS6203 tests/cases/conformance/types/witness/witness.ts:38:5: 'as2' was also declared here. // Conditional var cnd1 = cnd1 ? 0 : 1; var cnd1: number; ~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'cnd1' must be of type 'any', but here has type 'number'. +!!! related TS6203 tests/cases/conformance/types/witness/witness.ts:42:5: 'cnd1' was also declared here. var cnd2 = cnd1 ? cnd1 ? '' : "" : ''; var cnd2: string; @@ -104,6 +109,7 @@ tests/cases/conformance/types/witness/witness.ts(128,19): error TS2729: Property var and1: string; ~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'and1' must be of type 'any', but here has type 'string'. +!!! related TS6203 tests/cases/conformance/types/witness/witness.ts:56:5: 'and1' was also declared here. var and2 = '' && and2; var and2: any; var and3 = and3 && and3; @@ -159,6 +165,7 @@ tests/cases/conformance/types/witness/witness.ts(128,19): error TS2729: Property var propAcc1: { m: any; } ~~~~~~~~ !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'propAcc1' must be of type 'any', but here has type '{ m: any; }'. +!!! related TS6203 tests/cases/conformance/types/witness/witness.ts:107:5: 'propAcc1' was also declared here. // Property access of module member module M2 { diff --git a/tests/cases/compiler/assigningFunctionToTupleIssuesError.ts b/tests/cases/compiler/assigningFunctionToTupleIssuesError.ts new file mode 100644 index 00000000000..befea50f81d --- /dev/null +++ b/tests/cases/compiler/assigningFunctionToTupleIssuesError.ts @@ -0,0 +1,2 @@ +declare let a: () => void; +let b: [string] = a; \ No newline at end of file diff --git a/tests/cases/compiler/binaryArithmeticControlFlowGraphNotTooLarge.ts b/tests/cases/compiler/binaryArithmeticControlFlowGraphNotTooLarge.ts new file mode 100644 index 00000000000..9368fc4c34e --- /dev/null +++ b/tests/cases/compiler/binaryArithmeticControlFlowGraphNotTooLarge.ts @@ -0,0 +1,1298 @@ +// @strict: true + +// Repro from #29926 (expanded 10x for good measure) + +const foo = function (this: any) { + var a, b, c, d, ab, bc, cd, da, blocks = this.blocks; + + if (this.first) { + a = blocks[0] - 1; + a = (a << 3) | (a >>> 29); + d = ((a & 0xefcdab89) | (~a & 0x98badcfe)) + blocks[1] + 271733878; + d = (d << 7) | (d >>> 25); + c = ((d & a) | (~d & 0xefcdab89)) + blocks[2] - 1732584194; + c = (c << 11) | (c >>> 21); + b = ((c & d) | (~c & a)) + blocks[3] - 271733879; + b = (b << 19) | (b >>> 13); + } else { + a = this.h0; + b = this.h1; + c = this.h2; + d = this.h3; + a += ((b & c) | (~b & d)) + blocks[0]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[1]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[2]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[3]; + b = (b << 19) | (b >>> 13); + } + + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + + a += ((b & c) | (~b & d)) + blocks[4]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[5]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[6]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[7]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[8]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[9]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[10]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[11]; + b = (b << 19) | (b >>> 13); + a += ((b & c) | (~b & d)) + blocks[12]; + a = (a << 3) | (a >>> 29); + d += ((a & b) | (~a & c)) + blocks[13]; + d = (d << 7) | (d >>> 25); + c += ((d & a) | (~d & b)) + blocks[14]; + c = (c << 11) | (c >>> 21); + b += ((c & d) | (~c & a)) + blocks[15]; + b = (b << 19) | (b >>> 13); + + bc = b & c; + a += (bc | (b & d) | (c & d)) + blocks[0] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[4] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[8] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[12] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[1] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[5] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[9] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[13] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[2] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[6] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[10] + 1518500249; + c = (c << 9) | (c >>> 23); + cd = c & d; + b += (cd | (c & a) | da) + blocks[14] + 1518500249; + b = (b << 13) | (b >>> 19); + bc = b & c; + a += (bc | (b & d) | cd) + blocks[3] + 1518500249; + a = (a << 3) | (a >>> 29); + ab = a & b; + d += (ab | (a & c) | bc) + blocks[7] + 1518500249; + d = (d << 5) | (d >>> 27); + da = d & a; + c += (da | (d & b) | ab) + blocks[11] + 1518500249; + c = (c << 9) | (c >>> 23); + b += ((c & d) | (c & a) | da) + blocks[15] + 1518500249; + b = (b << 13) | (b >>> 19); + + bc = b ^ c; + a += (bc ^ d) + blocks[0] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[8] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[4] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[12] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[2] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[10] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[6] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[14] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[1] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[9] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[5] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[13] + 1859775393; + b = (b << 15) | (b >>> 17); + bc = b ^ c; + a += (bc ^ d) + blocks[3] + 1859775393; + a = (a << 3) | (a >>> 29); + d += (bc ^ a) + blocks[11] + 1859775393; + d = (d << 9) | (d >>> 23); + da = d ^ a; + c += (da ^ b) + blocks[7] + 1859775393; + c = (c << 11) | (c >>> 21); + b += (da ^ c) + blocks[15] + 1859775393; + b = (b << 15) | (b >>> 17); + + if (this.first) { + this.h0 = a + 1732584193 << 0; + this.h1 = b - 271733879 << 0; + this.h2 = c - 1732584194 << 0; + this.h3 = d + 271733878 << 0; + this.first = false; + } else { + this.h0 = this.h0 + a << 0; + this.h1 = this.h1 + b << 0; + this.h2 = this.h2 + c << 0; + this.h3 = this.h3 + d << 0; + } +}; \ No newline at end of file diff --git a/tests/cases/compiler/booleanFilterAnyArray.ts b/tests/cases/compiler/booleanFilterAnyArray.ts new file mode 100644 index 00000000000..db5f38e78f9 --- /dev/null +++ b/tests/cases/compiler/booleanFilterAnyArray.ts @@ -0,0 +1,24 @@ +interface Bullean { } +interface BulleanConstructor { + new(v1?: any): Bullean; + (v2?: T): v2 is T; +} + +interface Ari { + filter(cb1: (value: T) => value is S): T extends any ? Ari : Ari; + filter(cb2: (value: T) => unknown): Ari; +} +declare var Bullean: BulleanConstructor; +declare let anys: Ari; +var xs: Ari; +var xs = anys.filter(Bullean) + +declare let realanys: any[]; +var ys: any[]; +var ys = realanys.filter(Boolean) + +var foo = [{ name: 'x' }] +var foor: Array<{name: string}> +var foor = foo.filter(x => x.name) +var foos: Array +var foos = [true, true, false, null].filter((thing): thing is boolean => thing !== null) diff --git a/tests/cases/compiler/commonJsIsolatedModules.ts b/tests/cases/compiler/commonJsIsolatedModules.ts new file mode 100644 index 00000000000..a75a5ec96d2 --- /dev/null +++ b/tests/cases/compiler/commonJsIsolatedModules.ts @@ -0,0 +1,12 @@ +// @Filename: tsconfig.json +{ + "compilerOptions": { + "allowJs": true, + "outDir": "foo", + "isolatedModules": true, + } +} + +// @Filename: index.js +module.exports = {} +var x = 1 diff --git a/tests/cases/compiler/consistentAliasVsNonAliasRecordBehavior.ts b/tests/cases/compiler/consistentAliasVsNonAliasRecordBehavior.ts new file mode 100644 index 00000000000..e21bc2d72fd --- /dev/null +++ b/tests/cases/compiler/consistentAliasVsNonAliasRecordBehavior.ts @@ -0,0 +1,39 @@ +// TODO: FIXME: All the below cases labeled `no error` _should be an error_, and are only prevented from so being +// by incorrect variance-based relationships +// Ref: https://github.com/Microsoft/TypeScript/issues/29698 + +type Record2 = { + [P in K]: T; +}; + +function defaultRecord(x: Record<'a', string>, y: Record) { + x = y; // no error, but error expected. +} + +function customRecord(x: Record2<'a', string>, y: Record2) { + x = y; // no error, but error expected. +} + +function mixed1(x: Record2<'a', string>, y: Record) { + x = y; // error +} + +function mixed2(x: Record<'a', string>, y: Record2) { + x = y; // error +} + +function defaultRecord2(x: Record<'a', T>, y: Record) { + x = y; // no error, but error expected. +} + +function customRecord2(x: Record2<'a', T>, y: Record2) { + x = y; // no error, but error expected. +} + +function mixed3(x: Record2<'a', T>, y: Record) { + x = y; // error +} + +function mixed4(x: Record<'a', T>, y: Record2) { + x = y; // error +} diff --git a/tests/cases/compiler/controlFlowForCompoundAssignmentToThisMember.ts b/tests/cases/compiler/controlFlowForCompoundAssignmentToThisMember.ts new file mode 100644 index 00000000000..2ed77e8ed5f --- /dev/null +++ b/tests/cases/compiler/controlFlowForCompoundAssignmentToThisMember.ts @@ -0,0 +1,19 @@ + +class DatasourceCommandWidgetElement { + _commandBased: boolean; + _commandElement: unknown; + commandElement: unknown; + + constructor(target: unknown) { + if (target instanceof DatasourceCommandWidgetElement) { + this._commandBased = true; + this._commandElement = target.commandElement; + } else { + this._commandBased = false; + } + + if (this._commandBased = (target instanceof DatasourceCommandWidgetElement)) { + this._commandElement = target.commandElement; + } + } +} \ No newline at end of file diff --git a/tests/cases/compiler/declarationEmitForGlobalishSpecifierSymlink.ts b/tests/cases/compiler/declarationEmitForGlobalishSpecifierSymlink.ts new file mode 100644 index 00000000000..b42d679b521 --- /dev/null +++ b/tests/cases/compiler/declarationEmitForGlobalishSpecifierSymlink.ts @@ -0,0 +1,35 @@ +// @useCaseSensitiveFilenames: true +// @declaration: true +// @filename: /p1/node_modules/typescript-fsa/src/impl.d.ts +export function getA(): A; +export enum A { + Val +} +// @filename: /p1/node_modules/typescript-fsa/index.d.ts +export * from "./src/impl"; +// @filename: /p1/node_modules/typescript-fsa/package.json +{ + "name": "typescript-fsa", + "version": "1.0.0" +} +// @filename: /p2/node_modules/typescript-fsa/src/impl.d.ts +export function getA(): A; +export enum A { + Val +} +// @filename: /p2/node_modules/typescript-fsa/index.d.ts +export * from "./src/impl"; +// @filename: /p2/node_modules/typescript-fsa/package.json +{ + "name": "typescript-fsa", + "version": "1.0.0" +} +// @filename: /p1/index.ts +import * as _whatever from "p2"; +import { getA } from "typescript-fsa"; + +export const a = getA(); +// @filename: /p2/index.d.ts +export const a: import("typescript-fsa").A; + +// @link: /p2 -> /p1/node_modules/p2 diff --git a/tests/cases/compiler/declarationEmitForGlobalishSpecifierSymlink2.ts b/tests/cases/compiler/declarationEmitForGlobalishSpecifierSymlink2.ts new file mode 100644 index 00000000000..5b46de99622 --- /dev/null +++ b/tests/cases/compiler/declarationEmitForGlobalishSpecifierSymlink2.ts @@ -0,0 +1,25 @@ +// @useCaseSensitiveFilenames: true +// @declaration: true +// @filename: /cache/typescript-fsa/src/impl.d.ts +export function getA(): A; +export enum A { + Val +} +// @filename: /cache/typescript-fsa/index.d.ts +export * from "./src/impl"; +// @filename: /cache/typescript-fsa/package.json +{ + "name": "typescript-fsa", + "version": "1.0.0" +} +// @filename: /p1/index.ts +import * as _whatever from "p2"; +import { getA } from "typescript-fsa"; + +export const a = getA(); +// @filename: /p2/index.d.ts +export const a: import("typescript-fsa").A; + +// @link: /p2 -> /p1/node_modules/p2 +// @link: /cache/typescript-fsa -> /p1/node_modules/typescript-fsa +// @link: /cache/typescript-fsa -> /p2/node_modules/typescript-fsa diff --git a/tests/cases/compiler/moduleResolutionPackageIdWithRelativeAndAbsolutePath.ts b/tests/cases/compiler/moduleResolutionPackageIdWithRelativeAndAbsolutePath.ts new file mode 100644 index 00000000000..acbde7b1c7b --- /dev/null +++ b/tests/cases/compiler/moduleResolutionPackageIdWithRelativeAndAbsolutePath.ts @@ -0,0 +1,51 @@ +// @noImplicitReferences: true +// @fullEmitPaths: true +// @traceResolution: true +// @filename: /shared/node_modules/troublesome-lib/package.json +{ + "name": "troublesome-lib", + "version": "1.17.1" +} +// @filename: /shared/node_modules/troublesome-lib/lib/Compactable.d.ts +import { Option } from './Option'; +export class Compactable { + option: Option; +} +// @filename: /shared/node_modules/troublesome-lib/lib/Option.d.ts +export class Option { + someProperty: string; +} +// @filename: /shared/lib/app.d.ts +import { Option } from "troublesome-lib/lib/Option"; +export class SharedOption extends Option { } +export const makeSharedOption: () => SharedOption; +// @filename: /project/node_modules/anotherLib/index.d.ts +import { Compactable } from "troublesome-lib/lib/Compactable"; // Including this will resolve Option as relative through the imports of compactable +// @filename: /project/node_modules/troublesome-lib/package.json +{ + "name": "troublesome-lib", + "version": "1.17.1" +} +// @filename: /project/node_modules/troublesome-lib/lib/Compactable.d.ts +import { Option } from './Option'; +export class Compactable { + option: Option; +} +// @filename: /project/node_modules/troublesome-lib/lib/Option.d.ts +export class Option { + someProperty: string; +} +// @filename: /project/src/app.ts +import * as t from "anotherLib"; // Include the lib that recursively includes option as relative module resolution in this directory +import { makeSharedOption } from "@shared/lib/app"; // Includes option as module in shared folder but as module in node_modules folder + +// @filename: /project/tsconfig.json +{ + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@shared/*": ["../shared/*"] + } + }, + //"files": ["src/app.ts"] +} \ No newline at end of file diff --git a/tests/cases/compiler/noImplicitAnyLoopCrash.ts b/tests/cases/compiler/noImplicitAnyLoopCrash.ts new file mode 100644 index 00000000000..1df8a27a92d --- /dev/null +++ b/tests/cases/compiler/noImplicitAnyLoopCrash.ts @@ -0,0 +1,6 @@ +// @noImplicitAny: true +let foo = () => {}; +let bar; +while (1) { + bar = ~foo(...bar); +} diff --git a/tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts b/tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts index 1cd967c294f..5e1b9430088 100644 --- a/tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts +++ b/tests/cases/compiler/noImplicitAnyStringIndexerOnObject.ts @@ -22,3 +22,23 @@ e['hello'] = 'modified'; e['hello'] += 1; e['hello'] ++; +const o = { a: 0 }; + +declare const k: "a" | "b" | "c"; +o[k]; + + +declare const k2: "c"; +o[k2]; + +declare const sym : unique symbol; +o[sym]; + +enum NumEnum { a, b } +let numEnumKey: NumEnum; +o[numEnumKey]; + + +enum StrEnum { a = "a", b = "b" } +let strEnumKey: StrEnum; +o[strEnumKey]; diff --git a/tests/cases/compiler/normalizedIntersectionTooComplex.ts b/tests/cases/compiler/normalizedIntersectionTooComplex.ts new file mode 100644 index 00000000000..dff8bb12019 --- /dev/null +++ b/tests/cases/compiler/normalizedIntersectionTooComplex.ts @@ -0,0 +1,38 @@ +// @strict: true + +// Repro from #30050 + +interface Obj { + ref: T; +} +interface Func { + (x: T): void; +} +type UnionToIntersection = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never; +type CtorOf = (arg: UnionToIntersection) => T; + +interface Big { + "0": { common?: string; "0"?: number, ref?: Obj | Func; } + "1": { common?: string; "1"?: number, ref?: Obj | Func; } + "2": { common?: string; "2"?: number, ref?: Obj | Func; } + "3": { common?: string; "3"?: number, ref?: Obj | Func; } + "4": { common?: string; "4"?: number, ref?: Obj | Func; } + "5": { common?: string; "5"?: number, ref?: Obj | Func; } + "6": { common?: string; "6"?: number, ref?: Obj | Func; } + "7": { common?: string; "7"?: number, ref?: Obj | Func; } + "8": { common?: string; "8"?: number, ref?: Obj | Func; } + "9": { common?: string; "9"?: number, ref?: Obj | Func; } + "10": { common?: string; "10"?: number, ref?: Obj | Func; } + "11": { common?: string; "11"?: number, ref?: Obj | Func; } + "12": { common?: string; "12"?: number, ref?: Obj | Func; } + "13": { common?: string; "13"?: number, ref?: Obj | Func; } + "14": { common?: string; "14"?: number, ref?: Obj | Func; } + "15": { common?: string; "15"?: number, ref?: Obj | Func; } + "16": { common?: string; "16"?: number, ref?: Obj | Func; } + "17": { common?: string; "17"?: number, ref?: Obj | Func; } +} +declare function getCtor(comp: T): CtorOf + +declare var all: keyof Big; +const ctor = getCtor(all); +const comp = ctor({ common: "ok", ref: x => console.log(x) }); diff --git a/tests/cases/compiler/omitTypeHelperModifiers01.ts b/tests/cases/compiler/omitTypeHelperModifiers01.ts new file mode 100644 index 00000000000..da76173d365 --- /dev/null +++ b/tests/cases/compiler/omitTypeHelperModifiers01.ts @@ -0,0 +1,22 @@ +// @strict: true + +type A = { + a: number; + b?: string; + readonly c: boolean; + d: unknown; +}; + +type B = Omit; + +function f(x: B) { + const b = x.b; + x.b = "hello"; + x.b = undefined; + + const c = x.c; + x.c = true; + + const d = x.d; + x.d = d; +} diff --git a/tests/cases/compiler/requiredMappedTypeModifierTrumpsVariance.ts b/tests/cases/compiler/requiredMappedTypeModifierTrumpsVariance.ts new file mode 100644 index 00000000000..b2017a87581 --- /dev/null +++ b/tests/cases/compiler/requiredMappedTypeModifierTrumpsVariance.ts @@ -0,0 +1,22 @@ +const a: Required<{ a?: 1; x: 1 }> = { a: 1, x: 1 }; +const b: Required<{ b?: 1; x: 1 }> = { b: 1, x: 1 }; +export let A = a; +export let B = b; +A = b; // Should Error +B = a; // Should Error + +a.b; // Property 'b' does not exist on type 'Required<{ a?: 1; x: 1; }>'. +b.a; // Property 'a' does not exist on type 'Required<{ b?: 1; x: 1; }>'. + +interface Foo { + a: Required; +} +const aa: Foo<{ a?: 1; x: 1 }> = { a: { a: 1, x: 1 } }; +const bb: Foo<{ b?: 1; x: 1 }> = { a: { b: 1, x: 1 } }; +export let AA = aa; +export let BB = bb; +AA = bb; // Should Error +BB = aa; // Should Error + +aa.a.b; // Property 'b' does not exist on type 'Required<{ a?: 1; x: 1; }>'. +bb.a.a; // Property 'a' does not exist on type 'Required<{ b?: 1; x: 1; }>'. \ No newline at end of file diff --git a/tests/cases/compiler/reverseMappedPartiallyInferableTypes.ts b/tests/cases/compiler/reverseMappedPartiallyInferableTypes.ts new file mode 100644 index 00000000000..799ff641c5a --- /dev/null +++ b/tests/cases/compiler/reverseMappedPartiallyInferableTypes.ts @@ -0,0 +1,96 @@ +// @strict: true + +// Repro from #30505 + +export type Prop = { (): T } +export type PropType = Prop; +export type PropDefaultValue = T; + + +export type PropValidatorFunction = (value: T) => boolean; +export type PropValidator = PropOptions; + + +export type PropOptions = { + type: PropType; + + value?: PropDefaultValue, + required?: boolean; + validator?: PropValidatorFunction; +} + +export type RecordPropsDefinition = { + [K in keyof T]: PropValidator +} +export type PropsDefinition = RecordPropsDefinition; + + +declare function extend({ props }: { props: PropsDefinition }): PropsDefinition; + +interface MyType { + valid: boolean; +} + +const r = extend({ + props: { + notResolved: { + type: Object as PropType, + validator: x => { + return x.valid; + } + }, + explicit: { + type: Object as PropType, + validator: (x: MyType) => { + return x.valid; + } + } + } +}) + +r.explicit +r.notResolved +r.explicit.required +r.notResolved.required + +// Modified repro from #30505 + +type Box = { + contents?: T; + contains?(content: T): boolean; +}; + +type Mapped = { + [K in keyof T]: Box; +} + +declare function id(arg: Mapped): Mapped; + +// All properties have inferable types + +const obj1 = id({ + foo: { + contents: "" + } +}); + +// Some properties have inferable types + +const obj2 = id({ + foo: { + contents: "", + contains(k) { + return k.length > 0; + } + } +}); + +// No properties have inferable types + +const obj3 = id({ + foo: { + contains(k) { + return k.length > 0; + } + } +}); diff --git a/tests/cases/compiler/thisConditionalOnMethodReturnOfGenericInstance.ts b/tests/cases/compiler/thisConditionalOnMethodReturnOfGenericInstance.ts new file mode 100644 index 00000000000..a0264e90f49 --- /dev/null +++ b/tests/cases/compiler/thisConditionalOnMethodReturnOfGenericInstance.ts @@ -0,0 +1,18 @@ +// @strict: true +class A { + unmeasurableUsage!: {[K in keyof T]-?: T[K]}; +} + +class B extends A { + method(): string | (this extends C ? undefined : null) { + return ""; + } +} + +class C extends B { + marker!: string; +} + +const x = new C<{}>(); + +const y = x.method(); // usage flags `method` in `B` as circular and marks `y` as the error-any type diff --git a/tests/cases/compiler/typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts b/tests/cases/compiler/typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts new file mode 100644 index 00000000000..3f4e3e19c8c --- /dev/null +++ b/tests/cases/compiler/typePartameterConstraintInstantiatedWithDefaultWhenCheckingDefault.ts @@ -0,0 +1,24 @@ +// tricky interface +interface Settable { + set(value: V): T; +} + +// implement +class Identity implements Settable, V> { + readonly item: V; + constructor(value: V) { + this.item = value; + } + public set(value: V): Identity { + return new Identity(value); + } +} + +// generic parameter default +interface Test1 = Identity> { }; +let test1: Test1; + +// not generic parameter default +interface Test2Base> { }; +type Test2 = Test2Base>; +let test2: Test2; diff --git a/tests/cases/compiler/unionTypeWithLeadingOperator.ts b/tests/cases/compiler/unionTypeWithLeadingOperator.ts index 9f6d272ce7c..17d9b051ef7 100644 --- a/tests/cases/compiler/unionTypeWithLeadingOperator.ts +++ b/tests/cases/compiler/unionTypeWithLeadingOperator.ts @@ -1,6 +1,12 @@ +// @declaration: true type A = | string; type B = | { type: "INCREMENT" } | { type: "DECREMENT" }; type C = [| 0 | 1, | "foo" | "bar"]; + +export type D = + /*leading0*/ + | /*leading1*/ 1 /*trailing1*/ + | /*leading2*/ 2 /*trailing2*/; \ No newline at end of file diff --git a/tests/cases/conformance/classes/propertyMemberDeclarations/instanceMemberWithComputedPropertyName.ts b/tests/cases/conformance/classes/propertyMemberDeclarations/instanceMemberWithComputedPropertyName.ts new file mode 100644 index 00000000000..31aec681445 --- /dev/null +++ b/tests/cases/conformance/classes/propertyMemberDeclarations/instanceMemberWithComputedPropertyName.ts @@ -0,0 +1,8 @@ +// https://github.com/microsoft/TypeScript/issues/30953 +const x = 1; +class C { + [x] = true; + constructor() { + const { a, b } = { a: 1, b: 2 }; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/expressions/typeGuards/typeGuardBoolean.ts b/tests/cases/conformance/expressions/typeGuards/typeGuardBoolean.ts deleted file mode 100644 index 3f2dde227ba..00000000000 --- a/tests/cases/conformance/expressions/typeGuards/typeGuardBoolean.ts +++ /dev/null @@ -1,14 +0,0 @@ -// @strictNullChecks: true -function test(strOrNull: string | null, strOrUndefined: string | undefined) { - var str: string = "original"; - var nil: null; - if (!Boolean(strOrNull)) { - nil = strOrNull; - } - else { - str = strOrNull; - } - if (Boolean(strOrUndefined)) { - str = strOrUndefined; - } -} diff --git a/tests/cases/conformance/moduleResolution/typesVersions.emptyTypes.ts b/tests/cases/conformance/moduleResolution/typesVersions.emptyTypes.ts new file mode 100644 index 00000000000..f5d0792bfc4 --- /dev/null +++ b/tests/cases/conformance/moduleResolution/typesVersions.emptyTypes.ts @@ -0,0 +1,18 @@ +// @baseUrl: / +// @traceResolution: true +// @target: esnext +// @module: commonjs + +// @filename: /a/package.json +{ + "types": "", + "typesVersions": { + ">=3.1.0-0": { "*" : ["ts3.1/*"] } + } +} + +// @filename: /a/ts3.1/index.d.ts +export const a = 0; + +// @filename: /b/user.ts +import { a } from "a"; diff --git a/tests/cases/conformance/salsa/binderUninitializedModuleExportsAssignment.ts b/tests/cases/conformance/salsa/binderUninitializedModuleExportsAssignment.ts new file mode 100644 index 00000000000..ef3ef213d36 --- /dev/null +++ b/tests/cases/conformance/salsa/binderUninitializedModuleExportsAssignment.ts @@ -0,0 +1,8 @@ +// @noEmit: true +// @allowJs: true +// @checkJs: true +// @Filename: loop.js +var loop1 = loop2; +var loop2 = loop1; + +module.exports = loop2; diff --git a/tests/cases/conformance/statements/for-ofStatements/ES5For-of37.ts b/tests/cases/conformance/statements/for-ofStatements/ES5For-of37.ts new file mode 100644 index 00000000000..6ac37924016 --- /dev/null +++ b/tests/cases/conformance/statements/for-ofStatements/ES5For-of37.ts @@ -0,0 +1,16 @@ +// @downlevelIteration: true +// https://github.com/microsoft/TypeScript/issues/30083 + +for (const i of [0, 1, 2, 3, 4]) { + try { + // Ensure catch binding for the following loop is reset per iteration: + for (const j of [1, 2, 3]) { + if (i === 2) { + throw new Error('ERR'); + } + } + console.log(i); + } catch (err) { + console.log('E %s %s', i, err); + } +} \ No newline at end of file diff --git a/tests/cases/conformance/types/conditional/conditionalTypes2.ts b/tests/cases/conformance/types/conditional/conditionalTypes2.ts index 4b65b5ddeb2..bb70093f233 100644 --- a/tests/cases/conformance/types/conditional/conditionalTypes2.ts +++ b/tests/cases/conformance/types/conditional/conditionalTypes2.ts @@ -190,3 +190,9 @@ type ProductComplementComplement = { }; type PCCA = ProductComplementComplement['a']; type PCCB = ProductComplementComplement['b']; + +// Repro from #31326 + +type Hmm = U extends T ? { [K in keyof U]: number } : never; +type What = Hmm<{}, { a: string }> +const w: What = { a: 4 }; diff --git a/tests/cases/conformance/types/keyof/keyofAndIndexedAccess2.ts b/tests/cases/conformance/types/keyof/keyofAndIndexedAccess2.ts index 5251a83bb06..898648cea44 100644 --- a/tests/cases/conformance/types/keyof/keyofAndIndexedAccess2.ts +++ b/tests/cases/conformance/types/keyof/keyofAndIndexedAccess2.ts @@ -138,3 +138,22 @@ function fn4() { let x: Array[K] = 'abc'; let y: ReadonlyArray[K] = 'abc'; } + +// Repro from #31439 + +export class c { + [x: string]: string; + constructor() { + this["a"] = "b"; + } +} + +// Repro from #31385 + +type Foo = { [key: string]: { [K in keyof T]: K }[keyof T] }; + +type Bar = { [key: string]: { [K in keyof T]: [K] }[keyof T] }; + +type Baz> = { [K in keyof Q]: T[Q[K]] }; + +type Qux> = { [K in keyof Q]: T[Q[K]["0"]] }; diff --git a/tests/cases/conformance/types/rest/objectRestCatchES5.ts b/tests/cases/conformance/types/rest/objectRestCatchES5.ts new file mode 100644 index 00000000000..0e568d32b58 --- /dev/null +++ b/tests/cases/conformance/types/rest/objectRestCatchES5.ts @@ -0,0 +1,2 @@ +let a = 1, b = 2; +try {} catch ({ a, ...b }) {} \ No newline at end of file diff --git a/tests/cases/conformance/types/rest/objectRestPropertyMustBeLast.ts b/tests/cases/conformance/types/rest/objectRestPropertyMustBeLast.ts new file mode 100644 index 00000000000..2e4e17dc302 --- /dev/null +++ b/tests/cases/conformance/types/rest/objectRestPropertyMustBeLast.ts @@ -0,0 +1,5 @@ +var {...a, x } = { x: 1 }; // Error, rest must be last property +({...a, x } = { x: 1 }); // Error, rest must be last property + +var {...a, x, ...b } = { x: 1 }; // Error, rest must be last property +({...a, x, ...b } = { x: 1 }); // Error, rest must be last property diff --git a/tests/cases/conformance/types/tuple/readonlyArraysAndTuples.ts b/tests/cases/conformance/types/tuple/readonlyArraysAndTuples.ts index d9fecee7dea..6cfdad0d5c4 100644 --- a/tests/cases/conformance/types/tuple/readonlyArraysAndTuples.ts +++ b/tests/cases/conformance/types/tuple/readonlyArraysAndTuples.ts @@ -28,3 +28,12 @@ function f1(ma: string[], ra: readonly string[], mt: [string, string], rt: reado rt = ra; // Error rt = mt; } + +declare var v: readonly[number, number, ...number[]]; +v[0] = 1; // Error +v[1] = 1; // Error +v[2] = 1; // Error +delete v[2]; // Error +v[0 + 1] = 1; // Error +v[0 + 2] = 1; // Error +delete v[0 + 1]; // Error diff --git a/tests/cases/fourslash/codeCompletionEscaping.ts b/tests/cases/fourslash/codeCompletionEscaping.ts index e582171575f..bc1ae9662a0 100644 --- a/tests/cases/fourslash/codeCompletionEscaping.ts +++ b/tests/cases/fourslash/codeCompletionEscaping.ts @@ -7,7 +7,7 @@ verify.completions({ marker: "", includes: [ - { name: "__foo", kind: "warning" }, - { name: "___foo", kind: "warning" }, + { name: "__foo", kind: "warning", sortText: completion.SortText.JavascriptIdentifiers }, + { name: "___foo", kind: "warning", sortText: completion.SortText.JavascriptIdentifiers }, ], }); diff --git a/tests/cases/fourslash/completionAfterGlobalThis.ts b/tests/cases/fourslash/completionAfterGlobalThis.ts index f5241d93c6a..bda57b9e0bd 100644 --- a/tests/cases/fourslash/completionAfterGlobalThis.ts +++ b/tests/cases/fourslash/completionAfterGlobalThis.ts @@ -5,8 +5,8 @@ verify.completions({ marker: "", exact: [ - { name: "globalThis", kind: "module" }, + completion.globalThisEntry, ...completion.globalsVars, - { name: "undefined", kind: "var" } - ] + completion.undefinedVarEntry + ].map(e => ({ ...e, sortText: completion.SortText.LocationPriority })) }); diff --git a/tests/cases/fourslash/completionEntryForClassMembers.ts b/tests/cases/fourslash/completionEntryForClassMembers.ts index 6dcfd059c46..d40a8d273bc 100644 --- a/tests/cases/fourslash/completionEntryForClassMembers.ts +++ b/tests/cases/fourslash/completionEntryForClassMembers.ts @@ -130,9 +130,9 @@ verify.completions( marker: "InsideMethod", exact: [ "arguments", - "globalThis", + completion.globalThisEntry, "B", "C", "D", "D1", "D2", "D3", "D4", "D5", "D6", "E", "F", "F2", "G", "G2", "H", "I", "J", "K", "L", "L2", "M", "N", "O", - "undefined", + completion.undefinedVarEntry, ...completion.insideMethodKeywords, ], }, @@ -146,7 +146,9 @@ verify.completions( "classThatStartedWritingIdentifierAfterPrivateModifier", "classThatStartedWritingIdentifierAfterPrivateStaticModifier", ], - exact: ["private", "protected", "public", "static", "abstract", "async", "constructor", "get", "readonly", "set"], + exact: ["private", "protected", "public", "static", "abstract", "async", "constructor", "get", "readonly", "set"].map( + name => ({ name, sortText: completion.SortText.GlobalsOrKeywords }) + ), isNewIdentifierLocation: true, }, { diff --git a/tests/cases/fourslash/completionEntryInJsFile.ts b/tests/cases/fourslash/completionEntryInJsFile.ts index a3492d9de3e..cf460f6fcc9 100644 --- a/tests/cases/fourslash/completionEntryInJsFile.ts +++ b/tests/cases/fourslash/completionEntryInJsFile.ts @@ -12,9 +12,25 @@ ////function foo() { /////*insideFunction*/ ////} +const warnings = [ + { name: "classA", sortText: completion.SortText.JavascriptIdentifiers }, + { name: "Test7", sortText: completion.SortText.JavascriptIdentifiers }, + { name: "foo", sortText: completion.SortText.JavascriptIdentifiers } +]; verify.completions( { marker: "global", exact: completion.globalsInJsPlus(["foo", "classA", "Test7"]) }, - { marker: "class", isNewIdentifierLocation: true, exact: ["classA", "Test7", "foo", ...completion.classElementInJsKeywords] }, - { marker: "constructorParameter", isNewIdentifierLocation: true, exact: ["classA", "Test7", "foo"] }, + { + marker: "class", + isNewIdentifierLocation: true, + exact: [ + ...warnings, + ...completion.classElementInJsKeywords + ] + }, + { + marker: "constructorParameter", + isNewIdentifierLocation: true, + exact: warnings + }, { marker: "insideFunction", exact: completion.globalsInJsInsideFunction(["foo", "classA", "Test7"]) }, -); +); \ No newline at end of file diff --git a/tests/cases/fourslash/completionInFunctionLikeBody.ts b/tests/cases/fourslash/completionInFunctionLikeBody.ts index 8c163ccb3b0..cf3b32ccb39 100644 --- a/tests/cases/fourslash/completionInFunctionLikeBody.ts +++ b/tests/cases/fourslash/completionInFunctionLikeBody.ts @@ -16,7 +16,9 @@ verify.completions( { marker: ["1", "2"], - includes: ["async", "await"], + includes: ["async", "await"].map( + name => ({ name, sortText: completion.SortText.GlobalsOrKeywords }) + ), excludes: ["public", "private", "protected", "constructor", "readonly", "static", "abstract", "get", "set"], }, { marker: ["3", "4"], exact: completion.classElementKeywords, isNewIdentifierLocation: true }, diff --git a/tests/cases/fourslash/completionInJSDocFunctionNew.ts b/tests/cases/fourslash/completionInJSDocFunctionNew.ts index 8cf8502aa20..b343104c328 100644 --- a/tests/cases/fourslash/completionInJSDocFunctionNew.ts +++ b/tests/cases/fourslash/completionInJSDocFunctionNew.ts @@ -5,4 +5,4 @@ /////** @type {function (new: string, string): string} */ ////var f = function () { return new/**/; } -verify.completions({ marker: "", includes: "new" }); +verify.completions({ marker: "", includes: { name: "new", sortText: completion.SortText.JavascriptIdentifiers } }); diff --git a/tests/cases/fourslash/completionInJSDocFunctionThis.ts b/tests/cases/fourslash/completionInJSDocFunctionThis.ts index 4f732fdcec1..8dd1c545e30 100644 --- a/tests/cases/fourslash/completionInJSDocFunctionThis.ts +++ b/tests/cases/fourslash/completionInJSDocFunctionThis.ts @@ -4,4 +4,4 @@ /////** @type {function (this: string, string): string} */ ////var f = function (s) { return this/**/; } -verify.completions({ marker: "", includes: "this" }); +verify.completions({ marker: "", includes: { name: "this", sortText: completion.SortText.JavascriptIdentifiers } }); diff --git a/tests/cases/fourslash/completionInJsDoc.ts b/tests/cases/fourslash/completionInJsDoc.ts index ef438b8f4be..d30a92fe114 100644 --- a/tests/cases/fourslash/completionInJsDoc.ts +++ b/tests/cases/fourslash/completionInJsDoc.ts @@ -57,7 +57,7 @@ verify.completions( { marker: ["1", "2"], includes: ["constructor", "param", "type", "method", "template"] }, { marker: ["3", "15", "16"], exact: [] }, - { marker: ["4", "5", "8"], includes: "number" }, + { marker: ["4", "5", "8"], includes: { name: "number", sortText: completion.SortText.GlobalsOrKeywords } }, { marker: ["6", "7", "14"], exact: undefined }, { marker: ["9", "10", "11", "12", "13"], includes: ["@argument", "@returns"] }, ); diff --git a/tests/cases/fourslash/completionListAtEndOfWordInArrowFunction02.ts b/tests/cases/fourslash/completionListAtEndOfWordInArrowFunction02.ts index 73cd0c29be9..690f01ab793 100644 --- a/tests/cases/fourslash/completionListAtEndOfWordInArrowFunction02.ts +++ b/tests/cases/fourslash/completionListAtEndOfWordInArrowFunction02.ts @@ -5,5 +5,9 @@ verify.completions({ marker: "1", // TODO: should not include 'default' keyword at an expression location - includes: ["d", "defaultIsAnInvalidParameterName", "default"] + includes: [ + "d", + "defaultIsAnInvalidParameterName", + { name: "default", sortText: completion.SortText.GlobalsOrKeywords } + ] }); diff --git a/tests/cases/fourslash/completionListAtEndOfWordInArrowFunction03.ts b/tests/cases/fourslash/completionListAtEndOfWordInArrowFunction03.ts index 0487107d3af..7aea1a726e2 100644 --- a/tests/cases/fourslash/completionListAtEndOfWordInArrowFunction03.ts +++ b/tests/cases/fourslash/completionListAtEndOfWordInArrowFunction03.ts @@ -7,6 +7,6 @@ verify.completions({ includes: [ "defaultIsAnInvalidParameterName", // This should probably stop working in the future. - { name: "default", text: "default", kind: "keyword" }, + { name: "default", text: "default", kind: "keyword", sortText: completion.SortText.GlobalsOrKeywords }, ], }); diff --git a/tests/cases/fourslash/completionListInClosedObjectTypeLiteralInSignature04.ts b/tests/cases/fourslash/completionListInClosedObjectTypeLiteralInSignature04.ts index 2f07107e057..94f109d787a 100644 --- a/tests/cases/fourslash/completionListInClosedObjectTypeLiteralInSignature04.ts +++ b/tests/cases/fourslash/completionListInClosedObjectTypeLiteralInSignature04.ts @@ -7,4 +7,8 @@ //// ////declare function foo(obj: I): { /*1*/ } -verify.completions({ marker: "1", exact: "readonly", isNewIdentifierLocation: true }); +verify.completions({ + marker: "1", + exact: { name: "readonly", sortText: completion.SortText.GlobalsOrKeywords }, + isNewIdentifierLocation: true +}); diff --git a/tests/cases/fourslash/completionListInNamedClassExpression.ts b/tests/cases/fourslash/completionListInNamedClassExpression.ts index 466342ab630..503051310c9 100644 --- a/tests/cases/fourslash/completionListInNamedClassExpression.ts +++ b/tests/cases/fourslash/completionListInNamedClassExpression.ts @@ -11,7 +11,9 @@ verify.completions( { marker: "0", includes: { name: "myClass", text: "(local class) myClass", kind: "local class" } }, { marker: "1", - exact: ["private", "protected", "public", "static", "abstract", "async", "constructor", "get", "readonly", "set"], + exact: ["private", "protected", "public", "static", "abstract", "async", "constructor", "get", "readonly", "set"].map( + name => ({ name, sortText: completion.SortText.GlobalsOrKeywords }) + ), isNewIdentifierLocation: true, - }, + } ); diff --git a/tests/cases/fourslash/completionListInUnclosedObjectTypeLiteralInSignature04.ts b/tests/cases/fourslash/completionListInUnclosedObjectTypeLiteralInSignature04.ts index 587db09d267..52b73aa1f1e 100644 --- a/tests/cases/fourslash/completionListInUnclosedObjectTypeLiteralInSignature04.ts +++ b/tests/cases/fourslash/completionListInUnclosedObjectTypeLiteralInSignature04.ts @@ -7,4 +7,8 @@ //// ////declare function foo(obj: I): { /*1*/ -verify.completions({ marker: "1", exact: "readonly", isNewIdentifierLocation: true }); +verify.completions({ + marker: "1", + exact: { name: "readonly", sortText: completion.SortText.GlobalsOrKeywords } , + isNewIdentifierLocation: true +}); diff --git a/tests/cases/fourslash/completionListIsGlobalCompletion.ts b/tests/cases/fourslash/completionListIsGlobalCompletion.ts index 2a37849c2b8..ea89155a771 100644 --- a/tests/cases/fourslash/completionListIsGlobalCompletion.ts +++ b/tests/cases/fourslash/completionListIsGlobalCompletion.ts @@ -47,6 +47,6 @@ verify.completions( { marker: "10", exact: completion.classElementKeywords, isGlobalCompletion: false, isNewIdentifierLocation: true }, { marker: "13", exact: globals, isGlobalCompletion: false }, { marker: "15", exact: globals, isGlobalCompletion: true, isNewIdentifierLocation: true }, - { marker: "16", exact: [...x, "globalThis", ...completion.globalsVars, "undefined"], isGlobalCompletion: false }, + { marker: "16", exact: [...x, completion.globalThisEntry, ...completion.globalsVars, completion.undefinedVarEntry], isGlobalCompletion: false }, { marker: "17", exact: completion.globalKeywordsPlusUndefined, isGlobalCompletion: false }, ); diff --git a/tests/cases/fourslash/completionListKeywords.ts b/tests/cases/fourslash/completionListKeywords.ts index ed489487b3c..287e5326a90 100644 --- a/tests/cases/fourslash/completionListKeywords.ts +++ b/tests/cases/fourslash/completionListKeywords.ts @@ -4,4 +4,11 @@ /////**/ -verify.completions({ marker: "", exact: ["globalThis", "undefined", ...completion.statementKeywordsWithTypes] }); +verify.completions({ + marker: "", + exact: [ + completion.globalThisEntry, + completion.undefinedVarEntry, + ...completion.statementKeywordsWithTypes + ] +}); diff --git a/tests/cases/fourslash/completionListWithMeanings.ts b/tests/cases/fourslash/completionListWithMeanings.ts index 41df1ed3816..034607d08c0 100644 --- a/tests/cases/fourslash/completionListWithMeanings.ts +++ b/tests/cases/fourslash/completionListWithMeanings.ts @@ -16,7 +16,7 @@ ////var zz = { x: 4, y: 3 }; const values: ReadonlyArray = [ - "globalThis", + completion.globalThisEntry, { name: "m2", text: "namespace m2" }, // With no type side, allowed only in value { name: "m3", text: "namespace m3" }, { name: "xx", text: "var xx: number" }, @@ -24,12 +24,12 @@ const values: ReadonlyArray = [ { name: "yy", text: "var yy: point" }, { name: "kk", text: "var kk: m3.point3" }, { name: "zz", text: "var zz: point" }, - "undefined", + completion.undefinedVarEntry, ...completion.statementKeywordsWithTypes, ]; const types: ReadonlyArray = [ - "globalThis", + completion.globalThisEntry, { name: "m", text: "namespace m" }, { name: "m3", text: "namespace m3" }, { name: "point", text: "interface point" }, diff --git a/tests/cases/fourslash/completionListWithModulesFromModule.ts b/tests/cases/fourslash/completionListWithModulesFromModule.ts index dbcbdd79783..fb5f49b1abf 100644 --- a/tests/cases/fourslash/completionListWithModulesFromModule.ts +++ b/tests/cases/fourslash/completionListWithModulesFromModule.ts @@ -263,9 +263,9 @@ verify.completions( { name: "shwvar", text: "var shwvar: string" }, { name: "shwcls", text: "class shwcls" }, "tmp", - "globalThis", + completion.globalThisEntry, ...commonValues, - "undefined", + completion.undefinedVarEntry, ...completion.statementKeywordsWithTypes, ], }, { @@ -273,7 +273,7 @@ verify.completions( exact: [ { name: "shwcls", text: "class shwcls" }, { name: "shwint", text: "interface shwint" }, - "globalThis", + completion.globalThisEntry, ...commonTypes, ...completion.typeKeywords, ] @@ -284,12 +284,12 @@ verify.completions( "Mod1", "iMod1", "tmp", - "globalThis", + completion.globalThisEntry, { name: "shwfn", text: "function shwfn(): void" }, ...commonValues, { name: "shwcls", text: "class shwcls" }, { name: "shwvar", text: "var shwvar: number" }, - "undefined", + completion.undefinedVarEntry, ...completion.statementKeywordsWithTypes, ], }, @@ -298,7 +298,7 @@ verify.completions( exact: [ "Mod1", "iMod1", - "globalThis", + completion.globalThisEntry, ...commonTypes, { name: "shwcls", text: "class shwcls" }, { name: "shwint", text: "interface shwint" }, diff --git a/tests/cases/fourslash/completionListWithModulesInsideModuleScope.ts b/tests/cases/fourslash/completionListWithModulesInsideModuleScope.ts index d1bc6233f72..ad0f2531f86 100644 --- a/tests/cases/fourslash/completionListWithModulesInsideModuleScope.ts +++ b/tests/cases/fourslash/completionListWithModulesInsideModuleScope.ts @@ -328,7 +328,7 @@ verifyGeneral('class', { // from interface in mod1 verify.completions({ marker: "interface", - exact: "readonly", + exact: { name: "readonly", sortText: completion.SortText.GlobalsOrKeywords }, isNewIdentifierLocation: true, }); @@ -376,7 +376,14 @@ verifyGeneral('exportedClass', { }); // from exported interface in mod1 -verify.completions({ marker: "exportedInterface", exact: ["readonly"], isNewIdentifierLocation: true }); +verify.completions({ + marker: "exportedInterface", + exact: [{ + name: "readonly", + sortText: completion.SortText.GlobalsOrKeywords + }], + isNewIdentifierLocation: true +}); // from exported namespace in mod1 verifyExportedNamespace('exportedNamespace'); diff --git a/tests/cases/fourslash/completionListWithModulesOutsideModuleScope.ts b/tests/cases/fourslash/completionListWithModulesOutsideModuleScope.ts index 8b9a13fc5b2..c811316ee82 100644 --- a/tests/cases/fourslash/completionListWithModulesOutsideModuleScope.ts +++ b/tests/cases/fourslash/completionListWithModulesOutsideModuleScope.ts @@ -256,7 +256,7 @@ verify.completions( // from interface scope { marker: "interface", - exact: ["readonly"], + exact: [{ name: "readonly", sortText: completion.SortText.GlobalsOrKeywords }], isNewIdentifierLocation: true, } ); diff --git a/tests/cases/fourslash/completionListWithUnresolvedModule.ts b/tests/cases/fourslash/completionListWithUnresolvedModule.ts index 73c6c52a937..1ef421af7f6 100644 --- a/tests/cases/fourslash/completionListWithUnresolvedModule.ts +++ b/tests/cases/fourslash/completionListWithUnresolvedModule.ts @@ -5,4 +5,10 @@ //// var n: num/**/ ////} -verify.completions({ marker: "", includes: "number" }); +verify.completions({ + marker: "", + includes: { + name: "number", + sortText: completion.SortText.GlobalsOrKeywords + } +}); diff --git a/tests/cases/fourslash/completionsGeneratorFunctions.ts b/tests/cases/fourslash/completionsGeneratorFunctions.ts index 1aea1eb6e4d..b2abd148646 100644 --- a/tests/cases/fourslash/completionsGeneratorFunctions.ts +++ b/tests/cases/fourslash/completionsGeneratorFunctions.ts @@ -18,5 +18,5 @@ verify.completions( { marker: ["a", "b"], exact: undefined, isNewIdentifierLocation: true }, { marker: ["c", "d"], exact: ["baseMethod"], isNewIdentifierLocation: true }, { marker: "e", exact: ["baseMethod"] }, - { marker: "f", includes: ["Number"] }, + { marker: "f", includes: [{ name: "Number", sortText: completion.SortText.GlobalsOrKeywords }] }, ); diff --git a/tests/cases/fourslash/completionsImportBaseUrl.ts b/tests/cases/fourslash/completionsImportBaseUrl.ts index d3fa4d7033e..5f67a7d4d63 100644 --- a/tests/cases/fourslash/completionsImportBaseUrl.ts +++ b/tests/cases/fourslash/completionsImportBaseUrl.ts @@ -25,6 +25,7 @@ verify.completions({ kind: "const", kindModifiers: "export", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, preferences: { includeCompletionsForModuleExports: true }, }); diff --git a/tests/cases/fourslash/completionsImport_augmentation.ts b/tests/cases/fourslash/completionsImport_augmentation.ts index 701af24537f..f01f7f43df1 100644 --- a/tests/cases/fourslash/completionsImport_augmentation.ts +++ b/tests/cases/fourslash/completionsImport_augmentation.ts @@ -21,6 +21,7 @@ verify.completions({ source: "/a", sourceDisplay: "./a", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, { name: "bar", @@ -28,6 +29,7 @@ verify.completions({ source: "/a", sourceDisplay: "./a", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, ], preferences: { diff --git a/tests/cases/fourslash/completionsImport_compilerOptionsModule.ts b/tests/cases/fourslash/completionsImport_compilerOptionsModule.ts index 27ae94d4172..56d4ca9e27d 100644 --- a/tests/cases/fourslash/completionsImport_compilerOptionsModule.ts +++ b/tests/cases/fourslash/completionsImport_compilerOptionsModule.ts @@ -33,9 +33,22 @@ ////const a = import("./a"); // Does not make this an external module ////fo/*dts*/ -verify.completions({ marker: ["b"], excludes: "foo", preferences: { includeCompletionsForModuleExports: true } }); +verify.completions({ + marker: ["b"], + excludes: "foo", + preferences: { includeCompletionsForModuleExports: true } +}); verify.completions({ marker: ["c", "ccheck", "cts", "d", "dcheck", "dts"], - includes: [{ name: "foo", source: "/node_modules/a/index", text: "const foo: 0", kind: "const", kindModifiers: "export,declare", hasAction: true, sourceDisplay: "a" }], + includes: [{ + name: "foo", + source: "/node_modules/a/index", + text: "const foo: 0", + kind: "const", + kindModifiers: "export,declare", + hasAction: true, + sourceDisplay: "a", + sortText: completion.SortText.AutoImportSuggestions + }], preferences: { includeCompletionsForModuleExports: true }, }); diff --git a/tests/cases/fourslash/completionsImport_defaultFalsePositive.ts b/tests/cases/fourslash/completionsImport_defaultFalsePositive.ts index e077e18105b..28babd929c9 100644 --- a/tests/cases/fourslash/completionsImport_defaultFalsePositive.ts +++ b/tests/cases/fourslash/completionsImport_defaultFalsePositive.ts @@ -22,6 +22,7 @@ verify.completions({ kind: "const", kindModifiers: "export,declare", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, preferences: { includeCompletionsForModuleExports: true }, }); diff --git a/tests/cases/fourslash/completionsImport_default_addToNamedImports.ts b/tests/cases/fourslash/completionsImport_default_addToNamedImports.ts index 8bd9f194758..c81b93e34b1 100644 --- a/tests/cases/fourslash/completionsImport_default_addToNamedImports.ts +++ b/tests/cases/fourslash/completionsImport_default_addToNamedImports.ts @@ -18,6 +18,7 @@ verify.completions({ kind: "function", kindModifiers: "export", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, preferences: { includeCompletionsForModuleExports: true }, }); diff --git a/tests/cases/fourslash/completionsImport_default_addToNamespaceImport.ts b/tests/cases/fourslash/completionsImport_default_addToNamespaceImport.ts index 8debd787641..1752d00d1b6 100644 --- a/tests/cases/fourslash/completionsImport_default_addToNamespaceImport.ts +++ b/tests/cases/fourslash/completionsImport_default_addToNamespaceImport.ts @@ -17,6 +17,7 @@ verify.completions({ kind: "function", kindModifiers: "export", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, preferences: { includeCompletionsForModuleExports: true }, }); diff --git a/tests/cases/fourslash/completionsImport_default_alreadyExistedWithRename.ts b/tests/cases/fourslash/completionsImport_default_alreadyExistedWithRename.ts index b04a7cacffe..2e1fd6003ba 100644 --- a/tests/cases/fourslash/completionsImport_default_alreadyExistedWithRename.ts +++ b/tests/cases/fourslash/completionsImport_default_alreadyExistedWithRename.ts @@ -17,6 +17,7 @@ verify.completions({ kind: "function", kindModifiers: "export", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, preferences: { includeCompletionsForModuleExports: true }, }); diff --git a/tests/cases/fourslash/completionsImport_default_anonymous.ts b/tests/cases/fourslash/completionsImport_default_anonymous.ts index 720bb3f1c6b..a1eb5da6490 100644 --- a/tests/cases/fourslash/completionsImport_default_anonymous.ts +++ b/tests/cases/fourslash/completionsImport_default_anonymous.ts @@ -14,10 +14,26 @@ goTo.marker("0"); const preferences: FourSlashInterface.UserPreferences = { includeCompletionsForModuleExports: true }; verify.completions( - { marker: "0", exact: ["globalThis", "undefined", ...completion.statementKeywordsWithTypes], preferences }, + { + marker: "0", + exact: [ + completion.globalThisEntry, + completion.undefinedVarEntry, + ...completion.statementKeywordsWithTypes + ], + preferences + }, { marker: "1", - includes: { name: "fooBar", source: "/src/foo-bar", sourceDisplay: "./foo-bar", text: "(property) default: 0", kind: "property", hasAction: true }, + includes: { + name: "fooBar", + source: "/src/foo-bar", + sourceDisplay: "./foo-bar", + text: "(property) default: 0", + kind: "property", + hasAction: true, + sortText: completion.SortText.AutoImportSuggestions + }, preferences, }, ); diff --git a/tests/cases/fourslash/completionsImport_default_didNotExistBefore.ts b/tests/cases/fourslash/completionsImport_default_didNotExistBefore.ts index 259a22d637b..333159ae493 100644 --- a/tests/cases/fourslash/completionsImport_default_didNotExistBefore.ts +++ b/tests/cases/fourslash/completionsImport_default_didNotExistBefore.ts @@ -18,6 +18,7 @@ verify.completions({ kind: "function", kindModifiers: "export", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, preferences: { includeCompletionsForModuleExports: true }, }); diff --git a/tests/cases/fourslash/completionsImport_default_exportDefaultIdentifier.ts b/tests/cases/fourslash/completionsImport_default_exportDefaultIdentifier.ts index 766f50fb9e9..ea332cd7ff7 100644 --- a/tests/cases/fourslash/completionsImport_default_exportDefaultIdentifier.ts +++ b/tests/cases/fourslash/completionsImport_default_exportDefaultIdentifier.ts @@ -14,7 +14,15 @@ goTo.marker(""); verify.completions({ marker: "", - includes: { name: "foo", source: "/a", sourceDisplay: "./a", text: "(alias) const foo: 0\nexport default foo", kind: "alias", hasAction: true }, + includes: { + name: "foo", + source: "/a", + sourceDisplay: "./a", + text: "(alias) const foo: 0\nexport default foo", + kind: "alias", + hasAction: true, + sortText: completion.SortText.AutoImportSuggestions + }, preferences: { includeCompletionsForModuleExports: true }, }); verify.applyCodeActionFromCompletion("", { diff --git a/tests/cases/fourslash/completionsImport_default_fromMergedDeclarations.ts b/tests/cases/fourslash/completionsImport_default_fromMergedDeclarations.ts index 551cfb54e75..6c86fc18fa5 100644 --- a/tests/cases/fourslash/completionsImport_default_fromMergedDeclarations.ts +++ b/tests/cases/fourslash/completionsImport_default_fromMergedDeclarations.ts @@ -25,6 +25,7 @@ verify.completions({ kind: "class", kindModifiers: "export,declare", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, preferences: { includeCompletionsForModuleExports: true }, }); diff --git a/tests/cases/fourslash/completionsImport_exportEquals.ts b/tests/cases/fourslash/completionsImport_exportEquals.ts index 37e78e09f38..1ea3e7e637e 100644 --- a/tests/cases/fourslash/completionsImport_exportEquals.ts +++ b/tests/cases/fourslash/completionsImport_exportEquals.ts @@ -17,12 +17,22 @@ const preferences: FourSlashInterface.UserPreferences = { includeCompletionsForM verify.completions( { marker: "0", - includes: { name: "a", source: "/a", hasAction: true, }, + includes: { + name: "a", + source: "/a", + hasAction: true, + sortText: completion.SortText.AutoImportSuggestions + }, preferences, }, { marker: "1", - includes: { name: "b", source: "/a", hasAction: true }, + includes: { + name: "b", + source: "/a", + hasAction: true, + sortText: completion.SortText.AutoImportSuggestions + }, preferences, } ); diff --git a/tests/cases/fourslash/completionsImport_exportEqualsNamespace_noDuplicate.ts b/tests/cases/fourslash/completionsImport_exportEqualsNamespace_noDuplicate.ts index 8a687f5a191..798c70b2827 100644 --- a/tests/cases/fourslash/completionsImport_exportEqualsNamespace_noDuplicate.ts +++ b/tests/cases/fourslash/completionsImport_exportEqualsNamespace_noDuplicate.ts @@ -18,7 +18,7 @@ verify.completions({ marker: "", // Tester will assert that it is only included once - includes: [{ name: "foo", source: "a", hasAction: true }], + includes: [{ name: "foo", source: "a", hasAction: true, sortText: completion.SortText.AutoImportSuggestions }], preferences: { includeCompletionsForModuleExports: true, } diff --git a/tests/cases/fourslash/completionsImport_exportEquals_anonymous.ts b/tests/cases/fourslash/completionsImport_exportEquals_anonymous.ts index 8fc73457117..b28de47c69d 100644 --- a/tests/cases/fourslash/completionsImport_exportEquals_anonymous.ts +++ b/tests/cases/fourslash/completionsImport_exportEquals_anonymous.ts @@ -12,9 +12,26 @@ goTo.marker("0"); const preferences: FourSlashInterface.UserPreferences = { includeCompletionsForModuleExports: true }; -const exportEntry: FourSlashInterface.ExpectedCompletionEntryObject = { name: "fooBar", source: "/src/foo-bar", sourceDisplay: "./foo-bar", text: "(property) export=: 0", kind: "property", hasAction: true }; +const exportEntry: FourSlashInterface.ExpectedCompletionEntryObject = { + name: "fooBar", + source: "/src/foo-bar", + sourceDisplay: "./foo-bar", + text: "(property) export=: 0", + kind: "property", + hasAction: true, + sortText: completion.SortText.AutoImportSuggestions +}; verify.completions( - { marker: "0", exact: ["globalThis", "undefined", exportEntry, ...completion.statementKeywordsWithTypes], preferences }, + { + marker: "0", + exact: [ + completion.globalThisEntry, + completion.undefinedVarEntry, + exportEntry, + ...completion.statementKeywordsWithTypes + ], + preferences + }, { marker: "1", includes: exportEntry, preferences } ); verify.applyCodeActionFromCompletion("0", { diff --git a/tests/cases/fourslash/completionsImport_importType.ts b/tests/cases/fourslash/completionsImport_importType.ts index 3c371980b90..3f4bfa38c3b 100644 --- a/tests/cases/fourslash/completionsImport_importType.ts +++ b/tests/cases/fourslash/completionsImport_importType.ts @@ -21,6 +21,7 @@ verify.completions({ sourceDisplay: "./a", text: "class C", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, { name: "T", @@ -28,6 +29,7 @@ verify.completions({ sourceDisplay: "./a", text: "type T = number", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, ], excludes: "x", diff --git a/tests/cases/fourslash/completionsImport_keywords.ts b/tests/cases/fourslash/completionsImport_keywords.ts index 64bab64c7a8..31d2e1cc6f3 100644 --- a/tests/cases/fourslash/completionsImport_keywords.ts +++ b/tests/cases/fourslash/completionsImport_keywords.ts @@ -34,8 +34,17 @@ verify.completions( { marker: "unique", exact: [ - "globalThis", ...completion.globalsVars, "undefined", - { name: "unique", source: "/a", sourceDisplay: "./a", text: "(alias) const unique: 0\nexport unique", hasAction: true }, + completion.globalThisEntry, + ...completion.globalsVars, + completion.undefinedVarEntry, + { + name: "unique", + source: "/a", + sourceDisplay: "./a", + text: "(alias) const unique: 0\nexport unique", + hasAction: true, + sortText: completion.SortText.AutoImportSuggestions + }, ...completion.globalKeywords.filter(e => e.name !== "unique"), ], preferences, diff --git a/tests/cases/fourslash/completionsImport_matching.ts b/tests/cases/fourslash/completionsImport_matching.ts index c6dbac369b9..5282d5b3d3c 100644 --- a/tests/cases/fourslash/completionsImport_matching.ts +++ b/tests/cases/fourslash/completionsImport_matching.ts @@ -17,7 +17,16 @@ verify.completions({ marker: "", includes: ["bdf", "abcdef", "BDF"].map(name => - ({ name, source: "/a", text: `function ${name}(): void`, hasAction: true, kind: "function", kindModifiers: "export", sourceDisplay: "./a" })), + ({ + name, + source: "/a", + text: `function ${name}(): void`, + hasAction: true, + kind: "function", + kindModifiers: "export", + sourceDisplay: "./a", + sortText: completion.SortText.AutoImportSuggestions + })), excludes: ["abcde", "dbf"], preferences: { includeCompletionsForModuleExports: true }, }) diff --git a/tests/cases/fourslash/completionsImport_multipleWithSameName.ts b/tests/cases/fourslash/completionsImport_multipleWithSameName.ts index 5893f6f0fdc..d00a7e0bebb 100644 --- a/tests/cases/fourslash/completionsImport_multipleWithSameName.ts +++ b/tests/cases/fourslash/completionsImport_multipleWithSameName.ts @@ -20,9 +20,15 @@ goTo.marker(""); verify.completions({ marker: "", exact: [ - "globalThis", - { name: "foo", text: "var foo: number", kind: "var", kindModifiers: "declare" }, - "undefined", + completion.globalThisEntry, + { + name: "foo", + text: "var foo: number", + kind: "var", + kindModifiers: "declare", + sortText: completion.SortText.GlobalsOrKeywords + }, + completion.undefinedVarEntry, { name: "foo", source: "/a", @@ -31,6 +37,7 @@ verify.completions({ kind: "const", kindModifiers: "export", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, { name: "foo", @@ -40,6 +47,7 @@ verify.completions({ kind: "const", kindModifiers: "export", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, ...completion.statementKeywordsWithTypes, ], diff --git a/tests/cases/fourslash/completionsImport_named_addToNamedImports.ts b/tests/cases/fourslash/completionsImport_named_addToNamedImports.ts index 78df2659ade..8e1ec13df79 100644 --- a/tests/cases/fourslash/completionsImport_named_addToNamedImports.ts +++ b/tests/cases/fourslash/completionsImport_named_addToNamedImports.ts @@ -18,6 +18,7 @@ verify.completions({ kind: "function", kindModifiers: "export", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, preferences: { includeCompletionsForModuleExports: true }, }); diff --git a/tests/cases/fourslash/completionsImport_named_didNotExistBefore.ts b/tests/cases/fourslash/completionsImport_named_didNotExistBefore.ts index 5f21db1e376..cb55f859cca 100644 --- a/tests/cases/fourslash/completionsImport_named_didNotExistBefore.ts +++ b/tests/cases/fourslash/completionsImport_named_didNotExistBefore.ts @@ -13,10 +13,23 @@ verify.completions({ marker: "", exact: [ - { name: "Test2", text: "(alias) function Test2(): void\nimport Test2", kind: "alias" }, - "globalThis", - "undefined", - { name: "Test1", source: "/a", sourceDisplay: "./a", text: "function Test1(): void", kind: "function", kindModifiers: "export", hasAction: true }, + { + name: "Test2", + text: "(alias) function Test2(): void\nimport Test2", + kind: "alias" + }, + completion.globalThisEntry, + completion.undefinedVarEntry, + { + name: "Test1", + source: "/a", + sourceDisplay: "./a", + text: "function Test1(): void", + kind: "function", + kindModifiers: "export", + hasAction: true, + sortText: completion.SortText.AutoImportSuggestions + }, ...completion.statementKeywordsWithTypes, ], preferences: { includeCompletionsForModuleExports: true }, diff --git a/tests/cases/fourslash/completionsImport_named_exportEqualsNamespace.ts b/tests/cases/fourslash/completionsImport_named_exportEqualsNamespace.ts index 4f4b579fe49..ca866d838fc 100644 --- a/tests/cases/fourslash/completionsImport_named_exportEqualsNamespace.ts +++ b/tests/cases/fourslash/completionsImport_named_exportEqualsNamespace.ts @@ -21,6 +21,7 @@ verify.completions({ kind: "const", kindModifiers: "export,declare", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, preferences: { includeCompletionsForModuleExports: true }, }); diff --git a/tests/cases/fourslash/completionsImport_named_exportEqualsNamespace_merged.ts b/tests/cases/fourslash/completionsImport_named_exportEqualsNamespace_merged.ts index ec70d205479..bc1d56cfb6a 100644 --- a/tests/cases/fourslash/completionsImport_named_exportEqualsNamespace_merged.ts +++ b/tests/cases/fourslash/completionsImport_named_exportEqualsNamespace_merged.ts @@ -26,6 +26,7 @@ verify.completions({ kind: "const", kindModifiers: "export,declare", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, preferences: { includeCompletionsForModuleExports: true }, }); diff --git a/tests/cases/fourslash/completionsImport_named_namespaceImportExists.ts b/tests/cases/fourslash/completionsImport_named_namespaceImportExists.ts index 52c33209ca3..c3e254521de 100644 --- a/tests/cases/fourslash/completionsImport_named_namespaceImportExists.ts +++ b/tests/cases/fourslash/completionsImport_named_namespaceImportExists.ts @@ -17,6 +17,7 @@ verify.completions({ kind: "function", kindModifiers: "export", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, preferences: { includeCompletionsForModuleExports: true }, }); diff --git a/tests/cases/fourslash/completionsImport_notFromIndex.ts b/tests/cases/fourslash/completionsImport_notFromIndex.ts index e6aa3e680b1..3df542daeb4 100644 --- a/tests/cases/fourslash/completionsImport_notFromIndex.ts +++ b/tests/cases/fourslash/completionsImport_notFromIndex.ts @@ -26,6 +26,7 @@ for (const [marker, sourceDisplay] of [["0", "./src"], ["1", "./a"], ["2", "../a kind: "const", kindModifiers: "export", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, preferences: { includeCompletionsForModuleExports: true }, }); diff --git a/tests/cases/fourslash/completionsImport_ofAlias.ts b/tests/cases/fourslash/completionsImport_ofAlias.ts index cb6af7910ba..9a9cb4a2b18 100644 --- a/tests/cases/fourslash/completionsImport_ofAlias.ts +++ b/tests/cases/fourslash/completionsImport_ofAlias.ts @@ -22,8 +22,16 @@ verify.completions({ marker: "", includes: [ - "undefined", - { name: "foo", source: "/a", sourceDisplay: "./a", text: "(alias) const foo: 0\nexport foo", kind: "alias", hasAction: true }, + completion.undefinedVarEntry, + { + name: "foo", + source: "/a", + sourceDisplay: "./a", + text: "(alias) const foo: 0\nexport foo", + kind: "alias", + hasAction: true, + sortText: completion.SortText.AutoImportSuggestions + }, ...completion.statementKeywordsWithTypes, ], preferences: { includeCompletionsForModuleExports: true }, diff --git a/tests/cases/fourslash/completionsImport_ofAlias_preferShortPath.ts b/tests/cases/fourslash/completionsImport_ofAlias_preferShortPath.ts index 71242bc240a..494b871238f 100644 --- a/tests/cases/fourslash/completionsImport_ofAlias_preferShortPath.ts +++ b/tests/cases/fourslash/completionsImport_ofAlias_preferShortPath.ts @@ -19,9 +19,18 @@ verify.completions({ marker: "", exact: [ - "globalThis", - "undefined", - { name: "foo", source: "/foo/lib/foo", sourceDisplay: "./foo", text: "const foo: 0", kind: "const", kindModifiers: "export", hasAction: true }, + completion.globalThisEntry, + completion.undefinedVarEntry, + { + name: "foo", + source: "/foo/lib/foo", + sourceDisplay: "./foo", + text: "const foo: 0", + kind: "const", + kindModifiers: "export", + hasAction: true, + sortText: completion.SortText.AutoImportSuggestions + }, ...completion.statementKeywordsWithTypes, ], preferences: { includeCompletionsForModuleExports: true }, diff --git a/tests/cases/fourslash/completionsImport_previousTokenIsSemicolon.ts b/tests/cases/fourslash/completionsImport_previousTokenIsSemicolon.ts index 7099c4b3072..23924ad3300 100644 --- a/tests/cases/fourslash/completionsImport_previousTokenIsSemicolon.ts +++ b/tests/cases/fourslash/completionsImport_previousTokenIsSemicolon.ts @@ -17,6 +17,7 @@ verify.completions({ kind: "function", kindModifiers: "export", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, preferences: { includeCompletionsForModuleExports: true }, }); diff --git a/tests/cases/fourslash/completionsImport_reExportDefault.ts b/tests/cases/fourslash/completionsImport_reExportDefault.ts index 7f6639c3f13..b67daf7132e 100644 --- a/tests/cases/fourslash/completionsImport_reExportDefault.ts +++ b/tests/cases/fourslash/completionsImport_reExportDefault.ts @@ -15,9 +15,9 @@ verify.completions({ marker: "", exact: [ - "globalThis", + completion.globalThisEntry, ...completion.globalsVars, - "undefined", + completion.undefinedVarEntry, { name: "foo", source: "/a/b/impl", @@ -26,6 +26,7 @@ verify.completions({ kind: "function", kindModifiers: "export", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, { name: "foo", @@ -34,6 +35,7 @@ verify.completions({ text: "(alias) function foo(): void\nexport foo", kind: "alias", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, ...completion.globalKeywords, ], diff --git a/tests/cases/fourslash/completionsImport_reExport_wrongName.ts b/tests/cases/fourslash/completionsImport_reExport_wrongName.ts index 31de7ef7d8d..4080fe5cdb7 100644 --- a/tests/cases/fourslash/completionsImport_reExport_wrongName.ts +++ b/tests/cases/fourslash/completionsImport_reExport_wrongName.ts @@ -15,8 +15,22 @@ goTo.marker(""); verify.completions({ marker: "", includes: [ - { name: "x", source: "/a", sourceDisplay: "./a", text: "const x: 0", hasAction: true }, - { name: "y", source: "/index", sourceDisplay: ".", text: "(alias) const y: 0\nexport y", hasAction: true }, + { + name: "x", + source: "/a", + sourceDisplay: "./a", + text: "const x: 0", + hasAction: true, + sortText: completion.SortText.AutoImportSuggestions + }, + { + name: "y", + source: "/index", + sourceDisplay: ".", + text: "(alias) const y: 0\nexport y", + hasAction: true, + sortText: completion.SortText.AutoImportSuggestions + }, ], preferences: { includeCompletionsForModuleExports: true }, }); diff --git a/tests/cases/fourslash/completionsImport_require.ts b/tests/cases/fourslash/completionsImport_require.ts index 892a2495485..836a0e2439e 100644 --- a/tests/cases/fourslash/completionsImport_require.ts +++ b/tests/cases/fourslash/completionsImport_require.ts @@ -19,6 +19,7 @@ verify.completions({ kind: "const", kindModifiers: "export", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, preferences: { includeCompletionsForModuleExports: true }, }); diff --git a/tests/cases/fourslash/completionsImport_shadowedByLocal.ts b/tests/cases/fourslash/completionsImport_shadowedByLocal.ts index 711386816c0..504702b6cc3 100644 --- a/tests/cases/fourslash/completionsImport_shadowedByLocal.ts +++ b/tests/cases/fourslash/completionsImport_shadowedByLocal.ts @@ -1,16 +1,24 @@ -/// - -// @noLib: true - -// @Filename: /a.ts -////export const foo = 0; - -// @Filename: /b.ts -////const foo = 1; -////fo/**/ - -verify.completions({ - marker: "", - exact: ["globalThis", { name: "foo", text: "const foo: 1" }, "undefined", ...completion.statementKeywordsWithTypes], - preferences: { includeCompletionsForModuleExports: true }, -}); +/// + +// @noLib: true + +// @Filename: /a.ts +////export const foo = 0; + +// @Filename: /b.ts +////const foo = 1; +////fo/**/ + +verify.completions({ + marker: "", + exact: [ + completion.globalThisEntry, + { + name: "foo", + text: "const foo: 1", + }, + completion.undefinedVarEntry, + ...completion.statementKeywordsWithTypes + ], + preferences: { includeCompletionsForModuleExports: true }, +}); diff --git a/tests/cases/fourslash/completionsImport_tsx.ts b/tests/cases/fourslash/completionsImport_tsx.ts index 9fb4d239223..3a495f1a0ce 100644 --- a/tests/cases/fourslash/completionsImport_tsx.ts +++ b/tests/cases/fourslash/completionsImport_tsx.ts @@ -12,7 +12,7 @@ verify.completions({ marker: "", - includes: { name: "Foo", source: "/a", hasAction: true }, + includes: { name: "Foo", source: "/a", hasAction: true, sortText: completion.SortText.AutoImportSuggestions }, excludes: "Bar", preferences: { includeCompletionsForModuleExports: true, diff --git a/tests/cases/fourslash/completionsInterfaceElement.ts b/tests/cases/fourslash/completionsInterfaceElement.ts index 65b1627c8f3..5a00473ce56 100644 --- a/tests/cases/fourslash/completionsInterfaceElement.ts +++ b/tests/cases/fourslash/completionsInterfaceElement.ts @@ -13,4 +13,11 @@ ////interface EndOfFile { f; /*e*/ -verify.completions({ marker: test.markers(), exact: "readonly", isNewIdentifierLocation: true }); +verify.completions({ + marker: test.markers(), + exact: { + name: "readonly", + sortText: completion.SortText.GlobalsOrKeywords + }, + isNewIdentifierLocation: true +}); diff --git a/tests/cases/fourslash/completionsJsdocTypeTagCast.ts b/tests/cases/fourslash/completionsJsdocTypeTagCast.ts index 5eff16bb278..fe9d8b496e2 100644 --- a/tests/cases/fourslash/completionsJsdocTypeTagCast.ts +++ b/tests/cases/fourslash/completionsJsdocTypeTagCast.ts @@ -4,4 +4,10 @@ // @Filename: /a.js ////const x = /** @type {{ s: string }} */ ({ /**/ }); -verify.completions({ marker: "", exact: ["s", "x"] }); +verify.completions({ + marker: "", + exact: [ + "s", + { name: "x", sortText: completion.SortText.JavascriptIdentifiers } + ] +}); diff --git a/tests/cases/fourslash/completionsJsxAttributeInitializer.ts b/tests/cases/fourslash/completionsJsxAttributeInitializer.ts index 44d79b059a6..0d6c2f25123 100644 --- a/tests/cases/fourslash/completionsJsxAttributeInitializer.ts +++ b/tests/cases/fourslash/completionsJsxAttributeInitializer.ts @@ -9,8 +9,8 @@ verify.completions({ marker: "", includes: [ { name: "x", text: "(parameter) x: number", kind: "parameter", insertText: "{x}" }, - { name: "p", text: "(JSX attribute) p: number", kind: "JSX attribute", insertText: "{this.p}" }, - { name: "a b", text: '(JSX attribute) "a b": number', kind: "JSX attribute", insertText: '{this["a b"]}' }, + { name: "p", text: "(JSX attribute) p: number", kind: "JSX attribute", insertText: "{this.p}", sortText: completion.SortText.SuggestedClassMembers }, + { name: "a b", text: '(JSX attribute) "a b": number', kind: "JSX attribute", insertText: '{this["a b"]}', sortText: completion.SortText.SuggestedClassMembers }, ], preferences: { includeInsertTextCompletions: true, diff --git a/tests/cases/fourslash/completionsKeywordsExtends.ts b/tests/cases/fourslash/completionsKeywordsExtends.ts index bd88311b46c..8f0b97a56ea 100644 --- a/tests/cases/fourslash/completionsKeywordsExtends.ts +++ b/tests/cases/fourslash/completionsKeywordsExtends.ts @@ -7,5 +7,5 @@ verify.completions( { marker: "a", exact: undefined }, - { marker: ["b", "c"], includes: "extends" }, + { marker: ["b", "c"], includes: { name: "extends", sortText: completion.SortText.GlobalsOrKeywords } }, ); diff --git a/tests/cases/fourslash/completionsMethodWithThisParameter.ts b/tests/cases/fourslash/completionsMethodWithThisParameter.ts deleted file mode 100644 index d746f3626dc..00000000000 --- a/tests/cases/fourslash/completionsMethodWithThisParameter.ts +++ /dev/null @@ -1,20 +0,0 @@ -/// - -////class A { -//// value: T; // Make the type parameter actually matter -//// ms(this: A) {} -//// mo(this: A<{}>) {} -//// mt(this: A) {} -//// mp

(this: A

) {} -//// mps

(this: A

) {} -////} -//// -////const s = new A(); -////const n = new A(); -////s./*s*/; -////n./*n*/; - -verify.completions( - { marker: "s", exact: ["value", "ms", "mo", "mt", "mp", "mps"] }, - { marker: "n", exact: ["value", "mo", "mt", "mp"] }, -); diff --git a/tests/cases/fourslash/completionsRecommended_import.ts b/tests/cases/fourslash/completionsRecommended_import.ts index 50e3c7b00aa..ccd77136afc 100644 --- a/tests/cases/fourslash/completionsRecommended_import.ts +++ b/tests/cases/fourslash/completionsRecommended_import.ts @@ -28,6 +28,7 @@ const classEntry = (isConstructor: boolean): FourSlashInterface.ExpectedCompleti text: isConstructor ? "constructor Cls(): Cls" : "class Cls", hasAction: true, isRecommended: true, + sortText: completion.SortText.AutoImportSuggestions }); verify.completions( { marker: "b0", includes: classEntry(true), preferences }, diff --git a/tests/cases/fourslash/completionsRecommended_namespace.ts b/tests/cases/fourslash/completionsRecommended_namespace.ts index 0d6e19e7106..1b3d8c56726 100644 --- a/tests/cases/fourslash/completionsRecommended_namespace.ts +++ b/tests/cases/fourslash/completionsRecommended_namespace.ts @@ -38,6 +38,7 @@ verify.completions( kindModifiers: "export", hasAction: true, isRecommended: true, + sortText: completion.SortText.AutoImportSuggestions }, preferences: { includeCompletionsForModuleExports: true }, }, diff --git a/tests/cases/fourslash/completionsThisType.ts b/tests/cases/fourslash/completionsThisType.ts index 9923f937afc..ec181335cb7 100644 --- a/tests/cases/fourslash/completionsThisType.ts +++ b/tests/cases/fourslash/completionsThisType.ts @@ -14,15 +14,15 @@ verify.completions( { marker: "", includes: [ - { name: "xyz", text: "(method) C.xyz(): any", kind: "method", insertText: "this.xyz" }, - { name: "foo bar", text: '(property) C["foo bar"]: number', kind: "property", insertText: 'this["foo bar"]' }, + { name: "xyz", text: "(method) C.xyz(): any", kind: "method", insertText: "this.xyz", sortText: completion.SortText.SuggestedClassMembers }, + { name: "foo bar", text: '(property) C["foo bar"]: number', kind: "property", insertText: 'this["foo bar"]', sortText: completion.SortText.SuggestedClassMembers }, ], isNewIdentifierLocation: true, preferences, }, { marker: "f", - includes: { name: "x", text: "(property) x: number", kind: "property", insertText: "this.x" }, + includes: { name: "x", text: "(property) x: number", kind: "property", insertText: "this.x", sortText: completion.SortText.SuggestedClassMembers }, preferences, }, ); diff --git a/tests/cases/fourslash/completionsTypeKeywords.ts b/tests/cases/fourslash/completionsTypeKeywords.ts index 4c26e13932e..6817523bc26 100644 --- a/tests/cases/fourslash/completionsTypeKeywords.ts +++ b/tests/cases/fourslash/completionsTypeKeywords.ts @@ -6,5 +6,5 @@ verify.completions({ marker: "", - exact: ["globalThis", "T", ...completion.typeKeywords], + exact: [completion.globalThisEntry, "T", ...completion.typeKeywords], }); diff --git a/tests/cases/fourslash/docCommentTemplatePrototypeMethod.ts b/tests/cases/fourslash/docCommentTemplatePrototypeMethod.ts new file mode 100644 index 00000000000..9031898d52a --- /dev/null +++ b/tests/cases/fourslash/docCommentTemplatePrototypeMethod.ts @@ -0,0 +1,15 @@ +/// +// @Filename: foo.js + +/////** @class */ +////function C() { } +/////*above*/ +////C.prototype.method = /*next*/ function (p) {} + +for (const marker of test.markerNames()) { + verify.docCommentTemplateAt(marker, 8, +`/** + * + * @param {any} p + */`); +} diff --git a/tests/cases/fourslash/doubleUnderscoreCompletions.ts b/tests/cases/fourslash/doubleUnderscoreCompletions.ts index 007842edc1b..8d07cdf333f 100644 --- a/tests/cases/fourslash/doubleUnderscoreCompletions.ts +++ b/tests/cases/fourslash/doubleUnderscoreCompletions.ts @@ -12,7 +12,7 @@ verify.completions({ marker: "1", exact: [ { name: "__property", text: "(property) MyObject.__property: number" }, - "MyObject", - "instance", + { name: "MyObject", sortText: completion.SortText.JavascriptIdentifiers }, + { name: "instance", sortText: completion.SortText.JavascriptIdentifiers }, ], }); diff --git a/tests/cases/fourslash/fourslash.ts b/tests/cases/fourslash/fourslash.ts index 6488748b728..fa9cdd61c2f 100644 --- a/tests/cases/fourslash/fourslash.ts +++ b/tests/cases/fourslash/fourslash.ts @@ -244,6 +244,7 @@ declare namespace FourSlashInterface { baselineGetEmitOutput(insertResultsIntoVfs?: boolean): void; getEmitOutput(expectedOutputFiles: ReadonlyArray): void; baselineQuickInfo(): void; + baselineSmartSelection(): void; nameOrDottedNameSpanTextIs(text: string): void; outliningSpansInCurrentFile(spans: Range[]): void; todoCommentsInCurrentFile(descriptors: string[]): void; @@ -508,7 +509,7 @@ declare namespace FourSlashInterface { readonly importModuleSpecifierEnding?: "minimal" | "index" | "js"; } interface CompletionsOptions { - readonly marker?: ArrayOrSingle, + readonly marker?: ArrayOrSingle; readonly isNewIdentifierLocation?: boolean; readonly isGlobalCompletion?: boolean; readonly exact?: ArrayOrSingle; @@ -527,6 +528,7 @@ declare namespace FourSlashInterface { readonly isRecommended?: boolean; readonly kind?: string; readonly kindModifiers?: string; + readonly sortText?: completion.SortText; // details readonly text?: string; @@ -649,6 +651,15 @@ declare var cancellation: FourSlashInterface.cancellation; declare var classification: typeof FourSlashInterface.classification; declare namespace completion { type Entry = FourSlashInterface.ExpectedCompletionEntryObject; + export const enum SortText { + LocationPriority = "0", + SuggestedClassMembers = "1", + GlobalsOrKeywords = "2", + AutoImportSuggestions = "3", + JavascriptIdentifiers = "4" + } + export const globalThisEntry: Entry; + export const undefinedVarEntry: Entry; export const globals: ReadonlyArray; export const globalsInJs: ReadonlyArray; export const globalKeywords: ReadonlyArray; diff --git a/tests/cases/fourslash/getJavaScriptCompletions12.ts b/tests/cases/fourslash/getJavaScriptCompletions12.ts index 5534b20b8ea..2848ee27c54 100644 --- a/tests/cases/fourslash/getJavaScriptCompletions12.ts +++ b/tests/cases/fourslash/getJavaScriptCompletions12.ts @@ -26,5 +26,5 @@ verify.completions( { marker: "1", includes: { name: "charCodeAt", kind: "method", kindModifiers: "declare" } }, { marker: ["2", "3", "4"], includes: { name: "toExponential", kind: "method", kindModifiers: "declare" } }, - { marker: "5", includes: { name: "test1", kind: "warning" } }, + { marker: "5", includes: { name: "test1", kind: "warning", sortText: completion.SortText.JavascriptIdentifiers } }, ); diff --git a/tests/cases/fourslash/getJavaScriptCompletions13.ts b/tests/cases/fourslash/getJavaScriptCompletions13.ts index 8c8b4942779..3b8f984cefe 100644 --- a/tests/cases/fourslash/getJavaScriptCompletions13.ts +++ b/tests/cases/fourslash/getJavaScriptCompletions13.ts @@ -14,6 +14,21 @@ ////file2Identifier2./*2*/ verify.completions( - { marker: "1", includes: ["file2Identifier1", "file2Identifier2", "file1Identifier"], excludes: "FooProp" }, - { marker: "2", includes: ["file2Identifier1", "file2Identifier2"], excludes: ["file1Identifier", "FooProp"] }, -) + { + marker: "1", + includes: [ + "file2Identifier1", + "file2Identifier2", + { name: "file1Identifier", sortText: completion.SortText.GlobalsOrKeywords } + ], + excludes: "FooProp" + }, + { + marker: "2", + includes: [ + { name: "file2Identifier1", sortText: completion.SortText.JavascriptIdentifiers }, + { name: "file2Identifier2", sortText: completion.SortText.JavascriptIdentifiers } + ], + excludes: ["file1Identifier", "FooProp"] + }, +); diff --git a/tests/cases/fourslash/getJavaScriptCompletions15.ts b/tests/cases/fourslash/getJavaScriptCompletions15.ts index e46b0780d42..bcbd6ecbf97 100644 --- a/tests/cases/fourslash/getJavaScriptCompletions15.ts +++ b/tests/cases/fourslash/getJavaScriptCompletions15.ts @@ -22,6 +22,16 @@ verify.completions( { marker: "1", includes: "toExponential" }, { marker: "2", includes: "toLowerCase" }, - { marker: "3", exact: ["V", "ref1", "ref2", "require", "v", "x"] }, + { + marker: "3", + exact: [ + "V", + { name: "ref1", sortText: completion.SortText.JavascriptIdentifiers }, + { name: "ref2", sortText: completion.SortText.JavascriptIdentifiers }, + { name: "require", sortText: completion.SortText.JavascriptIdentifiers }, + { name: "v", sortText: completion.SortText.JavascriptIdentifiers }, + { name: "x", sortText: completion.SortText.JavascriptIdentifiers } + ] + }, { marker: "4", includes: "toLowerCase" }, ); diff --git a/tests/cases/fourslash/getJavaScriptCompletions20.ts b/tests/cases/fourslash/getJavaScriptCompletions20.ts index cbe74a4b392..901ac4522c5 100644 --- a/tests/cases/fourslash/getJavaScriptCompletions20.ts +++ b/tests/cases/fourslash/getJavaScriptCompletions20.ts @@ -19,5 +19,12 @@ verify.completions({ marker: "", - exact: ["getName", "getNa", ...completion.functionMembersWithPrototype, "Person", "name", "age"], + exact: [ + "getName", + "getNa", + ...completion.functionMembersWithPrototype, + { name: "Person", sortText: completion.SortText.JavascriptIdentifiers }, + { name: "name", sortText: completion.SortText.JavascriptIdentifiers }, + { name: "age", sortText: completion.SortText.JavascriptIdentifiers } + ], }); diff --git a/tests/cases/fourslash/getJavaScriptGlobalCompletions1.ts b/tests/cases/fourslash/getJavaScriptGlobalCompletions1.ts index 478d472217e..118ca30faeb 100644 --- a/tests/cases/fourslash/getJavaScriptGlobalCompletions1.ts +++ b/tests/cases/fourslash/getJavaScriptGlobalCompletions1.ts @@ -12,4 +12,4 @@ //// //// hello/**/ -verify.completions({ includes: "helloWorld" }); +verify.completions({ includes: { name: "helloWorld", sortText: completion.SortText.JavascriptIdentifiers } }); diff --git a/tests/cases/fourslash/importJsNodeModule2.ts b/tests/cases/fourslash/importJsNodeModule2.ts index 0ceae59b215..1c4cf77926a 100644 --- a/tests/cases/fourslash/importJsNodeModule2.ts +++ b/tests/cases/fourslash/importJsNodeModule2.ts @@ -19,7 +19,7 @@ edit.insert('.'); verify.completions({ exact: [ ...["n", "s", "b"].map(name => ({ name, kind: "property" })), - ...["x", "require"].map(name => ({ name, kind: "warning" })), + ...["x", "require"].map(name => ({ name, kind: "warning", sortText: completion.SortText.JavascriptIdentifiers })), ], }); edit.insert('n.'); diff --git a/tests/cases/fourslash/indirectClassInstantiation.ts b/tests/cases/fourslash/indirectClassInstantiation.ts index 198515dd806..5a871364465 100644 --- a/tests/cases/fourslash/indirectClassInstantiation.ts +++ b/tests/cases/fourslash/indirectClassInstantiation.ts @@ -14,7 +14,18 @@ //// inst2.blah/*b*/; goTo.marker('a'); -verify.completions({ exact: ["property", "TestObj", "constructor", "instance", "class2", "prototype", "blah", "inst2"] }); +verify.completions({ + exact: [ + "property", + { name: "TestObj", sortText: completion.SortText.JavascriptIdentifiers }, + { name: "constructor", sortText: completion.SortText.JavascriptIdentifiers }, + { name: "instance", sortText: completion.SortText.JavascriptIdentifiers }, + { name: "class2", sortText: completion.SortText.JavascriptIdentifiers }, + { name: "prototype", sortText: completion.SortText.JavascriptIdentifiers }, + { name: "blah", sortText: completion.SortText.JavascriptIdentifiers }, + { name: "inst2", sortText: completion.SortText.JavascriptIdentifiers } + ] +}); edit.backspace(); goTo.marker('b'); diff --git a/tests/cases/fourslash/javaScriptClass1.ts b/tests/cases/fourslash/javaScriptClass1.ts index dd4ed33f718..ec3bc3b5ea6 100644 --- a/tests/cases/fourslash/javaScriptClass1.ts +++ b/tests/cases/fourslash/javaScriptClass1.ts @@ -19,7 +19,15 @@ goTo.marker(); edit.insert('.'); -verify.completions({ exact: ["bar", "thing", "union", "Foo", "x"] }); +verify.completions({ + exact: [ + "bar", + "thing", + "union", + { name: "Foo", sortText: completion.SortText.JavascriptIdentifiers }, + { name: "x", sortText: completion.SortText.JavascriptIdentifiers } + ] +}); edit.insert('bar.'); verify.completions({ includes: ["substr"] }); diff --git a/tests/cases/fourslash/javaScriptModules12.ts b/tests/cases/fourslash/javaScriptModules12.ts index 5ca58bc4dc7..0ae594f77c5 100644 --- a/tests/cases/fourslash/javaScriptModules12.ts +++ b/tests/cases/fourslash/javaScriptModules12.ts @@ -27,7 +27,45 @@ //// /*5*/ verify.completions( - { marker: "1", includes: ["x", "a", "b"], excludes: "y" }, - { marker: "2", includes: ["y", "a", "b"], excludes: "x" }, - { marker: ["3", "4", "5"], includes: ["a", "b"], excludes: ["x", "y"] }, + { + marker: "1", + includes: [ + "x", + { name: "a", sortText: completion.SortText.GlobalsOrKeywords }, + { name: "b", sortText: completion.SortText.GlobalsOrKeywords } + ], excludes: "y" + }, + { + marker: "2", + includes: [ + "y", + { name: "a", sortText: completion.SortText.GlobalsOrKeywords }, + { name: "b", sortText: completion.SortText.GlobalsOrKeywords } + ], + excludes: "x" + }, + { + marker: "3", + includes: [ + "a", + { name: "b", sortText: completion.SortText.GlobalsOrKeywords } + ], + excludes: ["x", "y"] + }, + { + marker: "4", + includes: [ + { name: "a", sortText: completion.SortText.GlobalsOrKeywords }, + "b" + ], + excludes: ["x", "y"] + }, + { + marker: ["5"], + includes: [ + { name: "a", sortText: completion.SortText.GlobalsOrKeywords }, + { name: "b", sortText: completion.SortText.GlobalsOrKeywords } + ], + excludes: ["x", "y"] + }, ); diff --git a/tests/cases/fourslash/javaScriptModules13.ts b/tests/cases/fourslash/javaScriptModules13.ts index 62987047862..69fa87157c8 100644 --- a/tests/cases/fourslash/javaScriptModules13.ts +++ b/tests/cases/fourslash/javaScriptModules13.ts @@ -19,7 +19,11 @@ goTo.file('consumer.js'); goTo.marker(); -verify.completions({ marker: "", includes: "y", excludes: "invisible" }); +verify.completions({ + marker: "", + includes: { name: "y", sortText: completion.SortText.GlobalsOrKeywords }, + excludes: "invisible" +}); edit.insert('x.'); verify.completions({ includes: { name: "a", kind: "property" } }); diff --git a/tests/cases/fourslash/javaScriptModules14.ts b/tests/cases/fourslash/javaScriptModules14.ts index 1b564c09636..9f3546625b3 100644 --- a/tests/cases/fourslash/javaScriptModules14.ts +++ b/tests/cases/fourslash/javaScriptModules14.ts @@ -21,4 +21,8 @@ //// var x = require('myMod'); //// /**/; -verify.completions({ marker: "", includes: "y", excludes: "invisible" }); +verify.completions({ + marker: "", + includes: { name: "y", sortText: completion.SortText.GlobalsOrKeywords }, + excludes: "invisible" +}); diff --git a/tests/cases/fourslash/javaScriptModules16.ts b/tests/cases/fourslash/javaScriptModules16.ts index 7c3bb31436d..51107934fb1 100644 --- a/tests/cases/fourslash/javaScriptModules16.ts +++ b/tests/cases/fourslash/javaScriptModules16.ts @@ -18,7 +18,7 @@ edit.insert('.'); verify.completions({ exact: [ ...["n", "s", "b"].map(name => ({ name, kind: "property" })), - ...["x", "require"].map(name => ({ name, kind: "warning" })), + ...["x", "require"].map(name => ({ name, kind: "warning", sortText: completion.SortText.JavascriptIdentifiers })), ], }); edit.insert('n.'); diff --git a/tests/cases/fourslash/javaScriptModules19.ts b/tests/cases/fourslash/javaScriptModules19.ts index 1fe4ae3cfd1..85735b1f092 100644 --- a/tests/cases/fourslash/javaScriptModules19.ts +++ b/tests/cases/fourslash/javaScriptModules19.ts @@ -17,7 +17,11 @@ goTo.file('consumer.js'); goTo.marker(); -verify.completions({ marker: "", includes: "y", excludes: "invisible" }); +verify.completions({ + marker: "", + includes: { name: "y", sortText: completion.SortText.GlobalsOrKeywords }, + excludes: "invisible" +}); edit.insert('x.'); verify.completions({ includes: { name: "a", kind: "property" } }); diff --git a/tests/cases/fourslash/javaScriptPrototype2.ts b/tests/cases/fourslash/javaScriptPrototype2.ts index f8c2e56e1a9..17afc1ed0aa 100644 --- a/tests/cases/fourslash/javaScriptPrototype2.ts +++ b/tests/cases/fourslash/javaScriptPrototype2.ts @@ -31,4 +31,4 @@ verify.completions({ includes: { name: "toFixed", kind: "method", kindModifiers: goTo.marker('3'); edit.insert('.'); // Make sure symbols don't leak out into the constructor -verify.completions({ includes: ["qua", "foo", "bar"].map(name => ({ name, kind: "warning" })) }); +verify.completions({ includes: ["qua", "foo", "bar"].map(name => ({ name, kind: "warning", sortText: completion.SortText.JavascriptIdentifiers })) }); diff --git a/tests/cases/fourslash/javaScriptPrototype3.ts b/tests/cases/fourslash/javaScriptPrototype3.ts index 627f5c39977..72d22b969b2 100644 --- a/tests/cases/fourslash/javaScriptPrototype3.ts +++ b/tests/cases/fourslash/javaScriptPrototype3.ts @@ -22,6 +22,10 @@ verify.completions({ { name: "qua", kind: "property" }, { name: "foo", kind: "method" }, { name: "bar", kind: "method" }, - ...["myCtor", "x", "prototype"].map(name => ({ name, kind: "warning" })), + ...["myCtor", "x", "prototype"].map(name => ({ + name, + kind: "warning", + sortText: completion.SortText.JavascriptIdentifiers + })), ], }); diff --git a/tests/cases/fourslash/javaScriptPrototype4.ts b/tests/cases/fourslash/javaScriptPrototype4.ts index 98deee4f22a..783cea8b9dd 100644 --- a/tests/cases/fourslash/javaScriptPrototype4.ts +++ b/tests/cases/fourslash/javaScriptPrototype4.ts @@ -16,4 +16,7 @@ goTo.marker('1'); edit.insert('.'); // Check members of the function -verify.completions({ includes: ["foo", "bar", "qua"].map(name => ({ name, kind: "warning" })) }); +verify.completions({ + includes: ["foo", "bar", "qua"].map( + name => ({ name, kind: "warning", sortText: completion.SortText.JavascriptIdentifiers })) +}); diff --git a/tests/cases/fourslash/javascriptModules20.ts b/tests/cases/fourslash/javascriptModules20.ts index 8b8f0095959..0135ccea758 100644 --- a/tests/cases/fourslash/javascriptModules20.ts +++ b/tests/cases/fourslash/javascriptModules20.ts @@ -9,4 +9,8 @@ //// import * as mod from "./mod" //// mod./**/ -verify.completions({ marker: "", exact: [{ name: "a", kind: "property" }, { name: "mod", kind: "warning" }] }); +verify.completions({ + marker: "", exact: [ + { name: "a", kind: "property" }, + { name: "mod", kind: "warning", sortText: completion.SortText.JavascriptIdentifiers }] +}); diff --git a/tests/cases/fourslash/javascriptModules21.ts b/tests/cases/fourslash/javascriptModules21.ts index 5a8dd6b872b..9788f3e3ed7 100644 --- a/tests/cases/fourslash/javascriptModules21.ts +++ b/tests/cases/fourslash/javascriptModules21.ts @@ -10,4 +10,10 @@ //// import mod from "./mod" //// mod./**/ -verify.completions({ marker: "", exact: [{ name: "a", kind: "property" }, { name: "mod", kind: "warning" }] }); +verify.completions({ + marker: "", + exact: [ + { name: "a", kind: "property" }, + { name: "mod", kind: "warning", sortText: completion.SortText.JavascriptIdentifiers } + ] +}); diff --git a/tests/cases/fourslash/jsFileJsdocTypedefTagTypeExpressionCompletion.ts b/tests/cases/fourslash/jsFileJsdocTypedefTagTypeExpressionCompletion.ts index a117bae1b11..5e0247b64a5 100644 --- a/tests/cases/fourslash/jsFileJsdocTypedefTagTypeExpressionCompletion.ts +++ b/tests/cases/fourslash/jsFileJsdocTypedefTagTypeExpressionCompletion.ts @@ -29,7 +29,7 @@ const typeMembers: ReadonlyArray): ReadonlyArray { - return entries.map(e => ({ ...e, kind: "warning", kindModifiers: undefined })); + return entries.map(e => ({ ...e, kind: "warning", kindModifiers: undefined, sortText: completion.SortText.JavascriptIdentifiers })); } verify.completions( diff --git a/tests/cases/fourslash/jsFileJsdocTypedefTagTypeExpressionCompletion2.ts b/tests/cases/fourslash/jsFileJsdocTypedefTagTypeExpressionCompletion2.ts index 9cb94689b76..57802d84b44 100644 --- a/tests/cases/fourslash/jsFileJsdocTypedefTagTypeExpressionCompletion2.ts +++ b/tests/cases/fourslash/jsFileJsdocTypedefTagTypeExpressionCompletion2.ts @@ -28,10 +28,10 @@ function getCompletions(nonWarnings: ReadonlyArray): ReadonlyArray entry.name === name)); - return withKinds.map(entry => nonWarnings.includes(entry.name) ? entry : ({ name: entry.name, kind: "warning" })); + return withKinds.map(entry => nonWarnings.includes(entry.name) ? entry : ({ name: entry.name, kind: "warning", sortText: completion.SortText.JavascriptIdentifiers })); } verify.completions( diff --git a/tests/cases/fourslash/jsFileJsdocTypedefTagTypeExpressionCompletion3.ts b/tests/cases/fourslash/jsFileJsdocTypedefTagTypeExpressionCompletion3.ts index efe73d9c023..82b0dd9f5e3 100644 --- a/tests/cases/fourslash/jsFileJsdocTypedefTagTypeExpressionCompletion3.ts +++ b/tests/cases/fourslash/jsFileJsdocTypedefTagTypeExpressionCompletion3.ts @@ -31,7 +31,7 @@ ////Foo./*valueMemberOfFoo*/; const warnings = (names: ReadonlyArray): ReadonlyArray => - names.map(name => ({ name, kind: "warning" })); + names.map(name => ({ name, kind: "warning", sortText: completion.SortText.JavascriptIdentifiers })); verify.completions( { diff --git a/tests/cases/fourslash/noImportCompletionsInOtherJavaScriptFile.ts b/tests/cases/fourslash/noImportCompletionsInOtherJavaScriptFile.ts index 0848b3e7cc2..6051a5d80fc 100644 --- a/tests/cases/fourslash/noImportCompletionsInOtherJavaScriptFile.ts +++ b/tests/cases/fourslash/noImportCompletionsInOtherJavaScriptFile.ts @@ -32,6 +32,7 @@ goTo.eachMarker(() => { kind: "const", kindModifiers: "export,declare", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, preferences: { includeCompletionsForModuleExports: true }, }); @@ -45,6 +46,7 @@ goTo.eachMarker(() => { kind: "const", kindModifiers: "export,declare", hasAction: true, + sortText: completion.SortText.AutoImportSuggestions }, preferences: { includeCompletionsForModuleExports: true }, }); diff --git a/tests/cases/fourslash/quickInfoOnNewKeyword01.ts b/tests/cases/fourslash/quickInfoOnNewKeyword01.ts new file mode 100644 index 00000000000..f7d1e359b8d --- /dev/null +++ b/tests/cases/fourslash/quickInfoOnNewKeyword01.ts @@ -0,0 +1,18 @@ +/// + +////class Cat { +//// /** +//// * NOTE: this constructor is private! Please use the factory function +//// */ +//// private constructor() { } +//// +//// static makeCat() { new Cat(); } +////} +//// +////ne/*1*/w Ca/*2*/t(); + +verify.quickInfoAt('1', 'constructor Cat(): Cat', +'NOTE: this constructor is private! Please use the factory function'); + +verify.quickInfoAt('2', 'constructor Cat(): Cat', +'NOTE: this constructor is private! Please use the factory function'); diff --git a/tests/cases/fourslash/quickinfoForNamespaceMergeWithClassConstrainedToSelf.ts b/tests/cases/fourslash/quickinfoForNamespaceMergeWithClassConstrainedToSelf.ts new file mode 100644 index 00000000000..e3c982a1203 --- /dev/null +++ b/tests/cases/fourslash/quickinfoForNamespaceMergeWithClassConstrainedToSelf.ts @@ -0,0 +1,21 @@ +/// + + +//// declare namespace AMap { +//// namespace MassMarks { +//// interface Data { +//// style?: number; +//// } +//// } +//// class MassMarks { +//// constructor(data: D[] | string); +//// clear(): void; +//// } +//// } +//// +//// interface MassMarksCustomData extends AMap.MassMarks./*1*/Data { +//// name: string; +//// id: string; +//// } + +verify.quickInfoAt("1", "interface AMap.MassMarks.Data"); diff --git a/tests/cases/fourslash/refactorExtractType1.ts b/tests/cases/fourslash/refactorExtractType1.ts new file mode 100644 index 00000000000..72a76280ca0 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType1.ts @@ -0,0 +1,16 @@ +/// + +//// var x: /*a*/{ a?: number, b?: string }/*b*/ = { }; + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = { + a?: number; + b?: string; +}; + +var x: NewType = { };`, +}); diff --git a/tests/cases/fourslash/refactorExtractType10.ts b/tests/cases/fourslash/refactorExtractType10.ts new file mode 100644 index 00000000000..870ba7e6207 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType10.ts @@ -0,0 +1,17 @@ +/// + +//// function foo(a: number, b?: number, ...c: number[]): /*a*/boolean/*b*/ { +//// return false as boolean +//// } + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = boolean; + +function foo(a: number, b?: number, ...c: number[]): NewType { + return false as boolean +}`, +}); diff --git a/tests/cases/fourslash/refactorExtractType11.ts b/tests/cases/fourslash/refactorExtractType11.ts new file mode 100644 index 00000000000..feb5e68c440 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType11.ts @@ -0,0 +1,17 @@ +/// + +//// function foo(a: number, b?: number, ...c: number[]): boolean { +//// return false as /*a*/boolean/*b*/ +//// } + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `function foo(a: number, b?: number, ...c: number[]): boolean { + type /*RENAME*/NewType = boolean; + + return false as NewType +}`, +}); diff --git a/tests/cases/fourslash/refactorExtractType12.ts b/tests/cases/fourslash/refactorExtractType12.ts new file mode 100644 index 00000000000..8c4a9e316e4 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType12.ts @@ -0,0 +1,21 @@ +/// + +//// interface A { +//// a: boolean +//// b: number +//// c: T +//// } + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = string; + +interface A { + a: boolean + b: number + c: T +}`, +}); diff --git a/tests/cases/fourslash/refactorExtractType13.ts b/tests/cases/fourslash/refactorExtractType13.ts new file mode 100644 index 00000000000..e72eadb2dd1 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType13.ts @@ -0,0 +1,21 @@ +/// + +//// interface A { +//// a: /*a*/boolean/*b*/ +//// b: number +//// c: T +//// } + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = boolean; + +interface A { + a: NewType + b: number + c: T +}`, +}); diff --git a/tests/cases/fourslash/refactorExtractType14.ts b/tests/cases/fourslash/refactorExtractType14.ts new file mode 100644 index 00000000000..4d5667bb540 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType14.ts @@ -0,0 +1,13 @@ +/// + +//// type A = string | number | T + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = boolean; + +type A = string | number | T`, +}); diff --git a/tests/cases/fourslash/refactorExtractType15.ts b/tests/cases/fourslash/refactorExtractType15.ts new file mode 100644 index 00000000000..a716f42509a --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType15.ts @@ -0,0 +1,13 @@ +/// + +//// type A = /*a*/string/*b*/ | number | T + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = string; + +type A = NewType | number | T`, +}); diff --git a/tests/cases/fourslash/refactorExtractType16.ts b/tests/cases/fourslash/refactorExtractType16.ts new file mode 100644 index 00000000000..0ccc3000b56 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType16.ts @@ -0,0 +1,13 @@ +/// + +//// var x: { a?: /*a*/number/*b*/, b?: string } = { }; + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = number; + +var x: { a?: NewType, b?: string } = { };`, +}); diff --git a/tests/cases/fourslash/refactorExtractType17.ts b/tests/cases/fourslash/refactorExtractType17.ts new file mode 100644 index 00000000000..ae62b402fe3 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType17.ts @@ -0,0 +1,13 @@ +/// + +//// type A = string | number | /*a*/T/*b*/ + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = T; + +type A = string | number | NewType`, +}); diff --git a/tests/cases/fourslash/refactorExtractType18.ts b/tests/cases/fourslash/refactorExtractType18.ts new file mode 100644 index 00000000000..1ebe8a2b354 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType18.ts @@ -0,0 +1,14 @@ +/// + +//// type A = /*a*/Partial/*b*/ & D | C + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = Partial; + +type A = NewType & D | C`, +}); + diff --git a/tests/cases/fourslash/refactorExtractType19.ts b/tests/cases/fourslash/refactorExtractType19.ts new file mode 100644 index 00000000000..4a982f6899d --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType19.ts @@ -0,0 +1,14 @@ +/// + +//// type A = /*a*/Partial/*b*/ & D | C + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = Partial; + +type A = NewType & D | C`, +}); + diff --git a/tests/cases/fourslash/refactorExtractType2.ts b/tests/cases/fourslash/refactorExtractType2.ts new file mode 100644 index 00000000000..202de0f115a --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType2.ts @@ -0,0 +1,13 @@ +/// + +//// var x: /*a*/string/*b*/ = ''; + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = string; + +var x: NewType = '';`, +}); diff --git a/tests/cases/fourslash/refactorExtractType20.ts b/tests/cases/fourslash/refactorExtractType20.ts new file mode 100644 index 00000000000..b31f208704f --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType20.ts @@ -0,0 +1,13 @@ +/// + +//// type A = () => (v: /*a*/T/*b*/) => (v: T) => (v: T) => U + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = T; + +type A = () => (v: NewType) => (v: T) => (v: T) => U`, +}); diff --git a/tests/cases/fourslash/refactorExtractType21.ts b/tests/cases/fourslash/refactorExtractType21.ts new file mode 100644 index 00000000000..e97485c8269 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType21.ts @@ -0,0 +1,13 @@ +/// + +//// type A = () => (v: T) => (v: /*a*/T/*b*/) => (v: T) => U + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = T; + +type A = () => (v: T) => (v: NewType) => (v: T) => U`, +}); diff --git a/tests/cases/fourslash/refactorExtractType22.ts b/tests/cases/fourslash/refactorExtractType22.ts new file mode 100644 index 00000000000..f7282df4ef7 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType22.ts @@ -0,0 +1,13 @@ +/// + +//// type A = () => (v: T) => (v: T) => (v: /*a*/T/*b*/) => U + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = T; + +type A = () => (v: T) => (v: T) => (v: NewType) => U`, +}); diff --git a/tests/cases/fourslash/refactorExtractType23.ts b/tests/cases/fourslash/refactorExtractType23.ts new file mode 100644 index 00000000000..9e219dd3383 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType23.ts @@ -0,0 +1,13 @@ +/// + +//// type A = () => (v: T) => (v: T) => (v: T) => /*a*/U/*b*/ + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = U; + +type A = () => (v: T) => (v: T) => (v: T) => NewType`, +}); diff --git a/tests/cases/fourslash/refactorExtractType24.ts b/tests/cases/fourslash/refactorExtractType24.ts new file mode 100644 index 00000000000..54b36acb252 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType24.ts @@ -0,0 +1,13 @@ +/// + +//// type A = () => (v: T) => (v: T) => /*a*/(v: T) => U/*b*/ + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = (v: T) => U; + +type A = () => (v: T) => (v: T) => NewType`, +}); diff --git a/tests/cases/fourslash/refactorExtractType25.ts b/tests/cases/fourslash/refactorExtractType25.ts new file mode 100644 index 00000000000..b09d04912c1 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType25.ts @@ -0,0 +1,13 @@ +/// + +//// type A = () => (v: T) => /*a*/(v: T) => (v: T) => U/*b*/ + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = (v: T) => (v: T) => U; + +type A = () => (v: T) => NewType`, +}); diff --git a/tests/cases/fourslash/refactorExtractType26.ts b/tests/cases/fourslash/refactorExtractType26.ts new file mode 100644 index 00000000000..662ce7eb8dc --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType26.ts @@ -0,0 +1,13 @@ +/// + +//// type A = () => /*a*/(v: T) => (v: T) => (v: T) => U/*b*/ + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = (v: T) => (v: T) => (v: T) => U; + +type A = () => NewType`, +}); diff --git a/tests/cases/fourslash/refactorExtractType27.ts b/tests/cases/fourslash/refactorExtractType27.ts new file mode 100644 index 00000000000..5163fd2d480 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType27.ts @@ -0,0 +1,13 @@ +/// + +//// type A = /*a*/() => (v: T) => (v: T) => (v: T) => U/*b*/ + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = () => (v: T) => (v: T) => (v: T) => U; + +type A = NewType`, +}); diff --git a/tests/cases/fourslash/refactorExtractType28.ts b/tests/cases/fourslash/refactorExtractType28.ts new file mode 100644 index 00000000000..81d1356ca21 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType28.ts @@ -0,0 +1,13 @@ +/// + +//// type Item = /*a*/T/*b*/ extends (infer P)[] ? P : never + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = T; + +type Item = NewType extends (infer P)[] ? P : never`, +}); diff --git a/tests/cases/fourslash/refactorExtractType29.ts b/tests/cases/fourslash/refactorExtractType29.ts new file mode 100644 index 00000000000..a1fb2ac405c --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType29.ts @@ -0,0 +1,13 @@ +/// + +//// type Item = T extends (infer P)[] ? /*a*/P/*b*/ : never + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType

= P; + +type Item = T extends (infer P)[] ? NewType

: never`, +}); diff --git a/tests/cases/fourslash/refactorExtractType3.ts b/tests/cases/fourslash/refactorExtractType3.ts new file mode 100644 index 00000000000..51185a43e00 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType3.ts @@ -0,0 +1,13 @@ +/// + +//// var x: /*a*/string | number | boolean/*b*/ = ''; + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = string | number | boolean; + +var x: NewType = '';`, +}); diff --git a/tests/cases/fourslash/refactorExtractType30.ts b/tests/cases/fourslash/refactorExtractType30.ts new file mode 100644 index 00000000000..a0684cabb53 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType30.ts @@ -0,0 +1,13 @@ +/// + +//// type Item = T extends (infer P)[] ? P : /*a*/never/*b*/ + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = never; + +type Item = T extends (infer P)[] ? P : NewType`, +}); diff --git a/tests/cases/fourslash/refactorExtractType31.ts b/tests/cases/fourslash/refactorExtractType31.ts new file mode 100644 index 00000000000..84ef679de5d --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType31.ts @@ -0,0 +1,6 @@ +/// + +//// type Item = T extends /*a*/(infer P)[]/*b*/ ? P : never + +goTo.select("a", "b"); +verify.not.refactorAvailable('Extract type') diff --git a/tests/cases/fourslash/refactorExtractType32.ts b/tests/cases/fourslash/refactorExtractType32.ts new file mode 100644 index 00000000000..6bfe0fd2634 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType32.ts @@ -0,0 +1,6 @@ +/// + +//// type Item = T extends (/*a*/infer P/*b*/)[] ? P : never + +goTo.select("a", "b"); +verify.not.refactorAvailable('Extract type') diff --git a/tests/cases/fourslash/refactorExtractType33.ts b/tests/cases/fourslash/refactorExtractType33.ts new file mode 100644 index 00000000000..0124698325f --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType33.ts @@ -0,0 +1,6 @@ +/// + +//// type Item = T extends (infer /*a*/P/*b*/)[] ? P : never + +goTo.select("a", "b"); +verify.not.refactorAvailable('Extract type') diff --git a/tests/cases/fourslash/refactorExtractType34.ts b/tests/cases/fourslash/refactorExtractType34.ts new file mode 100644 index 00000000000..114d08a09a6 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType34.ts @@ -0,0 +1,13 @@ +/// + +//// type Item = /*a*/T extends (infer P)[] ? P : never/*b*/ + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = T extends (infer P)[] ? P : never; + +type Item = NewType`, +}); diff --git a/tests/cases/fourslash/refactorExtractType35.ts b/tests/cases/fourslash/refactorExtractType35.ts new file mode 100644 index 00000000000..8ace9f929b8 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType35.ts @@ -0,0 +1,13 @@ +/// + +//// type Union = /*a*/U | T/*b*/ + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = U | T; + +type Union = NewType`, +}); diff --git a/tests/cases/fourslash/refactorExtractType36.ts b/tests/cases/fourslash/refactorExtractType36.ts new file mode 100644 index 00000000000..5086bf130ce --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType36.ts @@ -0,0 +1,14 @@ +/// + +//// type A = (v: /*a*/string | number/*b*/) => v is string + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = string | number; + +type A = (v: NewType) => v is string`, +}); + diff --git a/tests/cases/fourslash/refactorExtractType37.ts b/tests/cases/fourslash/refactorExtractType37.ts new file mode 100644 index 00000000000..b24e219b3e4 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType37.ts @@ -0,0 +1,13 @@ +/// + +//// type A = (v: string | number) => v is /*a*/string/*b*/ + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = string; + +type A = (v: string | number) => v is NewType`, +}); diff --git a/tests/cases/fourslash/refactorExtractType38.ts b/tests/cases/fourslash/refactorExtractType38.ts new file mode 100644 index 00000000000..b74091f1aec --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType38.ts @@ -0,0 +1,6 @@ +/// + +//// type A = (v: string | number) => /*a*/v is string/*b*/ + +goTo.select("a", "b"); +verify.not.refactorAvailable("Extract type") diff --git a/tests/cases/fourslash/refactorExtractType39.ts b/tests/cases/fourslash/refactorExtractType39.ts new file mode 100644 index 00000000000..1f55dcee39a --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType39.ts @@ -0,0 +1,13 @@ +/// + +//// type A = /*a*/(v: string | number) => v is string/*b*/ + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = (v: string | number) => v is string; + +type A = NewType`, +}); diff --git a/tests/cases/fourslash/refactorExtractType4.ts b/tests/cases/fourslash/refactorExtractType4.ts new file mode 100644 index 00000000000..def60d0b643 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType4.ts @@ -0,0 +1,13 @@ +/// + +//// var x: /*a*/1/*b*/ = 1; + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = 1; + +var x: NewType = 1;`, +}); diff --git a/tests/cases/fourslash/refactorExtractType40.ts b/tests/cases/fourslash/refactorExtractType40.ts new file mode 100644 index 00000000000..cae32cec786 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType40.ts @@ -0,0 +1,6 @@ +/// + +//// type A = (v: string | number) => /*a*/typeof v/*b*/ + +goTo.select("a", "b"); +verify.not.refactorAvailable("Extract type") diff --git a/tests/cases/fourslash/refactorExtractType41.ts b/tests/cases/fourslash/refactorExtractType41.ts new file mode 100644 index 00000000000..b0d3222a456 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType41.ts @@ -0,0 +1,14 @@ +/// + +//// type A = /*a*/(v: string | number) => typeof v/*b*/ + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = (v: string | number) => typeof v; + +type A = NewType`, +}); + diff --git a/tests/cases/fourslash/refactorExtractType42.ts b/tests/cases/fourslash/refactorExtractType42.ts new file mode 100644 index 00000000000..29692ab06e6 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType42.ts @@ -0,0 +1,15 @@ +/// + +//// const a = 1 +//// type A = (v: string | number) => /*a*/typeof a/*b*/ + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `const a = 1 +type /*RENAME*/NewType = typeof a; + +type A = (v: string | number) => NewType`, +}); diff --git a/tests/cases/fourslash/refactorExtractType43.ts b/tests/cases/fourslash/refactorExtractType43.ts new file mode 100644 index 00000000000..c3c09009295 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType43.ts @@ -0,0 +1,6 @@ +/// + +//// type A = (v: string | number) => /*a*/number | typeof v/*b*/ + +goTo.select("a", "b"); +verify.not.refactorAvailable("Extract type") diff --git a/tests/cases/fourslash/refactorExtractType44.ts b/tests/cases/fourslash/refactorExtractType44.ts new file mode 100644 index 00000000000..22e1a9172dc --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType44.ts @@ -0,0 +1,13 @@ +/// + +//// type A = /*a*/B.C.D/*b*/ + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = B.C.D; + +type A = NewType`, +}); diff --git a/tests/cases/fourslash/refactorExtractType45.ts b/tests/cases/fourslash/refactorExtractType45.ts new file mode 100644 index 00000000000..60d9d77bc29 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType45.ts @@ -0,0 +1,13 @@ +/// + +//// type A = /*a*/B.C.D/*b*/ + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = B.C.D; + +type A = NewType`, +}); diff --git a/tests/cases/fourslash/refactorExtractType46.ts b/tests/cases/fourslash/refactorExtractType46.ts new file mode 100644 index 00000000000..ddcfa4878c9 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType46.ts @@ -0,0 +1,15 @@ +/// + +//// namespace A { export const b = 1 } +//// function a(b: string): /*a*/typeof A.b/*b*/ { return 1 } + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `namespace A { export const b = 1 } +type /*RENAME*/NewType = typeof A.b; + +function a(b: string): NewType { return 1 }`, +}); diff --git a/tests/cases/fourslash/refactorExtractType47.ts b/tests/cases/fourslash/refactorExtractType47.ts new file mode 100644 index 00000000000..e2062029fa3 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType47.ts @@ -0,0 +1,6 @@ +/// + +//// type Crazy = T extends [infer P, (/*a*/infer R extends string ? string : never/*b*/)] ? P & R : string; + +goTo.select("a", "b"); +verify.not.refactorAvailable("Extract type") \ No newline at end of file diff --git a/tests/cases/fourslash/refactorExtractType48.ts b/tests/cases/fourslash/refactorExtractType48.ts new file mode 100644 index 00000000000..d10af6bb637 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType48.ts @@ -0,0 +1,13 @@ +/// + +//// type Crazy = /*a*/T extends [infer P, (infer R extends string ? string : never)] ? P & R : string/*b*/; + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = T extends [infer P, (infer R extends string ? string : never)] ? P & R : string; + +type Crazy = NewType;`, +}); diff --git a/tests/cases/fourslash/refactorExtractType49.ts b/tests/cases/fourslash/refactorExtractType49.ts new file mode 100644 index 00000000000..7d965ee3d09 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType49.ts @@ -0,0 +1,15 @@ +/// + +//// type A = T +//// type B = /*a*/A/*b*/ + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type A = T +type /*RENAME*/NewType = A; + +type B = NewType`, +}); diff --git a/tests/cases/fourslash/refactorExtractType5.ts b/tests/cases/fourslash/refactorExtractType5.ts new file mode 100644 index 00000000000..72f6cd448e4 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType5.ts @@ -0,0 +1,13 @@ +/// + +//// var x: /*a*/1 | 2/*b*/ = 1; + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = 1 | 2; + +var x: NewType = 1;`, +}); diff --git a/tests/cases/fourslash/refactorExtractType50.ts b/tests/cases/fourslash/refactorExtractType50.ts new file mode 100644 index 00000000000..8405c15c912 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType50.ts @@ -0,0 +1,6 @@ +/// + +//// interface I { f: (this: O, b: number) => /*a*/typeof this.a/*b*/ }; + +goTo.select("a", "b"); +verify.not.refactorAvailable("Extract type") diff --git a/tests/cases/fourslash/refactorExtractType51.ts b/tests/cases/fourslash/refactorExtractType51.ts new file mode 100644 index 00000000000..929898ad58e --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType51.ts @@ -0,0 +1,6 @@ +/// + +//// interface I { f: (this: O, b: number) => /*a*/this/*b*/ }; + +goTo.select("a", "b"); +verify.not.refactorAvailable("Extract type") diff --git a/tests/cases/fourslash/refactorExtractType52.ts b/tests/cases/fourslash/refactorExtractType52.ts new file mode 100644 index 00000000000..1ded541f88b --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType52.ts @@ -0,0 +1,6 @@ +/// + +//// interface I { f: (this: O, b: number) => /*a*/typeof this["a"]/*b*/ }; + +goTo.select("a", "b"); +verify.not.refactorAvailable("Extract type") diff --git a/tests/cases/fourslash/refactorExtractType53.ts b/tests/cases/fourslash/refactorExtractType53.ts new file mode 100644 index 00000000000..070d4b8c104 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType53.ts @@ -0,0 +1,13 @@ +/// + +//// interface I { f: /*a*/(this: O, b: number) => typeof this.a/*b*/ }; + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = (this: O, b: number) => typeof this.a; + +interface I { f: NewType };`, +}); diff --git a/tests/cases/fourslash/refactorExtractType54.ts b/tests/cases/fourslash/refactorExtractType54.ts new file mode 100644 index 00000000000..4b356341198 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType54.ts @@ -0,0 +1,13 @@ +/// + +//// interface I { f: /*a*/(this: O, b: number) => this/*b*/ }; + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = (this: O, b: number) => this; + +interface I { f: NewType };`, +}); diff --git a/tests/cases/fourslash/refactorExtractType55.ts b/tests/cases/fourslash/refactorExtractType55.ts new file mode 100644 index 00000000000..61ddef7f443 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType55.ts @@ -0,0 +1,13 @@ +/// + +//// interface I { f: /*a*/(this: O, b: number) => typeof this["a"]/*b*/ }; + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = (this: O, b: number) => typeof this["a"]; + +interface I { f: NewType };`, +}); diff --git a/tests/cases/fourslash/refactorExtractType56.ts b/tests/cases/fourslash/refactorExtractType56.ts new file mode 100644 index 00000000000..6362a1a995a --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType56.ts @@ -0,0 +1,7 @@ +/// + +// typeof other parameters within function signature? +//// function f(a: string, b: /*a*/typeof a/*b*/): typeof b { return ''; } + +goTo.select("a", "b"); +verify.not.refactorAvailable("Extract type") diff --git a/tests/cases/fourslash/refactorExtractType57.ts b/tests/cases/fourslash/refactorExtractType57.ts new file mode 100644 index 00000000000..7033e5e2086 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType57.ts @@ -0,0 +1,27 @@ +/// + +// Where do lines get inserted? +// The exact structure here doesn't matter, +// just want to see something within a block body +// to have the behavior defined in tests. +//// function id(x: T): T { +//// return (() => { +//// const s: /*a*/typeof x/*b*/ = x; +//// return s; +//// })(); +//// } + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `function id(x: T): T { + return (() => { + type /*RENAME*/NewType = typeof x; + + const s: NewType = x; + return s; + })(); +}`, +}); diff --git a/tests/cases/fourslash/refactorExtractType58.ts b/tests/cases/fourslash/refactorExtractType58.ts new file mode 100644 index 00000000000..54e58153f2b --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType58.ts @@ -0,0 +1,6 @@ +/// + +//// interface I { f: (this: O, b: number) => /*a*/ true | this | false /*b*/ }; + +goTo.select("a", "b"); +verify.not.refactorAvailable("Extract type") \ No newline at end of file diff --git a/tests/cases/fourslash/refactorExtractType59.ts b/tests/cases/fourslash/refactorExtractType59.ts new file mode 100644 index 00000000000..d5fced9611b --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType59.ts @@ -0,0 +1,10 @@ +/// + +//// class C { +//// m(): /*a*/T | this | number/*b*/ { +//// return {} as any +//// } +//// } + +goTo.select("a", "b"); +verify.not.refactorAvailable("Extract type") diff --git a/tests/cases/fourslash/refactorExtractType6.ts b/tests/cases/fourslash/refactorExtractType6.ts new file mode 100644 index 00000000000..437bc182af3 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType6.ts @@ -0,0 +1,13 @@ +/// + +//// var x: 1 | /*a*/2/*b*/ = 1; + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = 2; + +var x: 1 | NewType = 1;`, +}); diff --git a/tests/cases/fourslash/refactorExtractType7.ts b/tests/cases/fourslash/refactorExtractType7.ts new file mode 100644 index 00000000000..a5b1f4c7dd0 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType7.ts @@ -0,0 +1,17 @@ +/// + +//// function foo(a: /*a*/number/*b*/, b?: number, ...c: number[]): boolean { +//// return false as boolean +//// } + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = number; + +function foo(a: NewType, b?: number, ...c: number[]): boolean { + return false as boolean +}`, +}); diff --git a/tests/cases/fourslash/refactorExtractType8.ts b/tests/cases/fourslash/refactorExtractType8.ts new file mode 100644 index 00000000000..61121c67374 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType8.ts @@ -0,0 +1,17 @@ +/// + +//// function foo(a: number, b?: /*a*/number/*b*/, ...c: number[]): boolean { +//// return false as boolean +//// } + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = number; + +function foo(a: number, b?: NewType, ...c: number[]): boolean { + return false as boolean +}`, +}); diff --git a/tests/cases/fourslash/refactorExtractType9.ts b/tests/cases/fourslash/refactorExtractType9.ts new file mode 100644 index 00000000000..921f2a005a5 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType9.ts @@ -0,0 +1,17 @@ +/// + +//// function foo(a: number, b?: number, ...c: /*a*/number[]/*b*/): boolean { +//// return false as boolean +//// } + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to type alias", + actionDescription: "Extract to type alias", + newContent: `type /*RENAME*/NewType = number[]; + +function foo(a: number, b?: number, ...c: NewType): boolean { + return false as boolean +}`, +}); diff --git a/tests/cases/fourslash/refactorExtractType_js1.ts b/tests/cases/fourslash/refactorExtractType_js1.ts new file mode 100644 index 00000000000..e90c74d0116 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType_js1.ts @@ -0,0 +1,20 @@ +/// + +// @allowJs: true +// @Filename: a.js +//// /** @type { /*a*/string/*b*/ } */ +//// var x; + +goTo.file('a.js') +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to typedef", + actionDescription: "Extract to typedef", + newContent: `/** + * @typedef {string} /*RENAME*/NewType + */ + +/** @type { NewType } */ +var x;`, +}); diff --git a/tests/cases/fourslash/refactorExtractType_js2.ts b/tests/cases/fourslash/refactorExtractType_js2.ts new file mode 100644 index 00000000000..592f0f6f163 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType_js2.ts @@ -0,0 +1,20 @@ +/// + +// @allowJs: true +// @Filename: a.js +//// /** @type { /*a*/string/*b*/ | number } */ +//// var x; + +goTo.file('a.js') +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to typedef", + actionDescription: "Extract to typedef", + newContent: `/** + * @typedef {string} /*RENAME*/NewType + */ + +/** @type { NewType | number } */ +var x;`, +}); diff --git a/tests/cases/fourslash/refactorExtractType_js3.ts b/tests/cases/fourslash/refactorExtractType_js3.ts new file mode 100644 index 00000000000..9d431b2fd08 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType_js3.ts @@ -0,0 +1,20 @@ +/// + +// @allowJs: true +// @Filename: a.js +//// /** @type { /*a*/string | number/*b*/ } */ +//// var x; + +goTo.file('a.js') +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to typedef", + actionDescription: "Extract to typedef", + newContent: `/** + * @typedef {string | number} /*RENAME*/NewType + */ + +/** @type { NewType } */ +var x;`, +}); diff --git a/tests/cases/fourslash/refactorExtractType_js4.ts b/tests/cases/fourslash/refactorExtractType_js4.ts new file mode 100644 index 00000000000..1d4d4c3cdf7 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType_js4.ts @@ -0,0 +1,34 @@ +/// + +// @allowJs: true +// @Filename: a.js +//// /** +//// * @template T +//// * @template U +//// * @param {T} b +//// * @param {U} c +//// * @returns {/*a*/T | U/*b*/} +//// */ +//// function a(b, c) {} + +goTo.file('a.js') +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to typedef", + actionDescription: "Extract to typedef", + newContent: `/** + * @template T + * @template U + * @typedef {T | U} /*RENAME*/NewType + */ + +/** + * @template T + * @template U + * @param {T} b + * @param {U} c + * @returns {NewType} + */ +function a(b, c) {}`, +}); diff --git a/tests/cases/fourslash/refactorExtractType_js5.ts b/tests/cases/fourslash/refactorExtractType_js5.ts new file mode 100644 index 00000000000..20df67d9c76 --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType_js5.ts @@ -0,0 +1,34 @@ +/// + +// @allowJs: true +// @Filename: a.js +//// /** +//// * @template {number} T +//// * @template {string} U +//// * @param {T} b +//// * @param {U} c +//// * @returns {/*a*/T | U/*b*/} +//// */ +//// function a(b, c) {} + +goTo.file('a.js') +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to typedef", + actionDescription: "Extract to typedef", + newContent: `/** + * @template {number} T + * @template {string} U + * @typedef {T | U} /*RENAME*/NewType + */ + +/** + * @template {number} T + * @template {string} U + * @param {T} b + * @param {U} c + * @returns {NewType} + */ +function a(b, c) {}`, +}); diff --git a/tests/cases/fourslash/refactorExtractType_js6.ts b/tests/cases/fourslash/refactorExtractType_js6.ts new file mode 100644 index 00000000000..581e2cca1db --- /dev/null +++ b/tests/cases/fourslash/refactorExtractType_js6.ts @@ -0,0 +1,32 @@ +/// + +// @allowJs: true +// @Filename: a.js +//// /** +//// * @template {number} T, U +//// * @param {T} b +//// * @param {U} c +//// * @returns {/*a*/T | U/*b*/} +//// */ +//// function a(b, c) {} + +goTo.file('a.js') +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Extract type", + actionName: "Extract to typedef", + actionDescription: "Extract to typedef", + newContent: `/** + * @template {number} T + * @template U + * @typedef {T | U} /*RENAME*/NewType + */ + +/** + * @template {number} T, U + * @param {T} b + * @param {U} c + * @returns {NewType} + */ +function a(b, c) {}`, +}); diff --git a/tests/cases/fourslash/server/jsdocTypedefTagNamespace.ts b/tests/cases/fourslash/server/jsdocTypedefTagNamespace.ts index 0d04b58606f..297238530f0 100644 --- a/tests/cases/fourslash/server/jsdocTypedefTagNamespace.ts +++ b/tests/cases/fourslash/server/jsdocTypedefTagNamespace.ts @@ -17,5 +17,5 @@ verify.completions( { marker: ["1", "3"], includes: ["charAt", "toExponential"] }, - { marker: "2", includes: "age" }, + { marker: "2", includes: { name: "age", sortText: completion.SortText.JavascriptIdentifiers } }, ); diff --git a/tests/cases/fourslash/smartSelection_JSDoc.ts b/tests/cases/fourslash/smartSelection_JSDoc.ts new file mode 100644 index 00000000000..2d50810a11e --- /dev/null +++ b/tests/cases/fourslash/smartSelection_JSDoc.ts @@ -0,0 +1,11 @@ +/// + +////// Not a JSDoc comment +/////** +//// * @param {number} x The number to square +//// */ +////function /**/square(x) { +//// return x * x; +////} + +verify.baselineSmartSelection(); \ No newline at end of file diff --git a/tests/cases/fourslash/smartSelection_behindCaret.ts b/tests/cases/fourslash/smartSelection_behindCaret.ts new file mode 100644 index 00000000000..f7bb0ec169d --- /dev/null +++ b/tests/cases/fourslash/smartSelection_behindCaret.ts @@ -0,0 +1,6 @@ +/// + +////let/**/ x: string + +// Verifies that the selection goes to 'let' first even though it’s behind the caret +verify.baselineSmartSelection(); \ No newline at end of file diff --git a/tests/cases/fourslash/smartSelection_bindingPatterns.ts b/tests/cases/fourslash/smartSelection_bindingPatterns.ts new file mode 100644 index 00000000000..350f72bac25 --- /dev/null +++ b/tests/cases/fourslash/smartSelection_bindingPatterns.ts @@ -0,0 +1,5 @@ +/// + +////const { /*1*/x, y: /*2*/a, .../*3*/zs = {} } = {}; + +verify.baselineSmartSelection(); \ No newline at end of file diff --git a/tests/cases/fourslash/smartSelection_complex.ts b/tests/cases/fourslash/smartSelection_complex.ts new file mode 100644 index 00000000000..28797e4833e --- /dev/null +++ b/tests/cases/fourslash/smartSelection_complex.ts @@ -0,0 +1,5 @@ +/// + +////type X = IsExactlyAny

extends true ? T : ({ [K in keyof P]: IsExactlyAny extends true ? K extends keyof T ? T[K] : P[/**/K] : P[K]; } & Pick>) + +verify.baselineSmartSelection(); \ No newline at end of file diff --git a/tests/cases/fourslash/smartSelection_emptyRanges.ts b/tests/cases/fourslash/smartSelection_emptyRanges.ts new file mode 100644 index 00000000000..6f2bfe7a2c0 --- /dev/null +++ b/tests/cases/fourslash/smartSelection_emptyRanges.ts @@ -0,0 +1,11 @@ +/// + +////class HomePage { +//// componentDidMount(/*1*/) { +//// if (this.props.username/*2*/) { +//// return '/*3*/'; +//// } +//// } +////} + +verify.baselineSmartSelection(); \ No newline at end of file diff --git a/tests/cases/fourslash/smartSelection_functionParams1.ts b/tests/cases/fourslash/smartSelection_functionParams1.ts new file mode 100644 index 00000000000..d2e0350d73a --- /dev/null +++ b/tests/cases/fourslash/smartSelection_functionParams1.ts @@ -0,0 +1,5 @@ +/// + +////function f(/*1*/p, /*2*/q?, /*3*/...r: any[] = []) {} + +verify.baselineSmartSelection(); \ No newline at end of file diff --git a/tests/cases/fourslash/smartSelection_functionParams2.ts b/tests/cases/fourslash/smartSelection_functionParams2.ts new file mode 100644 index 00000000000..0172763a70e --- /dev/null +++ b/tests/cases/fourslash/smartSelection_functionParams2.ts @@ -0,0 +1,8 @@ +/// + +////function f( +//// a, +//// /**/b +////) {} + +verify.baselineSmartSelection(); \ No newline at end of file diff --git a/tests/cases/fourslash/smartSelection_imports.ts b/tests/cases/fourslash/smartSelection_imports.ts new file mode 100644 index 00000000000..4e800f6973b --- /dev/null +++ b/tests/cases/fourslash/smartSelection_imports.ts @@ -0,0 +1,8 @@ +/// + +////import { /**/x as y, z } from './z'; +////import { b } from './'; +//// +////console.log(1); + +verify.baselineSmartSelection(); \ No newline at end of file diff --git a/tests/cases/fourslash/smartSelection_loneVariableDeclaration.ts b/tests/cases/fourslash/smartSelection_loneVariableDeclaration.ts new file mode 100644 index 00000000000..ae50d094ee7 --- /dev/null +++ b/tests/cases/fourslash/smartSelection_loneVariableDeclaration.ts @@ -0,0 +1,5 @@ +/// + +////const /**/x = 3; + +verify.baselineSmartSelection(); \ No newline at end of file diff --git a/tests/cases/fourslash/smartSelection_mappedTypes.ts b/tests/cases/fourslash/smartSelection_mappedTypes.ts new file mode 100644 index 00000000000..0f76491a592 --- /dev/null +++ b/tests/cases/fourslash/smartSelection_mappedTypes.ts @@ -0,0 +1,5 @@ +/// + +////type M = { /*1*/-re/*2*/adonly /*3*/[K in ke/*4*/yof any]/*5*/-/*6*/?: any }; + +verify.baselineSmartSelection(); \ No newline at end of file diff --git a/tests/cases/fourslash/smartSelection_objectTypes.ts b/tests/cases/fourslash/smartSelection_objectTypes.ts new file mode 100644 index 00000000000..3d458c43b4c --- /dev/null +++ b/tests/cases/fourslash/smartSelection_objectTypes.ts @@ -0,0 +1,9 @@ +/// + +////type X = { +//// /*1*/foo?: string; +//// /*2*/readonly /*3*/bar: { x: num/*4*/ber }; +//// /*5*/meh +////} + +verify.baselineSmartSelection(); \ No newline at end of file diff --git a/tests/cases/fourslash/smartSelection_simple1.ts b/tests/cases/fourslash/smartSelection_simple1.ts new file mode 100644 index 00000000000..97d7249138b --- /dev/null +++ b/tests/cases/fourslash/smartSelection_simple1.ts @@ -0,0 +1,12 @@ +/// + +////class Foo { +//// bar(a, b) { +//// if (/*1*/a === b) { +//// return tr/*2*/ue; +//// } +//// return false; +//// } +////} + +verify.baselineSmartSelection(); diff --git a/tests/cases/fourslash/smartSelection_simple2.ts b/tests/cases/fourslash/smartSelection_simple2.ts new file mode 100644 index 00000000000..85d3252bca0 --- /dev/null +++ b/tests/cases/fourslash/smartSelection_simple2.ts @@ -0,0 +1,10 @@ +/// + +////export interface IService { +//// _serviceBrand: any; +//// +//// open(ho/*1*/st: number, data: any): Promise; +//// bar(): void/*2*/ +////} + +verify.baselineSmartSelection(); \ No newline at end of file diff --git a/tests/cases/fourslash/smartSelection_templateStrings.ts b/tests/cases/fourslash/smartSelection_templateStrings.ts new file mode 100644 index 00000000000..e3b311d20d9 --- /dev/null +++ b/tests/cases/fourslash/smartSelection_templateStrings.ts @@ -0,0 +1,7 @@ +/// + +////`a /*1*/b ${ +//// '/*2*/c' +////} d` + +verify.baselineSmartSelection(); \ No newline at end of file diff --git a/tests/cases/fourslash/tsxCompletion9.ts b/tests/cases/fourslash/tsxCompletion9.ts index 21d2c43f676..21261090b4e 100644 --- a/tests/cases/fourslash/tsxCompletion9.ts +++ b/tests/cases/fourslash/tsxCompletion9.ts @@ -18,4 +18,4 @@ for (var i = 1; i <= 10; i++) { verify.completions({ marker: String(i), exact: undefined }); } -verify.completions({ marker: "end", includes: "null" }); +verify.completions({ marker: "end", includes: { name: "null", sortText: completion.SortText.GlobalsOrKeywords } }); diff --git a/tests/cases/fourslash/tsxCompletionNonTagLessThan.ts b/tests/cases/fourslash/tsxCompletionNonTagLessThan.ts index b2b6a046e6b..a0b1f8ffdc3 100644 --- a/tests/cases/fourslash/tsxCompletionNonTagLessThan.ts +++ b/tests/cases/fourslash/tsxCompletionNonTagLessThan.ts @@ -5,7 +5,20 @@ ////[].map