[ 
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-20-aa-collectnodes.diff

CollectNodesVisitor.visit() is annotated with @SuppressWarnings("unchecked") 
because it has an unchecked cast to T when inserting a node into a List<T> 
instance:

    nodeList.add( (T) node);

This can be turned into a checked cast by using the Class object in the 
nodeClass field:

    nodeList.add(nodeClass.cast(node));

The attached derby-5840-20-aa-collectnodes.diff patch makes this change.

It also had to change the type of the nodeClass field from plain Class to 
Class<T> in order to make this work, and the type of the corresponding 
parameter in the constructor. Because of this, all callers of the constructor 
had to be updated to use the generic syntax to prevent new warnings from 
popping up where the constructor was called. That is, new 
CollectNodesVisitor(...) had to be replaced with new 
CollectNodesVisitor<SomeClass>(...).

Running 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, 
> derby-5840-17-aa-property-conglomerate.diff, derby-5840-18-aa-arrayutil.diff, 
> derby-5840-19-aa-ddutils.diff, derby-5840-20-aa-collectnodes.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