| Summary: | ISA not working in exception handler | ||||||
|---|---|---|---|---|---|---|---|
| Product: | z_Archived | Reporter: | Justin Spadea <jspadea> | ||||
| Component: | EDT | Assignee: | Huang Ji Yong <hjiyong> | ||||
| Status: | CLOSED FIXED | QA Contact: | |||||
| Severity: | major | ||||||
| Priority: | P1 | CC: | greer, jqian | ||||
| Version: | unspecified | ||||||
| Target Milestone: | --- | ||||||
| Hardware: | PC | ||||||
| OS: | Linux | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
(Note to self: everything should work, except the isa is eventually resulting in string compare of two type signatures -- they actually match, except the one on the exception itself is all lowercased.....) The generator wasn't lowercasing type signatures (as used in isA expressions); in addition, I've reworked the isA gen to structure the logic the same as for Java gen while also incorporating some add'l isA logic from RBD. It's still not working. It's comparing the signature in format "Tfoo/bar;" with the qualified name "foo.bar". make this major, as it would fail many services testing Created attachment 206515 [details]
Fix
Change the typo of egl.service to eglx.service in TypeTemplate to solve this problem Verified |
The following ISA check fails, but if you look at the type in firebug it *is* a ServiceInvocationException. package pkg; handler isaDefect type RUIhandler {initialUI = [],onConstructionFunction = start} function start() svc iDontExist?{@DedicatedService {}}; call svc.func() returning to foo onException ex; end function foo() end function ex(exp AnyException in) if (exp isa ServiceInvocationException) syslib.writestdout("success!"); else syslib.writestdout("failure!"); end end end interface iDontExist function func(); end