From 4a4d4b2612ab6bbd9c82dc03b08b13f696725bf3 Mon Sep 17 00:00:00 2001 From: mkersten Date: Thu, 14 Oct 2004 21:45:07 +0000 Subject: Added "uses pointcut" relation to the ASM. --- asm/src/org/aspectj/asm/IRelationship.java | 3 ++- .../org/aspectj/asm/internal/ProgramElement.java | 30 ++++++++++++---------- asm/src/org/aspectj/asm/overview.html | 11 ++++++-- 3 files changed, 28 insertions(+), 16 deletions(-) (limited to 'asm/src/org') diff --git a/asm/src/org/aspectj/asm/IRelationship.java b/asm/src/org/aspectj/asm/IRelationship.java index 53b118262..4a33d4fb0 100644 --- a/asm/src/org/aspectj/asm/IRelationship.java +++ b/asm/src/org/aspectj/asm/IRelationship.java @@ -48,11 +48,12 @@ public interface IRelationship extends Serializable { public static final Kind ADVICE = new Kind("advice"); public static final Kind DECLARE = new Kind("declare"); public static final Kind DECLARE_INTER_TYPE = new Kind("inter-type declaration"); + public static final Kind USES_POINTCUT = new Kind("uses pointcut"); public static final Kind[] ALL = { DECLARE_WARNING, DECLARE_ERROR, ADVICE_AROUND,ADVICE_AFTERRETURNING,ADVICE_AFTERTHROWING,ADVICE_AFTER,ADVICE_BEFORE, - ADVICE, DECLARE, DECLARE_INTER_TYPE }; + ADVICE, DECLARE, DECLARE_INTER_TYPE, USES_POINTCUT }; private final String name; diff --git a/asm/src/org/aspectj/asm/internal/ProgramElement.java b/asm/src/org/aspectj/asm/internal/ProgramElement.java index ef4b28507..3965c21d0 100644 --- a/asm/src/org/aspectj/asm/internal/ProgramElement.java +++ b/asm/src/org/aspectj/asm/internal/ProgramElement.java @@ -459,21 +459,25 @@ public class ProgramElement implements IProgramElement { private String handle = null; public String getHandleIdentifier() { - if (null == handle) { - if (sourceLocation != null) { - StringBuffer sb = new StringBuffer(); - sb.append(AsmManager.getDefault() - .getCanonicalFilePath(sourceLocation.getSourceFile())); - sb.append(ID_DELIM); - sb.append(sourceLocation.getLine()); - sb.append(ID_DELIM); - sb.append(sourceLocation.getColumn()); - handle = sb.toString(); - } - } - return handle; + if (null == handle) { + if (sourceLocation != null) { + return genHandleIdentifier(sourceLocation); + } + } + return handle; } + public static String genHandleIdentifier(ISourceLocation sourceLocation) { + StringBuffer sb = new StringBuffer(); + sb.append(AsmManager.getDefault() + .getCanonicalFilePath(sourceLocation.getSourceFile())); + sb.append(ID_DELIM); + sb.append(sourceLocation.getLine()); + sb.append(ID_DELIM); + sb.append(sourceLocation.getColumn()); + return sb.toString(); + } + public List getParameterNames() { return parameterNames; } diff --git a/asm/src/org/aspectj/asm/overview.html b/asm/src/org/aspectj/asm/overview.html index 6608bd24e..3c5f61411 100644 --- a/asm/src/org/aspectj/asm/overview.html +++ b/asm/src/org/aspectj/asm/overview.html @@ -1,9 +1,16 @@ -

The is a placeholder for a document describing the Abstract Structure Model (ASM). +

-

Notes

+

Notes on using the Abstract Structure Model (ASM)

-- cgit v1.2.3