aboutsummaryrefslogtreecommitdiffstats
path: root/asm
diff options
context:
space:
mode:
authoraclement <aclement>2010-08-18 17:01:33 +0000
committeraclement <aclement>2010-08-18 17:01:33 +0000
commitc1ba48332b7fd500574910e9633a883295cc3402 (patch)
tree6a9f4806848bd0bc56bf00a696a0417664aa9c28 /asm
parente2dafb1fe9ab49d9fdd95b998e78da8104daa07e (diff)
downloadaspectj-c1ba48332b7fd500574910e9633a883295cc3402.tar.gz
aspectj-c1ba48332b7fd500574910e9633a883295cc3402.zip
source locations for declare annos (not persisted) and fqname of handles for itds
Diffstat (limited to 'asm')
-rw-r--r--asm/src/org/aspectj/asm/IProgramElement.java4
-rw-r--r--asm/src/org/aspectj/asm/internal/JDTLikeHandleProvider.java7
-rw-r--r--asm/src/org/aspectj/asm/internal/ProgramElement.java9
3 files changed, 19 insertions, 1 deletions
diff --git a/asm/src/org/aspectj/asm/IProgramElement.java b/asm/src/org/aspectj/asm/IProgramElement.java
index ccf59247f..eedffc3a2 100644
--- a/asm/src/org/aspectj/asm/IProgramElement.java
+++ b/asm/src/org/aspectj/asm/IProgramElement.java
@@ -419,4 +419,8 @@ public interface IProgramElement extends Serializable {
public Map<String, List<String>> getDeclareParentsMap();
public void setDeclareParentsMap(Map<String, List<String>> newmap);
+
+ public void addFullyQualifiedName(String fqname);
+
+ public String getFullyQualifiedName();
} \ No newline at end of file
diff --git a/asm/src/org/aspectj/asm/internal/JDTLikeHandleProvider.java b/asm/src/org/aspectj/asm/internal/JDTLikeHandleProvider.java
index bcf8fbf49..7a38eafb5 100644
--- a/asm/src/org/aspectj/asm/internal/JDTLikeHandleProvider.java
+++ b/asm/src/org/aspectj/asm/internal/JDTLikeHandleProvider.java
@@ -109,7 +109,12 @@ public class JDTLikeHandleProvider implements IElementHandleProvider {
// escape the @ (pr249216c9)
handle.append("declare \\@").append(ipe.getName().substring(9)).append(getParameters(ipe));
} else {
- handle.append(ipe.getName()).append(getParameters(ipe));
+ if (ipe.getFullyQualifiedName() != null) {
+ handle.append(ipe.getFullyQualifiedName());
+ } else {
+ handle.append(ipe.getName());
+ }
+ handle.append(getParameters(ipe));
}
}
// }
diff --git a/asm/src/org/aspectj/asm/internal/ProgramElement.java b/asm/src/org/aspectj/asm/internal/ProgramElement.java
index 1462449b7..8193acf6d 100644
--- a/asm/src/org/aspectj/asm/internal/ProgramElement.java
+++ b/asm/src/org/aspectj/asm/internal/ProgramElement.java
@@ -677,4 +677,13 @@ public class ProgramElement implements IProgramElement {
public void setDeclareParentsMap(Map<String, List<String>> newmap) {
kvpairs.put("declareparentsmap", newmap);
}
+
+ public void addFullyQualifiedName(String fqname) {
+ fixMap();
+ kvpairs.put("itdfqname", fqname);
+ }
+
+ public String getFullyQualifiedName() {
+ return (String) kvpairs.get("itdfqname");
+ }
}