Я использую @lends + @constructs + @augments для определений классов MooTools (настраиваемый вариант пространства имен), однако у меня возникают некоторые проблемы с проверкой в PhpStorm в расширяющих классах, если я не включаю инициализацию в расширяющий класс с помощью @ конструкции над ним. Разве в jsDoc нельзя пропустить инициализацию в расширяющих классах ИЛИ проверка PhpStorm просто работает неправильно?
new Class('Validator.Generic',
/**
* @lends Validator.Generic
*/
{
/**
* @constructs
*/
initialize:function(){}
}
new Class('Validator.Regex',
/**
* @augments Validator.Generic
* @lends Validator.Regex
*/
{
//PhpStorm inspection reports unrecognized symbol Regex unless
//I add a method with @constructs here, even though the class
//it augments has a constructor
});
Я тоже пробовал вариации. Это работает только в том случае, если я добавляю инициализацию в расширяющий класс (например, Validator.Regex) вместе с тегом @constructs в докблок. Это конечно не идеально.