Skip to content

Commit 6036c92

Browse files
committed
Emit leading/trailing comments of ifStatement
1 parent 1b5023b commit 6036c92

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

src/compiler/emitter.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -924,6 +924,11 @@ module ts {
924924
}
925925

926926
function emitIfStatement(node: IfStatement) {
927+
// emit comments only if this is not else if statement as else if will take care of emitting the leading/trailing comments
928+
if (node.parent.kind !== SyntaxKind.IfStatement || (<IfStatement>node.parent).elseStatement !== node) {
929+
emitLeadingComments(node);
930+
}
931+
emitLeadingComments(node);
927932
var endPos = emitToken(SyntaxKind.IfKeyword, node.pos);
928933
write(" ");
929934
endPos = emitToken(SyntaxKind.OpenParenToken, endPos);
@@ -932,6 +937,7 @@ module ts {
932937
emitEmbeddedStatement(node.thenStatement);
933938
if (node.elseStatement) {
934939
writeLine();
940+
emitLeadingComments(node.elseStatement);
935941
emitToken(SyntaxKind.ElseKeyword, node.thenStatement.end);
936942
if (node.elseStatement.kind === SyntaxKind.IfStatement) {
937943
write(" ");
@@ -941,6 +947,7 @@ module ts {
941947
emitEmbeddedStatement(node.elseStatement);
942948
}
943949
}
950+
emitTrailingComments(node);
944951
}
945952

946953
function emitDoStatement(node: DoStatement) {

0 commit comments

Comments
 (0)