Указание для Eclipse / JSDT типа переменной Javascript

Я пытаюсь использовать Eclipse для некоторой серверной разработки Javascript.

Используемый мной API имеет функцию doStuff (string, object) (имена изменены для защиты виновных), которая возвращает значения разных типов (подклассы одного типа) в зависимости от (значений) аргументов. передал его.

Я создал библиотеку Javascript для описания этой функции:

/**
  * function doStuff(s, o)
  * @memberOf Global
  * @param {String} s
  * @param {Object} o
  * @type ResultType
  * @returns {ResultType}
  */
doStuff = function(str, obj} {return new ResultType();}

Поскольку она может возвращать несколько типов, я объявил ее как возвращающую базовый тип. Однако это означает, что Eclipse не знает, что это за тип на самом деле, и поэтому позже я получаю ложные ошибки при попытке доступа к полям этого объекта.

Таким образом, могут быть FooResultType, BarResultType, каждый из которых является ResultTypes, но имеет дополнительные поля / функции

Есть ли способ обойти это? Могу ли я каким-то образом аннотировать переменную, содержащую возвращаемое значение, чтобы Eclipse знал, что это за тип на самом деле?

Я пробовал (с фигурными скобками вокруг FooResultType и без них)

/**
  * @type FooResultType
  */
  v = doStuff("stringvalue", someObject);

, но это не имеет значения.

(Есть другие вопросы в этой области, но я думаю, ничего, что могло бы решить эту проблему)

5
задан The Archetypal Paul 3 July 2011 в 17:51
поделиться