Buggy code:
public class QualifiedNameReference extends NameReference { public char [ ] [ ] tokens ; public long [ ] sourcePositions ; public FieldBinding [ ] otherBindings ; public FieldBinding [ ] otherCodegenBindings ; int [ ] otherDepths ; public int indexOfFirstFieldBinding ; SyntheticMethodBinding syntheticWriteAccessor ; SyntheticMethodBinding [ ] syntheticReadAccessors ; public TypeBinding genericCast ; public TypeBinding [ ] otherGenericCasts ; public QualifiedNameReference ( char [ ] [ ] sources , long [ ] positions , int sourceStart , int sourceEnd ) { } 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 ) { } public void computeConversion ( Scope scope , TypeBinding runtimeTimeType , TypeBinding compileTimeType ) { } 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 generatePostIncrement ( BlockScope currentScope , CodeStream codeStream , CompoundAssignment postIncrement , boolean valueRequired ) { FieldBinding lastFieldBinding = generateReadSequence ( currentScope , codeStream ) ; SyntheticMethodBinding accessor = ( ( syntheticReadAccessors ) == null ) ? null : syntheticReadAccessors [ ( ( syntheticReadAccessors . length ) - 1 ) ] ; if ( lastFieldBinding . isStatic ( ) ) { if ( accessor == null ) { codeStream . getstatic ( lastFieldBinding ) ; } else { codeStream . invokestatic ( accessor ) ; } } else { codeStream . dup ( ) ; if ( accessor == null ) { codeStream . getfield ( lastFieldBinding ) ; } else { codeStream . invokestatic ( accessor ) ; } } if ( valueRequired ) { if ( lastFieldBinding . isStatic ( ) ) { if ( ( ( lastFieldBinding . type ) == ( LongBinding ) ) || ( ( lastFieldBinding . type ) == ( DoubleBinding ) ) ) { codeStream . dup2 ( ) ; } else { codeStream . dup ( ) ; } } else { if ( ( ( lastFieldBinding . type ) == ( LongBinding ) ) || ( ( lastFieldBinding . type ) == ( DoubleBinding ) ) ) { codeStream . dup2_x1 ( ) ; } else { codeStream . dup_x1 ( ) ; } } } codeStream . generateImplicitConversion ( implicitConversion ) ; codeStream . generateConstant ( postIncrement . expression . constant , implicitConversion ) ; codeStream . sendOperator ( postIncrement . operator , ( ( this . implicitConversion ) & ( TypeIds . COMPILE_TYPE_MASK ) ) ) ; <START_BUG> codeStream . generateImplicitConversion ( postIncrement . assignmentImplicitConversion ) ; <END_BUG> fieldStore ( codeStream , lastFieldBinding , syntheticWriteAccessor , false ) ; } public FieldBinding generateReadSequence ( BlockScope currentScope , CodeStream codeStream ) { } public void generateReceiver ( CodeStream codeStream ) { } public TypeBinding [ ] genericTypeArguments ( ) { } protected FieldBinding getCodegenBinding ( int index ) { } protected TypeBinding getGenericCast ( int index ) { } public TypeBinding getOtherFieldBindings ( BlockScope scope ) { } public void manageEnclosingInstanceAccessIfNecessary ( BlockScope currentScope , FlowInfo flowInfo ) { } public void manageSyntheticAccessIfNecessary ( BlockScope currentScope , FieldBinding fieldBinding , TypeBinding lastReceiverType , int index , FlowInfo flowInfo ) { } public StringBuffer printExpression ( int indent , StringBuffer output ) { } public TypeBinding reportError ( BlockScope scope ) { } public TypeBinding resolveType ( BlockScope scope ) { } protected void setCodegenBinding ( int index , FieldBinding someCodegenBinding ) { } protected void setGenericCast ( int index , TypeBinding someGenericCast ) { } protected void setSyntheticAccessor ( FieldBinding fieldBinding , int index , SyntheticMethodBinding syntheticAccessor ) { } public void setFieldIndex ( int index ) { } public void traverse ( ASTVisitor visitor , BlockScope scope ) { } public String unboundReferenceErrorName ( ) { } }

Fix:
codeStream . generateImplicitConversion ( postIncrement . preAssignImplicitConversion ) ;