diff options
author | aclement <aclement> | 2006-06-13 13:23:14 +0000 |
---|---|---|
committer | aclement <aclement> | 2006-06-13 13:23:14 +0000 |
commit | f58b5d89371ed4454e65dbbca54032db4039151a (patch) | |
tree | 6c927ba696194b367aed96ddaa7e7f098a5c3958 /org.aspectj.ajdt.core | |
parent | b8e83b78c412178f79f3d2fa9e1fcecfb0c033aa (diff) | |
download | aspectj-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')
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()); } } |