[ 
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

Reply via email to