Bug 129704 - BCException
Summary: BCException
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: 1.2.1   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-02-27 20:32 EST by Hasan Ceylan CLA
Modified: 2006-05-12 06:39 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 Hasan Ceylan CLA 2006-02-27 20:32:19 EST
org.aspectj.weaver.BCException
at org.aspectj.weaver.bcel.BcelShadow.initializeKindedAnnotationVars(BcelShadow.java:1553)
at org.aspectj.weaver.bcel.BcelShadow.getKindedAnnotationVar(BcelShadow.java:995)
at org.aspectj.weaver.patterns.AnnotationPointcut.findResidueInternal(AnnotationPointcut.java:196)
at org.aspectj.weaver.patterns.Pointcut.findResidue(Pointcut.java:268)
at org.aspectj.weaver.patterns.AndPointcut.findResidueInternal(AndPointcut.java:97)
at org.aspectj.weaver.patterns.Pointcut.findResidue(Pointcut.java:268)
at org.aspectj.weaver.patterns.AndPointcut.findResidueInternal(AndPointcut.java:97)
at org.aspectj.weaver.patterns.Pointcut.findResidue(Pointcut.java:268)
at org.aspectj.weaver.patterns.AndPointcut.findResidueInternal(AndPointcut.java:97)
at org.aspectj.weaver.patterns.Pointcut.findResidue(Pointcut.java:268)
at org.aspectj.weaver.bcel.BcelAdvice.specializeOn(BcelAdvice.java:132)
at org.aspectj.weaver.bcel.BcelShadow.prepareForMungers(BcelShadow.java:313)
at org.aspectj.weaver.Shadow.implement(Shadow.java:404)
at org.aspectj.weaver.bcel.BcelClassWeaver.implement(BcelClassWeaver.java:2146)
at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:467)
at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:102)
at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1543)
at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1494)
at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1275)
at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1097)
at org.aspectj.ajdt.internal.compiler.AjCompilerAdapter.weave(AjCompilerAdapter.java:300)
at org.aspectj.ajdt.internal.compiler.AjCompilerAdapter.afterCompiling(AjCompilerAdapter.java:178)
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:367)
at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:811)
at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:230)
at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:156)
at org.aspectj.ajde.internal.CompilerAdapter.compile(CompilerAdapter.java:122)
at org.aspectj.ajde.internal.AspectJBuildManager$CompilerThread.run(AspectJBuildManager.java:191)

trouble in: 
public class com.ytg.bilette.client.core.providers.DomainContentProvider extends java.lang.Object implements com.ytg.bilette.client.core.providers.IRefreshableStructuredContentProvider:
  private java.util.HashSet listeners [Signature(Ljava/util/HashSet<Lcom/ytg/bilette/client/core/providers/IDomainObjectChangeListener<TT;>;>;)]
  private com.ytg.bilette.client.core.providers.DomainContentProvider$State state [Signature(Lcom/ytg/bilette/client/core/providers/DomainContentProvider$State;)]
  private Class clazz [Signature(Ljava/lang/Class<+Lcom/ytg/bilette/model/GenericDomainObject;>;)]
  private boolean deletable
  private java.util.List summaries [Signature(Ljava/util/List<TT;>;)]
  static Class class$0
  public void <init>(Class)    org.aspectj.weaver.MethodDeclarationLineNumber: 47:1136
:
                    ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 47)
                    &#304;NVOKESPEC&#304;AL java.lang.Object.<init> ()V
    constructor-execution(void com.ytg.bilette.client.core.providers.DomainContentProvider.<init>(java.lang.Class))
    |               ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 34)
    |               NEW java.util.HashSet
    |               DUP
    |               &#304;NVOKESPEC&#304;AL java.util.HashSet.<init> ()V
    |               PUTF&#304;ELD com.ytg.bilette.client.core.providers.DomainContentProvider.listeners Ljava/util/HashSet;
    |               ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 36)
    |               GETSTAT&#304;C com.ytg.bilette.client.core.providers.DomainContentProvider$State.NOT_INITIALIZED Lcom/ytg/bilette/client/core/providers/DomainContentProvider$State;
    |               PUTF&#304;ELD com.ytg.bilette.client.core.providers.DomainContentProvider.state Lcom/ytg/bilette/client/core/providers/DomainContentProvider$State;
    |               ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 40)
    |               &#304;CONST_0
    |               PUTF&#304;ELD com.ytg.bilette.client.core.providers.DomainContentProvider.deletable Z
    |               ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 48)
    |               ALOAD_1     // java.lang.Class clazz
    |               PUTF&#304;ELD com.ytg.bilette.client.core.providers.DomainContentProvider.clazz Ljava/lang/Class;
    |               ALOAD_1     // java.lang.Class clazz   (line 50)
    |               &#304;NVOKEV&#304;RTUAL java.lang.Class.getInterfaces ()[Ljava/lang/Class;
    |               ASTORE_2
    |               &#304;CONST_0   (line 51)
    |               &#304;STORE_3
    |               GOTO L2
    |           L0: ALOAD_2     // java.lang.Class[] interfaces   (line 52)
    |               &#304;LOAD_3     // int i
    |               AALOAD
    |               LDC com.ytg.bilette.model.Deletable
    |               &#304;NVOKEV&#304;RTUAL java.lang.Object.equals (Ljava/lang/Object;)Z
    |               &#304;FEQ L1
    |               ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 53)
    |               &#304;CONST_1
    |               PUTF&#304;ELD com.ytg.bilette.client.core.providers.DomainContentProvider.deletable Z
    |               GOTO L3   (line 54)
    |           L1: &#304;&#304;NC 3 1     // int i   (line 51)
    |           L2: &#304;LOAD_3     // int i
    |               ALOAD_2     // java.lang.Class[] interfaces
    |               ARRAYLENGTH
    |               &#304;F_&#304;CMPLT L0
    |           L3: RETURN   (line 57)
    constructor-execution(void com.ytg.bilette.client.core.providers.DomainContentProvider.<init>(java.lang.Class))
  end public void <init>(Class)

  public Object[] getElements(Object)    org.aspectj.weaver.MethodDeclarationLineNumber: 65:1611
:
                    ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 66)
                    ALOAD_1     // java.lang.Object input
                    &#304;NVOKESPEC&#304;AL com.ytg.bilette.client.core.providers.DomainContentProvider.checkInput (Ljava/lang/Object;)Z
                    &#304;STORE_2
                    ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 68)
                    &#304;LOAD_2     // boolean includeDeleted
                    &#304;NVOKEV&#304;RTUAL com.ytg.bilette.client.core.providers.DomainContentProvider.getSummaries (Z)Ljava/util/List;
                    &#304;NVOKE&#304;NTERFACE java.util.List.toArray ()[Ljava/lang/Object;
                    ARETURN
  end public Object[] getElements(Object)

  private void checkInitialized(boolean)    org.aspectj.weaver.MethodDeclarationLineNumber: 71:1759
:
                    GETSTAT&#304;C com.ytg.bilette.client.core.providers.DomainContentProvider$State.NOT_INITIALIZED Lcom/ytg/bilette/client/core/providers/DomainContentProvider$State;   (line 72)
                    ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this
                    GETF&#304;ELD com.ytg.bilette.client.core.providers.DomainContentProvider.state Lcom/ytg/bilette/client/core/providers/DomainContentProvider$State;
                    &#304;NVOKEV&#304;RTUAL com.ytg.bilette.client.core.providers.DomainContentProvider$State.equals (Ljava/lang/Object;)Z
                    &#304;FNE L0
                    GETSTAT&#304;C com.ytg.bilette.client.core.providers.DomainContentProvider$State.LIGHT_INITIALIZED Lcom/ytg/bilette/client/core/providers/DomainContentProvider$State;   (line 73)
                    ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this
                    GETF&#304;ELD com.ytg.bilette.client.core.providers.DomainContentProvider.state Lcom/ytg/bilette/client/core/providers/DomainContentProvider$State;
                    &#304;NVOKEV&#304;RTUAL com.ytg.bilette.client.core.providers.DomainContentProvider$State.equals (Ljava/lang/Object;)Z
                    &#304;FEQ L1
                    &#304;LOAD_1     // boolean includeDeleted
                    &#304;FEQ L1
                L0: ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 74)
                    ACONST_NULL
                    ACONST_NULL
                    &#304;LOAD_1     // boolean includeDeleted
                    &#304;NVOKESPEC&#304;AL com.ytg.bilette.client.core.providers.DomainContentProvider.getData (Lcom/ytg/bilette/dao/SummaryDAO;Lorg/eclipse/core/runtime/IProgressMonitor;Z)V
                L1: RETURN   (line 75)
  end private void checkInitialized(boolean)

  private boolean checkInput(Object)    org.aspectj.weaver.MethodDeclarationLineNumber: 83:2060
:
                    ALOAD_1     // java.lang.Object input   (line 84)
                    &#304;NSTANCEOF java.lang.Boolean
                    LDC "Input for generic content provider must be Boolean value"   (line 85)
                    &#304;NVOKESTAT&#304;C org.eclipse.jface.util.Assert.isTrue (ZLjava/lang/String;)Z   (line 84)
                    POP
                    ALOAD_1     // java.lang.Object input   (line 86)
                    CHECKCAST java.lang.Boolean
                    &#304;NVOKEV&#304;RTUAL java.lang.Boolean.booleanValue ()Z
                    &#304;STORE_2
                    ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 87)
                    GETF&#304;ELD com.ytg.bilette.client.core.providers.DomainContentProvider.deletable Z
                    &#304;FNE L1
                    ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 88)
                    GETF&#304;ELD com.ytg.bilette.client.core.providers.DomainContentProvider.deletable Z
                    &#304;FNE L0
                    &#304;LOAD_2     // boolean includeDeleted
                    &#304;FEQ L1
                L0: &#304;CONST_0
                    GOTO L2
                L1: &#304;CONST_1
                L2: LDC "Nondeletable object yet deleted flag!"   (line 89)
                    &#304;NVOKESTAT&#304;C org.eclipse.jface.util.Assert.isLegal (ZLjava/lang/String;)Z   (line 87)
                    POP
                    &#304;LOAD_2     // boolean includeDeleted   (line 91)
                    &#304;RETURN
  end private boolean checkInput(Object)

  public void dispose()    org.aspectj.weaver.MethodDeclarationLineNumber: 99:2522
:
                    RETURN   (line 101)
  end public void dispose()

  public void inputChanged(org.eclipse.jface.viewers.Viewer, Object, Object)    org.aspectj.weaver.MethodDeclarationLineNumber: 109:2747
:
                    RETURN   (line 111)
  end public void inputChanged(org.eclipse.jface.viewers.Viewer, Object, Object)

  private void getData(com.ytg.bilette.dao.SummaryDAO, org.eclipse.core.runtime.IProgressMonitor, boolean)    org.aspectj.weaver.MethodDeclarationLineNumber: 115:2954
:
                    ALOAD_1
                    ASTORE 4
                    ALOAD_2
                    ASTORE 5
                    &#304;LOAD_3
                    &#304;STORE 6
    method-execution(void com.ytg.bilette.client.core.providers.DomainContentProvider.getData(com.ytg.bilette.dao.SummaryDAO, org.eclipse.core.runtime.IProgressMonitor, boolean))
    |               ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 117)
    |               ALOAD_1     // com.ytg.bilette.dao.SummaryDAO dao
    |               ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this
    |               GETF&#304;ELD com.ytg.bilette.client.core.providers.DomainContentProvider.clazz Ljava/lang/Class;
    |               &#304;LOAD_3     // boolean includeDeleted
    |               &#304;NVOKE&#304;NTERFACE com.ytg.bilette.dao.SummaryDAO.getSummaries (Ljava/lang/Class;Z)Ljava/util/List;
    |               PUTF&#304;ELD com.ytg.bilette.client.core.providers.DomainContentProvider.summaries Ljava/util/List;
    |               &#304;LOAD_3     // boolean includeDeleted   (line 118)
    |               &#304;FEQ L0
    |               ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 119)
    |               GETSTAT&#304;C com.ytg.bilette.client.core.providers.DomainContentProvider$State.FULL_INITIALIZED Lcom/ytg/bilette/client/core/providers/DomainContentProvider$State;
    |               PUTF&#304;ELD com.ytg.bilette.client.core.providers.DomainContentProvider.state Lcom/ytg/bilette/client/core/providers/DomainContentProvider$State;
    |               GOTO L1
    |           L0: ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 121)
    |               GETSTAT&#304;C com.ytg.bilette.client.core.providers.DomainContentProvider$State.LIGHT_INITIALIZED Lcom/ytg/bilette/client/core/providers/DomainContentProvider$State;
    |               PUTF&#304;ELD com.ytg.bilette.client.core.providers.DomainContentProvider.state Lcom/ytg/bilette/client/core/providers/DomainContentProvider$State;
    |           L1: RETURN   (line 122)
    method-execution(void com.ytg.bilette.client.core.providers.DomainContentProvider.getData(com.ytg.bilette.dao.SummaryDAO, org.eclipse.core.runtime.IProgressMonitor, boolean))
  end private void getData(com.ytg.bilette.dao.SummaryDAO, org.eclipse.core.runtime.IProgressMonitor, boolean)

  public java.util.List getSummaries(boolean)    org.aspectj.weaver.MethodDeclarationLineNumber: 128:3308
:
                    ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 129)
                    &#304;LOAD_1     // boolean includeDeleted
                    &#304;NVOKESPEC&#304;AL com.ytg.bilette.client.core.providers.DomainContentProvider.checkInitialized (Z)V
                    &#304;LOAD_1     // boolean includeDeleted   (line 131)
                    &#304;FNE L0
                    GETSTAT&#304;C com.ytg.bilette.client.core.providers.DomainContentProvider$State.LIGHT_INITIALIZED Lcom/ytg/bilette/client/core/providers/DomainContentProvider$State;
                    ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this
                    GETF&#304;ELD com.ytg.bilette.client.core.providers.DomainContentProvider.state Lcom/ytg/bilette/client/core/providers/DomainContentProvider$State;
                    &#304;NVOKEV&#304;RTUAL com.ytg.bilette.client.core.providers.DomainContentProvider$State.equals (Ljava/lang/Object;)Z
                    &#304;FEQ L1
                L0: ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 132)
                    GETF&#304;ELD com.ytg.bilette.client.core.providers.DomainContentProvider.summaries Ljava/util/List;
                    ARETURN
                L1: ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 134)
                    GETF&#304;ELD com.ytg.bilette.client.core.providers.DomainContentProvider.summaries Ljava/util/List;
                    &#304;NVOKE&#304;NTERFACE java.util.List.iterator ()Ljava/util/Iterator;
                    ASTORE_2
                    NEW java.util.ArrayList   (line 135)
                    DUP
                    &#304;NVOKESPEC&#304;AL java.util.ArrayList.<init> ()V
                    ASTORE_3
                    GOTO L3   (line 136)
                L2: ALOAD_2     // java.util.Iterator i   (line 137)
                    &#304;NVOKE&#304;NTERFACE java.util.Iterator.next ()Ljava/lang/Object;
                    CHECKCAST com.ytg.bilette.model.Deletable
                    CHECKCAST com.ytg.bilette.model.Deletable
                    ASTORE 4
                    ALOAD 4     // com.ytg.bilette.model.Deletable object   (line 138)
                    &#304;NVOKE&#304;NTERFACE com.ytg.bilette.model.Deletable.isDeleted ()Z
                    &#304;FNE L3
                    ALOAD_3     // java.util.ArrayList list   (line 139)
                    ALOAD 4     // com.ytg.bilette.model.Deletable object
                    CHECKCAST com.ytg.bilette.model.GenericDomainObject
                    &#304;NVOKEV&#304;RTUAL java.util.ArrayList.add (Ljava/lang/Object;)Z
                    POP
                L3: ALOAD_2     // java.util.Iterator i   (line 136)
                    &#304;NVOKE&#304;NTERFACE java.util.Iterator.hasNext ()Z
                    &#304;FNE L2
                    ALOAD_3     // java.util.ArrayList list   (line 142)
                    ARETURN
  end public java.util.List getSummaries(boolean)

  public synchronized void refresh()    org.aspectj.weaver.MethodDeclarationLineNumber: 148:3783
:
                    ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 149)
                    GETSTAT&#304;C com.ytg.bilette.client.core.providers.DomainContentProvider$State.NOT_INITIALIZED Lcom/ytg/bilette/client/core/providers/DomainContentProvider$State;
                    PUTF&#304;ELD com.ytg.bilette.client.core.providers.DomainContentProvider.state Lcom/ytg/bilette/client/core/providers/DomainContentProvider$State;
                    &#304;CONST_0   (line 150)
                    &#304;STORE_1
                    ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 152)
                    GETF&#304;ELD com.ytg.bilette.client.core.providers.DomainContentProvider.deletable Z
                    &#304;FEQ L2
                    ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 153)
                    GETF&#304;ELD com.ytg.bilette.client.core.providers.DomainContentProvider.listeners Ljava/util/HashSet;
                    &#304;NVOKEV&#304;RTUAL java.util.HashSet.iterator ()Ljava/util/Iterator;
                    ASTORE_2
                    GOTO L1   (line 154)
                L0: ALOAD_2     // java.util.Iterator i   (line 155)
                    &#304;NVOKE&#304;NTERFACE java.util.Iterator.next ()Ljava/lang/Object;
                    CHECKCAST com.ytg.bilette.client.core.providers.IDomainObjectChangeListener
                    ASTORE_3
                    ALOAD_3     // com.ytg.bilette.client.core.providers.IDomainObjectChangeListener listener   (line 156)
                    &#304;NVOKE&#304;NTERFACE com.ytg.bilette.client.core.providers.IDomainObjectChangeListener.isIncludeDeleted ()Z
                    &#304;FEQ L1
                    &#304;CONST_1   (line 157)
                    &#304;STORE_1     // boolean includeDeleted
                    GOTO L2   (line 158)
                L1: ALOAD_2     // java.util.Iterator i   (line 154)
                    &#304;NVOKE&#304;NTERFACE java.util.Iterator.hasNext ()Z
                    &#304;FNE L0
                L2: ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 163)
                    ACONST_NULL
                    ACONST_NULL
                    &#304;LOAD_1     // boolean includeDeleted
                    &#304;NVOKESPEC&#304;AL com.ytg.bilette.client.core.providers.DomainContentProvider.getData (Lcom/ytg/bilette/dao/SummaryDAO;Lorg/eclipse/core/runtime/IProgressMonitor;Z)V
                    ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 165)
                    ACONST_NULL
                    ACONST_NULL
                    &#304;NVOKESPEC&#304;AL com.ytg.bilette.client.core.providers.DomainContentProvider.notifyAllListeners (Lcom/ytg/bilette/model/GenericDomainObject;Lcom/ytg/bilette/model/GenericDomainObject;)V
                    RETURN   (line 166)
  end public synchronized void refresh()

  private synchronized void notifyAllListeners(com.ytg.bilette.model.GenericDomainObject, com.ytg.bilette.model.GenericDomainObject)    org.aspectj.weaver.MethodDeclarationLineNumber: 174:4356
:
                    ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 175)
                    GETF&#304;ELD com.ytg.bilette.client.core.providers.DomainContentProvider.listeners Ljava/util/HashSet;
                    &#304;NVOKEV&#304;RTUAL java.util.HashSet.iterator ()Ljava/util/Iterator;
                    ASTORE_3
                    GOTO L2   (line 176)
                L0: ALOAD_3     // java.util.Iterator i   (line 177)
                    &#304;NVOKE&#304;NTERFACE java.util.Iterator.next ()Ljava/lang/Object;
                    CHECKCAST com.ytg.bilette.client.core.providers.IDomainObjectChangeListener
                    ASTORE 4
                    ALOAD_1     // com.ytg.bilette.model.GenericDomainObject oldObj   (line 178)
                    &#304;FNONNULL L1
                    ALOAD_2     // com.ytg.bilette.model.GenericDomainObject newObj
                    &#304;FNONNULL L1
                    ALOAD 4     // com.ytg.bilette.client.core.providers.IDomainObjectChangeListener listener   (line 179)
                    &#304;NVOKE&#304;NTERFACE com.ytg.bilette.client.core.providers.IDomainObjectChangeListener.fullRefresh ()V
                    GOTO L2
                L1: ALOAD 4     // com.ytg.bilette.client.core.providers.IDomainObjectChangeListener listener   (line 181)
                    ALOAD_1     // com.ytg.bilette.model.GenericDomainObject oldObj
                    ALOAD_2     // com.ytg.bilette.model.GenericDomainObject newObj
                    &#304;NVOKE&#304;NTERFACE com.ytg.bilette.client.core.providers.IDomainObjectChangeListener.concessionChanged (Lcom/ytg/bilette/model/GenericDomainObject;Lcom/ytg/bilette/model/GenericDomainObject;)V
                L2: ALOAD_3     // java.util.Iterator i   (line 176)
                    &#304;NVOKE&#304;NTERFACE java.util.Iterator.hasNext ()Z
                    &#304;FNE L0
                    RETURN   (line 183)
  end private synchronized void notifyAllListeners(com.ytg.bilette.model.GenericDomainObject, com.ytg.bilette.model.GenericDomainObject)

  public synchronized void addListener(com.ytg.bilette.client.core.providers.IDomainObjectChangeListener)    org.aspectj.weaver.MethodDeclarationLineNumber: 185:4715
:
                    ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 186)
                    GETF&#304;ELD com.ytg.bilette.client.core.providers.DomainContentProvider.listeners Ljava/util/HashSet;
                    ALOAD_1     // com.ytg.bilette.client.core.providers.IDomainObjectChangeListener listener
                    &#304;NVOKEV&#304;RTUAL java.util.HashSet.add (Ljava/lang/Object;)Z
                    POP
                    RETURN   (line 187)
  end public synchronized void addListener(com.ytg.bilette.client.core.providers.IDomainObjectChangeListener)

  public synchronized void removeListener(com.ytg.bilette.client.core.providers.IDomainObjectChangeListener)    org.aspectj.weaver.MethodDeclarationLineNumber: 189:4831
:
                    ALOAD_0     // com.ytg.bilette.client.core.providers.DomainContentProvider this   (line 190)
                    GETF&#304;ELD com.ytg.bilette.client.core.providers.DomainContentProvider.listeners Ljava/util/HashSet;
                    ALOAD_1     // com.ytg.bilette.client.core.providers.IDomainObjectChangeListener listener
                    &#304;NVOKEV&#304;RTUAL java.util.HashSet.remove (Ljava/lang/Object;)Z
                    POP
                    RETURN   (line 191)
  end public synchronized void removeListener(com.ytg.bilette.client.core.providers.IDomainObjectChangeListener)

end public class com.ytg.bilette.client.core.providers.DomainContentProvider

when implementing on shadow method-execution(void com.ytg.bilette.client.core.providers.DomainContentProvider.getData(com.ytg.bilette.dao.SummaryDAO, org.eclipse.core.runtime.IProgressMonitor, boolean))
when weaving type com.ytg.bilette.client.core.providers.DomainContentProvider
when weaving classes 
when weaving 
when batch building BuildConfig[F:\java\Bilette\.metadata\.plugins\org.eclipse.ajdt.core\com.ytg.bilette.client.core.generated.lst] #Files=22
Comment 1 Andrew Clement CLA 2006-02-28 03:25:12 EST
Are you able to supply any more information? what were you doing at the time? are you using Java5? are you using annotations? are you using annotation binding pointcuts? Did it occur on a full build or an incremental compile? (I suspect the 1.2.1 level of AJ that you raised the bug against isnt quite right... I assume you are on AspectJ 5)

The line number has 'moved' since the version in which this stack trace is reported (but I know we haven't made recent AJs available in AJDT yet) - but although it has moved it could still be a bug as I haven't knowingly fixed anything in this area.
Comment 2 Hasan Ceylan CLA 2006-02-28 04:38:13 EST
Yeah sure. Sorry The bug export was so good I couldn't touch it. :)

Anyways, 
I think it is due the fact that that class being tried to be vowen has java 1.5 templates and template was refered in a matched method... The bug occured o n every build triger.

A snipped version of the code is here:
public class DomainContentProvider<T extends GenericDomainObject> implements
		IRefreshableStructuredContentProvider<T> {
<...>
	@DAOOperation(clazz = SummaryDAO.class, remove = DAORemoveCondition.ALWAYS)
	private void getData(SummaryDAO dao, IProgressMonitor monitor,
			boolean includeDeleted) {
		summaries = (List<T>) dao.getSummaries(clazz, includeDeleted);
		if (includeDeleted)
			state = State.FULL_INITIALIZED;
		else
			state = State.LIGHT_INITIALIZED;
	}
<...>
}
Comment 3 Andrew Clement CLA 2006-05-12 06:39:28 EDT
Problem recreated with this small test program:

=======8<========================
import java.lang.annotation.*;

interface GDO {}

@Retention(RetentionPolicy.RUNTIME) @interface Marker { }

class DCP<T extends GDO> {
 @Marker void getData(){}
}

aspect X {
  before(Marker a): execution(* getData(..)) && @annotation(a) { System.err.println(a);  }
}

public class A {
	public static void main(String[] args) {
		new DCP().getData();
	}
}

=======8<========================
(thanks for giving me your code snippet to work from)

As suspected by the raiser, the combination of generics and annotations is the problem.  We start working with the raw type when we should be working with the generic type when discovering the annotations.  The fix is when working with a raw or parameterized type, use the generic type to locate annotations.

fix committed.