aboutsummaryrefslogtreecommitdiffstats
path: root/org.aspectj.ajdt.core
diff options
context:
space:
mode:
authoraclement <aclement>2006-06-13 13:23:14 +0000
committeraclement <aclement>2006-06-13 13:23:14 +0000
commitf58b5d89371ed4454e65dbbca54032db4039151a (patch)
tree6c927ba696194b367aed96ddaa7e7f098a5c3958 /org.aspectj.ajdt.core
parentb8e83b78c412178f79f3d2fa9e1fcecfb0c033aa (diff)
downloadaspectj-f58b5d89371ed4454e65dbbca54032db4039151a.tar.gz
aspectj-f58b5d89371ed4454e65dbbca54032db4039151a.zip
141730: underpinning changes for new handles support. No longer 'leak' implementation details of the handles out into the rest of the code.
Diffstat (limited to 'org.aspectj.ajdt.core')
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AsmInterTypeRelationshipProvider.java21
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmHierarchyBuilder.java14
2 files changed, 21 insertions, 14 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AsmInterTypeRelationshipProvider.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AsmInterTypeRelationshipProvider.java
index 73ffafee3..b7f81415f 100644
--- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AsmInterTypeRelationshipProvider.java
+++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/AsmInterTypeRelationshipProvider.java
@@ -15,6 +15,7 @@ package org.aspectj.ajdt.internal.compiler.lookup;
//import java.io.IOException;
import org.aspectj.asm.AsmManager;
+import org.aspectj.asm.IProgramElement;
import org.aspectj.asm.IRelationship;
import org.aspectj.asm.IRelationshipMap;
import org.aspectj.weaver.ResolvedType;
@@ -48,17 +49,15 @@ public class AsmInterTypeRelationshipProvider {
if (munger.getSourceLocation() != null
&& munger.getSourceLocation() != null) {
- String sourceHandle = AsmManager.getDefault().getHandleProvider().createHandleIdentifier(
- munger.getSourceLocation().getSourceFile(),
- munger.getSourceLocation().getLine(),
- munger.getSourceLocation().getColumn(),
- munger.getSourceLocation().getOffset());
-
- String targetHandle = AsmManager.getDefault().getHandleProvider().createHandleIdentifier(
- onType.getSourceLocation().getSourceFile(),
- onType.getSourceLocation().getLine(),
- onType.getSourceLocation().getColumn(),
- onType.getSourceLocation().getOffset());
+ IProgramElement sourceIPE = AsmManager.getDefault().getHierarchy()
+ .findElementForSourceLine(munger.getSourceLocation());
+ String sourceHandle = AsmManager.getDefault().getHandleProvider()
+ .createHandleIdentifier(sourceIPE);
+
+ IProgramElement targetIPE = AsmManager.getDefault().getHierarchy()
+ .findElementForSourceLine(onType.getSourceLocation());
+ String targetHandle = AsmManager.getDefault().getHandleProvider()
+ .createHandleIdentifier(targetIPE);
IRelationshipMap mapper = AsmManager.getDefault().getRelationshipMap();
if (sourceHandle != null && targetHandle != null) {
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmHierarchyBuilder.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmHierarchyBuilder.java
index 8d90795f5..a65cfbf77 100644
--- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmHierarchyBuilder.java
+++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmHierarchyBuilder.java
@@ -430,10 +430,18 @@ public class AsmHierarchyBuilder extends ASTVisitor {
ReferencePointcut rp = (ReferencePointcut) it.next();
ResolvedMember member = getPointcutDeclaration(rp, declaration);
if (member != null) {
- IRelationship foreward = AsmManager.getDefault().getRelationshipMap().get(peNode.getHandleIdentifier(), IRelationship.Kind.USES_POINTCUT, "uses pointcut", false, true);
- foreward.addTarget(AsmManager.getDefault().getHandleProvider().createHandleIdentifier(member.getSourceLocation()));
+ IRelationship foreward = AsmManager.getDefault().getRelationshipMap()
+ .get(peNode.getHandleIdentifier(),
+ IRelationship.Kind.USES_POINTCUT, "uses pointcut", false, true);
+ IProgramElement forwardIPE = AsmManager.getDefault().getHierarchy()
+ .findElementForSourceLine(member.getSourceLocation());
+ foreward.addTarget(AsmManager.getDefault().getHandleProvider()
+ .createHandleIdentifier(forwardIPE));
- IRelationship back = AsmManager.getDefault().getRelationshipMap().get(AsmManager.getDefault().getHandleProvider().createHandleIdentifier(member.getSourceLocation()), IRelationship.Kind.USES_POINTCUT, "pointcut used by", false, true);
+ IRelationship back = AsmManager.getDefault().getRelationshipMap()
+ .get(AsmManager.getDefault().getHandleProvider()
+ .createHandleIdentifier(forwardIPE),
+ IRelationship.Kind.USES_POINTCUT, "pointcut used by", false, true);
back.addTarget(peNode.getHandleIdentifier());
}
}