From 21ebc7132583bf306b5b3b27f0478dc6afa84289 Mon Sep 17 00:00:00 2001 From: Yui T Date: Thu, 20 Aug 2015 09:47:45 -0700 Subject: [PATCH] Don't emit detached comment if removeComment is true --- src/compiler/emitter.ts | 2 +- ...NotEmitdetachedCommentAtStartOfFunctionBody.js | 15 +++++++++++++++ ...itdetachedCommentAtStartOfFunctionBody.symbols | 12 ++++++++++++ ...EmitdetachedCommentAtStartOfFunctionBody.types | 13 +++++++++++++ ...NotEmitdetachedCommentAtStartOfFunctionBody.ts | 10 ++++++++++ 5 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/doNotEmitdetachedCommentAtStartOfFunctionBody.js create mode 100644 tests/baselines/reference/doNotEmitdetachedCommentAtStartOfFunctionBody.symbols create mode 100644 tests/baselines/reference/doNotEmitdetachedCommentAtStartOfFunctionBody.types create mode 100644 tests/cases/compiler/doNotEmitdetachedCommentAtStartOfFunctionBody.ts diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 0363122f11f..4ab47346f16 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -7045,7 +7045,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, Promi } function emitDetachedComments(node: TextRange) { - let leadingComments = getLeadingCommentRanges(currentSourceFile.text, node.pos); + let leadingComments = filterComments(getLeadingCommentRanges(currentSourceFile.text, node.pos), node.pos === 0); if (leadingComments) { let detachedComments: CommentRange[] = []; let lastComment: CommentRange; diff --git a/tests/baselines/reference/doNotEmitdetachedCommentAtStartOfFunctionBody.js b/tests/baselines/reference/doNotEmitdetachedCommentAtStartOfFunctionBody.js new file mode 100644 index 00000000000..7dd9c7ce679 --- /dev/null +++ b/tests/baselines/reference/doNotEmitdetachedCommentAtStartOfFunctionBody.js @@ -0,0 +1,15 @@ +//// [doNotEmitdetachedCommentAtStartOfFunctionBody.ts] +function foo() { + /* + + multi line + comment + */ + + return 42; +} + +//// [doNotEmitdetachedCommentAtStartOfFunctionBody.js] +function foo() { + return 42; +} diff --git a/tests/baselines/reference/doNotEmitdetachedCommentAtStartOfFunctionBody.symbols b/tests/baselines/reference/doNotEmitdetachedCommentAtStartOfFunctionBody.symbols new file mode 100644 index 00000000000..a6f8e1514b5 --- /dev/null +++ b/tests/baselines/reference/doNotEmitdetachedCommentAtStartOfFunctionBody.symbols @@ -0,0 +1,12 @@ +=== tests/cases/compiler/doNotEmitdetachedCommentAtStartOfFunctionBody.ts === +function foo() { +>foo : Symbol(foo, Decl(doNotEmitdetachedCommentAtStartOfFunctionBody.ts, 0, 0)) + + /* + + multi line + comment + */ + + return 42; +} diff --git a/tests/baselines/reference/doNotEmitdetachedCommentAtStartOfFunctionBody.types b/tests/baselines/reference/doNotEmitdetachedCommentAtStartOfFunctionBody.types new file mode 100644 index 00000000000..4271584ecbe --- /dev/null +++ b/tests/baselines/reference/doNotEmitdetachedCommentAtStartOfFunctionBody.types @@ -0,0 +1,13 @@ +=== tests/cases/compiler/doNotEmitdetachedCommentAtStartOfFunctionBody.ts === +function foo() { +>foo : () => number + + /* + + multi line + comment + */ + + return 42; +>42 : number +} diff --git a/tests/cases/compiler/doNotEmitdetachedCommentAtStartOfFunctionBody.ts b/tests/cases/compiler/doNotEmitdetachedCommentAtStartOfFunctionBody.ts new file mode 100644 index 00000000000..3d99de36d0a --- /dev/null +++ b/tests/cases/compiler/doNotEmitdetachedCommentAtStartOfFunctionBody.ts @@ -0,0 +1,10 @@ +// @comments: false +function foo() { + /* + + multi line + comment + */ + + return 42; +} \ No newline at end of file