Buggy code:
public WeaverStateInfo reify ( ) { } } public static class WeaverVersionInfo extends AjAttribute { public static final String AttributeName = "org.aspectj.weaver.WeaverVersion" ; public static short WEAVER_VERSION_MAJOR_UNKNOWN = 0 ; public static short WEAVER_VERSION_MINOR_UNKNOWN = 0 ; public static short WEAVER_VERSION_MAJOR_AJ121 = 1 ; public static short WEAVER_VERSION_MINOR_AJ121 = 0 ; public static short WEAVER_VERSION_MAJOR_AJ150 = 2 ; public static short WEAVER_VERSION_MINOR_AJ150 = 0 ; private static short CURRENT_VERSION_MAJOR = AjAttribute . WeaverVersionInfo . WEAVER_VERSION_MAJOR_AJ150 ; private static short CURRENT_VERSION_MINOR = AjAttribute . WeaverVersionInfo . WEAVER_VERSION_MINOR_AJ150 ; public static final AjAttribute . WeaverVersionInfo UNKNOWN = new AjAttribute . WeaverVersionInfo ( AjAttribute . WeaverVersionInfo . WEAVER_VERSION_MAJOR_UNKNOWN , AjAttribute . WeaverVersionInfo . WEAVER_VERSION_MINOR_UNKNOWN ) ; private short major_version ; private short minor_version ; public String getNameString ( ) { } public WeaverVersionInfo ( ) { } public WeaverVersionInfo ( short major , short minor ) { } public void write ( DataOutputStream s ) throws IOException { } public static AjAttribute . WeaverVersionInfo read ( VersionedDataInputStream s ) throws IOException { } public short getMajorVersion ( ) { } public short getMinorVersion ( ) { } public static short getCurrentWeaverMajorVersion ( ) { } public static short getCurrentWeaverMinorVersion ( ) { } public String toString ( ) { } public static String toCurrentVersionString ( ) { } } public static class SourceContextAttribute extends AjAttribute { public static final String AttributeName = "org.aspectj.weaver.SourceContext" ; public String getNameString ( ) { } private String sourceFileName ; private int [ ] lineBreaks ; public SourceContextAttribute ( String sourceFileName , int [ ] lineBreaks ) { } public void write ( DataOutputStream s ) throws IOException { } public static AjAttribute . SourceContextAttribute read ( VersionedDataInputStream s ) throws IOException { } public int [ ] getLineBreaks ( ) { } public String getSourceFileName ( ) { } } public static class MethodDeclarationLineNumberAttribute extends AjAttribute { public static final String AttributeName = "org.aspectj.weaver.MethodDeclarationLineNumber" ; public String getNameString ( ) { } private int lineNumber ; private int offset ; public MethodDeclarationLineNumberAttribute ( int line , int offset ) { } public int getLineNumber ( ) { } public int getOffset ( ) { } public void write ( DataOutputStream s ) throws IOException { } public static AjAttribute . MethodDeclarationLineNumberAttribute read ( VersionedDataInputStream s ) throws IOException { } public String toString ( ) { } } public static class PointcutDeclarationAttribute extends AjAttribute { public static final String AttributeName = "org.aspectj.weaver.PointcutDeclaration" ; public String getNameString ( ) { } private ResolvedPointcutDefinition pointcutDef ; public PointcutDeclarationAttribute ( ResolvedPointcutDefinition pointcutDef ) { } public void write ( DataOutputStream s ) throws IOException { } public ResolvedPointcutDefinition reify ( ) { } } public static class DeclareAttribute extends AjAttribute { public static final String AttributeName = "org.aspectj.weaver.Declare" ; public String getNameString ( ) { } private Declare declare ; public DeclareAttribute ( Declare declare ) { } public void write ( DataOutputStream s ) throws IOException { } public Declare getDeclare ( ) { } } public static class AdviceAttribute extends AjAttribute { public static final String AttributeName = "org.aspectj.weaver.Advice" ; public String getNameString ( ) { } private AdviceKind kind ; private Pointcut pointcut ; private int extraParameterFlags ; private int start ; private int end ; private ISourceContext sourceContext ; private boolean proceedInInners ; private ResolvedMember [ ] proceedCallSignatures ; private boolean [ ] formalsUnchangedToProceed ; private UnresolvedType [ ] declaredExceptions ; public AdviceAttribute ( AdviceKind kind , Pointcut pointcut , int extraArgumentFlags , int start , int end , ISourceContext sourceContext ) { } public AdviceAttribute ( AdviceKind kind , Pointcut pointcut , int extraArgumentFlags , int start , int end , ISourceContext sourceContext , boolean proceedInInners , ResolvedMember [ ] proceedCallSignatures , boolean [ ] formalsUnchangedToProceed , UnresolvedType [ ] declaredExceptions ) { } public static AjAttribute . AdviceAttribute read ( VersionedDataInputStream s , ISourceContext context ) throws IOException { } public void write ( DataOutputStream s ) throws IOException { } public Advice reify ( Member signature , World world ) { <START_BUG> return world . concreteAdvice ( this , pointcut , signature ) ; <END_BUG> } public String toString ( ) { } public int getExtraParameterFlags ( ) { } public AdviceKind getKind ( ) { } public Pointcut getPointcut ( ) { } public UnresolvedType [ ] getDeclaredExceptions ( ) { } public boolean [ ] getFormalsUnchangedToProceed ( ) { } public ResolvedMember [ ] getProceedCallSignatures ( ) { } public boolean isProceedInInners ( ) { } public int getEnd ( ) { } public ISourceContext getSourceContext ( ) { } public int getStart ( ) { } } public static class Aspect extends AjAttribute { public static final String AttributeName = "org.aspectj.weaver.Aspect" ; public String getNameString ( ) { } private PerClause perClause ; public Aspect ( PerClause perClause ) { } public PerClause reify ( ResolvedType inAspect ) { } public void write ( DataOutputStream s ) throws IOException { } } public static class PrivilegedAttribute extends AjAttribute { public static final String AttributeName = "org.aspectj.weaver.Privileged" ; public String getNameString ( ) { } private ResolvedMember [ ] accessedMembers ; public PrivilegedAttribute ( ResolvedMember [ ] accessedMembers ) { } public void write ( DataOutputStream s ) throws IOException { } public ResolvedMember [ ] getAccessedMembers ( ) { } public static AjAttribute . PrivilegedAttribute read ( VersionedDataInputStream s , ISourceContext context ) throws IOException { } } public static class EffectiveSignatureAttribute extends AjAttribute { public static final String AttributeName = "org.aspectj.weaver.EffectiveSignature" ; public String getNameString ( ) { } private ResolvedMember effectiveSignature ; private Kind shadowKind ; private boolean weaveBody ; public EffectiveSignatureAttribute ( ResolvedMember effectiveSignature , Shadow . Kind shadowKind , boolean weaveBody ) { } public void write ( DataOutputStream s ) throws IOException { } public static AjAttribute . EffectiveSignatureAttribute read ( VersionedDataInputStream s , ISourceContext context ) throws IOException { } public ResolvedMember getEffectiveSignature ( ) { } public String toString ( ) { } public Kind getShadowKind ( ) { }

Fix:
return world . createAdviceMunger ( this , pointcut , signature ) ;