org_aspectj_ajde_core_tests_CompilerMessagesTest_java
org.aspectj.org.eclipse.jdt.internal.compiler.batch.Main
private int processPaths(String[] args, int index, String currentArg, ArrayList<String> paths) {
        int localIndex = index;
        int count = 0;
        int i = 0;
        int max = currentArg.length();
        while (i < max) {
            switch (currentArg.charAt(i)) {
                case '[': {
                    ++count;
                    break;
                }
                case ']': {
                    --count;
                }
            }
            ++i;
        }
        if (count != 0) {
            if (count > 1) {
                throw new IllegalArgumentException(this.bind("configure.unexpectedBracket", currentArg));
            }
            StringBuilder currentPath = new StringBuilder(currentArg);
            while (true) {
                if (localIndex >= args.length) {
                    throw new IllegalArgumentException(this.bind("configure.unexpectedBracket", currentArg));
                }
                String nextArg = args[++localIndex];
                int i2 = 0;
                int max2 = nextArg.length();
                while (i2 < max2) {
                    switch (nextArg.charAt(i2)) {
                        case '[': {
                            if (count > 1) {
                                throw new IllegalArgumentException(this.bind("configure.unexpectedBracket", nextArg));
                            }
                            ++count;
                            break;
                        }
                        case ']': {
                            --count;
                        }
                    }
                    ++i2;
                }
                if (count == 0) {
                    currentPath.append(' ');
                    currentPath.append(nextArg);
                    paths.add(currentPath.toString());
                    return localIndex - index;
                }
                if (count < 0) {
                    throw new IllegalArgumentException(this.bind("configure.unexpectedBracket", nextArg));
                }
                currentPath.append(' ');
                currentPath.append(nextArg);
            }
        }
        paths.add(currentArg);
        return localIndex - index;
    }
 -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.util.ArrayList.add(java.lang.Object): boolean
 [CALL] -> java.lang.String.length(): int -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.lang.String.charAt(int): char -> java.util.ArrayList.add(java.lang.Object): boolean [EXIT]