А реально расписать вот такое безобразие:
var nameSpace = {};
(function () {
/**
* @constructor
* @param {Object} arg
*/
function Constructor1(arg) {}
nameSpace.Constructor1 = Constructor1;
(function () {
function method1() {}
Constructor1.prototype.method1 = method1;
}());
}());
(function () {
/**
* @constructor
*/
function Constructor2() {}
nameSpace.Constructor2 = Constructor2;
(function () {
function method2() {}
Constructor2.prototype.method2 = method2;
}());
}());
/**
* @constructor
* @param {Object} arg
*/
nameSpace.Constructor3 = function (arg) {};
nameSpace.Constructor3.prototype.method3 = function () {};
чтобы WebStorm нормально структуру отображал?
Такие заморочки, чтобы name у функций был заполнен. И вообще стоит ли с этим заморачиваться?