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 ) { } public void generateAssignment ( BlockScope currentScope , CodeStream codeStream , Assignment assignment , boolean valueRequired ) { } public void generateCode ( BlockScope currentScope , CodeStream codeStream , boolean valueRequired ) { int pc = codeStream . position ; if ( ( constant ) != ( NotAConstant ) ) { if ( valueRequired ) { codeStream . generateConstant ( constant , implicitConversion ) ; } } else { switch ( ( bits ) & ( ASTNode . RestrictiveFlagMASK ) ) { case FIELD : FieldBinding fieldBinding ; if ( valueRequired ) { if ( ( ( fieldBinding = ( ( FieldBinding ) ( binding ) ) ) . constant ) == ( NotAConstant ) ) { boolean isStatic ; if ( ! ( isStatic = fieldBinding . isStatic ( ) ) ) { if ( ( ( bits ) & ( ASTNode . DepthMASK ) ) != 0 ) { Object [ ] emulationPath = currentScope . getExactEmulationPath ( currentScope . enclosingSourceType ( ) . enclosingTypeAt ( ( ( ( bits ) & ( ASTNode . DepthMASK ) ) > > ( ASTNode . DepthSHIFT ) ) ) ) ; if ( emulationPath == null ) { currentScope . problemReporter ( ) . needImplementation ( ) ; } else { codeStream . generateOuterAccess ( emulationPath , this , currentScope ) ; } } else { generateReceiver ( codeStream ) ; } } if ( ( ( syntheticAccessors ) == null ) || ( ( syntheticAccessors [ SingleNameReference . READ ] ) == null ) ) { if ( isStatic ) { codeStream . getstatic ( fieldBinding ) ; } else { codeStream . getfield ( fieldBinding ) ; } } else { codeStream . invokestatic ( syntheticAccessors [ SingleNameReference . READ ] ) ; } codeStream . generateImplicitConversion ( implicitConversion ) ; } else { codeStream . generateConstant ( fieldBinding . constant , implicitConversion ) ; } } break ; case LOCAL : LocalVariableBinding localBinding = ( ( LocalVariableBinding ) ( binding ) ) ; if ( valueRequired ) { if ( ( ( bits ) & ( ASTNode . DepthMASK ) ) != 0 ) { VariableBinding [ ] path = currentScope . getEmulationPath ( localBinding ) ; if ( path == null ) { currentScope . problemReporter ( ) . needImplementation ( ) ; } else { codeStream . generateOuterAccess ( path , this , currentScope ) ; } } else { codeStream . load ( localBinding ) ; } codeStream . generateImplicitConversion ( implicitConversion ) ; } } } <START_BUG> codeStream . recordPositionsFrom ( pc , this ) ; <END_BUG> } 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 ) { } public void manageSyntheticReadAccessIfNecessary ( BlockScope currentScope ) { } public void manageSyntheticWriteAccessIfNecessary ( BlockScope currentScope ) { } public TypeBinding reportError ( BlockScope scope ) { } public TypeBinding resolveType ( BlockScope scope ) { } public String toStringExpression ( ) { } public void traverse ( IAbstractSyntaxTreeVisitor visitor , BlockScope scope ) { } public String unboundReferenceErrorName ( ) { } }

Fix:
codeStream . recordPositionsFrom ( pc , this . sourceStart ) ;