Emit detached comments for constructor body

This commit is contained in:
Sheetal Nandi
2014-08-19 12:38:56 -07:00
parent ebd00bd1bc
commit b5bd1bf505
6 changed files with 72 additions and 1 deletions

View File

@@ -1616,6 +1616,9 @@ module ts {
write(" {");
scopeEmitStart(node, "constructor");
increaseIndent();
if (ctor) {
emitDetachedComments((<Block>ctor.body).statements);
}
emitCaptureThisForNodeIfNecessary(node);
if (ctor) {
emitDefaultValueAssignments(ctor);

View File

@@ -0,0 +1,23 @@
//// [detachedCommentAtStartOfConstructor1.ts]
class TestFile {
public message: string;
public name;
constructor(message: string) {
/// <summary>Test summary</summary>
/// <param name="message" type="String" />
var getMessage = () => message + this.name;
this.message = getMessage();
}
}
//// [detachedCommentAtStartOfConstructor1.js]
var TestFile = (function () {
function TestFile(message) {
var _this = this;
/// <summary>Test summary</summary>
/// <param name="message" type="String" />
var getMessage = function () { return message + _this.name; };
this.message = getMessage();
}
return TestFile;
})();

View File

@@ -0,0 +1,24 @@
//// [detachedCommentAtStartOfConstructor2.ts]
class TestFile {
public message: string;
public name: string;
constructor(message: string) {
/// <summary>Test summary</summary>
/// <param name="message" type="String" />
var getMessage = () => message + this.name;
this.message = getMessage();
}
}
//// [detachedCommentAtStartOfConstructor2.js]
var TestFile = (function () {
function TestFile(message) {
/// <summary>Test summary</summary>
/// <param name="message" type="String" />
var _this = this;
var getMessage = function () { return message + _this.name; };
this.message = getMessage();
}
return TestFile;
})();

View File

@@ -43,9 +43,9 @@ var __extends = this.__extends || function (d, b) {
};
var Event = (function () {
function Event() {
this._listeners = [];
// TODO: remove
this._listeners = [];
this._listeners = [];
}
Event.prototype.add = function (listener) {
/// <summary>Registers a new listener for the event.</summary>

View File

@@ -0,0 +1,10 @@
class TestFile {
public message: string;
public name;
constructor(message: string) {
/// <summary>Test summary</summary>
/// <param name="message" type="String" />
var getMessage = () => message + this.name;
this.message = getMessage();
}
}

View File

@@ -0,0 +1,11 @@
class TestFile {
public message: string;
public name: string;
constructor(message: string) {
/// <summary>Test summary</summary>
/// <param name="message" type="String" />
var getMessage = () => message + this.name;
this.message = getMessage();
}
}