aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraclement <aclement>2008-12-06 00:00:41 +0000
committeraclement <aclement>2008-12-06 00:00:41 +0000
commitc2b29e1ed1e75f6f03629241c27e794a9410c35f (patch)
tree1ba5f2cb8d9b3132b40aa5a256f46f9783a38b0b
parent2cf9f5287d34d5a4abb11e0229f50581f1dfc1a6 (diff)
downloadaspectj-c2b29e1ed1e75f6f03629241c27e794a9410c35f.tar.gz
aspectj-c2b29e1ed1e75f6f03629241c27e794a9410c35f.zip
getCorrespondingType() fixed for itdf
-rw-r--r--org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmHierarchyBuilder.java10
1 files changed, 9 insertions, 1 deletions
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 8e85ac885..8aa528ef1 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
@@ -29,6 +29,7 @@ import org.aspectj.ajdt.internal.compiler.ast.AdviceDeclaration;
import org.aspectj.ajdt.internal.compiler.ast.AspectDeclaration;
import org.aspectj.ajdt.internal.compiler.ast.DeclareDeclaration;
import org.aspectj.ajdt.internal.compiler.ast.InterTypeDeclaration;
+import org.aspectj.ajdt.internal.compiler.ast.InterTypeFieldDeclaration;
import org.aspectj.ajdt.internal.compiler.ast.PointcutDeclaration;
import org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment;
import org.aspectj.ajdt.internal.compiler.lookup.EclipseFactory;
@@ -505,7 +506,14 @@ public class AsmHierarchyBuilder extends ASTVisitor {
// methods, then we loose the type, for example int, for the field
// and instead get "void".
if (peNode.getKind().equals(IProgramElement.Kind.INTER_TYPE_FIELD)) {
- peNode.setCorrespondingType(methodDeclaration.returnType.toString());
+
+ InterTypeFieldDeclaration itfd = (InterTypeFieldDeclaration) methodDeclaration;
+ if (itfd.getRealFieldType() != null) {
+ peNode.setCorrespondingType(new String(itfd.getRealFieldType().readableName()));
+ } else
+ peNode.setCorrespondingType(null);
+
+ // was peNode.setCorrespondingType(methodDeclaration.returnType.toString());
} else {
if (methodDeclaration.returnType.resolvedType != null)
peNode.setCorrespondingType(new String(methodDeclaration.returnType.resolvedType.readableName()));