]> source.dussan.org Git - aspectj.git/commitdiff
First pass at new relationship API support.
authormkersten <mkersten>
Fri, 8 Aug 2003 14:59:46 +0000 (14:59 +0000)
committermkersten <mkersten>
Fri, 8 Aug 2003 14:59:46 +0000 (14:59 +0000)
19 files changed:
ajbrowser/src/org/aspectj/tools/ajbrowser/BrowserManager.java
ajde/src/org/aspectj/ajde/ui/AbstractIconRegistry.java
ajde/src/org/aspectj/ajde/ui/StructureModelUtil.java
ajde/src/org/aspectj/ajde/ui/StructureViewManager.java
ajde/src/org/aspectj/ajde/ui/swing/PointcutWizard.java
ajde/src/org/aspectj/ajde/ui/swing/SimpleStructureViewToolPanel.java
ajde/testdata/examples/coverage/ModelCoverage.java
ajde/testsrc/org/aspectj/ajde/AsmRelationshipsTest.java
asm/src/org/aspectj/asm/IProgramElement.java
asm/src/org/aspectj/asm/IRelationship.java
asm/src/org/aspectj/asm/IRelationshipMapper.java [new file with mode: 0644]
asm/src/org/aspectj/asm/IStructureModelListener.java
asm/src/org/aspectj/asm/StructureModel.java
asm/src/org/aspectj/asm/StructureModelManager.java
asm/src/org/aspectj/asm/internal/ProgramElement.java
asm/src/org/aspectj/asm/internal/Relationship.java
asm/src/org/aspectj/asm/internal/RelationshipMapper.java [new file with mode: 0644]
org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/EmacsStructureModelManager.java
weaver/src/org/aspectj/weaver/AsmAdaptor.java

index d5ca9956fcd9fcea8a4cd80d667c55343c964bf1..6ed175fed7d9bb15c5bb5fac67153a21707cbfdf 100644 (file)
@@ -47,7 +47,7 @@ public class BrowserManager {
     private static TopFrame topFrame = null;
     
        public final IStructureModelListener VIEW_LISTENER = new IStructureModelListener() {
-               public void modelUpdated(StructureModel model) {                
+               public void containmentHierarchyUpdated(StructureModel model) {         
                        FileStructureView fsv = Ajde.getDefault().getStructureViewManager().getDefaultFileView();
                        if (fsv != null) {
                                fsv.setSourceFile(BrowserManager.getDefault().getEditorManager().getCurrFile());
index 6e4a32b416ed6b15f0c46c77ea7fd7bfc67d14f1..edf519bc90af9daad8c9aca5c0a535f522fb2fd9 100644 (file)
@@ -63,8 +63,8 @@ public abstract class AbstractIconRegistry {
                        return RELATION_ADVICE_FORWARD;
                } else if (relationship == IRelationship.Kind.DECLARE) {
                        return RELATION_ADVICE_FORWARD;
-               } else if (relationship == IRelationship.Kind.INHERITANCE) {
-                       return RELATION_INHERITANCE_FORWARD;
+//             } else if (relationship == IRelationship.Kind.INHERITANCE) {
+//                     return RELATION_INHERITANCE_FORWARD;
                } else {
                        return RELATION_REFERENCE_FORWARD;
                }
index 1b4a1a9d1880a269cab316bf4f6b841a52841447..540449669939135d785ceb4ae5f3e6343b6bda61 100644 (file)
@@ -55,34 +55,34 @@ public class StructureModelUtil {
                                for (Iterator it3 = relations.iterator(); it3.hasNext();) {
                                        IRelationship relationNode = (IRelationship) it3.next();
 
-                                       if (relationNode.getKind().equals("Advice")) {
-                                               List children = relationNode.getTargets();
-
-                                               List aspects = new Vector();
-
-                                               for (Iterator it4 = children.iterator();
-                                                       it4.hasNext();
-                                                       ) {
-                                                       Object object = it4.next();
-
-//                                                     if (object instanceof LinkNode) {
-//                                                             IProgramElement pNode =
-//                                                                     ((LinkNode) object).getProgramElementNode();
-//
-//                                                             if (pNode.getProgramElementKind()
-//                                                                     == IProgramElement.Kind.ADVICE) {
+//                                     if (relationNode.getKind().equals("Advice")) {
+//                                             List children = relationNode.getTargets();
 //
-//                                                                     IProgramElement theAspect = pNode.getParent();
+//                                             List aspects = new Vector();
 //
-//                                                                     aspects.add(theAspect);
+//                                             for (Iterator it4 = children.iterator();
+//                                                     it4.hasNext();
+//                                                     ) {
+//                                                     Object object = it4.next();
 //
-//                                                             }
-//                                                     }
-                                               }
-                                               if (!aspects.isEmpty()) {
-                                                       aspectMap.put(key, aspects);
-                                               }
-                                       }
+////                                                   if (object instanceof LinkNode) {
+////                                                           IProgramElement pNode =
+////                                                                   ((LinkNode) object).getProgramElementNode();
+////
+////                                                           if (pNode.getProgramElementKind()
+////                                                                   == IProgramElement.Kind.ADVICE) {
+////
+////                                                                   IProgramElement theAspect = pNode.getParent();
+////
+////                                                                   aspects.add(theAspect);
+////
+////                                                           }
+////                                                   }
+//                                             }
+//                                             if (!aspects.isEmpty()) {
+//                                                     aspectMap.put(key, aspects);
+//                                             }
+//                                     }
 
                                }
                        }
index 880ddd5aebdce6e1cef3c5be45bb9bf7d8092be2..5507db52566cbc1fc8f0b4d3fa086ab0b554e74f 100644 (file)
@@ -36,7 +36,7 @@ public class StructureViewManager {
     private static final List AVAILABLE_RELATIONS;
        
     public final IStructureModelListener VIEW_LISTENER = new IStructureModelListener() {
-        public void modelUpdated(StructureModel model) {               
+        public void containmentHierarchyUpdated(StructureModel model) {                
                Ajde.getDefault().logEvent("updating structure views: " + structureViews);
 //             
 //             if (defaultFileView != null) {
@@ -218,9 +218,9 @@ public class StructureViewManager {
        static {
                AVAILABLE_RELATIONS = new ArrayList();
         AVAILABLE_RELATIONS.add(IRelationship.Kind.ADVICE);
-        AVAILABLE_RELATIONS.add(IRelationship.Kind.INHERITANCE);
-        AVAILABLE_RELATIONS.add(IRelationship.Kind.DECLARE);
-        AVAILABLE_RELATIONS.add(IRelationship.Kind.REFERENCE);
+               AVAILABLE_RELATIONS.add(IRelationship.Kind.DECLARE);
+//        AVAILABLE_RELATIONS.add(IRelationship.Kind.INHERITANCE);
+//        AVAILABLE_RELATIONS.add(IRelationship.Kind.REFERENCE);
         
         DEFAULT_VIEW_PROPERTIES = new StructureViewProperties();
         DEFAULT_VIEW_PROPERTIES.setRelations(AVAILABLE_RELATIONS);
index bfd469a6dc31f22edce3ec4c713304b7629e128b..33bcfc18e8cb3e5eea5e489b4dbece04d471f8e2 100644 (file)
@@ -69,8 +69,8 @@ class PointcutWizard extends JFrame {
     private Map getViewProperties() {
         Map views = new HashMap();
         GlobalViewProperties INHERITANCE_VIEW = new GlobalViewProperties(StructureViewProperties.Hierarchy.INHERITANCE);
-        INHERITANCE_VIEW.addRelation(IRelationship.Kind.INHERITANCE);
-        views.put(INHERITANCE_VIEW.toString(), INHERITANCE_VIEW);
+//        INHERITANCE_VIEW.addRelation(IRelationship.Kind.INHERITANCE);
+//        views.put(INHERITANCE_VIEW.toString(), INHERITANCE_VIEW);
         return views;
     }
 
index afdf6ba520c0c98c169f93798dbfd56a03d11e6a..dc9b5cd76548d5b4cacf2ab88549cda50c1b9f1f 100644 (file)
@@ -61,7 +61,7 @@ public class SimpleStructureViewToolPanel extends JPanel {
     BorderLayout borderLayout4 = new BorderLayout();
 
     public final IStructureModelListener MODEL_LISTENER = new IStructureModelListener() {
-        public void modelUpdated(StructureModel model) {
+        public void containmentHierarchyUpdated(StructureModel model) {
                        String path = Ajde.getDefault().getConfigurationManager().getActiveConfigFile();
                        String fileName = "<no active config>";
                        if (path != null) fileName = new File(path).getName();
index 2ba60fbf014ca008934990ddd0978431a86b8387..8066ca751538fd0e08bfd05d60d25d742e897329 100644 (file)
@@ -2,7 +2,6 @@
 import java.io.*;
 
 class Point { 
-
        int x;
        static int sx;
 
@@ -36,7 +35,10 @@ class SubPoint extends Point { }
 
 class Line { }
 
-aspect AdvisesRelationCoverage {
+aspect AdvisesRelationshipCoverage {
+       pointcut executionP(): execution(void Point.setX(int));
+       before(): executionP() { }
+       
     before(): execution(*..*.new(..)) { }
     before(): get(int *.*) { }
     before(): set(int *.*) { }
index 6dd2a8ea74a8af01eca8b61f6e24676a28778432..dce7331e4fd77a75ad75be997e34a0051e71c186 100644 (file)
@@ -28,11 +28,23 @@ public class AsmRelationshipsTest extends AjdeTestCase {
                super(name);
        }
 
-       public void testPointcuts() {
+       public void testExecution() {
                IProgramElement node = (IProgramElement)model.getRoot();
                assertNotNull(node);
-                 
-               System.err.println("> root: " + node);
+       
+               IProgramElement aspect = StructureModelManager.getDefault().getStructureModel().findNodeForClass(null, "AdvisesRelationshipCoverage");
+               assertNotNull(aspect);          
+
+               String beforeExec = "before(): executionP..";
+               IProgramElement beforeExecNode = model.findNode(aspect, IProgramElement.Kind.ADVICE, beforeExec);
+               assertNotNull(beforeExecNode);
+               
+               
+               
+//             System.err.println("> root: " + node);
+       
+                               
+//             assertEquals(ptctNode.getName(), ptct); 
                
 //     
 //             IProgramElement aspect = StructureModelManager.getDefault().getStructureModel().findNodeForClass(null, "AdviceNamingCoverage");
@@ -40,10 +52,7 @@ public class AsmRelationshipsTest extends AjdeTestCase {
        
 //             fail();
                
-//             String ptct = "named()";
-//             IProgramElement ptctNode = model.findNode(aspect, IProgramElement.Kind.POINTCUT, ptct);
-//             assertNotNull(ptctNode);                
-//             assertEquals(ptctNode.getName(), ptct);         
+       
 //
 //             String params = "namedWithArgs(int, int)";
 //             IProgramElement paramsNode = model.findNode(aspect, IProgramElement.Kind.POINTCUT, params);
index 17f16aa87219ed049ca6340997419947c49b8965..8cde2586264a1bd8ac87befa5c54c6361ae35d3e 100644 (file)
@@ -62,6 +62,7 @@ public interface IProgramElement extends Serializable {
        public void setName(String name);
        public void setChildren(List children);
        public void setModifiers(int i);
+//     public String getSignatureKey();
        
        /**
         * Uses "typesafe enum" pattern.
index ab8d9bf098fab22cd29a8336b89f4c15e8783869..efcc1b969b945cd48a416bcec25d3cad7427aab8 100644 (file)
@@ -24,26 +24,24 @@ public interface IRelationship extends Serializable {
 
        public String getName();
        
-       public Kind getKind();
-       
-       public IProgramElement getSource();
+       public String getReverseName();
        
-       public List/*IProgramElement*/ getTargets();
+       public Kind getKind();
        
        /**
         * Uses "typesafe enum" pattern.
         */
        public static class Kind implements Serializable {
                
-               public static final Kind ADVICE = new Kind("static");
-               public static final Kind INHERITANCE = new Kind("final");
-               public static final Kind REFERENCE = new Kind("abstract");
-               public static final Kind DECLARE = new Kind("volatile");
-               public static final Kind[] ALL = { ADVICE, INHERITANCE, REFERENCE, DECLARE };
+               public static final Kind ADVICE = new Kind("advice");
+//             public static final Kind INHERITANCE = new Kind("inherits", "inherited by");
+//             public static final Kind REFERENCE = new Kind("reference");
+               public static final Kind DECLARE = new Kind("declare");
+               public static final Kind[] ALL = { ADVICE, DECLARE };
                private final String name;
                
                private Kind(String name) {
-                       this.name = name;
+                       this.name = name; 
                }
                
                public String toString() {
diff --git a/asm/src/org/aspectj/asm/IRelationshipMapper.java b/asm/src/org/aspectj/asm/IRelationshipMapper.java
new file mode 100644 (file)
index 0000000..eaf6653
--- /dev/null
@@ -0,0 +1,31 @@
+/* *******************************************************************
+ * This program and the accompanying materials are made available 
+ * under the terms of the Common Public License v1.0 
+ * which accompanies this distribution and is available at 
+ * http://www.eclipse.org/legal/cpl-v10.html 
+ * ******************************************************************/
+package org.aspectj.asm;
+
+import java.io.Serializable;
+import java.util.List;
+
+import org.aspectj.asm.IRelationship.Kind;
+
+/**
+ * @author Mik Kersten
+ */
+public interface IRelationshipMapper extends Serializable {
+
+//     public List getRelationshipsForElement(String source, IRelationship relationship);
+//     
+//     public void putRelationshipForElement(String source, IRelationship relationship, List targets);
+//
+//     public void putRelationshipForElement(String source, IRelationship kind, String target);
+       public List getRelationshipsForElement(IProgramElement source, IRelationship relationship);
+       
+       public void putRelationshipForElement(IProgramElement source, IRelationship relationship, List targets);
+
+       public void putRelationshipForElement(IProgramElement source, IRelationship kind, IProgramElement target);
+}
index 9512045ac3d42499e66fa61a03de9f998a1e9546..9356b6f2d29f0ce93f380ec968d2537dfd662da0 100644 (file)
@@ -23,5 +23,5 @@ import java.util.EventListener;
  */
 public interface IStructureModelListener extends EventListener {
 
-    public void modelUpdated(StructureModel rootNode);
+    public void containmentHierarchyUpdated(StructureModel rootNode);
 }
index 65b596d05ddfdb88e37f6a84bf99e911e0f2c876..472509b1a17f2a40be240432bfad4afc9f9c4397 100644 (file)
@@ -27,7 +27,9 @@ public class StructureModel implements Serializable {
        
     protected  IProgramElement root = null;
     protected String configFile = null;
+
     private Map fileMap = null;
+    
     public static final IProgramElement NO_STRUCTURE = new ProgramElement("<build to view structure>", IProgramElement.Kind.ERROR, null);
 
     public IProgramElement getRoot() {
@@ -84,6 +86,10 @@ public class StructureModel implements Serializable {
                return null;
        }
 
+       public IProgramElement findNodeForSignatureKey(String signatureKey) {
+               return null;    
+       }       
+
        /**
         * @param packageName   if null default package is searched
         * @param className     can't be null
index c99b747ad0f7104d29e91d24b3bb0e7e376a4486..6130bfe5915346cdbcfbab20f3ef721ffc3e03b9 100644 (file)
 
 package org.aspectj.asm;
 
-import java.util.*;
 import java.io.*;
+import java.util.*;
 
-import org.aspectj.bridge.ISourceLocation;
+import org.aspectj.asm.internal.*;
 
 /**
  * @author Mik Kersten
@@ -31,13 +31,13 @@ public class StructureModelManager {
        private boolean shouldSaveModel = true;
     protected StructureModel model = new StructureModel();
     private List structureListeners = new ArrayList();
-    private List associations = new ArrayList();
+
+       private IRelationshipMapper mapper;
+       private static final IRelationship ADVICE = new Relationship("advises", "advised by", IRelationship.Kind.ADVICE);
+       private static final IRelationship[] ALL = { ADVICE };
 
     protected StructureModelManager() {
-//        associations.add(new AdviceAssociation());
-//        associations.add(new IntroductionAssociation());
-//        associations.add(new InheritanceAssociation());
-//        associations.add(new ReferenceAssociation());
+               mapper = new RelationshipMapper(Arrays.asList(ALL));
     }
 
     public StructureModel getStructureModel() {
@@ -116,14 +116,10 @@ public class StructureModelManager {
 
     private void notifyListeners() {
         for (Iterator it = structureListeners.iterator(); it.hasNext(); ) {
-            ((IStructureModelListener)it.next()).modelUpdated(model);
+            ((IStructureModelListener)it.next()).containmentHierarchyUpdated(model);
         }
     }
 
-    public List getAssociations() {
-        return associations;
-    }
-
        /**
         * Fails silently.
         */
index eec6389e24b87b9baff623bac1806df44f6dc45e..9562169cd716d9954498997452929e6c244e097a 100644 (file)
@@ -358,13 +358,17 @@ public class ProgramElement implements IProgramElement {
                walker.process(this);
                return buffer.toString();
        }
-       /**
-        *
-        */
-
+       
        public void setModifiers(int i) {
                this.modifiers = genModifiers(i);
        }
 
+       public String getSignatureKey() {
+               return packageName + '/' 
+                       + name + ':' 
+                       + sourceLocation.getLine() + ':' 
+                       + sourceLocation.getColumn();
+       }
+
 }
 
index bb26501dc1f39c3c1c953d227a43d7d5c54cf2d0..be86fd4737fc512f2a2e84991044e40853a28d64 100644 (file)
@@ -23,31 +23,29 @@ import org.aspectj.asm.IRelationship.Kind;
  */
 public class Relationship implements IRelationship {
        
-       private String name = null;
-       private IProgramElement source = null;
-       private List/*IProgramElement*/ targets = null;
-       private Kind kind = null;
+       private String name;
+       private String reverseName;
+       private Kind kind;
        
-       public Relationship(String name, IProgramElement source, List targets, Kind kind) {
+       public Relationship(String name, String reverseName, Kind kind) {
                this.name = name;
-               this.source = source;
-               this.targets = targets;
+               this.reverseName = reverseName;
                this.kind = kind;
-       }
+       }       
        
        public String getName() {
                return null;
        }
-       
-       public IProgramElement getSource() {
-               return null;
-       }
-
-       public List getTargets() {
-               return null;
-       }
 
        public Kind getKind() {
                return null;
        }
+       
+       public String getReverseName() {
+               return reverseName;
+       }
+
+       public String toString() {
+               return name + '/' + reverseName;
+       }       
 }
diff --git a/asm/src/org/aspectj/asm/internal/RelationshipMapper.java b/asm/src/org/aspectj/asm/internal/RelationshipMapper.java
new file mode 100644 (file)
index 0000000..f492956
--- /dev/null
@@ -0,0 +1,100 @@
+/* *******************************************************************
+ * This program and the accompanying materials are made available 
+ * under the terms of the Common Public License v1.0 
+ * which accompanies this distribution and is available at 
+ * http://www.eclipse.org/legal/cpl-v10.html 
+ * ******************************************************************/
+package org.aspectj.asm.internal;
+
+import java.util.*;
+
+import org.aspectj.asm.*;
+
+/**
+ * @author Mik Kersten
+ */
+public class RelationshipMapper extends HashMap implements IRelationshipMapper {
+       
+       private Map/*IRelationship*/ relationships = new HashMap();
+       
+       public RelationshipMapper(List availableRelationships) {
+               for (Iterator it = availableRelationships.iterator(); it.hasNext(); ) {
+                       IRelationship r = (IRelationship)it.next();
+                       relationships.put(r, new HashMap());
+               }
+       }
+       
+       public List getRelationshipsForElement(IProgramElement source, IRelationship relationship) {
+               Map map = (Map)relationships.get(relationship);
+               return (List)map.get(source);
+       }
+
+       /**
+        * Creates the relationship if not present.
+        */
+       public void putRelationshipForElement(IProgramElement source, IRelationship relationship, List targets) {
+               Map map = (Map)relationships.get(relationship);
+               if (map == null) {
+                       map = new HashMap();
+                       relationships.put(relationship, map);
+               }
+               map.put(source, targets);
+       }
+
+       public void putRelationshipForElement(IProgramElement source, IRelationship relationship, IProgramElement target) {
+               Map map = (Map)relationships.get(relationship);
+               if (map == null) {
+                       map = new HashMap();
+                       relationships.put(relationship, map);
+               }
+               List targetList = (List)map.get(source);        
+               if (targetList == null) {
+                       targetList = new ArrayList();
+                       map.put(source, targetList);
+               }
+               targetList.add(target);
+       }
+
+       private static class RelationshipTable {
+               private IRelationship relationship;
+               private Map map;
+               
+               public RelationshipTable(IRelationship relationship) {
+                       this.relationship = relationship;
+                       map = new HashMap();    
+               }
+               
+               public Map getMap() {
+                       return map;
+               }
+
+               public IRelationship getRelationship() {
+                       return relationship;
+               }
+       }
+//     public List getRelationshipsForElement(
+//             IProgramElement source,
+//             IRelationship relationship) {
+//                     
+//             String signatureKey = (List)getRelationshipsForElement(source.getSignatureKey(), relationship);
+//             
+//     }
+//
+//     public void putRelationshipForElement(
+//             IProgramElement source,
+//             IRelationship kind,
+//             IProgramElement target) {
+//
+//     }
+//
+//     public void putRelationshipForElement(
+//             IProgramElement source,
+//             IRelationship relationship,
+//             List targets) {
+//
+//     }
+       
+       
+
+}
index 74a394da4b95ad914eb84d7650ee6e4915aa75a4..2f11f5e8dee46b4d2ec98b57c119b5cbaa58c965 100644 (file)
@@ -107,19 +107,19 @@ public class EmacsStructureModelManager {
         }
 
         private void printDecls(IRelationship node) {
-            for (Iterator it = node.getTargets().iterator(); it.hasNext(); ) {
-                // this ignores relations on the compile unit
-                Object nodeObject = it.next();
-                throw new RuntimeException("unimplemented");
-//                if (nodeObject instanceof LinkNode) {
-//                    LinkNode child = (LinkNode)nodeObject;
-//                    if (//!child.getProgramElementNode().getKind().equals("stmnt") &&
-//                        !child.getProgramElementNode().getKind().equals("<undefined>")) {
-//                        printDecl(child.getProgramElementNode(), false);
+//            for (Iterator it = node.getTargets().iterator(); it.hasNext(); ) {
+//                // this ignores relations on the compile unit
+//                Object nodeObject = it.next();
+//                throw new RuntimeException("unimplemented");
+////                if (nodeObject instanceof LinkNode) {
+////                    LinkNode child = (LinkNode)nodeObject;
+////                    if (//!child.getProgramElementNode().getKind().equals("stmnt") &&
+////                        !child.getProgramElementNode().getKind().equals("<undefined>")) {
 ////                        printDecl(child.getProgramElementNode(), false);
-//                    }
-//                }
-            }
+//////                        printDecl(child.getProgramElementNode(), false);
+////                    }
+////                }
+//            }
         }
 
         /**
index 8b557cf339b63ba0264cd951dd63f108c9fcc63b..e448896a403785dfec98adbd665f2d5a9720e2cc 100644 (file)
@@ -20,20 +20,29 @@ import org.aspectj.asm.internal.*;
 import org.aspectj.bridge.*;
 
 public class AsmAdaptor {
-       public static void noteMunger(StructureModel model, Shadow shadow, ShadowMunger munger) {
+       
+       public static void nodeMunger(StructureModel model, Shadow shadow, ShadowMunger munger) {
                if (munger instanceof Advice) {
                        Advice a = (Advice)munger;
-                       if (a.getKind().isPerEntry() || a.getKind().isCflow()) {
+//                     if (a.getKind().isPerEntry() || a.getKind().isCflow()) {
                                // ??? might want to show these in the future
-                               return;
-                       }
+//                             return;
+//                     }
 
 //                     System.out.println("--------------------------");
                        IProgramElement targetNode = getNode(model, shadow);
                        IProgramElement adviceNode = getNode(model, a);  
                        
+                       if (adviceNode != null && targetNode != null) {
+//                             mapper.putRelationshipForElement(
+//                                     adviceNode, 
+//                                     ADVICE, 
+//                                     targetNode);
+                       }
+                               
+//                     System.out.println("> target: " + targetNode + ", advice: " + adviceNode);
 //                     throw new RuntimeException("unimplemented");
-                       IRelationship relation = null;
+//                     IRelationship relation = new Relationship();
 //                     if (shadow.getKind().equals(Shadow.FieldGet) || shadow.getKind().equals(Shadow.FieldSet)) {
 //                             relation = AdviceAssociation.FIELD_ACCESS_RELATION;
 //                     } else if (shadow.getKind().equals(Shadow.Initialization) || shadow.getKind().equals(Shadow.StaticInitialization)) {
@@ -55,9 +64,7 @@ public class AsmAdaptor {
 //                             System.err.println("> unmatched relation: " + shadow.getKind());
 //                             relation = AdviceAssociation.METHOD_RELATION;
 //                     }
-//                     
-//                     System.out.println("> target: " + targetNode + ", advice: " + adviceNode);
-                       createAppropriateLinks(targetNode, adviceNode, relation);
+//                     createAppropriateLinks(targetNode, adviceNode, relation);
                }
        }
 
@@ -189,8 +196,4 @@ public class AsmAdaptor {
                // if we can't find the member, we'll just put it in the class
                return classNode;
        }
-
-
-
-
 }