google / google/closure-compiler
Fails to error on "data" property on any type
Open
OTI
- Dominant language
- JavaScript
- Stars
- 7.7k
- Forks
- 1.2k
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 6
Description
The type checker acts like `data` is a valid property of any Object type.
closure-compiler-v20160911.jar --jscomp_error=checkTypes --jscomp_error=checkVars --jscomp_error=missingProperties
``` javascript
/** @type {number} e */
function bar(e) {
var a = new Object();
foo(a.data); // No error!
foo(Object.prototype.data); // No error!
foo(a.blah); // ERROR - Property blah never defined on Object
}
/** @type {number} */
function foo(o) { o++; }
```
Expected: First error on line 4, "Property data never defined on Object"
Actual: First error on line 6, "Property blah never defined on Object"
Contributor guide
Assessment
This issue has not been assessed yet.