| Summary: | set values block creating statement blocks with reference to local variable | ||
|---|---|---|---|
| Product: | z_Archived | Reporter: | Jeff Douglas <jeffdouglas> |
| Component: | EDT | Assignee: | Project Inbox <edt.compiler-inbox> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | major | ||
| Priority: | P1 | CC: | pharmon, svihovec |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| Whiteboard: | |||
I have reworked the nested setvalues code so that this works correctly now. Changes primarily to: Egl2MofMember Egl2MofExpression This high severity defect was fixed several weeks ago, so I am closing. |
Paul, the XML created by this sample code is creating 2 statement blocks inside the set values, and the local variable eze$SettingTarget1 is defined in the 1st statement block, but referenced in the 2nd. The problem is that any statement block gets generated with { } around it, making the local variable not visible to the 2nd block. package acme.driver; record Employee EmpNo EmpNumber; array EmpNumber[] = new EmpNumber[]; dict Dictionary{}; LastName string; end record EmpNumber department string{JSONName = "dept"}; value int{JSONName = "empno"}; end program bug3 emp1 Employee{EmpNo{department = "salesx", value = 10}, LastName = "Smithx"}; emp2 Employee{}; empAny any = new Employee{EmpNo{department = "salesy", value = 10}, LastName = "Smithy"};//, dict{abc="abc",cde="cde"} }; empAny2 any = new Employee{}; function main() end end