Closed Bug 456654 Opened 16 years ago Closed 12 years ago

Treehydra: spurious calls to process_type()

Categories

(Developer Infrastructure :: Source Code Analysis, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: jorendorff, Unassigned)

References

Details

-- Treehydra script function process_type(ty) { _print(ty.name); } -- C++ translation unit enum Color {blue}; volatile Color x; --- Expected output Color --- Actual output Color volatile Color
Blocks: 437502
why is this spurious? in GCC, type modifiers such as volatile and const are different type objects. You can use .variantOf to get back to the unmodified version if you desire.
process_type is documented to be called "for each class/struct/enum/union definition". http://developer.mozilla.org/en/Dehydra_Manual#process_function(decl.2c_body)
The alternative is to have type objects magically appear in function bodies which never went through process_type, which is I think a worse alternative. Can we just change the docs?
Built-in types like int and float, function types, pointer and reference types, array types, and const-qualified types already appear without going through process_type. (Types that are instantiations of class templates, and their members that are types, do go through process_type. I don't care one way or the other about that.)
Dehydra and treehydra are no longer maintained by Mozilla.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → WONTFIX
Product: Core → Firefox Build System
Product: Firefox Build System → Developer Infrastructure
You need to log in before you can comment on or make changes to this bug.