org_aspectj_ajde_core_tests_DuplicateManifestTest_java
org.aspectj.apache.bcel.generic.InstructionFactory
public InvokeInstruction createInvoke(String class_name, String name, Type ret_type, Type[] arg_types, short kind, boolean isInterface) {
        int index;
        String signature = Utility.toMethodSignature(ret_type, arg_types);
        if (kind == 185 || isInterface) {
            index = this.cp.addInterfaceMethodref(class_name, name, signature);
        } else {
            if (kind == 186) {
                throw new IllegalStateException("NYI");
            }
            index = this.cp.addMethodref(class_name, name, signature);
        }
        switch (kind) {
            case 183: {
                return new InvokeInstruction(183, index);
            }
            case 182: {
                return new InvokeInstruction(182, index);
            }
            case 184: {
                return new InvokeInstruction(184, index);
            }
            case 185: {
                int nargs = 0;
                for (Type arg_type : arg_types) {
                    nargs += arg_type.getSize();
                }
                return new INVOKEINTERFACE(index, nargs + 1, 0);
            }
        }
        throw new RuntimeException("Oops: Unknown invoke kind:" + kind);
    }
 -> java.lang.StringBuilder.append(char): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.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.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.String.replace(char,char): 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.String.equals(java.lang.Object): boolean -> 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.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void -> 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.String.equals(java.lang.Object): boolean -> 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.String.equals(java.lang.Object): boolean -> 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.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.String.equals(java.lang.Object): boolean -> 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.String.equals(java.lang.Object): boolean -> 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.String.equals(java.lang.Object): boolean -> 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.String.equals(java.lang.Object): boolean -> 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.String.equals(java.lang.Object): boolean -> 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.String.equals(java.lang.Object): boolean -> 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.String.equals(java.lang.Object): boolean -> 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.String.equals(java.lang.Object): boolean -> 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.String.equals(java.lang.Object): boolean -> 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.String.equals(java.lang.Object): boolean -> 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.String.equals(java.lang.Object): boolean -> 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.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> 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.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.lang.String.replace(char,char): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean
 [CALL] [CALL] -> java.lang.StringBuilder.append(char): java.lang.StringBuilder [CALL] [EXIT] -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String [EXIT] [CALL] [CALL] -> 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.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.String.replace(char,char): java.lang.String [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [CALL] -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void [EXIT] [CALL] [CALL] [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] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [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] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [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] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.String.replace(char,char): java.lang.String [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT]