diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index deedb693205..c827d4c9159 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -1682,6 +1682,10 @@ module ts { } } + function emitInterfaceDeclaration(node: InterfaceDeclaration) { + emitPinnedOrTripleSlashComments(node); + } + function emitEnumDeclaration(node: EnumDeclaration) { emitLeadingComments(node); if (!(node.flags & NodeFlags.Export)) { @@ -2089,6 +2093,8 @@ module ts { return emitVariableDeclaration(node); case SyntaxKind.ClassDeclaration: return emitClassDeclaration(node); + case SyntaxKind.InterfaceDeclaration: + return emitInterfaceDeclaration(node); case SyntaxKind.EnumDeclaration: return emitEnumDeclaration(node); case SyntaxKind.ModuleDeclaration: diff --git a/tests/baselines/reference/checkInterfaceBases.js b/tests/baselines/reference/checkInterfaceBases.js index 54718986340..a30f4938c9e 100644 --- a/tests/baselines/reference/checkInterfaceBases.js +++ b/tests/baselines/reference/checkInterfaceBases.js @@ -16,3 +16,4 @@ interface Third extends JQueryEventObjectTest, SecondEvent {} //// [app.js] +/// diff --git a/tests/baselines/reference/commentOnInterface1.js b/tests/baselines/reference/commentOnInterface1.js index 2785341ed1a..bde6202f03f 100644 --- a/tests/baselines/reference/commentOnInterface1.js +++ b/tests/baselines/reference/commentOnInterface1.js @@ -1,10 +1,20 @@ -//// [commentOnInterface1.ts] +//// [tests/cases/compiler/commentOnInterface1.ts] //// + +//// [a.ts] /*! Keep this pinned comment */ interface I { } // Don't keep this comment. interface I2 { +} + +//// [b.ts] +/// +interface I3 { } -//// [commentOnInterface1.js] +//// [a.js] +/*! Keep this pinned comment */ +//// [b.js] +/// diff --git a/tests/baselines/reference/commentOnInterface1.types b/tests/baselines/reference/commentOnInterface1.types index 60ddb0ccae6..d03b1939026 100644 --- a/tests/baselines/reference/commentOnInterface1.types +++ b/tests/baselines/reference/commentOnInterface1.types @@ -1,4 +1,9 @@ -=== tests/cases/compiler/commentOnInterface1.ts === +=== tests/cases/compiler/b.ts === +/// +interface I3 { +>I3 : I3 +} +=== tests/cases/compiler/a.ts === /*! Keep this pinned comment */ interface I { >I : I @@ -8,3 +13,4 @@ interface I { interface I2 { >I2 : I2 } + diff --git a/tests/cases/compiler/commentOnInterface1.ts b/tests/cases/compiler/commentOnInterface1.ts index 304a4c96733..a394da0dd2c 100644 --- a/tests/cases/compiler/commentOnInterface1.ts +++ b/tests/cases/compiler/commentOnInterface1.ts @@ -1,7 +1,13 @@ +//@filename: a.ts /*! Keep this pinned comment */ interface I { } // Don't keep this comment. interface I2 { +} + +//@filename: b.ts +/// +interface I3 { } \ No newline at end of file