Bug 210114 - Assymetric treatment of compiler limitations
Summary: Assymetric treatment of compiler limitations
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 minor (vote)
Target Milestone: 1.6.2   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-11-16 11:17 EST by Ramnivas Laddad CLA
Modified: 2008-08-21 14:00 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ramnivas Laddad CLA 2007-11-16 11:17:07 EST
This is related to #33636 (a very old bug!) and recently encountered in Spring (see http://opensource.atlassian.com/projects/spring/browse/SPR-4114). There is an easy workaround hence marking this as "minor".

Consider the following aspect and class:

package test;

public aspect TestAspect {
	Object around() : within(TestClass) {
		return proceed();
	}
	
	after() : within(TestClass) {
	}
}

class TestClass {
	public void test() {
		try {
			new String();
		} catch (Exception ex) {
		}
	}
}

This produces:
Compiler errors for around() for initialization and preinitialization join points
Compiler warnings for around() and after() for handler join points

Errors and warnings note "compiler limitation". It seems using warnings for both cases may be appropriate and less confusing.
Comment 1 Andrew Clement CLA 2008-08-21 14:00:30 EDT
changed to warnings for those limitations. test and fix in.