]> source.dussan.org Git - aspectj.git/commitdiff
246125: break bcel dependency in AsmRelationshipProvider
authoraclement <aclement>
Fri, 5 Sep 2008 18:06:07 +0000 (18:06 +0000)
committeraclement <aclement>
Fri, 5 Sep 2008 18:06:07 +0000 (18:06 +0000)
weaver/src/org/aspectj/weaver/AsmRelationshipProvider.java
weaver/src/org/aspectj/weaver/bcel/BcelClassWeaver.java

index e78dbe77f7ddeb3015b1c7c30dd6c6812d303da5..4683ab7a7e78cd6d5a492902c65215b9f36a0939 100644 (file)
@@ -15,10 +15,6 @@ package org.aspectj.weaver;
 import java.util.Iterator;
 import java.util.List;
 
-import org.aspectj.apache.bcel.classfile.Field;
-import org.aspectj.apache.bcel.classfile.Method;
-import org.aspectj.apache.bcel.classfile.Utility;
-import org.aspectj.apache.bcel.generic.Type;
 import org.aspectj.asm.AsmManager;
 import org.aspectj.asm.IHierarchy;
 import org.aspectj.asm.IProgramElement;
@@ -351,7 +347,7 @@ public class AsmRelationshipProvider {
         * read 'fragile') bit of code that could break at any moment but it's working for my simple testcase. Currently just fails
         * silently if any of the lookup code doesn't find anything...
         */
-       public void addDeclareAnnotationRelationship(ISourceLocation sourceLocation, String typename, Method method) {
+       public void addDeclareAnnotationMethodRelationship(ISourceLocation sourceLocation, String typename, ResolvedMember method) {
                if (!AsmManager.isCreatingModel())
                        return;
 
@@ -368,10 +364,10 @@ public class AsmRelationshipProvider {
                        return;
 
                StringBuffer parmString = new StringBuffer("(");
-               Type[] args = method.getArgumentTypes();
+               UnresolvedType[] args = method.getParameterTypes();
+//             Type[] args = method.getArgumentTypes();
                for (int i = 0; i < args.length; i++) {
-                       Type type2 = args[i];
-                       String s = Utility.signatureToString(type2.getSignature(), false);
+                       String s = args[i].getName();//Utility.signatureToString(args[i].getName()getSignature(), false);
                        parmString.append(s);
                        if ((i + 1) < args.length)
                                parmString.append(",");
@@ -420,7 +416,7 @@ public class AsmRelationshipProvider {
         * we have no line number info for it, we have to dig through the structure model under the fields' type in order to locate it.
         * Currently just fails silently if any of the lookup code doesn't find anything...
         */
-       public void addDeclareAnnotationRelationship(ISourceLocation sourceLocation, String typename, Field field) {
+       public void addDeclareAnnotationFieldRelationship(ISourceLocation sourceLocation, String typename, ResolvedMember field) {
                if (!AsmManager.isCreatingModel())
                        return;
 
index a58fcf7c613513f181c96cc51f30e7179d2ac52c..0414feb86a6b0a5ae9a6bba561a38153a89a91c0 100644 (file)
@@ -879,8 +879,8 @@ class BcelClassWeaver implements IClassWeaver {
                                                        annotationsToAdd.add(ag);
                                                        mg.addAnnotation(decaM.getAnnotationX());
 
-                                                       AsmRelationshipProvider.getDefault().addDeclareAnnotationRelationship(decaM.getSourceLocation(),
-                                                                       clazz.getName(), mg.getMethod());
+                                                       AsmRelationshipProvider.getDefault().addDeclareAnnotationMethodRelationship(decaM.getSourceLocation(),
+                                                                       clazz.getName(), mg.getMemberView());//getMethod());
                                                        reportMethodCtorWeavingMessage(clazz, mg.getMemberView(), decaM, mg.getDeclarationLineNumber());
                                                        isChanged = true;
                                                        modificationOccured = true;
@@ -923,8 +923,8 @@ class BcelClassWeaver implements IClassWeaver {
                                                                annotationsToAdd.add(a);
 
                                                                mg.addAnnotation(decaM.getAnnotationX());
-                                                               AsmRelationshipProvider.getDefault().addDeclareAnnotationRelationship(decaM.getSourceLocation(),
-                                                                               clazz.getName(), mg.getMethod());
+                                                               AsmRelationshipProvider.getDefault().addDeclareAnnotationMethodRelationship(decaM.getSourceLocation(),
+                                                                               clazz.getName(), mg.getMemberView());//getMethod());
                                                                isChanged = true;
                                                                modificationOccured = true;
                                                                forRemoval.add(decaM);
@@ -1302,8 +1302,8 @@ class BcelClassWeaver implements IClassWeaver {
                                                                }
                                                        }
 
-                                                       AsmRelationshipProvider.getDefault().addDeclareAnnotationRelationship(decaF.getSourceLocation(),
-                                                                       clazz.getName(), aBcelField.getFieldAsIs());
+                                                       AsmRelationshipProvider.getDefault().addDeclareAnnotationFieldRelationship(decaF.getSourceLocation(),
+                                                                       clazz.getName(), aBcelField);//.getFieldAsIs());
                                                        reportFieldAnnotationWeavingMessage(clazz, fields, fieldCounter, decaF);
                                                        isChanged = true;
                                                        modificationOccured = true;
@@ -1337,8 +1337,8 @@ class BcelClassWeaver implements IClassWeaver {
                                                                        continue; // skip this one...
                                                                }
                                                                aBcelField.addAnnotation(decaF.getAnnotationX());
-                                                               AsmRelationshipProvider.getDefault().addDeclareAnnotationRelationship(decaF.getSourceLocation(),
-                                                                               clazz.getName(), aBcelField.getFieldAsIs());
+                                                               AsmRelationshipProvider.getDefault().addDeclareAnnotationFieldRelationship(decaF.getSourceLocation(),
+                                                                               clazz.getName(), aBcelField);//.getFieldAsIs());
                                                                isChanged = true;
                                                                modificationOccured = true;
                                                                forRemoval.add(decaF);