Вызов тут не причем. Речь идет только о том, чтобы из this.constructor.name получить имя конструктора. И при псевдо-статическом наследовании получить в .name нужное имя. Так получается, то единственный способ гарантировать это - создавать конструктор с именем.
Но в моей задаче пришлось решить это дело созданием незащищенной constructor.__name__, которая берется из constructor.name или аргумента. В общем не самое красивое решение, но для моей задачи подойдет: мне нужно просто именовать модули в глобальном режиме. Единственный способ это имя конструктора, поскольку мне нужна совместимость с синтаксическим сахаром, генерируемым через CoffeeScript.
Целостность системы у меня отдельно проверяется, так что существование одинаковых имен для меня не проблема.
Последний раз редактировалось Андрей Параничев, 16.11.2011 в 23:06.
|