Bug 37023 - handler not viable as a binary join point
Summary: handler not viable as a binary join point
Status: RESOLVED WORKSFORME
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows NT
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Jim Hugunin CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-04-28 15:13 EDT by Wes Isberg CLA
Modified: 2003-04-30 21:56 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Wes Isberg CLA 2003-04-28 15:13:29 EDT
Is handler-execution viable as a binary join point?

The developers of Javac are delivering on their 1.4 promise to aggressively 
inline exception handlers.  As a result, handlers produced by javac 1.4.1 are 
not recognized by ajc right now.

(See test applied to tests/binaryWarnings/injars/app-javac-1.4.jar (compiled 
with javac 1.4.1 on Windows NT)).

At present, we know that around and after advice cannot be implemented for 
exception handlers in all cases.  If it looks like declare-warning and before 
advice cannot be implemented for handlers in all cases, then we should consider
- documenting it
- testing for all relevant compilers
- providing compiler warnings in -verbose mode 
  when source contains handler pointcut designators
- deprecating the handler pointcut
- removing the handler pointcut from the 1.1 language
Comment 1 Jim Hugunin CLA 2003-04-30 21:56:20 EDT
I believe that before advice and declare warning work acceptably in this 
case.  My reading of this test case is that ajc identifies this handler just 
fine, but that it gets the initial line number wrong by pointing to the first 
line of code within the handler rather than to the catch clause itself.  See 
bug 37020 for more comments on this and a place to discuss the line number 
issue further.