Consider the following example:
Code: Select all
/**
* @class
*/
function Foo() {
/**
* @return {Object}
*/
this.bar = function() {
return {};
};
}
function f1(/*Function*/f) {
//
}
function f2(/*String*/s, /*Function*/f) {
//
}
function f3(/*Function*/f, /*String*/s) {
//
}
f1(function(/*Foo*/foo) {
// code completion for foo works here
});
f2('', function(/*Foo*/foo) {
// !!! code completion for foo *DOESN'T* work here
});
f3(function(/*Foo*/foo) {
// code completion for foo works here
}, '');