Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 358651

Summary: Unexpected behavior with case statement using Any/Number in/inout parameter
Product: z_Archived Reporter: Kathy Carroll <carrollk>
Component: EDTAssignee: Project Inbox <edt.javagen-inbox>
Status: CLOSED FIXED QA Contact:
Severity: major    
Priority: P3 CC: jeffdouglas
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:
Attachments:
Description Flags
project archive file
none
driver program egl file
none
Eunit Library none

Description Kathy Carroll CLA 2011-09-22 15:25:20 EDT
Created attachment 203860 [details]
project archive file

All of these variations worked in RBD except for TestNumberIn which had a validation error.

First problem is generated java with an error in it.  Uncomment the code in testAnyInOut to get the error.

Second problem running driver program doesn't give consistent results.  I'd expect each grouping to writeout One,two, otherwise.
Comment 1 Jeff Douglas CLA 2011-09-23 12:40:27 EDT
this is because we haven't done the work on the number type yet.
Comment 2 Jeff Douglas CLA 2011-09-30 22:40:30 EDT
fixed.

As far as the passing of a literal to an any inout. This should be given a validation error as you cannot pass a literal as an inout arg. You can either define a variable as any? and assign 1, 2 and 3 to it and pass that variable, or specify "1 as any" to make it work (although that should be validated out as well for inout parm).
Comment 3 Kathy Carroll CLA 2011-10-12 15:10:47 EDT
Created attachment 205063 [details]
driver program egl file

Retested with 201110120952.  RBD allows me to use an integer literal as an argument to a parameter specified as any inout.  That works in EDT.  Would think it should work for number as well without doing the explicit conversion.

Modified the driver program cause different functions have java gen compile errors now.
Comment 4 Kathy Carroll CLA 2011-10-19 11:38:24 EDT
getting java compile errors:

Type mismatch: cannot convert from AnyBoxedObject<ESmallint> to AnyBoxedObject<EAny>

using install build 201110190903
Comment 5 Kathy Carroll CLA 2011-10-20 11:36:37 EDT
Created attachment 205645 [details]
Eunit Library

I believe these are related as well.  All eunit variations should compile and pass.
Comment 6 Kathy Carroll CLA 2011-10-20 12:47:47 EDT
Increased severity due to the number of failing variations that could be resolved by this defect.  Resolving 358651 (Java) and 361568 (JS) required before further analysis of lang.express.parameter testcases.
Comment 7 Jeff Douglas CLA 2011-10-20 13:30:42 EDT
fixed
Comment 8 Lisa Lasher CLA 2011-11-09 14:13:26 EST
This high severity defect was fixed several weeks ago, so I am closing.