Buggy code:
class TypeBinding implements ITypeBinding { protected static final IMethodBinding [ ] NO_METHOD_BINDINGS = new IMethodBinding [ 0 ] ; private static final String NO_NAME = "" ; protected static final ITypeBinding [ ] NO_TYPE_BINDINGS = new ITypeBinding [ 0 ] ; protected static final IVariableBinding [ ] NO_VARIABLE_BINDINGS = new IVariableBinding [ 0 ] ; private static final int VALID_MODIFIERS = ( ( ( ( ( ( Modifier . PUBLIC ) | ( Modifier . PROTECTED ) ) | ( Modifier . PRIVATE ) ) | ( Modifier . ABSTRACT ) ) | ( Modifier . STATIC ) ) | ( Modifier . FINAL ) ) | ( Modifier . STRICTFP ) ; org . eclipse . jdt . internal . compiler . lookup . TypeBinding binding ; private String key ; private BindingResolver resolver ; private IVariableBinding [ ] fields ; private IAnnotationBinding [ ] annotations ; private IMethodBinding [ ] methods ; private ITypeBinding [ ] members ; private ITypeBinding [ ] interfaces ; private ITypeBinding [ ] typeArguments ; private ITypeBinding [ ] bounds ; private ITypeBinding [ ] typeParameters ; public TypeBinding ( BindingResolver resolver , org . eclipse . jdt . internal . compiler . lookup . TypeBinding binding ) { } public ITypeBinding createArrayType ( int dimension ) { } public IAnnotationBinding [ ] getAnnotations ( ) { } public String getBinaryName ( ) { } public ITypeBinding getBound ( ) { } private IClassFile getClassFile ( char [ ] fileName ) { } private ICompilationUnit getCompilationUnit ( char [ ] fileName ) { } public ITypeBinding getComponentType ( ) { } public IVariableBinding [ ] getDeclaredFields ( ) { } public IMethodBinding [ ] getDeclaredMethods ( ) { } public int getDeclaredModifiers ( ) { } public ITypeBinding [ ] getDeclaredTypes ( ) { } public IMethodBinding getDeclaringMethod ( ) { } public ITypeBinding getDeclaringClass ( ) { } public int getDimensions ( ) { } public ITypeBinding getElementType ( ) { } public ITypeBinding getTypeDeclaration ( ) { } public ITypeBinding getErasure ( ) { } public ITypeBinding [ ] getInterfaces ( ) { } public IJavaElement getJavaElement ( ) { } private JavaElement getUnresolvedJavaElement ( ) { } private JavaElement getUnresolvedJavaElement ( org . eclipse . jdt . internal . compiler . lookup . TypeBinding typeBinding ) { } public String getKey ( ) { } public int getKind ( ) { } public int getModifiers ( ) { if ( isClass ( ) ) { ReferenceBinding referenceBinding = ( ( ReferenceBinding ) ( this . binding ) ) ; final int accessFlags = ( referenceBinding . getAccessFlags ( ) ) & ( TypeBinding . VALID_MODIFIERS ) ; if ( referenceBinding . isAnonymousType ( ) ) { return accessFlags & ( ~ ( Modifier . FINAL ) ) ; } return accessFlags ; } else if ( isAnnotation ( ) ) { ReferenceBinding referenceBinding = ( ( ReferenceBinding ) ( this . binding ) ) ; final int accessFlags = ( referenceBinding . getAccessFlags ( ) ) & ( TypeBinding . VALID_MODIFIERS ) ; return accessFlags & ( ~ ( ( ( ClassFileConstants . AccAbstract ) | ( ClassFileConstants . AccInterface ) ) | ( ClassFileConstants . AccAnnotation ) ) ) ; } else if ( isInterface ( ) ) { ReferenceBinding referenceBinding = ( ( ReferenceBinding ) ( this . binding ) ) ; final int accessFlags = ( referenceBinding . getAccessFlags ( ) ) & ( TypeBinding . VALID_MODIFIERS ) ; return accessFlags & ( ~ ( ( ClassFileConstants . AccAbstract ) | ( ClassFileConstants . AccInterface ) ) ) ; } else if ( isEnum ( ) ) { ReferenceBinding referenceBinding = ( ( ReferenceBinding ) ( this . binding ) ) ; final int accessFlags = ( referenceBinding . getAccessFlags ( ) ) & ( TypeBinding . VALID_MODIFIERS ) ; return accessFlags & ( ~ ( ClassFileConstants . AccEnum ) ) ; } else { <START_BUG> return 0 ; <END_BUG> } } public String getName ( ) { } public IPackageBinding getPackage ( ) { } private IPackageFragment getPackageFragment ( char [ ] fileName , int pkgEnd , int jarSeparator ) { } public String getQualifiedName ( ) { } public ITypeBinding getSuperclass ( ) { } public ITypeBinding [ ] getTypeArguments ( ) { } public ITypeBinding [ ] getTypeBounds ( ) { } public ITypeBinding [ ] getTypeParameters ( ) { } public ITypeBinding getWildcard ( ) { } public boolean isGenericType ( ) { } public boolean isAnnotation ( ) { } public boolean isAnonymous ( ) { } public boolean isArray ( ) { } public boolean isAssignmentCompatible ( ITypeBinding type ) { } public boolean isCapture ( ) { } public boolean isCastCompatible ( ITypeBinding type ) { } public boolean isClass ( ) { } public boolean isDeprecated ( ) { } public boolean isEnum ( ) { } public boolean isEqualTo ( IBinding other ) { } public boolean isFromSource ( ) { } public boolean isInterface ( ) { } public boolean isLocal ( ) { } public boolean isMember ( ) { } public boolean isNested ( ) { } public boolean isNullType ( ) { } public boolean isParameterizedType ( ) { } public boolean isPrimitive ( ) { } public boolean isRawType ( ) { } public boolean isRecovered ( ) { } public boolean isSubTypeCompatible ( ITypeBinding type ) { } public boolean isSynthetic ( ) { } public boolean isTopLevel ( ) { } public boolean isTypeVariable ( ) { } public boolean isUpperbound ( ) { } public boolean isWildcardType ( ) { } private boolean shouldBeRemoved ( MethodBinding methodBinding ) { } public String toString ( ) { } }

Fix:
return Modifier . NONE ;