org_aspectj_ajde_core_tests_model_SavedModelConsistencyTest_java
org.aspectj.org.eclipse.jdt.internal.compiler.ast.QualifiedNameReference
@Override
    public void generateCode(BlockScope currentScope, CodeStream codeStream, boolean valueRequired) {
        int pc = codeStream.position;
        if (this.constant != Constant.NotAConstant) {
            if (valueRequired) {
                codeStream.generateConstant(this.constant, this.implicitConversion);
            }
        } else {
            FieldBinding lastFieldBinding = this.generateReadSequence(currentScope, codeStream);
            if (lastFieldBinding != null) {
                boolean isStatic = lastFieldBinding.isStatic();
                Constant fieldConstant = lastFieldBinding.constant();
                if (fieldConstant != Constant.NotAConstant) {
                    if (!isStatic) {
                        codeStream.invokeObjectGetClass();
                        codeStream.pop();
                    }
                    if (valueRequired) {
                        codeStream.generateConstant(fieldConstant, this.implicitConversion);
                    }
                } else {
                    FieldBinding fieldBinding;
                    boolean isFirst = lastFieldBinding == this.binding && (this.indexOfFirstFieldBinding == 1 || TypeBinding.equalsEquals((ReferenceBinding)QualifiedNameReference.declaringClass_aroundBody7$advice(this, fieldBinding = lastFieldBinding, OwningClassSupportForFieldBindings.aspectOf(), fieldBinding, null), currentScope.enclosingReceiverType())) && this.otherBindings == null;
                    TypeBinding requiredGenericCast = this.getGenericCast(this.otherBindings == null ? 0 : this.otherBindings.length);
                    if (valueRequired || !isFirst && currentScope.compilerOptions().complianceLevel >= 0x300000L || (this.implicitConversion & 0x400) != 0 || requiredGenericCast != null) {
                        int lastFieldPc = codeStream.position;
                        FieldBinding fieldBinding2 = lastFieldBinding;
                        if ((ReferenceBinding)QualifiedNameReference.declaringClass_aroundBody9$advice(this, fieldBinding2, OwningClassSupportForFieldBindings.aspectOf(), fieldBinding2, null) == null) {
                            codeStream.arraylength();
                            if (valueRequired) {
                                codeStream.generateImplicitConversion(this.implicitConversion);
                            } else {
                                codeStream.pop();
                            }
                        } else {
                            SyntheticMethodBinding accessor;
                            SyntheticMethodBinding syntheticMethodBinding = accessor = this.syntheticReadAccessors == null ? null : this.syntheticReadAccessors[this.syntheticReadAccessors.length - 1];
                            if (accessor == null) {
                                TypeBinding constantPoolDeclaringClass = CodeStream.getConstantPoolDeclaringClass((Scope)currentScope, lastFieldBinding, this.getFinalReceiverType(), isFirst);
                                if (isStatic) {
                                    codeStream.fieldAccess((byte)-78, lastFieldBinding, constantPoolDeclaringClass);
                                } else {
                                    codeStream.fieldAccess((byte)-76, lastFieldBinding, constantPoolDeclaringClass);
                                }
                            } else {
                                codeStream.invoke((byte)-72, accessor, null);
                            }
                            if (requiredGenericCast != null) {
                                codeStream.checkcast(requiredGenericCast);
                            }
                            if (valueRequired) {
                                codeStream.generateImplicitConversion(this.implicitConversion);
                            } else {
                                boolean isUnboxing;
                                boolean bl = isUnboxing = (this.implicitConversion & 0x400) != 0;
                                if (isUnboxing) {
                                    codeStream.generateImplicitConversion(this.implicitConversion);
                                }
                                switch (isUnboxing ? this.postConversionType((Scope)currentScope).id : lastFieldBinding.type.id) {
                                    case 7: 
                                    case 8: {
                                        codeStream.pop2();
                                        break;
                                    }
                                    default: {
                                        codeStream.pop();
                                    }
                                }
                            }
                        }
                        int fieldPosition = (int)(this.sourcePositions[this.sourcePositions.length - 1] >>> 32);
                        codeStream.recordPositionsFrom(lastFieldPc, fieldPosition);
                    } else if (!isStatic) {
                        codeStream.invokeObjectGetClass();
                        codeStream.pop();
                    }
                }
            }
        }
        codeStream.recordPositionsFrom(pc, this.sourceStart);
    }
 -> java.util.Arrays.hashCode(char[]): int -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.Arrays.hashCode(char[]): int -> java.util.Arrays.hashCode(char[]): int -> java.util.Arrays.hashCode(char[]): int -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.Arrays.hashCode(char[]): int -> java.util.Arrays.hashCode(char[]): int -> java.util.Arrays.hashCode(char[]): int -> java.util.Arrays.hashCode(char[]): int -> java.util.Arrays.equals(char[],char[]): boolean -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void
 [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.util.Arrays.hashCode(char[]): int [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [CALL] [CALL] -> java.util.Arrays.hashCode(char[]): int [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.util.Arrays.hashCode(char[]): int [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.util.Arrays.hashCode(char[]): int [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.util.Arrays.hashCode(char[]): int [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.util.Arrays.hashCode(char[]): int [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] -> java.util.Arrays.hashCode(char[]): int [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Arrays.hashCode(char[]): int [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] -> java.lang.System.arraycopy(java.lang.Object,int,java.lang.Object,int,int): void [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT]