Buggy code:
public void iconst_2 ( ) { } public void iconst_3 ( ) { } public void iconst_4 ( ) { } public void iconst_5 ( ) { } public void iconst_m1 ( ) { } public void idiv ( ) { } public void if_acmpeq ( Label lbl ) { } public void if_acmpne ( Label lbl ) { } public void if_icmpeq ( Label lbl ) { } public void if_icmpge ( Label lbl ) { } public void if_icmpgt ( Label lbl ) { } public void if_icmple ( Label lbl ) { } public void if_icmplt ( Label lbl ) { } public void if_icmpne ( Label lbl ) { } public void ifeq ( Label lbl ) { } public void ifge ( Label lbl ) { } public void ifgt ( Label lbl ) { } public void ifle ( Label lbl ) { } public void iflt ( Label lbl ) { } public void ifne ( Label lbl ) { } public void ifnonnull ( Label lbl ) { } public void ifnull ( Label lbl ) { } public final void iinc ( int index , int value ) { } public void iload ( int iArg ) { } public void iload_0 ( ) { } public void iload_1 ( ) { } public void iload_2 ( ) { } public void iload_3 ( ) { } public void imul ( ) { } public int indexOfSameLineEntrySincePC ( int pc , int line ) { } public void ineg ( ) { } public void inlineForwardReferencesFromLabelsTargeting ( Label label , int gotoLocation ) { } public void init ( ClassFile targetClassFile ) { } public void initializeMaxLocals ( MethodBinding methodBinding ) { } public void instance_of ( TypeBinding typeBinding ) { } protected void invoke ( int opcode , int argsSize , int returnTypeSize , char [ ] declaringClass , char [ ] selector , char [ ] signature ) { } protected void invokeAccessibleObjectSetAccessible ( ) { } protected void invokeArrayNewInstance ( ) { } public void invokeClassForName ( ) { } protected void invokeClassGetDeclaredConstructor ( ) { } protected void invokeClassGetDeclaredField ( ) { } protected void invokeClassGetDeclaredMethod ( ) { } public void invokeEnumOrdinal ( char [ ] enumTypeConstantPoolName ) { } public void invokeinterface ( MethodBinding methodBinding ) { } public void invokeJavaLangAssertionErrorConstructor ( int typeBindingID ) { } public void invokeJavaLangAssertionErrorDefaultConstructor ( ) { } public void invokeJavaLangClassDesiredAssertionStatus ( ) { } public void invokeJavaLangEnumname ( TypeBinding typeBinding ) { } public void invokeJavaLangEnumValues ( TypeBinding enumBinding , ArrayBinding arrayBinding ) { } public void invokeJavaLangErrorConstructor ( ) { } public void invokeJavaLangIllegalArgumentExceptionStringConstructor ( ) { } public void invokeJavaLangReflectConstructorNewInstance ( ) { } protected void invokeJavaLangReflectFieldGetter ( int typeID ) { } protected void invokeJavaLangReflectFieldSetter ( int typeID ) { } public void invokeJavaLangReflectMethodInvoke ( ) { } public void invokeJavaUtilIteratorHasNext ( ) { } public void invokeJavaUtilIteratorNext ( ) { } public void invokeNoClassDefFoundErrorStringConstructor ( ) { } public void invokeObjectGetClass ( ) { } public void invokespecial ( MethodBinding methodBinding ) { } public void invokestatic ( MethodBinding methodBinding ) { } public void invokeStringConcatenationAppendForType ( int typeID ) { } public void invokeStringConcatenationDefaultConstructor ( ) { } public void invokeStringConcatenationStringConstructor ( ) { } public void invokeStringConcatenationToString ( ) { } public void invokeStringEquals ( ) { } public void invokeStringIntern ( ) { } public void invokeStringValueOf ( int typeID ) { } public void invokeSystemArraycopy ( ) { } public void invokeThrowableGetMessage ( ) { } public void invokevirtual ( MethodBinding methodBinding ) { } public void ior ( ) { } public void irem ( ) { } public void ireturn ( ) { } public boolean isDefinitelyAssigned ( Scope scope , int initStateIndex , LocalVariableBinding local ) { if ( initStateIndex == ( - 1 ) ) return false ; <START_BUG> if ( local . isArgument ) { <END_BUG> return true ; } int localPosition = ( local . id ) + ( maxFieldCount ) ; MethodScope methodScope = scope . methodScope ( ) ; if ( localPosition < ( UnconditionalFlowInfo . BitCacheSize ) ) { return ( ( methodScope . definiteInits [ initStateIndex ] ) & ( 1L << localPosition ) ) != 0 ; } long [ ] extraInits = methodScope . extraDefiniteInits [ initStateIndex ] ; if ( extraInits == null ) return false ; int vectorIndex ; if ( ( vectorIndex = ( localPosition // ( UnconditionalFlowInfo . BitCacheSize ) ) - 1 ) >= ( extraInits . length ) ) return false ; return ( ( extraInits [ vectorIndex ] ) & ( 1L << ( localPosition % ( UnconditionalFlowInfo . BitCacheSize ) ) ) ) != 0 ; } public void ishl ( ) { } public void ishr ( ) { } public void istore ( int iArg ) { } public void istore_0 ( ) { } public void istore_1 ( ) { } public void istore_2 ( ) { } public void istore_3 ( ) { } public void isub ( ) { } public void iushr ( ) { } public void ixor ( ) { } public final void jsr ( Label lbl ) { } public final void jsr_w ( Label lbl ) { } public void l2d ( ) { } public void l2f ( ) { } public void l2i ( ) { } public void ladd ( ) { } public void laload ( ) { } public void land ( ) { } public void lastore ( ) { } public void lcmp ( ) { } public void lconst_0 ( ) { } public void lconst_1 ( ) { } public void ldc ( float constant ) { } public void ldc ( int constant ) { } public void ldc ( String constant ) { } public void ldc ( TypeBinding typeBinding ) { }

Fix:
if ( ( ( local . tagBits ) & ( TagBits . IsArgument ) ) != 0 ) {