org_aspectj_ajde_core_tests_model_SavedModelConsistencyTest_java
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.Scope
public ReferenceBinding findType(char[] typeName, PackageBinding declarationPackage, PackageBinding invocationPackage) {
        this.compilationUnitScope().recordReference(declarationPackage.compoundName, typeName);
        ReferenceBinding typeBinding = declarationPackage.getType(typeName, this.module());
        if (typeBinding == null) {
            return null;
        }
        if (typeBinding.isValidBinding() && declarationPackage != invocationPackage && !typeBinding.canBeSeenBy(invocationPackage)) {
            return new ProblemReferenceBinding(new char[][]{typeName}, typeBinding, 2);
        }
        return typeBinding;
    }
 -> 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.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.containsKey(java.lang.Object): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void -> java.util.Set.contains(java.lang.Object): boolean -> java.lang.String.valueOf(java.lang.Object): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.String.length(): int -> java.lang.String.length(): int -> java.lang.String.substring(int,int): java.lang.String -> java.util.Hashtable.get(java.lang.Object): java.lang.Object -> java.io.File.toString(): java.lang.String -> java.util.Map.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.util.Optional.orElse(java.lang.Object): java.lang.Object -> java.lang.String.replace(char,char): java.lang.String -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.List.get(int): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.List.get(int): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.lang.Object.getClass(): java.lang.Class -> java.io.File.toString(): java.lang.String -> java.util.Map.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.util.Optional.orElse(java.lang.Object): java.lang.Object -> java.lang.String.lastIndexOf(int): int -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.List.toArray(java.lang.Object[]): java.lang.Object[] -> java.util.function.Predicate.test(java.lang.Object): boolean -> java.nio.file.FileSystem.getPath(java.lang.String,java.lang.String[]): java.nio.file.Path -> java.util.Map.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.util.Optional.orElse(java.lang.Object): java.lang.Object -> java.util.function.Predicate.test(java.lang.Object): boolean -> java.nio.file.FileSystem.getPath(java.lang.String,java.lang.String[]): java.nio.file.Path -> java.util.Map.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.util.Optional.orElse(java.lang.Object): java.lang.Object -> java.util.function.Predicate.test(java.lang.Object): boolean -> java.nio.file.FileSystem.getPath(java.lang.String,java.lang.String[]): java.nio.file.Path -> java.util.Map.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.util.Optional.orElse(java.lang.Object): java.lang.Object -> java.util.Hashtable.get(java.lang.Object): java.lang.Object -> java.util.Hashtable.get(java.lang.Object): java.lang.Object -> java.io.File.toString(): java.lang.String -> java.util.Map.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.util.Optional.orElse(java.lang.Object): java.lang.Object -> java.lang.String.replace(char,char): java.lang.String -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.List.get(int): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.List.get(int): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.lang.Object.getClass(): java.lang.Class -> java.io.File.toString(): java.lang.String -> java.util.Map.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.util.Optional.orElse(java.lang.Object): java.lang.Object -> java.lang.String.lastIndexOf(int): int -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.List.toArray(java.lang.Object[]): java.lang.Object[] -> java.util.function.Predicate.test(java.lang.Object): boolean -> java.nio.file.FileSystem.getPath(java.lang.String,java.lang.String[]): java.nio.file.Path -> java.util.Map.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.util.Optional.orElse(java.lang.Object): java.lang.Object -> java.util.function.Predicate.test(java.lang.Object): boolean -> java.nio.file.FileSystem.getPath(java.lang.String,java.lang.String[]): java.nio.file.Path -> java.util.Map.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.util.Optional.orElse(java.lang.Object): java.lang.Object -> java.util.function.Predicate.test(java.lang.Object): boolean -> java.nio.file.FileSystem.getPath(java.lang.String,java.lang.String[]): java.nio.file.Path -> java.util.Map.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.util.Optional.orElse(java.lang.Object): java.lang.Object -> java.util.Hashtable.get(java.lang.Object): java.lang.Object -> java.util.Arrays.hashCode(char[]): int
 [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] [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] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.util.Arrays.hashCode(char[]): int [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] -> java.util.Map.containsKey(java.lang.Object): boolean -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [CALL] [CALL] -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void [EXIT] [CALL] [CALL] -> java.util.Set.contains(java.lang.Object): boolean -> java.lang.String.valueOf(java.lang.Object): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.String.length(): int -> java.lang.String.length(): int -> java.lang.String.substring(int,int): java.lang.String [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Hashtable.get(java.lang.Object): java.lang.Object [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.io.File.toString(): java.lang.String -> java.util.Map.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.util.Optional.orElse(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] -> java.lang.String.replace(char,char): java.lang.String -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.List.get(int): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.List.get(int): java.lang.Object -> java.lang.String.toCharArray(): char[] [EXIT] [EXIT] [EXIT] -> java.lang.Object.getClass(): java.lang.Class [CALL] [CALL] [CALL] [CALL] -> java.io.File.toString(): java.lang.String -> java.util.Map.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.util.Optional.orElse(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.lastIndexOf(int): int -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.List.toArray(java.lang.Object[]): java.lang.Object[] [EXIT] -> java.util.function.Predicate.test(java.lang.Object): boolean [CALL] -> java.nio.file.FileSystem.getPath(java.lang.String,java.lang.String[]): java.nio.file.Path -> java.util.Map.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.util.Optional.orElse(java.lang.Object): java.lang.Object [EXIT] -> java.util.function.Predicate.test(java.lang.Object): boolean [CALL] -> java.nio.file.FileSystem.getPath(java.lang.String,java.lang.String[]): java.nio.file.Path -> java.util.Map.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.util.Optional.orElse(java.lang.Object): java.lang.Object [EXIT] -> java.util.function.Predicate.test(java.lang.Object): boolean [CALL] -> java.nio.file.FileSystem.getPath(java.lang.String,java.lang.String[]): java.nio.file.Path -> java.util.Map.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.util.Optional.orElse(java.lang.Object): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Hashtable.get(java.lang.Object): java.lang.Object [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Hashtable.get(java.lang.Object): java.lang.Object [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.io.File.toString(): java.lang.String -> java.util.Map.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.util.Optional.orElse(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] -> java.lang.String.replace(char,char): java.lang.String -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.List.get(int): java.lang.Object -> java.lang.String.toCharArray(): char[] -> java.util.List.get(int): java.lang.Object -> java.lang.String.toCharArray(): char[] [EXIT] [EXIT] [EXIT] -> java.lang.Object.getClass(): java.lang.Class [CALL] [CALL] [CALL] [CALL] -> java.io.File.toString(): java.lang.String -> java.util.Map.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.util.Optional.orElse(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.String.lastIndexOf(int): int -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.List.toArray(java.lang.Object[]): java.lang.Object[] [EXIT] -> java.util.function.Predicate.test(java.lang.Object): boolean [CALL] -> java.nio.file.FileSystem.getPath(java.lang.String,java.lang.String[]): java.nio.file.Path -> java.util.Map.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.util.Optional.orElse(java.lang.Object): java.lang.Object [EXIT] -> java.util.function.Predicate.test(java.lang.Object): boolean [CALL] -> java.nio.file.FileSystem.getPath(java.lang.String,java.lang.String[]): java.nio.file.Path -> java.util.Map.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.util.Optional.orElse(java.lang.Object): java.lang.Object [EXIT] -> java.util.function.Predicate.test(java.lang.Object): boolean [CALL] -> java.nio.file.FileSystem.getPath(java.lang.String,java.lang.String[]): java.nio.file.Path -> java.util.Map.computeIfAbsent(java.lang.Object,java.util.function.Function): java.lang.Object -> java.util.Optional.orElse(java.lang.Object): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] -> java.util.Hashtable.get(java.lang.Object): java.lang.Object [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Arrays.hashCode(char[]): int [EXIT] [EXIT] [EXIT] [EXIT] [EXIT]