aboutsummaryrefslogtreecommitdiffstats
path: root/weaver
diff options
context:
space:
mode:
authoraclement <aclement>2004-02-09 15:07:37 +0000
committeraclement <aclement>2004-02-09 15:07:37 +0000
commit775d1175b7da80535cc48d22cb424239d76594bf (patch)
tree85ffa3bc3b3d9a88240e81a889285ed25801414e /weaver
parent481165a816d3209bed1b07b996a3b8f043140fd4 (diff)
downloadaspectj-775d1175b7da80535cc48d22cb424239d76594bf.tar.gz
aspectj-775d1175b7da80535cc48d22cb424239d76594bf.zip
Fix for Bugzilla Bug 50641
Better binary compatibility for advice method names - I've run the tests a thousand times and they all pass, I'm still nervous about this first big commit though *gulp*
Diffstat (limited to 'weaver')
-rw-r--r--weaver/src/org/aspectj/weaver/NameMangler.java12
1 files changed, 8 insertions, 4 deletions
diff --git a/weaver/src/org/aspectj/weaver/NameMangler.java b/weaver/src/org/aspectj/weaver/NameMangler.java
index 7db5107ce..e73973541 100644
--- a/weaver/src/org/aspectj/weaver/NameMangler.java
+++ b/weaver/src/org/aspectj/weaver/NameMangler.java
@@ -89,13 +89,17 @@ public class NameMangler {
}
-
/**
* The name of methods corresponding to advice declarations
+ * Of the form: "ajc$[AdviceKind]$[AspectName]$[NumberOfAdviceInAspect]$[PointcutHash]"
*/
- public static String adviceName(TypeX aspectType, AdviceKind kind, int position) {
- return makeName(kind.getName(), aspectType.getNameAsIdentifier(),
- Integer.toHexString(position));
+ public static String adviceName(TypeX aspectType, AdviceKind kind, int adviceSeqNumber,int pcdHash) {
+ String newname = makeName(
+ kind.getName(),
+ aspectType.getNameAsIdentifier(),
+ Integer.toString(adviceSeqNumber),
+ Integer.toHexString(pcdHash));
+ return newname;
}
/**