Buggy code:
, this ) ; } return null ; } } if ( ( this . actualReceiverType ) == null ) { return null ; } if ( this . actualReceiverType . isBaseType ( ) ) { scope . problemReporter ( ) . errorNoMethodFor ( this , this . actualReceiverType , argumentTypes ) ; return null ; } this . binding = ( this . receiver . isImplicitThis ( ) ) ? scope . getImplicitMethod ( this . selector , argumentTypes , this ) : scope . getMethod ( this . actualReceiverType , this . selector , argumentTypes , this ) ; if ( ! ( this . binding . isValidBinding ( ) ) ) { if ( ( ( this . binding ) instanceof ProblemMethodBinding ) && ( ( ( ( ProblemMethodBinding ) ( this . binding ) ) . problemId ( ) ) == ( ProblemReasons . NotVisible ) ) ) { if ( ( this . evaluationContext . declaringTypeName ) != null ) { this . delegateThis = scope . getField ( scope . enclosingSourceType ( ) , EvaluationConstants . DELEGATE_THIS , this ) ; if ( ( this . delegateThis ) == null ) { this . constant = Constant . NotAConstant ; scope . problemReporter ( ) . invalidMethod ( this , this . binding ) ; return null ; } } else { this . constant = Constant . NotAConstant ; scope . problemReporter ( ) . invalidMethod ( this , this . binding ) ; return null ; } CodeSnippetScope localScope = new CodeSnippetScope ( scope ) ; MethodBinding privateBinding = ( ( ( this . receiver ) instanceof CodeSnippetThisReference ) && ( ( ( CodeSnippetThisReference ) ( this . receiver ) ) . isImplicit ) ) ? localScope . getImplicitMethod ( ( ( ReferenceBinding ) ( this . delegateThis . type ) ) , this . selector , argumentTypes , this ) : localScope . getMethod ( this . delegateThis . type , this . selector , argumentTypes , this ) ; if ( ! ( privateBinding . isValidBinding ( ) ) ) { if ( ( this . binding . declaringClass ) == null ) { if ( ( this . actualReceiverType ) instanceof ReferenceBinding ) { this . binding . declaringClass = ( ( ReferenceBinding ) ( this . actualReceiverType ) ) ; } else { scope . problemReporter ( ) . errorNoMethodFor ( this , this . actualReceiverType , argumentTypes ) ; return null ; } } scope . problemReporter ( ) . invalidMethod ( this , this . binding ) ; return null ; } else { this . binding = privateBinding ; } } else { if ( ( this . binding . declaringClass ) == null ) { if ( ( this . actualReceiverType ) instanceof ReferenceBinding ) { this . binding . declaringClass = ( ( ReferenceBinding ) ( this . actualReceiverType ) ) ; } else { scope . problemReporter ( ) . errorNoMethodFor ( this , this . actualReceiverType , argumentTypes ) ; return null ; } } scope . problemReporter ( ) . invalidMethod ( this , this . binding ) ; return null ; } } if ( ! ( this . binding . isStatic ( ) ) ) { if ( ( ( this . receiver ) instanceof NameReference ) && ( ( ( ( ( NameReference ) ( this . receiver ) ) . bits ) & ( Binding . TYPE ) ) != 0 ) ) { scope . problemReporter ( ) . mustUseAStaticMethod ( this , this . binding ) ; } else { TypeBinding oldReceiverType = this . actualReceiverType ; this . actualReceiverType = this . actualReceiverType . getErasureCompatibleType ( this . binding . declaringClass ) ; this . receiver . computeConversion ( scope , this . actualReceiverType , this . actualReceiverType ) ; if ( ( ( this . actualReceiverType ) != oldReceiverType ) && ( ( this . receiver . postConversionType ( scope ) ) != ( this . actualReceiverType ) ) ) { this . bits |= ASTNode . NeedReceiverGenericCast ; } } } ASTNode . checkInvocationArguments ( scope , this . receiver , this . actualReceiverType , this . binding , this . arguments , argumentTypes , argsContainCast , this , ( ( ( this . bits ) & ( ASTNode . Unchecked ) ) != 0 ) ) ; if ( this . binding . isAbstract ( ) ) { if ( this . receiver . isSuper ( ) ) { scope . problemReporter ( ) . cannotDireclyInvokeAbstractMethod ( this , this . binding ) ; } } if ( isMethodUseDeprecated ( this . binding , scope , true ) ) scope . problemReporter ( ) . deprecatedMethod ( this . binding , this ) ; if ( ( ( ( this . actualReceiverType . isArrayType ( ) ) && ( ( this . binding . parameters ) == ( Binding . NO_PARAMETERS ) ) ) && ( ( scope . compilerOptions ( ) . complianceLevel ) >= ( ClassFileConstants . JDK1_5 ) ) ) && ( CharOperation . equals ( this . binding . selector , TypeConstants . CLONE ) ) ) { this . resolvedType = this . actualReceiverType ; } else { TypeBinding returnType = this . binding . returnType ; if ( returnType != null ) { <START_BUG> if ( ( ( this . bits ) & ( ASTNode . Unchecked ) ) != 0 ) { <END_BUG> returnType = scope . environment ( ) . convertToRawType ( returnType . erasure ( ) , true ) ; } returnType = returnType . capture ( scope , this . sourceEnd ) ; } this . resolvedType = returnType ; } return this . resolvedType ; } }

Fix:
if ( ( ( ( this . bits ) & ( ASTNode . Unchecked ) ) != 0 ) && ( ( this . genericTypeArguments ) == null ) ) {