diff options
author | mwebster <mwebster> | 2006-08-16 14:54:03 +0000 |
---|---|---|
committer | mwebster <mwebster> | 2006-08-16 14:54:03 +0000 |
commit | 4ce6cb8b0cd79d8ba746473af86a76774755b6b8 (patch) | |
tree | 417784193fe8c858af3a8059449da13f66f3de27 /weaver/src | |
parent | c1c9215efa1c1e332859dd50c103e2a0021e15fe (diff) | |
download | aspectj-4ce6cb8b0cd79d8ba746473af86a76774755b6b8.tar.gz aspectj-4ce6cb8b0cd79d8ba746473af86a76774755b6b8.zip |
Bug 150487 "Tracing and Logging Framework" (new/fixed trace points)
Diffstat (limited to 'weaver/src')
-rw-r--r-- | weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java | 12 | ||||
-rw-r--r-- | weaver/src/org/aspectj/weaver/UnresolvedType.java | 7 | ||||
-rw-r--r-- | weaver/src/org/aspectj/weaver/bcel/BcelWeaver.java | 4 |
3 files changed, 22 insertions, 1 deletions
diff --git a/weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java b/weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java index b456c7d9d..55d46b642 100644 --- a/weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java +++ b/weaver/src/org/aspectj/weaver/CrosscuttingMembersSet.java @@ -25,6 +25,8 @@ import org.aspectj.asm.AsmManager; import org.aspectj.weaver.patterns.CflowPointcut; import org.aspectj.weaver.patterns.DeclareParents; import org.aspectj.weaver.patterns.IVerificationRequired; +import org.aspectj.weaver.tools.Trace; +import org.aspectj.weaver.tools.TraceFactory; /** * This holds on to all CrosscuttingMembers for a world. It handles @@ -50,8 +52,14 @@ public class CrosscuttingMembersSet { private List /*IVerificationRequired*/ verificationList = null; // List of things to be verified once the type system is 'complete' + private static Trace trace = TraceFactory.getTraceFactory().getTrace(CrosscuttingMembersSet.class); + public CrosscuttingMembersSet(World world) { + trace.enter("<init>",this,world); + this.world = world; + + trace.exit("<init>"); } public boolean addOrReplaceAspect(ResolvedType aspectType) { @@ -63,6 +71,8 @@ public class CrosscuttingMembersSet { * XXX for efficiency we will need a richer representation than this */ public boolean addOrReplaceAspect(ResolvedType aspectType, boolean inWeavingPhase) { + trace.enter("addOrReplaceAspect",this,new Object[] {aspectType,new Boolean(inWeavingPhase)}); + boolean change = false; CrosscuttingMembers xcut = (CrosscuttingMembers)members.get(aspectType); if (xcut == null) { @@ -92,6 +102,8 @@ public class CrosscuttingMembersSet { change = change || ancestorChange; } changedSinceLastReset = changedSinceLastReset || change; + + trace.exit("addOrReplaceAspect",change); return change; } diff --git a/weaver/src/org/aspectj/weaver/UnresolvedType.java b/weaver/src/org/aspectj/weaver/UnresolvedType.java index 49834e148..817a07e1d 100644 --- a/weaver/src/org/aspectj/weaver/UnresolvedType.java +++ b/weaver/src/org/aspectj/weaver/UnresolvedType.java @@ -22,6 +22,7 @@ import java.util.Map; import org.aspectj.apache.bcel.classfile.GenericSignatureParser; import org.aspectj.apache.bcel.classfile.Signature; import org.aspectj.apache.bcel.classfile.Signature.ClassSignature; +import org.aspectj.weaver.tools.Traceable; /** * A UnresolvedType represents a type to the weaver. It has a basic signature that knows @@ -93,7 +94,7 @@ import org.aspectj.apache.bcel.classfile.Signature.ClassSignature; * The wildcard ? extends Foo has signature +LFoo; * The wildcard ? super Foo has signature -LFoo; */ -public class UnresolvedType implements TypeVariableDeclaringElement { +public class UnresolvedType implements Traceable, TypeVariableDeclaringElement { // common types referred to by the weaver public static final UnresolvedType[] NONE = new UnresolvedType[0]; @@ -917,6 +918,10 @@ public class UnresolvedType implements TypeVariableDeclaringElement { } return null; } + + public String toTraceString() { + return getClass().getName() + "[" + getName() + "]"; + } } diff --git a/weaver/src/org/aspectj/weaver/bcel/BcelWeaver.java b/weaver/src/org/aspectj/weaver/bcel/BcelWeaver.java index feae53d0f..0a13be53d 100644 --- a/weaver/src/org/aspectj/weaver/bcel/BcelWeaver.java +++ b/weaver/src/org/aspectj/weaver/bcel/BcelWeaver.java @@ -1324,6 +1324,8 @@ public class BcelWeaver implements IWeaver { private void weaveAndNotify(UnwovenClassFile classFile, BcelObjectType classType, IWeaveRequestor requestor) throws IOException { + trace.enter("weaveAndNotify",this,new Object[] {classFile,classType,requestor}); + ContextToken tok = CompilationAndWeavingContext.enteringPhase(CompilationAndWeavingContext.WEAVING_TYPE, classType.getResolvedTypeX().getName()); LazyClassGen clazz = weaveWithoutDump(classFile,classType); classType.finishedWith(); @@ -1338,6 +1340,8 @@ public class BcelWeaver implements IWeaver { } classType.weavingCompleted(); CompilationAndWeavingContext.leavingPhase(tok); + + trace.exit("weaveAndNotify"); } /** helper method - will return NULL if the underlying delegate is an EclipseSourceType and not a BcelObjectType */ |