[
https://issues.apache.org/jira/browse/DERBY-5840?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Knut Anders Hatlen updated DERBY-5840:
--------------------------------------
Attachment: derby-5840-16-aa-class-size-catalog.diff
The ClassSize class is annotated so that unchecked conversion warnings are
suppressed in the entire class.
The warnings are there because ClassSize cannot access ClassSizeCatalog
directly, and must access it via an unchecked cast to Hashtable<String,int[]>.
ClassSizeCatalog is generated by ClassSizeCrawler long after ClassSize is
compiled, so ClassSize must use reflection to access it.
The derby-5840-16-aa-class-size-catalog.diff patch refactors ClassSizeCatalog
so that ClassSize doesn't have to do the unchecked cast. It introduces a new
abstract class called ClassSizeCatalog, and makes ClassSizeCrawler create a
ClassSizeCatalogImpl class that extends ClassSizeCatalog. This way, it's safe
for ClassSize to access the catalog via the abstract ClassSizeCatalog class
without reflection, and it doesn't need to cast it unchecked to Hashtable.
I'm running regression tests.
> Clean up compiler warnings introduced by using Java 5 language features
> -----------------------------------------------------------------------
>
> Key: DERBY-5840
> URL: https://issues.apache.org/jira/browse/DERBY-5840
> Project: Derby
> Issue Type: Improvement
> Components: Miscellaneous
> Affects Versions: 10.10.1.1
> Reporter: Rick Hillegas
> Attachments: derby-5840-01-aa-compatibilityTests.diff,
> derby-5840-02-aa-compatibilityTests-again.diff.txt,
> derby-5840-03-aa-drda.diff, derby-5840-03-ab-drda.diff,
> derby-5840-04-aa-client-level.diff, derby-5840-05-aa-client-deprecation.diff,
> derby-5840-06-aa-jdbc3-stubs.diff, derby-5840-07-aa-drda-for-each.diff,
> derby-5840-08-aa-jdbc3-embedded.diff,
> derby-5840-09-aa-test-deprecation-and-unchecked.diff,
> derby-5840-10-aa-derbynet-perf-system.diff,
> derby-5840-11-aa-engine-i18n-store-tools.diff, derby-5840-12-aa-jdbcapi.diff,
> derby-5840-13-aa.diff, derby-5840-13-aa-remove-suppression.diff,
> derby-5840-14-aa-bigdecimal.diff, derby-5840-15-aa-more-suppressions.diff,
> derby-5840-16-aa-class-size-catalog.diff
>
>
> Using Java 5 language features forces us to compile code at level 5 or
> higher. At this level, the compiler raises warnings not seen at lower levels.
> This issue is a place to discuss and attach cleanup to eliminate these
> warnings.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira