//// [privacyCheckOnTypeParameterReferenceInConstructorParameter.ts] export class A{ constructor(callback: (self: A) => void) { var child = new B(this); } } export class B { constructor(parent: T2) { } } //// [privacyCheckOnTypeParameterReferenceInConstructorParameter.js] define(["require", "exports"], function (require, exports) { var A = (function () { function A(callback) { var child = new B(this); } return A; })(); exports.A = A; var B = (function () { function B(parent) { } return B; })(); exports.B = B; }); //// [privacyCheckOnTypeParameterReferenceInConstructorParameter.d.ts] export declare class A { constructor(callback: (self: A) => void); } export declare class B { constructor(parent: T2); }