Bug 338156

Summary: @SuppressAjWarnings({"adviceDidNotMatch"}) does not work together with "percflow"
Product: [Tools] AspectJ Reporter: Oliver <boehm>
Component: CompilerAssignee: aspectj inbox <aspectj-inbox>
Status: NEW --- QA Contact:
Severity: normal    
Priority: P3    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:

Description Oliver CLA 2011-02-24 16:16:27 EST
Build Identifier: 20100917-0705

To suppress "advice did not match" warnings I used the SuppressAjWarnings
annotation in front of the advice:

    @SuppressAjWarnings({"adviceDidNotMatch"})
    Object around(RunParallel t) : parallelMethods() && @annotation(t) {
        ...
    }

That's ok. But when I declare the aspect with "percflow" like

    public aspect RunParallelAspect percflow(parallelMethods()) {
        ...
    }

the warning will be not suppressed

Reproducible: Always

Steps to Reproduce:
1. Write an aspect with one advice that do not match any code
2. You should see a warning "advice ... has not been applied [Xlint:adviceDidNotMatch]"
3. add @SuppressAjWarnings({"adviceDidNotMatch"}) before the advice (the warning should disappear)
4. add a percflow statement to the aspect definition (the warning appears again)