diff options
author | aclement <aclement> | 2008-12-06 00:00:41 +0000 |
---|---|---|
committer | aclement <aclement> | 2008-12-06 00:00:41 +0000 |
commit | c2b29e1ed1e75f6f03629241c27e794a9410c35f (patch) | |
tree | 1ba5f2cb8d9b3132b40aa5a256f46f9783a38b0b | |
parent | 2cf9f5287d34d5a4abb11e0229f50581f1dfc1a6 (diff) | |
download | aspectj-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.java | 10 |
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())); |