View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0010031 | Open CASCADE | OCCT:Foundation Classes | public | 2005-09-19 13:48 | 2016-04-20 15:48 |
Reporter | Assigned To | bugmaster | |||
Priority | normal | Severity | feature | ||
Status | closed | Resolution | fixed | ||
OS | All | ||||
Target Version | 7.0.0 | Fixed in Version | 7.0.0 | ||
Summary | 0010031: Eliminate unnecessary hxx files duplicating cdl definitions | ||||
Description | Some packages and classes in Open CASCADE (e.g. Standard) have more than one definition: besides CDL, one (or more!) manually adapted HXX files which are used actually instead of generated one (by overriding it on one of WOK steps). This leads to: - confusions when editing (e.g. programmer may modify CDL but did not notice extra hxx), - inconsistency in definition and documentation (when CDL and HXX contain different data), - problems with integrations (like today when Standard.hxx has not been integrated since it was not in FILES) - etc. In order to avoid these problems, the situation should be analysed and regularized by using, whenever possible, single definition for a class. ------- Here is short analysis of the current status. This kind of duplication can be found in packages Standard, CPPJini, Draw, and WOK (WOKUtils, WOKTools, WOKTclTools). It seems that there are at least two methods used for replacing generated headers by manual ones: - header file present in FILES and seems to be copied by WOK to inc after CDL extraction (e.g. CPPJini.hxx) - header file is copied by additional WOK step (defined using .edl file -- see e.g. Standard package) Note that manually created HXX files sometimes have the same name as the class, sometimes have _proto postfix. Moreover in some cases (e.g. Standard_Transient) both *.hxx and *_proto.hxx are used (one #including the other). The following errors should be fixed at minimum: - all manually written headers should be present in FILES exactly once (seems to be already fixed today) - the signature of methods and Doxygen documentation strings in hxx files should correspond to CDL definitions (currently the documentation is missing in most of hxx; methods definitions is often different -- see e.g. Standard_Transient::Initialize()) - the note should be put in relevant CDL and HXX files indicating that manually written header will be used instead of generated one, and that this header should be corrected along with CDL If possible, manually supported hxxs should be eliminated (this should be possible in most cases using WOK capabilities) | ||||
Tags | No tags attached. | ||||
Test case number | |||||
related to | 0024002 | closed | Overall code and build procedure refactoring |
Date Modified | Username | Field | Change |
---|---|---|---|
2005-10-31 11:33 | bugmaster | Assigned To | bugmaster => imv |
2005-10-31 11:33 | bugmaster | Status | new => assigned |
2005-12-23 18:14 |
|
Assigned To | imv => pdn |
2011-08-02 11:23 | bugmaster | Category | OCCT:FDC => OCCT:Foundation Classes |
2013-03-04 09:14 |
|
Assigned To | pdn => abv |
2014-06-05 18:56 |
|
Relationship added | related to 0024002 |
2014-09-12 12:54 |
|
Fixed in Version | EMPTY => |
2014-09-12 12:54 |
|
Target Version | => 7.0.0 |
2014-09-12 12:54 |
|
Description Updated | |
2015-09-25 01:12 |
|
Note Added: 0046117 | |
2015-09-25 01:12 |
|
Assigned To | abv => bugmaster |
2015-09-25 01:12 |
|
Status | assigned => feedback |
2015-09-30 11:39 | bugmaster | Status | feedback => tested |
2015-09-30 11:39 | bugmaster | Status | tested => verified |
2015-09-30 11:39 | bugmaster | Resolution | open => fixed |
2016-04-20 15:44 |
|
Fixed in Version | => 7.0.0 |
2016-04-20 15:48 |
|
Status | verified => closed |