Index: src/org/aspectj/weaver/bcel/BcelClassWeaver.java =================================================================== RCS file: /home/technology/org.aspectj/modules/weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java,v retrieving revision 1.56 diff -u -r1.56 BcelClassWeaver.java --- src/org/aspectj/weaver/bcel/BcelClassWeaver.java 14 Oct 2005 17:58:36 -0000 1.56 +++ src/org/aspectj/weaver/bcel/BcelClassWeaver.java 19 Oct 2005 14:08:30 -0000 @@ -570,6 +570,49 @@ })); } } + + // TAG: WeavingMessage + private void reportMethodCtorWeavingMessage(LazyClassGen clazz, ResolvedMember member, DeclareAnnotation decaM) { + if (!getWorld().getMessageHandler().isIgnoring(IMessage.WEAVEINFO)){ + StringBuffer parmString = new StringBuffer("("); + UnresolvedType[] paramTypes = member.getParameterTypes(); + for (int i = 0; i < paramTypes.length; i++) { + UnresolvedType type = paramTypes[i]; + String s = org.aspectj.apache.bcel.classfile.Utility.signatureToString(type.getSignature()); + if (s.lastIndexOf(".")!=-1) s =s.substring(s.lastIndexOf(".")+1); + parmString.append(s); + if ((i+1)")?"new":methodName); + sig.append(parmString); + + StringBuffer loc = new StringBuffer(); + if (clazz.getFileName()==null) { + loc.append("no debug info available"); + } else { + loc.append(clazz.getFileName()); + } + getWorld().getMessageHandler().handleMessage( + WeaveMessage.constructWeavingMessage(WeaveMessage.WEAVEMESSAGE_ANNOTATES, + new String[]{ + sig.toString(), + loc.toString(), + decaM.getAnnotationString(), + methodName.startsWith("")?"constructor":"method", + decaM.getAspect().toString(), + Utility.beautifyLocation(decaM.getSourceLocation()) + })); + } + } /** * Looks through a list of declare annotation statements and only returns @@ -715,6 +758,7 @@ annotationHolder.addAnnotation(decaMC.getAnnotationX()); isChanged=true; AsmRelationshipProvider.getDefault().addDeclareAnnotationRelationship(decaMC.getSourceLocation(),unMangledInterMethod.getSourceLocation()); + reportMethodCtorWeavingMessage(clazz, unMangledInterMethod, decaMC); modificationOccured = true; } else { if (!decaMC.isStarredAnnotationPattern())