Buggy code:
public class ConstructorDeclaration extends AbstractMethodDeclaration { public ExplicitConstructorCall constructorCall ; public static final char [ ] ConstantPoolName = "<init>" . toCharArray ( ) ; public boolean isDefaultConstructor = false ; public int referenceCount = 0 ; public ConstructorDeclaration ( CompilationResult compilationResult ) { } public void analyseCode ( ClassScope classScope , InitializationFlowContext initializerFlowContext , FlowInfo flowInfo ) { } public void generateCode ( ClassScope classScope , ClassFile classFile ) { } private void internalGenerateCode ( ClassScope classScope , ClassFile classFile ) { classFile . generateMethodInfoHeader ( binding ) ; int methodAttributeOffset = classFile . contentsOffset ; int attributeNumber = classFile . generateMethodInfoAttribute ( binding ) ; if ( ( ! ( binding . isNative ( ) ) ) && ( ! ( binding . isAbstract ( ) ) ) ) { TypeDeclaration declaringType = classScope . referenceContext ; int codeAttributeOffset = classFile . contentsOffset ; classFile . generateCodeAttributeHeader ( ) ; CodeStream codeStream = classFile . codeStream ; codeStream . reset ( this , classFile ) ; ReferenceBinding declaringClass = binding . declaringClass ; int argSize = 0 ; scope . computeLocalVariablePositions ( ( argSize = ( declaringClass . isNestedType ( ) ) ? ( ( NestedTypeBinding ) ( declaringClass ) ) . syntheticArgumentsOffset : 1 ) , codeStream ) ; if ( ( arguments ) != null ) { for ( int i = 0 , max = arguments . length ; i < max ; i ++ ) { LocalVariableBinding argBinding ; codeStream . addVisibleLocalVariable ( ( argBinding = arguments [ i ] . binding ) ) ; argBinding . recordInitializationStartPC ( 0 ) ; TypeBinding argType ; if ( ( ( argType = argBinding . type ) == ( LongBinding ) ) || ( argType == ( DoubleBinding ) ) ) { argSize += 2 ; } else { argSize ++ ; } } } MethodScope initializerScope = declaringType . initializerScope ; initializerScope . computeLocalVariablePositions ( argSize , codeStream ) ; if ( ( constructorCall ) != null ) { constructorCall . generateCode ( scope , codeStream ) ; } if ( ( ( constructorCall ) != null ) && ( ( constructorCall . accessMode ) != ( ExplicitConstructorCall . This ) ) ) { if ( declaringClass . isNestedType ( ) ) { NestedTypeBinding nestedType = ( ( NestedTypeBinding ) ( declaringClass ) ) ; SyntheticArgumentBinding [ ] syntheticArgs = nestedType . syntheticEnclosingInstances ( ) ; for ( int i = 0 , max = ( syntheticArgs == null ) ? 0 : syntheticArgs . length ; i < max ; i ++ ) { if ( ( syntheticArgs [ i ] . matchingField ) != null ) { codeStream . aload_0 ( ) ; codeStream . load ( syntheticArgs [ i ] ) ; codeStream . putfield ( syntheticArgs [ i ] . matchingField ) ; } } syntheticArgs = nestedType . syntheticOuterLocalVariables ( ) ; for ( int i = 0 , max = ( syntheticArgs == null ) ? 0 : syntheticArgs . length ; i < max ; i ++ ) { if ( ( syntheticArgs [ i ] . matchingField ) != null ) { codeStream . aload_0 ( ) ; codeStream . load ( syntheticArgs [ i ] ) ; codeStream . putfield ( syntheticArgs [ i ] . matchingField ) ; } } } if ( ( declaringType . fields ) != null ) { for ( int i = 0 , max = declaringType . fields . length ; i < max ; i ++ ) { FieldDeclaration fieldDecl ; if ( ! ( ( fieldDecl = declaringType . fields [ i ] ) . isStatic ( ) ) ) { fieldDecl . generateCode ( initializerScope , codeStream ) ; } } } } if ( ( statements ) != null ) { for ( int i = 0 , max = statements . length ; i < max ; i ++ ) { statements [ i ] . generateCode ( scope , codeStream ) ; } } if ( needFreeReturn ) { codeStream . return_ ( ) ; } codeStream . exitUserScope ( scope ) ; <START_BUG> codeStream . recordPositionsFrom ( 0 , this . sourceStart ) ; <END_BUG> classFile . completeCodeAttribute ( codeAttributeOffset ) ; attributeNumber ++ ; } classFile . completeMethodInfo ( methodAttributeOffset , attributeNumber ) ; if ( ignoreFurtherInvestigation ) { throw new org . eclipse . jdt . internal . compiler . problem . AbortMethod ( scope . referenceCompilationUnit ( ) . compilationResult ) ; } } public boolean isConstructor ( ) { } public boolean isDefaultConstructor ( ) { } public boolean isInitializationMethod ( ) { } public void parseStatements ( Parser parser , CompilationUnitDeclaration unit ) { } public void resolveStatements ( ClassScope upperScope ) { } public String toStringStatements ( int tab ) { } public void traverse ( IAbstractSyntaxTreeVisitor visitor , ClassScope classScope ) { } }

Fix:
codeStream . recordPositionsFrom ( 0 , this . bodyEnd ) ;