diff --git a/src/compiler/comments.ts b/src/compiler/comments.ts index 6f0cb94b7d7..8ee7878d1e6 100644 --- a/src/compiler/comments.ts +++ b/src/compiler/comments.ts @@ -296,7 +296,7 @@ namespace ts { }, emitTrailingComments(range: TextRange, comments: CommentRange[]): void { const commentStart = performance.mark(); - emitLeadingComments(range, comments); + emitTrailingComments(range, comments); performance.measure("commentTime", commentStart); }, emitLeadingDetachedComments(range: TextRange, contextNode?: Node, ignoreNodeCallback?: (contextNode: Node) => boolean): void { diff --git a/src/compiler/factory.ts b/src/compiler/factory.ts index 0516787130a..8427b1af0af 100644 --- a/src/compiler/factory.ts +++ b/src/compiler/factory.ts @@ -3,8 +3,6 @@ /* @internal */ namespace ts { - const synthesizedLocation: TextRange = { pos: -1, end: -1 }; - let NodeConstructor: new (kind: SyntaxKind, pos: number, end: number) => Node; let SourceFileConstructor: new (kind: SyntaxKind, pos: number, end: number) => Node; @@ -151,7 +149,8 @@ namespace ts { name.text = ""; name.originalKeywordKind = SyntaxKind.Unknown; name.autoGenerateKind = GeneratedIdentifierKind.Auto; - name.autoGenerateId = nextAutoGenerateId++; + name.autoGenerateId = nextAutoGenerateId; + nextAutoGenerateId++; if (recordTempVariable) { recordTempVariable(name); } @@ -163,7 +162,8 @@ namespace ts { name.text = ""; name.originalKeywordKind = SyntaxKind.Unknown; name.autoGenerateKind = GeneratedIdentifierKind.Loop; - name.autoGenerateId = nextAutoGenerateId++; + name.autoGenerateId = nextAutoGenerateId; + nextAutoGenerateId++; return name; } @@ -172,7 +172,8 @@ namespace ts { name.text = text; name.originalKeywordKind = SyntaxKind.Unknown; name.autoGenerateKind = GeneratedIdentifierKind.Unique; - name.autoGenerateId = nextAutoGenerateId++; + name.autoGenerateId = nextAutoGenerateId; + nextAutoGenerateId++; return name; } @@ -182,7 +183,8 @@ namespace ts { name.text = ""; name.originalKeywordKind = SyntaxKind.Unknown; name.autoGenerateKind = GeneratedIdentifierKind.Node; - name.autoGenerateId = nextAutoGenerateId++; + name.autoGenerateId = nextAutoGenerateId; + nextAutoGenerateId++; return name; } diff --git a/src/compiler/sourcemap.ts b/src/compiler/sourcemap.ts index 93676c1181d..123b658cd90 100644 --- a/src/compiler/sourcemap.ts +++ b/src/compiler/sourcemap.ts @@ -508,10 +508,6 @@ namespace ts { return skipTrivia(currentSourceText, rangeHasDecorators ? (range as Node).decorators.end : range.pos); } - function getStartPos(range: TextRange) { - return skipTrivia(currentSourceText, range.pos); - } - /** * Emits a mapping for the start of a range. * diff --git a/src/compiler/transformer.ts b/src/compiler/transformer.ts index a448893f345..6642c83007a 100644 --- a/src/compiler/transformer.ts +++ b/src/compiler/transformer.ts @@ -156,7 +156,9 @@ namespace ts { * @param transforms An array of Transformers. */ export function transformFiles(resolver: EmitResolver, host: EmitHost, sourceFiles: SourceFile[], transformers: Transformer[]) { - const transformId = nextTransformId++; + const transformId = nextTransformId; + nextTransformId++; + const tokenSourceMapRanges: Map = { }; const lexicalEnvironmentVariableDeclarationsStack: VariableDeclaration[][] = []; const lexicalEnvironmentFunctionDeclarationsStack: FunctionDeclaration[][] = []; diff --git a/src/compiler/transformers/es6.ts b/src/compiler/transformers/es6.ts index 9103b09f6bb..9c814affd50 100644 --- a/src/compiler/transformers/es6.ts +++ b/src/compiler/transformers/es6.ts @@ -2918,20 +2918,6 @@ namespace ts { return getDeclarationName(node, allowComments, allowSourceMaps, NodeEmitFlags.LocalName); } - /** - * Gets the export name for a declaration for use in expressions. - * - * An export name will *always* be prefixed with an module or namespace export modifier - * like "exports." if one is required. - * - * @param node The declaration. - * @param allowComments A value indicating whether comments may be emitted for the name. - * @param allowSourceMaps A value indicating whether source maps may be emitted for the name. - */ - function getExportName(node: ClassDeclaration | ClassExpression | FunctionDeclaration, allowComments?: boolean, allowSourceMaps?: boolean) { - return getDeclarationName(node, allowComments, allowSourceMaps, NodeEmitFlags.ExportName); - } - /** * Gets the name of a declaration, without source map or comments. * diff --git a/src/compiler/transformers/module/es6.ts b/src/compiler/transformers/module/es6.ts index 742f208d61c..5bf8a972aff 100644 --- a/src/compiler/transformers/module/es6.ts +++ b/src/compiler/transformers/module/es6.ts @@ -50,7 +50,7 @@ namespace ts { return undefined; // do not emit export equals for ES6 } const original = getOriginalNode(node); - return nodeIsSynthesized(original) || resolver.isValueAliasDeclaration(original) ? node: undefined; + return nodeIsSynthesized(original) || resolver.isValueAliasDeclaration(original) ? node : undefined; } function visitExportDeclaration(node: ExportDeclaration): ExportDeclaration { @@ -64,7 +64,7 @@ namespace ts { if (node.exportClause === newExportClause) { return node; } - return newExportClause + return newExportClause ? createExportDeclaration(newExportClause, node.moduleSpecifier) : undefined; } @@ -106,12 +106,12 @@ namespace ts { const newNamedBindings = visitNode(node.namedBindings, visitor, isNamedImportBindings, /*optional*/ true); return newDefaultImport !== node.name || newNamedBindings !== node.namedBindings ? createImportClause(newDefaultImport, newNamedBindings) - : node; + : node; } function visitNamedBindings(node: NamedImportBindings): VisitResult { if (node.kind === SyntaxKind.NamespaceImport) { - return resolver.isReferencedAliasDeclaration(node) ? node: undefined; + return resolver.isReferencedAliasDeclaration(node) ? node : undefined; } else { const newNamedImportElements = visitNodes((node).elements, visitor, isImportSpecifier); diff --git a/src/compiler/transformers/module/module.ts b/src/compiler/transformers/module/module.ts index 121365dd84c..625e90ea02e 100644 --- a/src/compiler/transformers/module/module.ts +++ b/src/compiler/transformers/module/module.ts @@ -619,7 +619,7 @@ namespace ts { if (hasModifier(node, ModifierFlags.Export)) { const variables = getInitializedVariables(node.declarationList); if (variables.length > 0) { - let inlineAssignments = createStatement( + const inlineAssignments = createStatement( inlineExpressions( map(variables, transformInitializedVariable) ), @@ -648,7 +648,7 @@ namespace ts { function addExportMemberAssignmentsForBindingName(resultStatements: Statement[], name: BindingName): void { if (isBindingPattern(name)) { for (const element of name.elements) { - addExportMemberAssignmentsForBindingName(resultStatements, element.name) + addExportMemberAssignmentsForBindingName(resultStatements, element.name); } } else { diff --git a/src/compiler/transformers/module/system.ts b/src/compiler/transformers/module/system.ts index 5519923333d..1f601ae4b55 100644 --- a/src/compiler/transformers/module/system.ts +++ b/src/compiler/transformers/module/system.ts @@ -12,10 +12,6 @@ namespace ts { const { getNodeEmitFlags, setNodeEmitFlags, - getCommentRange, - setCommentRange, - getSourceMapRange, - setSourceMapRange, startLexicalEnvironment, endLexicalEnvironment, hoistVariableDeclaration, diff --git a/src/compiler/transformers/ts.ts b/src/compiler/transformers/ts.ts index 1b0cb290ace..d51e5c20b86 100644 --- a/src/compiler/transformers/ts.ts +++ b/src/compiler/transformers/ts.ts @@ -2974,19 +2974,6 @@ namespace ts { } } - function getDeclarationNameExpression(node: DeclarationStatement) { - const name = getDeclarationName(node); - if (isNamespaceExport(node)) { - return getNamespaceMemberName(name); - } - else { - // We set the "ExportName" flag to indicate to any module transformer - // downstream that any `exports.` prefix should be added. - setNodeEmitFlags(name, getNodeEmitFlags(name) | NodeEmitFlags.ExportName); - return name; - } - } - function getClassPrototype(node: ClassExpression | ClassDeclaration) { return createPropertyAccess(getDeclarationName(node), "prototype"); } @@ -3090,7 +3077,7 @@ namespace ts { currentDecoratedClassAliases[getOriginalNodeId(node)] = decoratedClassAliases[getOriginalNodeId(node)]; } else if (node.kind === SyntaxKind.Identifier) { - const declaration = resolver.getReferencedValueDeclaration(node) + const declaration = resolver.getReferencedValueDeclaration(node); if (declaration && isClassWithDecorators(declaration)) { currentDecoratedClassAliases[getOriginalNodeId(declaration)] = decoratedClassAliases[getOriginalNodeId(declaration)]; }