org_aspectj_tools_ajdoc_BugTest_java
org.aspectj.org.eclipse.jdt.internal.compiler.batch.ClasspathJar
protected void addToPackageCache(String fileName, boolean endsWithSep) {
        int last = endsWithSep ? fileName.length() : fileName.lastIndexOf(47);
        while (last > 0) {
            String packageName = fileName.substring(0, last);
            if (this.packageCache.contains(packageName)) {
                return;
            }
            this.packageCache.add(packageName);
            last = packageName.lastIndexOf(47);
        }
    }
 -> java.lang.String.lastIndexOf(int): int -> java.lang.String.substring(int,int): java.lang.String -> java.util.Set.contains(java.lang.Object): boolean -> java.util.Set.add(java.lang.Object): boolean -> java.lang.String.lastIndexOf(int): int -> java.lang.String.substring(int,int): java.lang.String -> java.util.Set.contains(java.lang.Object): boolean -> java.util.Set.add(java.lang.Object): boolean -> java.lang.String.lastIndexOf(int): int -> java.lang.String.substring(int,int): java.lang.String -> java.util.Set.contains(java.lang.Object): boolean -> java.util.Set.add(java.lang.Object): boolean -> java.lang.String.lastIndexOf(int): int -> java.lang.String.substring(int,int): java.lang.String -> java.util.Set.contains(java.lang.Object): boolean -> java.util.Set.add(java.lang.Object): boolean -> java.lang.String.lastIndexOf(int): int -> java.lang.String.substring(int,int): java.lang.String -> java.util.Set.contains(java.lang.Object): boolean -> java.util.Set.add(java.lang.Object): boolean -> java.lang.String.lastIndexOf(int): int -> java.lang.String.substring(int,int): java.lang.String -> java.util.Set.contains(java.lang.Object): boolean
 [CALL] -> java.lang.String.lastIndexOf(int): int -> java.lang.String.substring(int,int): java.lang.String -> java.util.Set.contains(java.lang.Object): boolean -> java.util.Set.add(java.lang.Object): boolean -> java.lang.String.lastIndexOf(int): int -> java.lang.String.substring(int,int): java.lang.String -> java.util.Set.contains(java.lang.Object): boolean -> java.util.Set.add(java.lang.Object): boolean -> java.lang.String.lastIndexOf(int): int -> java.lang.String.substring(int,int): java.lang.String -> java.util.Set.contains(java.lang.Object): boolean -> java.util.Set.add(java.lang.Object): boolean -> java.lang.String.lastIndexOf(int): int -> java.lang.String.substring(int,int): java.lang.String -> java.util.Set.contains(java.lang.Object): boolean -> java.util.Set.add(java.lang.Object): boolean -> java.lang.String.lastIndexOf(int): int -> java.lang.String.substring(int,int): java.lang.String -> java.util.Set.contains(java.lang.Object): boolean -> java.util.Set.add(java.lang.Object): boolean -> java.lang.String.lastIndexOf(int): int -> java.lang.String.substring(int,int): java.lang.String -> java.util.Set.contains(java.lang.Object): boolean [EXIT]