In [JSDoc](http://usejsdoc.org/tags-type.html) there exists the possibility to document the exact types of array contents [like this](http://usejsdoc.org/tags-type.html):

```
/** @param {Array.<MyClass>} myClasses An array of MyClass objects. */
TestClass.protoype.someMethod = function( myClasses ){
   myClasses[0].aMethodOnMyClass();
}

```

This makes code completion in IDEs like WebStorm actually provide the right type information after the `[0].`. This works well for the Array type, however I have my own collection types where I would like to make use of this feature, too. The problem is I cannot find the right syntax (maybe because there is none, yet). I would love to be able to declare my class somehow like this:

```
/**
 * @typeparam {T} the type parameter
 * @constructor {Test2.<T>}
 * */
Test2 = function(){};

/**
 * @returns {T} a value of type T, where T is the generic type parameter of Test2
 */
Test2.prototype.getGenericValue = function(){}

```

This syntax or feature does not work with my IDE and is not listed [here](https://developers.google.com/closure/compiler/docs/js-for-compiler#types), so I am wondering whether there is a syntax for this use-case, either for WebStorm or any other JS authoring tool.