Buggy code:
public class WildTypePattern extends TypePattern { NamePattern [ ] namePatterns ; int ellipsisCount ; String [ ] importedPrefixes ; String [ ] knownMatches ; int dim ; WildTypePattern ( NamePattern [ ] namePatterns , boolean includeSubtypes , int dim , boolean isVarArgs ) { } public WildTypePattern ( List names , boolean includeSubtypes , int dim ) { } public WildTypePattern ( List names , boolean includeSubtypes , int dim , int endPos ) { } public WildTypePattern ( List names , boolean includeSubtypes , int dim , int endPos , boolean isVarArg ) { } public void setIsVarArgs ( boolean isVarArgs ) { } protected boolean couldEverMatchSameTypesAs ( TypePattern other ) { } public static char [ ] [ ] splitNames ( String s ) { } protected boolean matchesExactly ( ResolvedTypeX type ) { } protected boolean matchesExactly ( ResolvedTypeX type , ResolvedTypeX annotatedType ) { } public int getDimensions ( ) { } public boolean isArray ( ) { } private boolean matchesExactlyByName ( String targetTypeName ) { } private int lastIndexOfDotOrDollar ( String string ) { } private boolean innerMatchesExactly ( String targetTypeName ) { } private boolean innerMatchesExactly ( char [ ] [ ] names ) { } private static boolean outOfStar ( final NamePattern [ ] pattern , final char [ ] [ ] target , int pi , int ti , int pLeft , int tLeft , final int starsLeft ) { } private static boolean inStar ( final NamePattern [ ] pattern , final char [ ] [ ] target , int pi , int ti , final int pLeft , int tLeft , int starsLeft ) { } public FuzzyBoolean matchesInstanceof ( ResolvedTypeX type ) { } public NamePattern extractName ( ) { } public boolean maybeExtractName ( String string ) { } public String maybeGetSimpleName ( ) { } public String maybeGetCleanName ( ) { } public TypePattern resolveBindings ( IScope scope , Bindings bindings , boolean allowBinding , boolean requireExactType ) { if ( isNamePatternStar ( ) ) { if ( ( annotationPattern ) == ( AnnotationTypePattern . ANY ) ) { <START_BUG> if ( ( dim ) == 0 ) { <END_BUG> return TypePattern . ANY ; } } else { annotationPattern = annotationPattern . resolveBindings ( scope , bindings , allowBinding ) ; AnyWithAnnotationTypePattern ret = new AnyWithAnnotationTypePattern ( annotationPattern ) ; ret . setLocation ( sourceContext , start , end ) ; return ret ; } } annotationPattern = annotationPattern . resolveBindings ( scope , bindings , allowBinding ) ; String simpleName = maybeGetSimpleName ( ) ; if ( simpleName != null ) { FormalBinding formalBinding = scope . lookupFormal ( simpleName ) ; if ( formalBinding != null ) { if ( bindings == null ) { scope . message ( ERROR , this , "negation<seq2seq4repair_space>doesn't<seq2seq4repair_space>allow<seq2seq4repair_space>binding" ) ; return this ; } if ( ! allowBinding ) { scope . message ( ERROR , this , "name<seq2seq4repair_space>binding<seq2seq4repair_space>only<seq2seq4repair_space>allowed<seq2seq4repair_space>in<seq2seq4repair_space>target,<seq2seq4repair_space>this,<seq2seq4repair_space>and<seq2seq4repair_space>args<seq2seq4repair_space>pcds" ) ; return this ; } BindingTypePattern binding = new BindingTypePattern ( formalBinding , isVarArgs ) ; binding . copyLocationFrom ( this ) ; bindings . register ( binding , scope ) ; return binding ; } } String cleanName = maybeGetCleanName ( ) ; String originalName = cleanName ; ResolvedTypeX resolvedTypeInTheWorld = null ; if ( cleanName != null ) { TypeX type ; resolvedTypeInTheWorld = scope . getWorld ( ) . resolve ( TypeX . forName ( cleanName ) , true ) ; while ( ( type = scope . lookupType ( cleanName , this ) ) == ( ResolvedTypeX . MISSING ) ) { int lastDot = cleanName . lastIndexOf ( '.' ) ; if ( lastDot == ( - 1 ) ) break ; cleanName = ( ( cleanName . substring ( 0 , lastDot ) ) + '$' ) + ( cleanName . substring ( ( lastDot + 1 ) ) ) ; if ( resolvedTypeInTheWorld == ( ResolvedTypeX . MISSING ) ) resolvedTypeInTheWorld = scope . getWorld ( ) . resolve ( TypeX . forName ( cleanName ) , true ) ; } if ( type == ( ResolvedTypeX . MISSING ) ) { if ( requireExactType ) { if ( ! allowBinding ) { scope . getWorld ( ) . getMessageHandler ( ) . handleMessage ( MessageUtil . error ( WeaverMessages . format ( CANT_BIND_TYPE , originalName ) , getSourceLocation ( ) ) ) ; } else if ( scope . getWorld ( ) . getLint ( ) . invalidAbsoluteTypeName . isEnabled ( ) ) { scope . getWorld ( ) . getLint ( ) . invalidAbsoluteTypeName . signal ( originalName , getSourceLocation ( ) ) ; } return NO ; } else if ( scope . getWorld ( ) . getLint ( ) . invalidAbsoluteTypeName . isEnabled ( ) ) { if ( resolvedTypeInTheWorld == ( ResolvedTypeX . MISSING ) ) scope . getWorld ( ) . getLint ( ) . invalidAbsoluteTypeName . signal ( originalName , getSourceLocation ( ) ) ; } } else { if ( ( dim ) != 0 ) type = TypeX . makeArray ( type , dim ) ; TypePattern ret = new ExactTypePattern ( type , includeSubtypes , isVarArgs ) ; ret . setAnnotationTypePattern ( annotationPattern ) ; ret . copyLocationFrom ( this ) ; return ret ; } } else { if ( requireExactType ) { scope . getWorld ( ) . getMessageHandler ( ) . handleMessage ( MessageUtil . error ( WeaverMessages . format ( WILDCARD_NOT_ALLOWED ) , getSourceLocation ( ) ) ) ; return NO ; } } importedPrefixes = scope . getImportedPrefixes ( ) ; knownMatches = preMatch ( scope . getImportedNames ( ) ) ; return this ; } public TypePattern resolveBindingsFromRTTI ( boolean allowBinding , boolean requireExactType ) { } private Class maybeGetPrimitiveClass ( String typeName ) { } public boolean isStar ( ) { } private boolean isNamePatternStar ( ) { } private String [ ] preMatch ( String [ ] possibleMatches ) { }

Fix:
if ( ( ( dim ) == 0 ) && ( ! ( isVarArgs ) ) ) {