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;
* 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;
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(",");
* 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;
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;
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);
}
}
- 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;
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);