org_aspectj_ajde_core_tests_JarManifestTest_java
org.aspectj.weaver.patterns.PatternParser
public SignaturePattern parseMethodOrConstructorSignaturePattern() {
        TypePattern declaringType;
        MemberKind kind;
        int startPos = this.tokenSource.peek().getStart();
        AnnotationTypePattern annotationPattern = this.maybeParseAnnotationPattern();
        ModifiersPattern modifiers = this.parseModifiersPattern();
        TypePattern returnType = this.parseTypePattern(false, false);
        NamePattern name = null;
        if (this.maybeEatNew(returnType)) {
            kind = Member.CONSTRUCTOR;
            declaringType = returnType.toString().length() == 0 ? TypePattern.ANY : returnType;
            returnType = TypePattern.ANY;
            name = NamePattern.ANY;
        } else {
            kind = Member.METHOD;
            IToken nameToken = this.tokenSource.peek();
            declaringType = this.parseTypePattern(false, false);
            if (this.maybeEat(".")) {
                nameToken = this.tokenSource.peek();
                name = this.parseNamePattern();
            } else {
                name = this.tryToExtractName(declaringType);
                if (declaringType.toString().equals("")) {
                    declaringType = TypePattern.ANY;
                }
            }
            if (name == null) {
                throw new ParserException("name pattern", this.tokenSource.peek());
            }
            String simpleName = name.maybeGetSimpleName();
            if (simpleName != null && simpleName.equals("new")) {
                throw new ParserException("method name (not constructor)", nameToken);
            }
        }
        TypePatternList parameterTypes = this.parseArgumentsPattern(true);
        ThrowsPattern throwsPattern = this.parseOptionalThrowsPattern();
        SignaturePattern ret = new SignaturePattern(kind, modifiers, returnType, declaringType, name, parameterTypes, throwsPattern, annotationPattern);
        int endPos = this.tokenSource.peek(-1).getEnd();
        ret.setLocation(this.sourceContext, startPos, endPos);
        return ret;
    }
 -> java.util.Map.get(java.lang.Object): java.lang.Object -> 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.lang.StringBuilder.length(): int -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.String.toCharArray(): char[] -> java.lang.String.hashCode(): int -> java.lang.String.toCharArray(): char[] -> java.lang.String.hashCode(): int -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.String.toCharArray(): char[] -> java.lang.String.hashCode(): int -> java.util.List.add(java.lang.Object): boolean -> java.lang.StringBuilder.setLength(int): void -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> 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.lang.StringBuilder.length(): int -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.String.toCharArray(): char[] -> java.lang.String.hashCode(): int -> java.util.List.add(java.lang.Object): boolean -> java.lang.StringBuilder.setLength(int): void -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.StringBuilder.length(): int -> java.util.List.isEmpty(): boolean -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.length(): int -> java.util.List.add(java.lang.Object): boolean -> java.lang.StringBuilder.setLength(int): void -> 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.lang.StringBuilder.length(): int -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.String.charAt(int): char -> java.lang.String.length(): int -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.String.toCharArray(): char[] -> java.lang.String.hashCode(): int -> java.util.List.add(java.lang.Object): boolean -> java.lang.StringBuilder.setLength(int): void -> java.util.List.size(): int -> java.util.List.toArray(java.lang.Object[]): java.lang.Object[] -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void -> java.lang.Object.toString(): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.util.List.toArray(java.lang.Object[]): java.lang.Object[]
 [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.toString(): java.lang.String [CALL] -> java.lang.String.charAt(int): char -> java.lang.String.length(): int [EXIT] [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [CALL] [EXIT] -> java.lang.String.hashCode(): int [EXIT] [EXIT] [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [CALL] [EXIT] -> java.lang.String.hashCode(): int [EXIT] [EXIT] -> java.lang.StringBuilder.toString(): java.lang.String [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [CALL] [EXIT] -> java.lang.String.hashCode(): int [EXIT] [EXIT] [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.lang.StringBuilder.setLength(int): void [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.toString(): java.lang.String [CALL] -> java.lang.String.charAt(int): char -> java.lang.String.length(): int [EXIT] -> java.lang.StringBuilder.toString(): java.lang.String [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [CALL] [EXIT] -> java.lang.String.hashCode(): int [EXIT] [EXIT] [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.lang.StringBuilder.setLength(int): void [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.StringBuilder.length(): int -> java.util.List.isEmpty(): boolean -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.length(): int -> java.util.List.add(java.lang.Object): boolean -> java.lang.StringBuilder.setLength(int): void [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.length(): int -> java.lang.StringBuilder.toString(): java.lang.String [CALL] -> java.lang.String.charAt(int): char -> java.lang.String.length(): int [EXIT] -> java.lang.StringBuilder.toString(): java.lang.String [CALL] -> java.lang.String.toCharArray(): char[] [CALL] [CALL] [EXIT] -> java.lang.String.hashCode(): int [EXIT] [EXIT] [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean -> java.lang.StringBuilder.setLength(int): void [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] -> java.util.List.size(): int [CALL] -> java.util.List.toArray(java.lang.Object[]): java.lang.Object[] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void [EXIT] [EXIT] -> java.lang.Object.toString(): java.lang.String [CALL] [CALL] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder [CALL] [EXIT] -> java.lang.StringBuilder.toString(): java.lang.String [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] -> java.util.List.toArray(java.lang.Object[]): java.lang.Object[] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT]