Bug 106826 - BCException when type pattern incorrectly used in a 'target' statement
Summary: BCException when type pattern incorrectly used in a 'target' statement
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: DEVELOPMENT   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 1.5.0 M4   Edit
Assignee: Adrian Colyer CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-08-12 05:31 EDT by Valerio Schiavoni CLA
Modified: 2005-08-30 09:25 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 Valerio Schiavoni CLA 2005-08-12 05:31:49 EDT
Maybe it is a not proper use of the target statement togheter with annotations.
pointcut callOnAnnotatedTypes():
           call(* *.*(..)) &&
           target((@MemberOfMonitoredSet *));

which reported the following stacktrace:

[iajc] trouble in: 
     [iajc] public class test.MonitorAspect extends java.lang.Object:
     [iajc]   private static Throwable ajc$initFailureCause
     [iajc]   public static final test.MonitorAspect ajc$perSingletonInstance
     [iajc]   static void <clinit>():
     [iajc]     staticinitialization(void test.MonitorAspect.<clinit>())
     [iajc]     | catch java.lang.Throwable -> E0
     [iajc]     | |             INVOKESTATIC test.MonitorAspect.ajc$postClinit
()V   (line 4)
     [iajc]     | catch java.lang.Throwable -> E0
     [iajc]     |               GOTO L0
     [iajc]     |           E0: ASTORE_0
     [iajc]     |               ALOAD_0
     [iajc]     |               PUTSTATIC
test.MonitorAspect.ajc$initFailureCause Ljava/lang/Throwable;
     [iajc]     |           L0: RETURN
     [iajc]     staticinitialization(void test.MonitorAspect.<clinit>())
     [iajc]   end static void <clinit>()

     [iajc]   public void <init>():
     [iajc]                     ALOAD_0     // test.MonitorAspect this   (line 4)
     [iajc]                     INVOKESPECIAL java.lang.Object.<init> ()V
     [iajc]     constructor-execution(void test.MonitorAspect.<init>())
     [iajc]     |               RETURN
     [iajc]     constructor-execution(void test.MonitorAspect.<init>())
     [iajc]   end public void <init>()

     [iajc]   void ajc$pointcut$$callOnAnnotatedInterface$40()   
org.aspectj.weaver.MethodDeclarationLineNumber: 6:64
     [iajc] :
     [iajc]                     RETURN   (line 11)
     [iajc]   end void ajc$pointcut$$callOnAnnotatedInterface$40()

     [iajc]   public void ajc$before$test_MonitorAspect$1$871930bf()   
AdviceAttribute(before, callOnAnnotatedInterface(), 0, 326)
     [iajc] :
     [iajc]     advice-execution(void
test.MonitorAspect.ajc$before$test_MonitorAspect$1$871930bf())
     [iajc]     |               GETSTATIC java.lang.System.out
Ljava/io/PrintStream;   (line 14)
     [iajc]     |               LDC "EMAspect: annotation on ITF detected"
     [iajc]     |               ASTORE_1
     [iajc]     |               ASTORE_2
     [iajc]     | method-call(void java.io.PrintStream.println(java.lang.String))
     [iajc]     | |             ALOAD_2
     [iajc]     | |             ALOAD_1
     [iajc]     | |             INVOKEVIRTUAL java.io.PrintStream.println
(Ljava/lang/String;)V
     [iajc]     | method-call(void java.io.PrintStream.println(java.lang.String))
     [iajc]     |               RETURN   (line 15)
     [iajc]     advice-execution(void
test.MonitorAspect.ajc$before$test_MonitorAspect$1$871930bf())
     [iajc]   end public void ajc$before$test_MonitorAspect$1$871930bf()

     [iajc]   public static test.MonitorAspect aspectOf()   
org.aspectj.weaver.AjAttribute$AjSynthetic@383118
     [iajc] :
     [iajc]                     GETSTATIC
test.MonitorAspect.ajc$perSingletonInstance Ltest/MonitorAspect;
     [iajc]                     IFNONNULL L0
     [iajc]                     NEW org.aspectj.lang.NoAspectBoundException
     [iajc]                     DUP
     [iajc]                     LDC "test_MonitorAspect"
     [iajc]                     GETSTATIC
test.MonitorAspect.ajc$initFailureCause Ljava/lang/Throwable;
     [iajc]                     INVOKESPECIAL
org.aspectj.lang.NoAspectBoundException.<init>
(Ljava/lang/String;Ljava/lang/Throwable;)V
     [iajc]                     ATHROW
     [iajc]                 L0: GETSTATIC
test.MonitorAspect.ajc$perSingletonInstance Ltest/MonitorAspect;
     [iajc]                     ARETURN
     [iajc]   end public static test.MonitorAspect aspectOf()

     [iajc]   public static boolean hasAspect()   
org.aspectj.weaver.AjAttribute$AjSynthetic@118d189
     [iajc] :
     [iajc]                     GETSTATIC
test.MonitorAspect.ajc$perSingletonInstance Ltest/MonitorAspect;
     [iajc]                     IFNULL L0
     [iajc]                     ICONST_1
     [iajc]                     IRETURN
     [iajc]                 L0: ICONST_0
     [iajc]                     IRETURN
     [iajc]   end public static boolean hasAspect()

     [iajc]   private static void ajc$postClinit()   
org.aspectj.weaver.AjAttribute$AjSynthetic@1758500
     [iajc] :
     [iajc]                     NEW test.MonitorAspect
     [iajc]                     DUP
     [iajc]                     INVOKESPECIAL test.MonitorAspect.<init> ()V
     [iajc]                     PUTSTATIC
test.MonitorAspect.ajc$perSingletonInstance Ltest/MonitorAspect;
     [iajc]                     RETURN
     [iajc]   end private static void ajc$postClinit()
     [iajc] end public class test.MonitorAspect
     [iajc] ABORT
     [iajc] 
     [iajc] Exception thrown from AspectJ DEVELOPMENT

     [iajc] This might be logged as a bug already -- find current bugs at
     [iajc]  
http://bugs.eclipse.org/bugs/buglist.cgi?product=AspectJ&component=Compiler

     [iajc] Bugs for exceptions thrown have titles File:line from the top stack, 
     [iajc] e.g., "SomeFile.java:243"

     [iajc] If you don't find the exception below in a bug, please add a new bug
     [iajc] at http://bugs.eclipse.org/bugs/enter_bug.cgi?product=AspectJ
     [iajc] To make the bug a priority, please include a test program
     [iajc] that can reproduce this exception.
     [iajc] bad
     [iajc] bad
     [iajc] org.aspectj.weaver.BCException: bad
     [iajc]     at org.aspectj.weaver.bcel.BcelRenderer.visit(BcelRenderer.java:229)
     [iajc]     at org.aspectj.weaver.ast.Literal.accept(Literal.java:29)
     [iajc]     at org.aspectj.weaver.bcel.BcelRenderer.recur(BcelRenderer.java:152)
     [iajc]     at
org.aspectj.weaver.bcel.BcelRenderer.renderTest(BcelRenderer.java:118)
     [iajc]     at
org.aspectj.weaver.bcel.BcelAdvice.getTestInstructions(BcelAdvice.java:474)
     [iajc]     at
org.aspectj.weaver.bcel.BcelAdvice.getAdviceInstructions(BcelAdvice.java:324)
     [iajc]     at
org.aspectj.weaver.bcel.BcelShadow.weaveBefore(BcelShadow.java:1541)
     [iajc]     at
org.aspectj.weaver.bcel.BcelAdvice.implementOn(BcelAdvice.java:160)
     [iajc]     at org.aspectj.weaver.Shadow.implementMungers(Shadow.java:497)
     [iajc]     at org.aspectj.weaver.Shadow.implement(Shadow.java:375)
     [iajc]     at
org.aspectj.weaver.bcel.BcelClassWeaver.implement(BcelClassWeaver.java:1753)
     [iajc]     at
org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:392)
     [iajc]     at
org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:96)
     [iajc]     at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1363)
     [iajc]     at
org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1328)
     [iajc]     at
org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1105)
     [iajc]     at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:980)
    [iajc]     at
org.aspectj.ajdt.internal.compiler.AjCompilerAdapter.weave(AjCompilerAdapter.java:286)
     [iajc]     at
org.aspectj.ajdt.internal.compiler.AjCompilerAdapter.afterCompiling(AjCompilerAdapter.java:165)
     [iajc]     at
org.aspectj.ajdt.internal.compiler.CompilerAdapter.ajc$afterReturning$org_aspectj_ajdt_internal_compiler_CompilerAdapter$2$f9cc9ca0(CompilerAdapter.aj:70)
     [iajc]     at
org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:368)
     [iajc]     at
org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:727)
     [iajc]     at
org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:206)
     [iajc]     at
org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:140)
     [iajc]     at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112)
     [iajc]     at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60)
     [iajc]     at org.aspectj.tools.ajc.Main.run(Main.java:324)
     [iajc]     at org.aspectj.tools.ajc.Main.runMain(Main.java:238)
     [iajc]     at
org.aspectj.tools.ant.taskdefs.AjcTask.executeInSameVM(AjcTask.java:1194)
     [iajc]     at org.aspectj.tools.ant.taskdefs.AjcTask.execute(AjcTask.java:985)
     [iajc]     at
org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
     [iajc]     at org.apache.tools.ant.Task.perform(Task.java:364)
     [iajc]     at org.apache.tools.ant.Target.execute(Target.java:341)
     [iajc]     at org.apache.tools.ant.Target.performTasks(Target.java:369)
     [iajc]     at
org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
     [iajc]     at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
     [iajc]     at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
     [iajc]     at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
     [iajc]     at org.apache.tools.ant.Main.runBuild(Main.java:668)
     [iajc]     at org.apache.tools.ant.Main.startAnt(Main.java:187)
     [iajc]     at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
     [iajc]     at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)

this is the ajc log:
ajcore.20050812.113047.137.txt 
---- AspectJ Properties ---
AspectJ Compiler DEVELOPMENT built on Wednesday Aug 10, 2005 at 13:12:53 GMT
---- Dump Properties ---
Dump file: ajcore.20050812.113047.137.txt
Dump reason: org.aspectj.weaver.BCException
Dump on exception: true
Dump at exit condition: abort
---- Exception Information ---
---- System Properties ---
java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition
sun.boot.library.path=/usr/java/jdk1.5.0/jre/lib/i386
java.vm.version=1.5.0_04-b05
ant.library.dir=/usr/share/ant//lib
java.vm.vendor=Sun Microsystems Inc.
java.vendor.url=http://java.sun.com/
path.separator=:
java.vm.name=Java HotSpot(TM) Client VM
file.encoding.pkg=sun.io
user.country=IT
sun.os.patch.level=unknown
java.vm.specification.name=Java Virtual Machine Specification
user.dir=/home/veleno/workspace/ltwtest
java.runtime.version=1.5.0_04-b05
java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
java.endorsed.dirs=/usr/java/jdk1.5.0/jre/lib/endorsed
os.arch=i386
java.io.tmpdir=/tmp
line.separator=
java.vm.specification.vendor=Sun Microsystems Inc.
os.name=Linux
ant.home=/usr/share/ant/
sun.jnu.encoding=ISO-8859-15
java.library.path=/usr/java/jdk1.5.0/jre/lib/i386/client:/usr/java/jdk1.5.0/jre/lib/i386:/usr/java/jdk1.5.0/jre/../lib/i386
java.specification.name=Java Platform API Specification
java.class.version=49.0
sun.management.compiler=HotSpot Client Compiler
os.version=2.6.9
user.home=/home/veleno
user.timezone=Europe/Rome
java.awt.printerjob=sun.print.PSPrinterJob
file.encoding=ISO-8859-15
java.specification.version=1.5
java.class.path=/usr/share/ant//lib/ant-launcher.jar:/usr/share/java/xmlParserAPIs.jar:/usr/share/java/xercesImpl.jar:/home/veleno/workspace/ltwtest/./:/home/veleno/lib/xmlrpc-1.2-b1.jar:/home/veleno/lib/jdom.jar:/home/veleno/lib/jl030.jar:/home/veleno/lib/lw.jar:/home/veleno/lwext.jar:/home/veleno/lib/kxmlrpc_full.jar:/home/veleno/lib/personal.jar:/home/veleno/lib/junit.jar:/usr/java/groovy/groovy-1.0-beta-4.jar:/usr/java/groovy/lib/asm-1.4.1.jar:/home/veleno/universit/psi/p2p/tapestry/tapestry2/src:/home/veleno/lib/liquidlnf.jar:/home/veleno/aspectj1.2/lib/aspectjrt.jar:/home/veleno/jakarta-tomcat-5.5.7/server/lib/catalina.jar:/home/veleno/jakarta-tomcat-5.5.7/server/lib/tomcat-util.jar:/home/veleno/aspectj1.5/lib/aspectjrt.jar:/usr/share/ant/lib/ant-commons-logging.jar:/usr/share/ant/lib/jdtcore.jar:/usr/share/ant/lib/groovy-1.0-beta-4.jar:/usr/share/ant/lib/asm-1.4.1.jar:/usr/share/ant/lib/asm-util-1.4.1.jar:/usr/share/ant/lib/ant-apache-bcel.jar:/usr/share/ant/lib/jdtCompilerAdapter.jar:/usr/share/ant/lib/ant-apache-log4j.jar:/usr/share/ant/lib/bcel-5.1.jar:/usr/share/ant/lib/junit.jar:/usr/share/ant/lib/ant-apache-oro.jar:/usr/share/ant/lib/ant.jar:/usr/share/ant/lib/ant-jmf.jar:/usr/share/ant/lib/ant-antlr.jar:/usr/share/ant/lib/ant-apache-bsf.jar:/usr/share/ant/lib/ant-javamail.jar:/usr/share/ant/lib/ant-jdepend.jar:/usr/share/ant/lib/ant-nodeps.jar:/usr/share/ant/lib/ant-swing.jar:/usr/share/ant/lib/ant-trax.jar:/usr/share/ant/lib/ant-launcher.jar:/usr/share/ant/lib/ant-junit.jar:/usr/share/ant/lib/ant-apache-regexp.jar:/usr/share/ant/lib/ant-apache-resolver.jar:/usr/share/ant/lib/ant-bootstrap.jar:/usr/share/ant/lib/ant-commons-net.jar:/usr/share/ant/lib/ant-jsch.jar:/usr/java/jdk1.5.0/lib/tools.jar
user.name=veleno
java.vm.specification.version=1.0
java.home=/usr/java/jdk1.5.0/jre
sun.arch.data.model=32
user.language=it
java.specification.vendor=Sun Microsystems Inc.
java.vm.info=mixed mode, sharing
java.version=1.5.0_04
java.ext.dirs=/usr/java/jdk1.5.0/jre/lib/ext
sun.boot.class.path=/usr/java/jdk1.5.0/jre/lib/rt.jar:/usr/java/jdk1.5.0/jre/lib/i18n.jar:/usr/java/jdk1.5.0/jre/lib/sunrsasign.jar:/usr/java/jdk1.5.0/jre/lib/jsse.jar:/usr/java/jdk1.5.0/jre/lib/jce.jar:/usr/java/jdk1.5.0/jre/lib/charsets.jar:/usr/java/jdk1.5.0/jre/classes
java.vendor=Sun Microsystems Inc.
file.separator=/
java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi
sun.io.unicode.encoding=UnicodeLittle
sun.cpu.endian=little
sun.cpu.isalist=
---- Command Line ---
-source
1.5
-d
/home/veleno/workspace/ltwtest/output/build
-g
-classpath
/home/veleno/workspace/ltwtest/output/build:/home/veleno/workspace/ltwtest/genClasses:/home/veleno/workspace/ltwtest/externals/aspectjrt.jar:/home/veleno/workspace/ltwtest/externals/aspectjtools.jar:/home/veleno/workspace/ltwtest/externals/aspectjweaver.jar
/home/veleno/workspace/ltwtest/src/test/MonitorAspect.aj
/home/veleno/workspace/ltwtest/src/test/MonitorAspect2.aj
---- Full Classpath ---
/usr/java/jdk1.5.0/jre/lib/rt.jar(39713589 bytes)
/usr/java/jdk1.5.0/jre/lib/i18n.jar(missing)
/usr/java/jdk1.5.0/jre/lib/sunrsasign.jar(missing)
/usr/java/jdk1.5.0/jre/lib/jsse.jar(549315 bytes)
/usr/java/jdk1.5.0/jre/lib/jce.jar(81799 bytes)
/usr/java/jdk1.5.0/jre/lib/charsets.jar(8627836 bytes)
/usr/java/jdk1.5.0/jre/classes(missing)
/usr/java/jdk1.5.0/jre/lib/ext/sunjce_provider.jar(153235 bytes)
/usr/java/jdk1.5.0/jre/lib/ext/sunpkcs11.jar(175414 bytes)
/usr/java/jdk1.5.0/jre/lib/ext/dnsns.jar(8176 bytes)
/usr/java/jdk1.5.0/jre/lib/ext/localedata.jar(802502 bytes)
/home/veleno/workspace/ltwtest/output/build(1 entries)
/home/veleno/workspace/ltwtest/genClasses(missing)
/home/veleno/workspace/ltwtest/externals/aspectjrt.jar(101419 bytes)
/home/veleno/workspace/ltwtest/externals/aspectjtools.jar(7226586 bytes)
/home/veleno/workspace/ltwtest/externals/aspectjweaver.jar(1540422 bytes)
/usr/java/jdk1.5.0/jre/lib/ext/sunjce_provider.jar(153235 bytes)
/usr/java/jdk1.5.0/jre/lib/ext/sunpkcs11.jar(175414 bytes)
/usr/java/jdk1.5.0/jre/lib/ext/dnsns.jar(8176 bytes)
/usr/java/jdk1.5.0/jre/lib/ext/localedata.jar(802502 bytes)
/home/veleno/workspace/ltwtest/output/build(1 entries)
/home/veleno/workspace/ltwtest/genClasses(missing)
/home/veleno/workspace/ltwtest/externals/aspectjrt.jar(101419 bytes)
/home/veleno/workspace/ltwtest/externals/aspectjtools.jar(7226586 bytes)
/home/veleno/workspace/ltwtest/externals/aspectjweaver.jar(1540422 bytes)
---- Compiler Messages ---
abort ABORT -- (BCException) bad
bad
org.aspectj.weaver.BCException: bad
        at org.aspectj.weaver.bcel.BcelRenderer.visit(BcelRenderer.java:229)
        at org.aspectj.weaver.ast.Literal.accept(Literal.java:29)
        at org.aspectj.weaver.bcel.BcelRenderer.recur(BcelRenderer.java:152)
        at org.aspectj.weaver.bcel.BcelRenderer.renderTest(BcelRenderer.java:118)
        at
org.aspectj.weaver.bcel.BcelAdvice.getTestInstructions(BcelAdvice.java:474)
        at
org.aspectj.weaver.bcel.BcelAdvice.getAdviceInstructions(BcelAdvice.java:324)
        at org.aspectj.weaver.bcel.BcelShadow.weaveBefore(BcelShadow.java:1541)
        at org.aspectj.weaver.bcel.BcelAdvice.implementOn(BcelAdvice.java:160)
        at org.aspectj.weaver.Shadow.implementMungers(Shadow.java:497)
        at org.aspectj.weaver.Shadow.implement(Shadow.java:375)
        at
org.aspectj.weaver.bcel.BcelClassWeaver.implement(BcelClassWeaver.java:1753)
        at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:392)
        at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:96)
        at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1363)
        at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1328)
        at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1105)
        at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:980)
        at
org.aspectj.ajdt.internal.compiler.AjCompilerAdapter.weave(AjCompilerAdapter.java:286)
        at
org.aspectj.ajdt.internal.compiler.AjCompilerAdapter.afterCompiling(AjCompilerAdapter.java:165)
        at
org.aspectj.ajdt.internal.compiler.CompilerAdapter.ajc$afterReturning$org_aspectj_ajdt_internal_compiler_CompilerAdapter$2$f9cc9ca0(CompilerAdapter.aj:70)
        at
org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:368)
        at
org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:727)
        at
org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:206)
        at
org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:140)
        at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112)
        at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60)
        at org.aspectj.tools.ajc.Main.run(Main.java:324)
   at org.aspectj.tools.ajc.Main.runMain(Main.java:238)
        at org.aspectj.tools.ant.taskdefs.AjcTask.executeInSameVM(AjcTask.java:1194)
        at org.aspectj.tools.ant.taskdefs.AjcTask.execute(AjcTask.java:985)
        at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
        at org.apache.tools.ant.Task.perform(Task.java:364)
        at org.apache.tools.ant.Target.execute(Target.java:341)
        at org.apache.tools.ant.Target.performTasks(Target.java:369)
        at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
        at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
        at
org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
        at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
        at org.apache.tools.ant.Main.runBuild(Main.java:668)
        at org.apache.tools.ant.Main.startAnt(Main.java:187)
        at org.apache.tools.ant.launch.Launcher.run(Launcher.java:246)
        at org.apache.tools.ant.launch.Launcher.main(Launcher.java:67)

---- org.aspectj.weaver.bcel.BcelWorld ----
Shadow mungers:
(before: ((call(* test.Service.*(..)) && @target(test.MemberOfMonitoredSet)) &&
persingleton(test.MonitorAspect))->void
test.MonitorAspect.ajc$before$test_MonitorAspect$1$871930bf())
(before: ((call(* *(..)) && target(@test.MemberOfMonitoredSet *)) &&
persingleton(test.MonitorAspect2))->void
test.MonitorAspect2.ajc$before$test_MonitorAspect2$1$d006767f())
Type mungers:
Empty
Late Type mungers:
Empty
Comment 1 Adrian Colyer CLA 2005-08-26 11:44:23 EDT
I believe this has been fixed, marking as M4 to ensure i come back and verify
that fact.
Comment 2 Adrian Colyer CLA 2005-08-30 09:25:20 EDT
The compiler now correctly reports:

"wildcard type pattern not allowed, must use type name" 

on the line containing the target pc expression.

To match annotated target objects, use @target, e.g.

pointcut callOnAnnotatedTypes():
           call(* *.*(..)) &&
           @target(MemberOfMonitoredSet);