Buggy code:
protected void consumeEqualityExpression ( int op ) { } protected void consumeExitVariableWithInitialization ( ) { } protected void consumeExitVariableWithoutInitialization ( ) { } protected void consumeExplicitConstructorInvocation ( int flag , int recFlag ) { } protected void consumeExpressionStatement ( ) { } protected void consumeFieldAccess ( boolean isSuperAccess ) { } protected void consumeFieldDeclaration ( ) { } protected void consumeForceNoDiet ( ) { } protected void consumeForInit ( ) { } protected void consumeFormalParameter ( ) { } protected void consumeFormalParameterList ( ) { } protected void consumeFormalParameterListopt ( ) { } protected void consumeImportDeclarations ( ) { } protected void consumeImportDeclarationsopt ( ) { } protected void consumeInsideCastExpression ( ) { } protected void consumeInsideCastExpressionLL1 ( ) { } protected void consumeInstanceOfExpression ( int op ) { } protected void consumeInterfaceDeclaration ( ) { } protected void consumeInterfaceHeader ( ) { } protected void consumeInterfaceHeaderExtends ( ) { } protected void consumeInterfaceHeaderName ( ) { } protected void consumeInterfaceMemberDeclarations ( ) { } protected void consumeInterfaceMemberDeclarationsopt ( ) { } protected void consumeInterfaceType ( ) { } protected void consumeInterfaceTypeList ( ) { } protected void consumeLeftParen ( ) { } protected void consumeLocalVariableDeclaration ( ) { } protected void consumeLocalVariableDeclarationStatement ( ) { } protected void consumeMethodBody ( ) { } protected void consumeMethodDeclaration ( boolean isNotAbstract ) { } protected void consumeMethodHeader ( ) { } protected void consumeMethodHeaderExtendedDims ( ) { } protected void consumeMethodHeaderName ( ) { } protected void consumeMethodHeaderParameters ( ) { } protected void consumeMethodHeaderThrowsClause ( ) { } protected void consumeMethodInvocationName ( ) { } protected void consumeMethodInvocationPrimary ( ) { } protected void consumeMethodInvocationSuper ( ) { } protected void consumeModifiers ( ) { } protected void consumeNestedMethod ( ) { } protected void consumeNestedType ( ) { } protected void consumeOneDimLoop ( ) { } protected void consumeOnlySynchronized ( ) { } protected void consumeOpenBlock ( ) { } protected void consumePackageDeclaration ( ) { } protected void consumePackageDeclarationName ( ) { } protected void consumePostfixExpression ( ) { } protected void consumePrimaryNoNewArray ( ) { } protected void consumePrimaryNoNewArrayArrayType ( ) { } protected void consumePrimaryNoNewArrayName ( ) { } protected void consumePrimaryNoNewArrayNameSuper ( ) { } protected void consumePrimaryNoNewArrayNameThis ( ) { } protected void consumePrimaryNoNewArrayPrimitiveType ( ) { } protected void consumePrimaryNoNewArrayThis ( ) { } protected void consumePrimitiveType ( ) { } protected void consumePushModifiers ( ) { } protected void consumePushPosition ( ) { } protected void consumeQualifiedName ( ) { } protected void consumeReferenceType ( ) { } protected void consumeRestoreDiet ( ) { } protected void consumeRightParen ( ) { } protected void consumeRule ( int act ) { } protected void consumeSimpleAssertStatement ( ) { } protected void consumeSingleTypeImportDeclaration ( ) { } protected void consumeSingleTypeImportDeclarationName ( ) { } protected void consumeStatementBreak ( ) { } protected void consumeStatementBreakWithLabel ( ) { } protected void consumeStatementCatch ( ) { } protected void consumeStatementContinue ( ) { } protected void consumeStatementContinueWithLabel ( ) { } protected void consumeStatementDo ( ) { } protected void consumeStatementExpressionList ( ) { } protected void consumeStatementFor ( ) { } protected void consumeStatementIfNoElse ( ) { } protected void consumeStatementIfWithElse ( ) { } protected void consumeStatementLabel ( ) { } protected void consumeStatementReturn ( ) { } protected void consumeStatementSwitch ( ) { int length ; SwitchStatement switchStatement = new SwitchStatement ( ) ; ( expressionLengthPtr ) -- ; <START_BUG> switchStatement . testExpression = expressionStack [ ( ( expressionPtr ) -- ) ] ; <END_BUG> if ( ( length = astLengthStack [ ( ( astLengthPtr ) -- ) ] ) != 0 ) { astPtr -= length ; System . arraycopy ( astStack , ( ( astPtr ) + 1 ) , ( switchStatement . statements = new Statement [ length ] ) , 0 , length ) ; } switchStatement . explicitDeclarations = realBlockStack [ ( ( realBlockPtr ) -- ) ] ; pushOnAstStack ( switchStatement ) ; switchStatement . blockStart = intStack [ ( ( intPtr ) -- ) ] ; switchStatement . sourceStart = intStack [ ( ( intPtr ) -- ) ] ; switchStatement . sourceEnd = endStatementPosition ; if ( ( length == 0 ) && ( ! ( containsComment ( switchStatement . blockStart , switchStatement . sourceEnd ) ) ) ) { switchStatement . bits |= AstNode . UndocumentedEmptyBlockMASK ; } } protected void consumeStatementSynchronized ( ) { } protected void consumeStatementThrow ( ) { } protected void consumeStatementTry ( boolean withFinally ) { } protected void consumeStatementWhile ( ) { } protected void consumeStaticInitializer ( ) { } protected void consumeStaticOnly ( ) { } protected void consumeSwitchBlock ( ) { } protected void consumeSwitchBlockStatement ( ) { } protected void consumeSwitchBlockStatements ( ) { } protected void consumeSwitchLabels ( ) { } protected void consumeToken ( int type ) { } protected void consumeTypeDeclarations ( ) { } protected void consumeTypeDeclarationsopt ( ) { } protected void consumeTypeImportOnDemandDeclaration ( ) { } protected void consumeTypeImportOnDemandDeclarationName ( ) { } protected void consumeUnaryExpression ( int op ) { } protected void consumeUnaryExpression ( int op , boolean post ) { } protected void consumeVariableDeclarators ( ) { } protected void consumeVariableInitializers ( ) { } 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 ) { } public CompilationUnitDeclaration dietParse ( ICompilationUnit sourceUnit , CompilationResult compilationResult ) { } protected void dispatchDeclarationInto ( int length ) { } protected CompilationUnitDeclaration endParse ( int act ) { } public int flushAnnotationsDefinedPriorTo ( int position ) { } public final int getFirstToken ( ) { }

Fix:
switchStatement . expression = expressionStack [ ( ( expressionPtr ) -- ) ] ;