org_aspectj_weaver_GenericSignatureParserTest_java
org.aspectj.util.GenericSignatureParser
private GenericSignature.FieldTypeSignature parseFieldTypeSignature(boolean isOptional) {
        if (isOptional && !this.tokenStream[this.tokenIndex].startsWith("L") && !this.tokenStream[this.tokenIndex].startsWith("T") && !this.tokenStream[this.tokenIndex].startsWith("[")) {
            return null;
        }
        if (this.maybeEat("[")) {
            return this.parseArrayTypeSignature();
        }
        if (this.tokenStream[this.tokenIndex].startsWith("L")) {
            return this.parseClassTypeSignature();
        }
        if (this.tokenStream[this.tokenIndex].startsWith("T")) {
            return this.parseTypeVariableSignature();
        }
        throw new IllegalStateException("Expecting [,L, or T, but found " + this.tokenStream[this.tokenIndex] + " while unpacking " + this.inputString);
    }
 -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.toArray(java.lang.Object[]): java.lang.Object[] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.size(): int -> java.util.List.toArray(java.lang.Object[]): java.lang.Object[] -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String
 [CALL] -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.String.startsWith(java.lang.String): boolean [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [CALL] [CALL] -> java.lang.String.startsWith(java.lang.String): boolean [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.lang.String.startsWith(java.lang.String): boolean [CALL] [CALL] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.lang.StringBuilder.toString(): java.lang.String [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [CALL] [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.List.size(): int -> java.util.List.toArray(java.lang.Object[]): java.lang.Object[] [EXIT] [CALL] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] [EXIT] [CALL] [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.util.List.size(): int -> java.util.List.toArray(java.lang.Object[]): java.lang.Object[] [EXIT] [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT]