Buggy code:
public class SingleNameReference extends NameReference implements OperatorIds { public char [ ] token ; public MethodBinding [ ] syntheticAccessors ; public static final int READ = 0 ; public static final int WRITE = 1 ; public SingleNameReference ( char [ ] source , long pos ) { } public FlowInfo analyseAssignment ( BlockScope currentScope , FlowContext flowContext , FlowInfo flowInfo , Assignment assignment , boolean isCompound ) { } public FlowInfo analyseCode ( BlockScope currentScope , FlowContext flowContext , FlowInfo flowInfo ) { } public FlowInfo analyseCode ( BlockScope currentScope , FlowContext flowContext , FlowInfo flowInfo , boolean valueRequired ) { } public TypeBinding checkFieldAccess ( BlockScope scope ) { FieldBinding fieldBinding = ( ( FieldBinding ) ( binding ) ) ; bits &= ~ ( ASTNode . RestrictiveFlagMASK ) ; bits |= FIELD ; if ( ! ( ( ( FieldBinding ) ( binding ) ) . isStatic ( ) ) ) { if ( scope . methodScope ( ) . isStatic ) { scope . problemReporter ( ) . staticFieldAccessToNonStaticVariable ( this , fieldBinding ) ; constant = NotAConstant ; return fieldBinding . type ; } } constant = FieldReference . getConstantFor ( fieldBinding , this , true , scope ) ; <START_BUG> if ( isFieldUseDeprecated ( fieldBinding , scope ) ) <END_BUG> scope . problemReporter ( ) . deprecatedField ( fieldBinding , this ) ; MethodScope ms = scope . methodScope ( ) ; if ( ( ( ( ( ( this . bits ) & ( IsStrictlyAssignedMASK ) ) == 0 ) && ( ( ms . enclosingSourceType ( ) ) == ( fieldBinding . declaringClass ) ) ) && ( ( ms . fieldDeclarationIndex ) != ( NotInFieldDecl ) ) ) && ( ( fieldBinding . id ) >= ( ms . fieldDeclarationIndex ) ) ) { if ( ( ! ( fieldBinding . isStatic ( ) ) ) || ( ms . isStatic ) ) scope . problemReporter ( ) . forwardReference ( this , 0 , scope . enclosingSourceType ( ) ) ; } return fieldBinding . type ; } public void generateAssignment ( BlockScope currentScope , CodeStream codeStream , Assignment assignment , boolean valueRequired ) { } public void generateCode ( BlockScope currentScope , CodeStream codeStream , boolean valueRequired ) { } public void generateCompoundAssignment ( BlockScope currentScope , CodeStream codeStream , Expression expression , int operator , int assignmentImplicitConversion , boolean valueRequired ) { } public void generateCompoundAssignment ( BlockScope currentScope , CodeStream codeStream , MethodBinding writeAccessor , Expression expression , int operator , int assignmentImplicitConversion , boolean valueRequired ) { } public void generatePostIncrement ( BlockScope currentScope , CodeStream codeStream , CompoundAssignment postIncrement , boolean valueRequired ) { } public void generateReceiver ( CodeStream codeStream ) { } public void manageEnclosingInstanceAccessIfNecessary ( BlockScope currentScope , FlowInfo flowInfo ) { } public void manageSyntheticReadAccessIfNecessary ( BlockScope currentScope , FlowInfo flowInfo ) { } public void manageSyntheticWriteAccessIfNecessary ( BlockScope currentScope , FlowInfo flowInfo ) { } public TypeBinding reportError ( BlockScope scope ) { } public TypeBinding resolveType ( BlockScope scope ) { } public String toStringExpression ( ) { } public void traverse ( IAbstractSyntaxTreeVisitor visitor , BlockScope scope ) { } public String unboundReferenceErrorName ( ) { } }

Fix:
if ( isFieldUseDeprecated ( fieldBinding , scope , ( ( ( this . bits ) & ( IsStrictlyAssignedMASK ) ) != 0 ) ) )