Buggy code:
protected void consumeWildcardBounds1Extends ( ) { } protected void consumeWildcardBounds1Super ( ) { } protected void consumeWildcardBounds2Extends ( ) { } protected void consumeWildcardBounds2Super ( ) { } protected void consumeWildcardBounds3Extends ( ) { } protected void consumeWildcardBounds3Super ( ) { } protected void consumeWildcardBoundsExtends ( ) { } protected void consumeWildcardBoundsSuper ( ) { } protected void consumeWildcardWithBounds ( ) { } public boolean containsComment ( int sourceStart , int sourceEnd ) { } public MethodDeclaration convertToMethodDeclaration ( ConstructorDeclaration c , CompilationResult compilationResult ) { } protected TypeReference copyDims ( TypeReference typeRef , int dim ) { } protected FieldDeclaration createFieldDeclaration ( char [ ] fieldDeclarationName , int sourceStart , int sourceEnd ) { } protected LocalDeclaration createLocalDeclaration ( char [ ] localDeclarationName , int sourceStart , int sourceEnd ) { } protected StringLiteral createStringLiteral ( char [ ] token , int start , int end , int lineNumber ) { } protected RecoveredType currentRecoveryType ( ) { } public CompilationUnitDeclaration dietParse ( ICompilationUnit sourceUnit , CompilationResult compilationResult ) { } protected void dispatchDeclarationInto ( int length ) { } protected void dispatchDeclarationIntoEnumDeclaration ( int length ) { } protected CompilationUnitDeclaration endParse ( int act ) { } public int flushCommentsDefinedPriorTo ( int position ) { } protected TypeReference getAnnotationType ( ) { } public int getFirstToken ( ) { } public int [ ] getJavaDocPositions ( ) { } public void getMethodBodies ( CompilationUnitDeclaration unit ) { } protected char getNextCharacter ( char [ ] comment , int [ ] index ) { } protected Expression getTypeReference ( Expression exp ) { } protected TypeReference getTypeReference ( int dim ) { } protected TypeReference getTypeReferenceForGenericType ( int dim , int identifierLength , int numberOfIdentifiers ) { } protected NameReference getUnspecifiedReference ( ) { } protected NameReference getUnspecifiedReferenceOptimized ( ) { } public void goForBlockStatementsopt ( ) { } public void goForBlockStatementsOrCatchHeader ( ) { } public void goForClassBodyDeclarations ( ) { } public void goForCompilationUnit ( ) { } public void goForExpression ( ) { } public void goForFieldDeclaration ( ) { } public void goForGenericMethodDeclaration ( ) { } public void goForHeaders ( ) { } public void goForImportDeclaration ( ) { } public void goForInitializer ( ) { } public void goForMemberValue ( ) { } public void goForMethodBody ( ) { } public void goForPackageDeclaration ( ) { } public void goForTypeDeclaration ( ) { } protected void ignoreExpressionAssignment ( ) { } public void initialize ( ) { } public void initialize ( boolean initializeNLS ) { } public void initializeScanner ( ) { } public void jumpOverMethodBody ( ) { } private void jumpOverType ( ) { } protected void markEnclosingMemberWithLocalType ( ) { } protected void markInitializersWithLocalType ( TypeDeclaration type ) { } protected boolean moveRecoveryCheckpoint ( ) { } protected MessageSend newMessageSend ( ) { } protected MessageSend newMessageSendWithTypeArguments ( ) { } protected void optimizedConcatNodeLists ( ) { } protected void parse ( ) { } public void parse ( ConstructorDeclaration cd , CompilationUnitDeclaration unit ) { } public void parse ( ConstructorDeclaration cd , CompilationUnitDeclaration unit , boolean recordLineSeparator ) { } public void parse ( FieldDeclaration field , TypeDeclaration type , CompilationUnitDeclaration unit , char [ ] initializationSource ) { } public CompilationUnitDeclaration parse ( ICompilationUnit sourceUnit , CompilationResult compilationResult ) { } public CompilationUnitDeclaration parse ( ICompilationUnit sourceUnit , CompilationResult compilationResult , int start , int end ) { CompilationUnitDeclaration unit ; try { initialize ( true ) ; goForCompilationUnit ( ) ; this . referenceContext = this . compilationUnit = new CompilationUnitDeclaration ( this . problemReporter , compilationResult , 0 ) ; char [ ] contents ; try { contents = sourceUnit . getContents ( ) ; } catch ( AbortCompilationUnit abortException ) { <START_BUG> this . problemReporter ( ) . cannotReadSource ( this . compilationUnit , abortException ) ; <END_BUG> contents = CharOperation . NO_CHAR ; } this . scanner . setSource ( contents ) ; this . compilationUnit . sourceEnd = ( this . scanner . source . length ) - 1 ; if ( end != ( - 1 ) ) this . scanner . resetTo ( start , end ) ; if ( ( ( this . javadocParser ) != null ) && ( this . javadocParser . checkDocComment ) ) { this . javadocParser . scanner . setSource ( contents ) ; if ( end != ( - 1 ) ) { this . javadocParser . scanner . resetTo ( start , end ) ; } } parse ( ) ; } finally { unit = this . compilationUnit ; this . compilationUnit = null ; if ( ! ( this . diet ) ) unit . bits |= ASTNode . HasAllMethodBodies ; } return unit ; } public void parse ( Initializer initializer , TypeDeclaration type , CompilationUnitDeclaration unit ) { } public void parse ( MethodDeclaration md , CompilationUnitDeclaration unit ) { } public ASTNode [ ] parseClassBodyDeclarations ( char [ ] source , int offset , int length , CompilationUnitDeclaration unit ) { } public Expression parseExpression ( char [ ] source , int offset , int length , CompilationUnitDeclaration unit ) { } public Expression parseMemberValue ( char [ ] source , int offset , int length , CompilationUnitDeclaration unit ) { } public void parseStatements ( ReferenceContext rc , int start , int end , TypeDeclaration [ ] types , CompilationUnitDeclaration unit ) { } public void persistLineSeparatorPositions ( ) { } protected void prepareForBlockStatements ( ) { } public ProblemReporter problemReporter ( ) { } protected void pushIdentifier ( ) { } protected void pushIdentifier ( int flag ) { } protected void pushOnAstLengthStack ( int pos ) { } protected void pushOnAstStack ( ASTNode node ) { } protected void pushOnExpressionStack ( Expression expr ) { } protected void pushOnExpressionStackLengthStack ( int pos ) { } protected void pushOnGenericsStack ( ASTNode node ) { } protected void pushOnGenericsIdentifiersLengthStack ( int pos ) { }

Fix:
this . problemReporter ( ) . cannotReadSource ( this . compilationUnit , abortException , this . options . verbose ) ;