| Summary: | Generated Java has unreachable code | ||
|---|---|---|---|
| Product: | z_Archived | Reporter: | Kathy Carroll <carrollk> |
| Component: | EDT | Assignee: | Project Inbox <edt.mofmodel-inbox> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | jeffdouglas, mheitz |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| Whiteboard: | |||
This is actually a problem with the code expansion utility. It inserts a line of code after the return statement for each inout and out parameter. The return statement should be last. The same kind of problem could happen with throw and transfer statements. We don't support transfer in 0.7, so feel free to handle that one later. Problem still happens with install build 201109150902. If make runMultiTest's testName paramater an in parameter, generated Java is OK. fixed 201109242101 Closing this defect. |
package explore; // basic library library Tester {} function executeLibTest(testName String) returns (MultiStatus) testMethods String[] = "runTestType01", "runTestType02"]; runTestMtds runTestMethod[]; return (runMultiTest(testMethods, runTestMtds, testName)); end function runMultiTest(testMethods String[], runTestMtd runTestMethod[], testName String) returns (MultiStatus) ms MultiStatus; return (ms); end end Record MultiStatus //these values accumulate the aggregate outcome, without //requiring the individual outcomes be stored testCnt int; expectedCnt int; end delegate runTestMethod() end