Bug 79081
| Summary: | [meta] Add an "IDL attribute checker" to detect typo of IDL attributes | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Kentaro Hara <haraken> |
| Component: | WebCore JavaScript | Assignee: | Kentaro Hara <haraken> |
| Status: | NEW | ||
| Severity: | Normal | CC: | abarth, ap, darin |
| Priority: | P2 | ||
| Version: | 528+ (Nightly build) | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Bug Depends on: | 79082, 79090, 79091, 79160 | ||
| Bug Blocks: | |||
Kentaro Hara
We have fixed 10~ bugs caused by typos of IDL attributes. Now we need an "IDL attribute checker", which checks if IDL attributes not implemented in code generates are not used in IDL files.
- The "IDL attribute checker" uses IDLAttributes.txt, which lists all IDL attributes implemented in code generators. If we want to add a new IDL attribute, we need to add it to IDLAttributes.txt manually.
- The "IDL attribute checker" checks if all IDL attributes used in IDL files are listed in IDLAttributes.txt.
- If the "IDL attribute checker" fails, the build fails with a verbose error message.
Considering the following build flow, I guess that resolve-supplemental.pl would be the right place to add the "IDL attribute checker".
supplemental_dependency.tmp: $(ALL_IDLS)
perl resolve_supplemental.pl ...
JS%.cpp : %.idl supplemental_dependency.tmp
perl generate-bindings.pl ...
To avoid build regression, I am planning to land the patch in the following steps:
- Enable the "IDL attribute checker" in Chromium.
- Enable the "IDL attribute checker" in all other build systems.
- Rename resolve-supplemental.pl to preprocess-idls.pl.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Adam Barth
Sounds great.