Bug 72699

Summary: Bogus error message: The abstract method ajc$pointcut$$tracingScope$a2 in type Tracing can only be defined by an abstract class
Product: [Tools] AspectJ Reporter: Matthew Webster <matthew_webster>
Component: CompilerAssignee: Adrian Colyer <adrian.colyer>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 1.2   
Target Milestone: 1.2.1   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Matthew Webster CLA 2004-08-26 11:46:30 EDT
When attempting to compile the following aspect the resulting error message 
should say something like "The abstract method pointcut tracingScope in type 
Tracing can only be defined by an abstract aspect"

public aspect Tracing {
	public abstract pointcut tracingScope();

}
Comment 1 Andrew Clement CLA 2004-08-27 07:22:00 EDT
I have fixed this case and the related case of

public class Tracing
  public abstract pointcut tracingScope();
}

Which was also resulting in crap error messages.  I haven't fixed the message as
proposed in the bug report, I have fixed it properly to be

"The abstract pointcut tracingScope can only be defined in an abstract aspect"

This involved:

In pointcutdeclaration.postParse() I had to produce the correct error message.

In AjProblemReporter I have to override abstractMethodInAbstractClass and make
sure we don't report problems on methods arising from pointcut declarations
(since postParse is already putting out the right message).

Fix checked in, waiting for build.
Comment 2 Andrew Clement CLA 2004-08-28 12:34:10 EDT
Fix available: 

BUILD COMPLETE -  build.364
Date of build: 08/27/2004 22:17:38
Time to build: 95 minutes 15 seconds
Last changed: 08/27/2004 17:02:18
Latest good AspectJ jar available at:
download.eclipse.org/technology/ajdt/dev/aspectj-DEVELOPMENT.jar
Comment 3 Adrian Colyer CLA 2004-10-21 04:30:46 EDT
Fix released as part of AspectJ 1.2.1