summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraclement <aclement>2006-04-06 08:19:17 +0000
committeraclement <aclement>2006-04-06 08:19:17 +0000
commitfdd4e869b979f9c5d75d339e898830a27650c1b3 (patch)
treea43e17aa85276f953554d0661f1154ea9f59ab22
parente9a7c5036c3f5b68ba55e7b5ba56db27ee31149e (diff)
downloadaspectj-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.java18
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);