diff options
author | aclement <aclement> | 2006-04-06 08:19:17 +0000 |
---|---|---|
committer | aclement <aclement> | 2006-04-06 08:19:17 +0000 |
commit | fdd4e869b979f9c5d75d339e898830a27650c1b3 (patch) | |
tree | a43e17aa85276f953554d0661f1154ea9f59ab22 | |
parent | e9a7c5036c3f5b68ba55e7b5ba56db27ee31149e (diff) | |
download | aspectj-fdd4e869b979f9c5d75d339e898830a27650c1b3.tar.gz aspectj-fdd4e869b979f9c5d75d339e898830a27650c1b3.zip |
bullet proof (?) element formatter (135052)
-rw-r--r-- | org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmElementFormatter.java | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmElementFormatter.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmElementFormatter.java index a1da0cffd..0916356d7 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmElementFormatter.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/core/builder/AsmElementFormatter.java @@ -39,9 +39,12 @@ import org.aspectj.weaver.patterns.OrPointcut; import org.aspectj.weaver.patterns.ReferencePointcut; import org.aspectj.weaver.patterns.TypePattern; import org.aspectj.weaver.patterns.TypePatternList; +import org.aspectj.org.eclipse.jdt.core.compiler.CharOperation; import org.aspectj.org.eclipse.jdt.internal.compiler.ast.Argument; import org.aspectj.org.eclipse.jdt.internal.compiler.ast.MethodDeclaration; import org.aspectj.org.eclipse.jdt.internal.compiler.ast.Annotation; +import org.aspectj.org.eclipse.jdt.internal.compiler.ast.TypeReference; +import org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeBinding; /** * @author Mik Kersten @@ -299,7 +302,20 @@ public class AsmElementFormatter { for (int i = 0; i < argArray.length; i++) { String argName = new String(argArray[i].name); - String argType = argArray[i].type.resolvedType.debugName(); + String argType = "<UnknownType>"; // pr135052 + TypeReference typeR = argArray[i].type; + if (typeR!=null) { + TypeBinding typeB = typeR.resolvedType; + if (typeB==null) { + if (typeR.getTypeName()!=null) + argType = CharOperation.toString(typeR.getTypeName()); + } else { + argType = typeB.debugName(); + } + } + + +// String argType = argArray[i].type.resolvedType.debugName(); if (acceptArgument(argName, argArray[i].type.toString())) { names.add(argName); types.add(argType); |