Lines 447-467
Link Here
|
447 |
MethodBinding originalMethod = this.original(); |
447 |
MethodBinding originalMethod = this.original(); |
448 |
AnnotationHolder holder = originalMethod.declaringClass.retrieveAnnotationHolder(originalMethod, true); |
448 |
AnnotationHolder holder = originalMethod.declaringClass.retrieveAnnotationHolder(originalMethod, true); |
449 |
AnnotationBinding[][] allParameterAnnotations = holder == null ? null : holder.getParameterAnnotations(); |
449 |
AnnotationBinding[][] allParameterAnnotations = holder == null ? null : holder.getParameterAnnotations(); |
450 |
if (allParameterAnnotations == null && (this.tagBits & TagBits.HasParameterAnnotations) != 0) { |
450 |
if (allParameterAnnotations == null) { |
451 |
allParameterAnnotations = new AnnotationBinding[length][]; |
451 |
allParameterAnnotations = new AnnotationBinding[length][]; |
452 |
// forward reference to method, where param annotations have not yet been associated to method |
452 |
if ((this.tagBits & TagBits.HasParameterAnnotations) != 0) { |
453 |
if (this.declaringClass instanceof SourceTypeBinding) { |
453 |
// forward reference to method, where param annotations have not yet been associated to method |
454 |
SourceTypeBinding sourceType = (SourceTypeBinding) this.declaringClass; |
454 |
if (this.declaringClass instanceof SourceTypeBinding) { |
455 |
if (sourceType.scope != null) { |
455 |
SourceTypeBinding sourceType = (SourceTypeBinding) this.declaringClass; |
456 |
AbstractMethodDeclaration methodDecl = sourceType.scope.referenceType().declarationOf(this); |
456 |
if (sourceType.scope != null) { |
457 |
for (int i = 0; i < length; i++) { |
457 |
AbstractMethodDeclaration methodDecl = sourceType.scope.referenceType().declarationOf(this); |
458 |
Argument argument = methodDecl.arguments[i]; |
458 |
for (int i = 0; i < length; i++) { |
459 |
if (argument.annotations != null) { |
459 |
Argument argument = methodDecl.arguments[i]; |
460 |
ASTNode.resolveAnnotations(methodDecl.scope, argument.annotations, argument.binding); |
460 |
if (argument.annotations != null) { |
461 |
allParameterAnnotations[i] = argument.binding.getAnnotations(); |
461 |
ASTNode.resolveAnnotations(methodDecl.scope, argument.annotations, argument.binding); |
|
|
462 |
allParameterAnnotations[i] = argument.binding.getAnnotations(); |
463 |
} |
464 |
} |
465 |
} else { |
466 |
for (int i = 0; i < length; i++) { |
467 |
allParameterAnnotations[i] = Binding.NO_ANNOTATIONS; |
462 |
} |
468 |
} |
463 |
} |
469 |
} |
464 |
this.setParameterAnnotations(allParameterAnnotations); |
|
|
465 |
} else { |
470 |
} else { |
466 |
for (int i = 0; i < length; i++) { |
471 |
for (int i = 0; i < length; i++) { |
467 |
allParameterAnnotations[i] = Binding.NO_ANNOTATIONS; |
472 |
allParameterAnnotations[i] = Binding.NO_ANNOTATIONS; |
Lines 472-477
Link Here
|
472 |
allParameterAnnotations[i] = Binding.NO_ANNOTATIONS; |
477 |
allParameterAnnotations[i] = Binding.NO_ANNOTATIONS; |
473 |
} |
478 |
} |
474 |
} |
479 |
} |
|
|
480 |
this.setParameterAnnotations(allParameterAnnotations); |
475 |
} |
481 |
} |
476 |
return allParameterAnnotations; |
482 |
return allParameterAnnotations; |
477 |
} |
483 |
} |