Buggy code:
private ] missingElementsEnds , boolean missingElementsHaveProblems , char [ ] [ ] receiverName , int receiverStart , int receiverEnd ) { } private void findFieldsAndMethodsFromCastedReceiver ( ASTNode enclosingNode , Binding qualifiedBinding , Scope scope , ObjectVector fieldsFound , ObjectVector methodsFound , InvocationSite invocationSite , Scope invocationScope , Expression receiver ) { } private void findFieldsAndMethodsFromFavorites ( char [ ] token , Scope scope , InvocationSite invocationSite , Scope invocationScope , ObjectVector localsFound , ObjectVector fieldsFound , ObjectVector methodsFound ) { } private boolean findFieldsAndMethodsFromMissingFieldType ( char [ ] token , Scope scope , InvocationSite invocationSite , boolean insideTypeAnnotation ) { } private void findFieldsAndMethodsFromMissingReturnType ( char [ ] token , TypeBinding [ ] arguments , Scope scope , InvocationSite invocationSite , boolean insideTypeAnnotation ) { } private void findFieldsAndMethodsFromMissingType ( TypeReference typeRef , final Scope scope , final InvocationSite invocationSite , final Scope invocationScope ) { } private void findFieldsAndMethodsFromStaticImports ( char [ ] token , Scope scope , InvocationSite invocationSite , Scope invocationScope , boolean exactMatch , boolean insideAnnotationAttribute , ObjectVector localsFound , ObjectVector fieldsFound , ObjectVector methodsFound , boolean proposeField , boolean proposeMethod ) { } private void findFieldsFromFavorites ( char [ ] fieldName , FieldBinding [ ] fields , Scope scope , ObjectVector fieldsFound , ObjectVector localsFound , ReferenceBinding receiverType , InvocationSite invocationSite , Scope invocationScope ) { } private void findImplicitMessageSends ( char [ ] token , TypeBinding [ ] argTypes , Scope scope , InvocationSite invocationSite , Scope invocationScope , ObjectVector methodsFound ) { } private void findImports ( CompletionOnImportReference importReference , boolean findMembers ) { } private void findImportsOfMemberTypes ( char [ ] typeName , ReferenceBinding ref , boolean onlyStatic ) { } private void findImportsOfStaticFields ( char [ ] fieldName , ReferenceBinding ref ) { } private void findImportsOfStaticMethods ( char [ ] methodName , ReferenceBinding ref ) { } private void findInterfacesMethodDeclarations ( char [ ] selector , ReferenceBinding receiverType , ReferenceBinding [ ] itsInterfaces , Scope scope , ObjectVector methodsFound , Binding [ ] missingElements , int [ ] missingElementssStarts , int [ ] missingElementsEnds , boolean missingElementsHaveProblems ) { } private void findInterfacesMethods ( char [ ] selector , TypeBinding [ ] typeArgTypes , TypeBinding [ ] argTypes , ReferenceBinding receiverType , ReferenceBinding [ ] itsInterfaces , Scope scope , ObjectVector methodsFound , boolean onlyStaticMethods , boolean exactMatch , InvocationSite invocationSite , Scope invocationScope , boolean implicitCall , boolean superCall , boolean canBePrefixed , Binding [ ] missingElements , int [ ] missingElementssStarts , int [ ] missingElementsEnds , boolean missingElementsHaveProblems , char [ ] castedReceiver , int receiverStart , int receiverEnd ) { } private void findJavadocBlockTags ( CompletionOnJavadocTag javadocTag ) { } private void findJavadocInlineTags ( CompletionOnJavadocTag javadocTag ) { } private void findJavadocParamNames ( char [ ] token , char [ ] [ ] missingParams , boolean isTypeParam ) { } private void findKeywords ( char [ ] keyword , char [ ] [ ] choices , boolean canCompleteEmptyToken , boolean staticFieldsAndMethodOnly ) { } private void findKeywordsForMember ( char [ ] token , int modifiers ) { } private void findLabels ( char [ ] label , char [ ] [ ] choices ) { } private void findLocalMethodDeclarations ( char [ ] methodName , MethodBinding [ ] methods , Scope scope , ObjectVector methodsFound , boolean exactMatch , ReferenceBinding receiverType ) { } private void findLocalMethods ( char [ ] methodName , TypeBinding [ ] typeArgTypes , TypeBinding [ ] argTypes , MethodBinding [ ] methods , Scope scope , ObjectVector methodsFound , boolean onlyStaticMethods , boolean exactMatch , ReferenceBinding receiverType , InvocationSite invocationSite , Scope invocationScope , boolean implicitCall , boolean superCall , boolean canBePrefixed , Binding [ ] missingElements , int [ ] missingElementsStarts , int [ ] missingElementsEnds , boolean missingElementsHaveProblems , char [ ] castedReceiver , int receiverStart , int receiverEnd ) { } private void findLocalMethodsFromFavorites ( char [ ] methodName , MethodBinding [ ] methods , Scope scope , ObjectVector methodsFound , ObjectVector methodsFoundFromFavorites , ReferenceBinding receiverType , InvocationSite invocationSite , Scope invocationScope ) { } private void findLocalMethodsFromStaticImports ( char [ ] methodName , MethodBinding [ ] methods , Scope scope , boolean exactMatch , ObjectVector methodsFound , ReferenceBinding receiverType , InvocationSite invocationSite ) { } private void findLocalMethodsFromStaticImports ( char [ ] token , Scope scope , InvocationSite invocationSite , Scope invocationScope , boolean exactMatch , ObjectVector methodsFound , boolean proposeMethod ) { } protected void findMembers ( char [ ] token , ReferenceBinding receiverType , Scope scope , InvocationSite invocationSite , boolean isInsideAnnotationAttribute , Binding [ ] missingElements , int [ ] missingElementsStarts , int [ ] missingElementsEnds , boolean missingElementsHaveProblems ) { } private void findMembersFromMissingType ( final char [ ] token , final long pos , TypeBinding resolveType , final Scope scope , final InvocationSite invocationSite , final boolean isInsideAnnotationAttribute ) { } private void findMemberTypes ( char [ ] typeName , ReferenceBinding receiverType , Scope scope , SourceTypeBinding typeInvocation , boolean staticOnly , boolean staticFieldsAndMethodOnly , boolean fromStaticImport , boolean checkQualification , boolean proposeAllMemberTypes , SourceTypeBinding typeToIgnore , ObjectVector typesFound , Binding [ ] missingElements , int [ ] missingElementsStarts , int [ ] missingElementsEnds , boolean missingElementsHaveProblems ) { } protected void findMemberTypes ( char [ ] typeName , ReferenceBinding receiverType , Scope scope , SourceTypeBinding typeInvocation , boolean staticOnly , boolean staticFieldsAndMethodOnly , ObjectVector typesFound , Binding [ ] missingElements , int [ ] missingElementsStarts , int [ ] missingElementsEnds , boolean missingElementsHaveProblems ) { } private void findMemberTypes ( char [ ] typeName , ReferenceBinding [ ] memberTypes , ObjectVector typesFound , ReferenceBinding receiverType , SourceTypeBinding invocationType , boolean staticOnly , boolean staticFieldsAndMethodOnly , boolean fromStaticImport , boolean checkQualification , Scope scope , Binding [ ] missingElements , int [ ] missingElementsStarts , int [ ] missingElementsEnds , boolean missingElementsHaveProblems ) { } private void findMemberTypesFromMissingType ( char [ ] typeName , final long pos , final Scope scope ) { } private void findMemberTypesFromMissingType ( TypeReference typeRef , final long pos , final Scope scope ) { } private void findMethodDeclarations ( char [ ] selector , ReferenceBinding receiverType , Scope scope , ObjectVector methodsFound , Binding [ ] missingElements , int [ ] missingElementsStarts , int [ ] missingElementsEnds , boolean missingElementsHaveProblems ) { } private char [ ] [ ] findMethodParameterNames ( MethodBinding method , char [ ] [ ] parameterTypeNames ) { } private void findMethods ( char [ ] selector , TypeBinding [ ] typeArgTypes , TypeBinding [ ] argTypes , ReferenceBinding receiverType , Scope scope , ObjectVector methodsFound , boolean onlyStaticMethods , boolean exactMatch , InvocationSite invocationSite , Scope invocationScope , boolean implicitCall , boolean superCall , boolean canBePrefixed , Binding [ ] missingElements , int [ ] missingElementsStarts , int [ ] missingElementsEnds , boolean missingElementsHaveProblems , char [ ] castedReceiver , int receiverStart , int receiverEnd ) { } private void findNestedTypes ( char [ ] typeName , SourceTypeBinding currentType , Scope scope , boolean proposeAllMemberTypes , ObjectVector typesFound ) { } private void findPackages ( CompletionOnPackageReference packageStatement ) { } private void findParameterizedType ( TypeReference ref , Scope scope ) { } private void findSubMemberTypes ( char [ ] typeName , ReferenceBinding receiverType , Scope scope , SourceTypeBinding typeInvocation , boolean staticOnly , boolean staticFieldsAndMethodOnly , boolean fromStaticImport , ObjectVector typesFound ) { ReferenceBinding currentType = receiverType ; <START_BUG> if ( ( typeName == null ) || ( ( typeName . length ) == 0 ) ) <END_BUG>

Fix:
if ( typeName == null )