Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 357000 - ISA not working in exception handler
Summary: ISA not working in exception handler
Status: CLOSED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: EDT (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P1 major (vote)
Target Milestone: ---   Edit
Assignee: Huang Ji Yong CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-09-07 15:47 EDT by Justin Spadea CLA
Modified: 2017-02-23 14:20 EST (History)
2 users (show)

See Also:


Attachments
Fix (1.03 KB, patch)
2011-11-07 08:54 EST, Huang Ji Yong CLA
lasher: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Justin Spadea CLA 2011-09-07 15:47:31 EDT
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
Comment 1 Scott Greer CLA 2011-09-26 23:10:58 EDT
(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.....)
Comment 2 Scott Greer CLA 2011-09-27 09:40:37 EDT
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.
Comment 3 Justin Spadea CLA 2011-11-01 16:25:00 EDT
It's still not working. It's comparing the signature in format "Tfoo/bar;" with the qualified name "foo.bar".
Comment 4 Jing Qian CLA 2011-11-03 16:45:20 EDT
make this major, as it would fail many services testing
Comment 5 Huang Ji Yong CLA 2011-11-07 08:54:47 EST
Created attachment 206515 [details]
Fix
Comment 6 Huang Ji Yong CLA 2011-11-07 09:06:28 EST
Change the typo of egl.service to eglx.service in TypeTemplate to solve this problem
Comment 7 Justin Spadea CLA 2011-11-08 12:50:02 EST
Verified