google / google/closure-compiler
JSC_INEXISTENT_PROPERTY if lends is used with object reference
- Dominant language
- JavaScript
- Stars
- 7.7k
- Forks
- 1.2k
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 6
Description
If we use '@lends' with object definition it works but if we re-use this object reference at some other place in the code for 'lends' it does not work.
This will throw the warning: JSC_INEXISTENT_PROPERTY: Property getJerseyNumber never defined on player
var getDetails = {
getJerseyNumber: function() {
return Math.random();
}
};
function mixIn(source, delta) {
for (var i in delta) {
source[i] = delta[i];
}
}
var player = {
name: 'Tom',
sport: 'Football'
};
alert(player.sport);
mixIn(player, /*\* @lends {player} */ getDetails);
alert(player.getJerseyNumber());
/////
But this works.
mixIn(player, /*\* @lends {player} */ {
getJerseyNumber: function(){}
});
Contributor guide
Assessment
This issue has not been assessed yet.