org_aspectj_ajde_internal_AspectJBuildManagerTest_java
org.aspectj.org.eclipse.jdt.internal.compiler.ast.Argument
public TypeBinding resolveForCatch(BlockScope scope) {
        boolean hasError;
        TypeBinding exceptionType = this.type.resolveType(scope, true);
        if (exceptionType == null) {
            hasError = true;
        } else {
            hasError = false;
            switch (exceptionType.kind()) {
                case 260: {
                    if (!exceptionType.isBoundParameterizedType()) break;
                    hasError = true;
                    scope.problemReporter().invalidParameterizedExceptionType(exceptionType, this);
                    break;
                }
                case 4100: {
                    scope.problemReporter().invalidTypeVariableAsException(exceptionType, this);
                    hasError = true;
                }
            }
            if (exceptionType.findSuperTypeOriginatingFrom(21, true) == null && exceptionType.isValidBinding()) {
                scope.problemReporter().cannotThrowType(this.type, exceptionType);
                hasError = true;
            }
        }
        Binding existingVariable = scope.getBinding(this.name, 3, (InvocationSite)this, false);
        if (existingVariable != null && existingVariable.isValidBinding()) {
            if (existingVariable instanceof LocalVariableBinding && this.hiddenVariableDepth == 0) {
                scope.problemReporter().redefineArgument(this);
            } else {
                scope.problemReporter().localVariableHiding(this, existingVariable, false);
            }
        }
        if ((this.type.bits & 0x20000000) != 0) {
            this.binding = new CatchParameterBinding((LocalDeclaration)this, exceptionType, this.modifiers | 0x10, false);
            this.binding.tagBits |= 0x1000L;
        } else {
            this.binding = new CatchParameterBinding((LocalDeclaration)this, exceptionType, this.modifiers, false);
        }
        Argument.resolveAnnotations(scope, this.annotations, this.binding, true);
        Annotation.isTypeUseCompatible(this.type, scope, this.annotations);
        if (scope.compilerOptions().isAnnotationBasedNullAnalysisEnabled && (this.type.hasNullTypeAnnotation(TypeReference.AnnotationPosition.ANY) || TypeReference.containsNullAnnotation(this.annotations))) {
            scope.problemReporter().nullAnnotationUnsupportedLocation(this.type);
        }
        scope.addLocalVariable(this.binding);
        this.binding.setConstant(Constant.NotAConstant);
        if (hasError) {
            return null;
        }
        return exceptionType;
    }
 -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void -> java.lang.Math.min(int,int): int -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.Arrays.hashCode(char[]): int -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int -> java.util.Arrays.hashCode(char[]): int -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.HashMap.get(java.lang.Object): java.lang.Object -> java.util.Arrays.hashCode(char[]): int -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int -> java.util.Arrays.hashCode(char[]): int -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.Arrays.hashCode(char[]): int -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.Arrays.equals(char[],char[]): boolean -> java.lang.Object.hashCode(): int -> java.util.LinkedHashSet.add(java.lang.Object): boolean -> java.lang.Math.min(int,int): int -> java.lang.Object.hashCode(): int -> java.util.LinkedHashSet.add(java.lang.Object): boolean
 [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Math.min(int,int): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [CALL] [CALL] -> java.util.Arrays.hashCode(char[]): int [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.util.Arrays.hashCode(char[]): int [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] -> java.util.HashMap.get(java.lang.Object): java.lang.Object [CALL] -> java.util.Arrays.hashCode(char[]): int [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.util.Arrays.binarySearch(java.lang.Object[],int,int,java.lang.Object,java.util.Comparator): int [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.util.Arrays.hashCode(char[]): int [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] -> java.util.Arrays.hashCode(char[]): int [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Object.hashCode(): int [EXIT] [EXIT] -> java.util.LinkedHashSet.add(java.lang.Object): boolean [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.lang.Math.min(int,int): int [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Object.hashCode(): int [EXIT] [EXIT] -> java.util.LinkedHashSet.add(java.lang.Object): boolean [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT]