Community
Participate
Working Groups
20060212 The following problems are uncategorized, should go in the fatal error group. So it seems that these problems ar neither CAT_SYNTAX nor CAT_TYPE or CAT_MEMBER - The literal 9999999999999999999999 of type int is out of range - Duplicate parameter x They should either go to the CAT_MEMBER category or we need an additional category for all fatal errors not covered by any other category.
Technically speaking, these are not SYNTAX errors (as per grammar). I suspect all internal fatal errors are falling into CAT_UNSPECIFIED. Why is this an issue ? These are not member related, i.e. a change to an external method/field is not going to affect them either way. You need to perform an edit to the offending unit in order to address this error.
Fatal is an orthogonal notion; it depends on a configurable severity (for some) and from an option (treat optional error as fatal). There are mandatory errors, and others. Others can still be made fatal if wanted. So I believe you can assume CAT_UNSPECIFIED is holding all these default mandatory problems which aren't affected by external code changes and we can treat optional ones which would fall into this bucket as bugs if we find any.
What I want to group are mandatory errors. As CategorizedProblem is API, and clients have to reuse the groups, they also will very likely use the 'unspecified' group, but their problems are probably not mandatory. So we need to distiguish there. I strongly suggest to introduce a UNSPECIFIED_MANDATORY.
Added CAT_INTERNAL to denote all problems not affected by external code changes, and which require an edit to get addressed.
All problems previously stored into CAT_UNSPECIFIED are now in CAT_INTERNAL. Note that I inserted CAT_INTERNAL at 60, and shifted all the CAT_* definitions below (see CategorizedProblem). Tuned affected build tests.
Verified for 3.2 M5 using build I20060215-0010