Buggy code:
public class AspectDeclaration extends MemberTypeDeclaration { private Aspect aspectAttribute ; public PerClause perClause ; public ResolvedMember aspectOfMethod ; public ResolvedMember hasAspectMethod ; public boolean isPrivileged ; public EclipseObjectType typeX ; public EclipseWorld world ; public TypePattern dominatesPattern ; public AspectDeclaration ( CompilationResult compilationResult ) { } public boolean isAbstract ( ) { } public void resolve ( ) { } public void checkSpec ( ClassScope scope ) { if ( ignoreFurtherInvestigation ) return ; if ( ( dominatesPattern ) != null ) { <START_BUG> scope . problemReporter ( ) . signalError ( dominatesPattern . getStart ( ) , dominatesPattern . getEnd ( ) , ( ( ( ( ( "dominates<seq2seq4repair_space>has<seq2seq4repair_space>changed<seq2seq4repair_space>for<seq2seq4repair_space>1.1,<seq2seq4repair_space>use<seq2seq4repair_space>'declare<seq2seq4repair_space>dominates:<seq2seq4repair_space>" + ( new String ( this . name ) ) ) + ",<seq2seq4repair_space>" ) + ( dominatesPattern . toString ( ) ) ) + ";'<seq2seq4repair_space>" ) + "in<seq2seq4repair_space>the<seq2seq4repair_space>body<seq2seq4repair_space>of<seq2seq4repair_space>the<seq2seq4repair_space>aspect<seq2seq4repair_space>instead" ) ) ; <END_BUG> } if ( ! ( isAbstract ( ) ) ) { MethodBinding [ ] methods = binding . methods ( ) ; for ( int i = 0 , len = methods . length ; i < len ; i ++ ) { MethodBinding m = methods [ i ] ; if ( m . isConstructor ( ) ) { methods [ i ] = new MethodBinding ( m , binding ) { public boolean canBeSeenBy ( InvocationSite invocationSite , Scope scope ) { return false ; } } ; if ( ( ( m . parameters ) != null ) && ( ( m . parameters . length ) != 0 ) ) { scope . problemReporter ( ) . signalError ( m . sourceStart ( ) , m . sourceEnd ( ) , "only<seq2seq4repair_space>zero-argument<seq2seq4repair_space>constructors<seq2seq4repair_space>allowed<seq2seq4repair_space>in<seq2seq4repair_space>concrete<seq2seq4repair_space>aspect" ) ; } } } } if ( ( this . enclosingType ) != null ) { if ( ! ( Modifier . isStatic ( modifiers ) ) ) { scope . problemReporter ( ) . signalError ( sourceStart , sourceEnd , "inner<seq2seq4repair_space>aspects<seq2seq4repair_space>must<seq2seq4repair_space>be<seq2seq4repair_space>static" ) ; ignoreFurtherInvestigation = true ; return ; } } EclipseWorld world = EclipseWorld . fromScopeLookupEnvironment ( scope ) ; ResolvedTypeX myType = world . fromEclipse ( binding ) ; ResolvedTypeX superType = myType . getSuperclass ( ) . resolve ( world ) ; if ( ! ( world . buildManager . buildConfig . isXserializableAspects ( ) ) ) { if ( world . resolve ( SERIALIZABLE ) . isAssignableFrom ( myType ) ) { scope . problemReporter ( ) . signalError ( sourceStart , sourceEnd , "aspects<seq2seq4repair_space>may<seq2seq4repair_space>not<seq2seq4repair_space>implement<seq2seq4repair_space>Serializable" ) ; ignoreFurtherInvestigation = true ; return ; } if ( world . resolve ( CLONEABLE ) . isAssignableFrom ( myType ) ) { scope . problemReporter ( ) . signalError ( sourceStart , sourceEnd , "aspects<seq2seq4repair_space>may<seq2seq4repair_space>not<seq2seq4repair_space>implement<seq2seq4repair_space>Cloneable" ) ; ignoreFurtherInvestigation = true ; return ; } } if ( superType . isAspect ( ) ) { if ( ! ( superType . isAbstract ( ) ) ) { scope . problemReporter ( ) . signalError ( sourceStart , sourceEnd , "can<seq2seq4repair_space>not<seq2seq4repair_space>extend<seq2seq4repair_space>a<seq2seq4repair_space>concrete<seq2seq4repair_space>aspect" ) ; ignoreFurtherInvestigation = true ; return ; } } } public void generateCode ( ClassFile enclosingClassFile ) { } public boolean needClassInitMethod ( ) { } protected void generateAttributes ( ClassFile classFile ) { } private void generatePerSupportMembers ( ClassFile classFile ) { } private static interface BodyGenerator { public void generate ( CodeStream codeStream ) { } } private void generateMethod ( ClassFile classFile , ResolvedMember member , AspectDeclaration . BodyGenerator gen ) { } private void generateMethod ( ClassFile classFile , MethodBinding methodBinding , AspectDeclaration . BodyGenerator gen ) { } private void generatePerCflowAspectOfMethod ( ClassFile classFile ) { } private void generatePerCflowHasAspectMethod ( ClassFile classFile ) { } private void generatePerCflowPushMethod ( ClassFile classFile ) { } private void generatePerCflowAjcClinitMethod ( ClassFile classFile ) { } private TypeBinding generatePerObjectInterface ( ClassFile classFile ) { } private void generatePerObjectAspectOfMethod ( ClassFile classFile , final TypeBinding interfaceType ) { } private void generatePerObjectHasAspectMethod ( ClassFile classFile , final TypeBinding interfaceType ) { } private void generatePerObjectBindMethod ( ClassFile classFile , final TypeBinding interfaceType ) { } private void generatePerSingletonAspectOfMethod ( ClassFile classFile ) { } private void generatePerSingletonHasAspectMethod ( ClassFile classFile ) { } private void generatePerSingletonAjcClinitMethod ( ClassFile classFile ) { } private Kind lookupPerClauseKind ( ReferenceBinding binding ) { } private void buildPerClause ( ClassScope scope ) { } private PerClause resolvePerClause ( ) { } public void buildInterTypeAndPerClause ( ClassScope classScope ) { } public String toString ( int tab ) { } public String toStringBody ( int tab ) { } public String toStringHeader ( ) { } }

Fix:
scope . problemReporter ( ) . signalError ( dominatesPattern . getStart ( ) , dominatesPattern . getEnd ( ) , ( ( ( ( ( "dominates<seq2seq4repair_space>has<seq2seq4repair_space>changed<seq2seq4repair_space>for<seq2seq4repair_space>1.1,<seq2seq4repair_space>use<seq2seq4repair_space>'declare<seq2seq4repair_space>precedence:<seq2seq4repair_space>" + ( new String ( this . name ) ) ) + ",<seq2seq4repair_space>" ) + ( dominatesPattern . toString ( ) ) ) + ";'<seq2seq4repair_space>" ) + "in<seq2seq4repair_space>the<seq2seq4repair_space>body<seq2seq4repair_space>of<seq2seq4repair_space>the<seq2seq4repair_space>aspect<seq2seq4repair_space>instead" ) ) ;