| Summary: | Case statement with integer literals fails when incoming parameter is of type any and caller sends in Integer | ||||||
|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Kathy Carroll <carrollk> | ||||
| Component: | EDT | Assignee: | Project Inbox <edt.compiler-inbox> | ||||
| Status: | CLOSED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P1 | CC: | jeffdouglas, jqian, pharmon | ||||
| Version: | unspecified | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | Windows XP | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
I had a long talk with Tim and this is actually invalid. We are changing this over to validation to prevent it from happening. The problem is that the CASE (or IF) statement is allowing an Any to be compared to another type (short), without casting the any. It should have been coded like this: case(incoming as int) or case(incoming as short) Tim wants to discuss this further. After discussing this with Tim, we decided that this should actually work. I have updated the following java runtime classes for this: AnyDelegate AnyEnumeration EAny ENumber verified with 20111111_0901 & closed |
Created attachment 204525 [details] driver program Case statement with integer literals fails when incoming parameter is of type any and caller sends in Integer. This works in RBD. See attached program