summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraclement <aclement>2010-08-18 17:00:58 +0000
committeraclement <aclement>2010-08-18 17:00:58 +0000
commitc8ac6b6a4ecd2a4b45b466377b11478c022b9eff (patch)
tree926ad49cfb42cc88a4c0a77a4df88b921d4defab
parent643b654a4114e4d7fe3427c8ebbc07c5546c0865 (diff)
downloadaspectj-c8ac6b6a4ecd2a4b45b466377b11478c022b9eff.tar.gz
aspectj-c8ac6b6a4ecd2a4b45b466377b11478c022b9eff.zip
source locations for declare annos (not persisted) and fqname of handles for itds
-rw-r--r--org.aspectj.matcher/src/org/aspectj/weaver/patterns/DeclareAnnotation.java19
1 files changed, 18 insertions, 1 deletions
diff --git a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/DeclareAnnotation.java b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/DeclareAnnotation.java
index faeea711b..ddd526f96 100644
--- a/org.aspectj.matcher/src/org/aspectj/weaver/patterns/DeclareAnnotation.java
+++ b/org.aspectj.matcher/src/org/aspectj/weaver/patterns/DeclareAnnotation.java
@@ -19,6 +19,7 @@ import java.util.List;
import java.util.Map;
import org.aspectj.bridge.MessageUtil;
+import org.aspectj.weaver.AjAttribute.WeaverVersionInfo;
import org.aspectj.weaver.AnnotationAJ;
import org.aspectj.weaver.CompressingDataOutputStream;
import org.aspectj.weaver.ISourceContext;
@@ -28,7 +29,6 @@ import org.aspectj.weaver.UnresolvedType;
import org.aspectj.weaver.VersionedDataInputStream;
import org.aspectj.weaver.WeaverMessages;
import org.aspectj.weaver.World;
-import org.aspectj.weaver.AjAttribute.WeaverVersionInfo;
/**
* Represents a declare annotation statement, one of atField, atMethod, atConstructor or atType.
@@ -53,6 +53,10 @@ public class DeclareAnnotation extends Declare {
private AnnotationAJ annotation; // discovered when required
private ResolvedType annotationType; // discovered when required
+ // not serialized:
+ private int annotationStart;
+ private int annotationEnd;
+
/**
* Constructor for declare atType.
*/
@@ -160,6 +164,19 @@ public class DeclareAnnotation extends Declare {
this.annotationStrings.set(0, annotationString);
}
+ public void setAnnotationLocation(int start, int end) {
+ this.annotationStart = start;
+ this.annotationEnd = end;
+ }
+
+ public int getAnnotationSourceStart() {
+ return annotationStart;
+ }
+
+ public int getAnnotationSourceEnd() {
+ return annotationEnd;
+ }
+
public void setAnnotationMethod(String methodName) {
this.annotationMethods.set(0, methodName);
}