kieker-monitoring / kieker

Kieker's main repository
Apache License 2.0
70 stars 41 forks source link

[KIEKER-1011] Compiling AbstractAspect with ajc lets eclipse complain #2826

Open rju opened 4 days ago

rju commented 4 days ago

JIRA Issue: KIEKER-1011 Compiling AbstractAspect with ajc lets eclipse complain Original Reporter: Christian Wulf


A little code example:

package monitoring.aspect;

import kieker.monitoring.probe.aspectj.flow.operationCall.AbstractAspect;

import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;

Aspect
public class FileInputStreamProbe extends AbstractAspect {
    Pointcut(...)
    Override
    public void monitoredOperation() {
        // empty
    }
}

When the AbstractAspect from Kieker is compiled with ajc, eclipse complains about not finding the method

monitoredOperation

to override in AbstractAspect. When compiling and exporting it with eclipse, the method is found.

rju commented 4 days ago

author Unknown -- Tue, 10 Jul 2012 13:05:16 +0200

A first look reveals a difference in the definition of the abstract method in AbstractAspect. When compiling it with ajc, the bytecode modifier synthetic is additionally inserted.

A short description to synthetic.

rju commented 4 days ago

author Jan Waller -- Tue, 10 Jul 2012 17:05:12 +0200

I can see the same problem here.
Eclipse is actually acting correctly, if a method is marked synthetic it should be ignored (handled as if not present).
The question is: Why does AspectJ mark this method synthetic?

rju commented 4 days ago

author André van Hoorn -- Mon, 3 Sep 2012 15:22:19 +0200

Check if problem still present -> post AspectJ bug report

rju commented 4 days ago

author Jan Waller -- Mon, 10 Sep 2012 11:28:30 +0200

Postet to aspectj
https://bugs.eclipse.org/bugs/show_bug.cgi?id=389146

rju commented 4 days ago

author Jan Waller -- Mon, 10 Sep 2012 12:14:41 +0200

Currently, there is not much to do about this problem.
Hopefully it gets fixed in a future aspectj version.