org_aspectj_ajde_core_tests_CompilerMessagesTest_java
org.aspectj.org.eclipse.jdt.internal.compiler.lookup.TypeSystem$HashedParameterizedTypes
void put(ReferenceBinding genericType, TypeBinding[] typeArguments, ReferenceBinding enclosingType, ParameterizedTypeBinding parameterizedType) {
        int slot;
        ReferenceBinding unannotatedGenericType = (ReferenceBinding)TypeSystem.this.getUnannotatedType(genericType);
        int typeArgumentsLength = typeArguments == null ? 0 : typeArguments.length;
        TypeBinding[] unannotatedTypeArguments = typeArguments == null ? null : new TypeBinding[typeArgumentsLength];
        int i = 0;
        while (i < typeArgumentsLength) {
            unannotatedTypeArguments[i] = TypeSystem.this.getUnannotatedType(typeArguments[i]);
            ++i;
        }
        ReferenceBinding unannotatedEnclosingType = enclosingType == null ? null : (ReferenceBinding)TypeSystem.this.getUnannotatedType(enclosingType);
        PTBKey key = new PTBKey(unannotatedGenericType, unannotatedTypeArguments, unannotatedEnclosingType, TypeSystem.this.environment);
        ParameterizedTypeBinding[] parameterizedTypeBindings = this.hashedParameterizedTypes.get(key);
        if (parameterizedTypeBindings == null) {
            slot = 0;
            parameterizedTypeBindings = new ParameterizedTypeBinding[1];
        } else {
            slot = parameterizedTypeBindings.length;
            ParameterizedTypeBinding[] parameterizedTypeBindingArray = parameterizedTypeBindings;
            parameterizedTypeBindings = new ParameterizedTypeBinding[slot + 1];
            System.arraycopy(parameterizedTypeBindingArray, 0, parameterizedTypeBindings, 0, slot);
        }
        parameterizedTypeBindings[slot] = parameterizedType;
        this.hashedParameterizedTypes.put(key, parameterizedTypeBindings);
    }
 -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void -> java.util.HashMap.get(java.lang.Object): java.lang.Object -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.hashCode(): int -> java.util.Arrays.hashCode(char[]): int -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.hashCode(): int -> java.util.Arrays.hashCode(char[]): int -> java.util.HashMap.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.hashCode(): int -> java.util.Arrays.hashCode(char[]): int -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.hashCode(): int -> java.util.Arrays.hashCode(char[]): int
 [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void [EXIT] [CALL] [EXIT] [EXIT] -> java.util.HashMap.get(java.lang.Object): java.lang.Object [CALL] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.hashCode(): int [CALL] [CALL] -> java.util.Arrays.hashCode(char[]): int [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.hashCode(): int [CALL] [CALL] -> java.util.Arrays.hashCode(char[]): int [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.HashMap.put(java.lang.Object,java.lang.Object): java.lang.Object [CALL] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.hashCode(): int [CALL] [CALL] -> java.util.Arrays.hashCode(char[]): int [EXIT] [EXIT] [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.hashCode(): int [CALL] [CALL] -> java.util.Arrays.hashCode(char[]): int [EXIT] [EXIT] [EXIT] [EXIT] [EXIT]