//// [staticMethodReferencingTypeArgument1.ts] module Editor { export class List { next: List; prev: List; constructor(public isHead: boolean, public data: T) { } static MakeHead(): List { var entry: List = new List(true, null); // can't access T here entry.prev = entry; entry.next = entry; return entry; } } } //// [staticMethodReferencingTypeArgument1.js] var Editor; (function (Editor) { var List = (function () { function List(isHead, data) { this.isHead = isHead; this.data = data; } List.MakeHead = function () { var entry = new List(true, null); // can't access T here entry.prev = entry; entry.next = entry; return entry; }; return List; })(); Editor.List = List; })(Editor || (Editor = {}));