diff options
-rw-r--r-- | org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseResolvedMember.java | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseResolvedMember.java b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseResolvedMember.java index 7ea58fa42..1e7a36e35 100644 --- a/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseResolvedMember.java +++ b/org.aspectj.ajdt.core/src/org/aspectj/ajdt/internal/compiler/lookup/EclipseResolvedMember.java @@ -94,15 +94,19 @@ public class EclipseResolvedMember extends ResolvedMemberImpl { public String[] getParameterNames() { if (argumentNames!=null) return argumentNames; - TypeDeclaration typeDecl = getTypeDeclaration(); - AbstractMethodDeclaration methodDecl = typeDecl.declarationOf((MethodBinding)realBinding); - Argument[] args = (methodDecl==null?null:methodDecl.arguments); // dont like this - why isnt the method found sometimes? is it because other errors are being reported? - if (args==null) { + if (realBinding instanceof FieldBinding) { argumentNames=NO_ARGS; } else { - argumentNames = new String[args.length]; - for (int i = 0; i < argumentNames.length; i++) { - argumentNames[i] = new String(methodDecl.arguments[i].name); + TypeDeclaration typeDecl = getTypeDeclaration(); + AbstractMethodDeclaration methodDecl = typeDecl.declarationOf((MethodBinding)realBinding); + Argument[] args = (methodDecl==null?null:methodDecl.arguments); // dont like this - why isnt the method found sometimes? is it because other errors are being reported? + if (args==null) { + argumentNames=NO_ARGS; + } else { + argumentNames = new String[args.length]; + for (int i = 0; i < argumentNames.length; i++) { + argumentNames[i] = new String(methodDecl.arguments[i].name); + } } } return argumentNames; |