nus-yam/ex-repair huggingface dataset:
Program: 9419
Project: 9419
Buggy source:
public void postParse(TypeDeclaration typeDec){
  if (arguments == null)   arguments=new Argument[0];
  this.declaredModifiers=modifiers;
  this.declaredName=new String(selector);
  selector=CharOperation.concat(mangledPrefix,'$',selector,'$',Integer.toHexString(sourceStart).toCharArray());
  if (Modifier.isAbstract(this.declaredModifiers) && !(typeDec instanceof AspectDeclaration)) {
    typeDec.scope.problemReporter().signalError(sourceStart,sourceEnd,"String_Node_Str" + new String(declaredName) + "String_Node_Str");
    ignoreFurtherInvestigation=true;
    return;
  }
  if (pointcutDesignator != null) {
    pointcutDesignator.postParse(typeDec,this);
  }
}

Fixed version (ground truth):
public void postParse(TypeDeclaration typeDec){
  if (arguments == null)   arguments=new Argument[0];
  this.declaredModifiers=modifiers;
  this.declaredName=new String(selector);
  selector=CharOperation.concat(mangledPrefix,'$',selector,'$',Integer.toHexString(sourceStart).toCharArray());
  if (Modifier.isAbstract(this.declaredModifiers)) {
    if (!(typeDec instanceof AspectDeclaration)) {
      typeDec.scope.problemReporter().signalError(sourceStart,sourceEnd,"String_Node_Str" + new String(declaredName) + "String_Node_Str");
      ignoreFurtherInvestigation=true;
      return;
    }
 else     if (!Modifier.isAbstract(typeDec.modifiers)) {
      typeDec.scope.problemReporter().signalError(sourceStart,sourceEnd,"String_Node_Str" + new String(declaredName) + "String_Node_Str");
      ignoreFurtherInvestigation=true;
      return;
    }
  }
  if (pointcutDesignator != null) {
    pointcutDesignator.postParse(typeDec,this);
  }
}
Program: 9420
Project: 9420
Buggy source:
public static Test suite(){
  TestSuite suite=new TestSuite(AjdtBatchTests.class.getName());
  suite.addTestSuite(BasicCommandTestCase.class);
  suite.addTestSuite(BinaryFormsTestCase.class);
  suite.addTestSuite(CompileAndRunTestCase.class);
  suite.addTestSuite(PerformanceTestCase.class);
  suite.addTestSuite(ImageTestCase.class);
  suite.addTestSuite(MultipleCompileTestCase.class);
  return suite;
}

Fixed version (ground truth):
public static Test suite(){
  TestSuite suite=new TestSuite(AjdtBatchTests.class.getName());
  suite.addTestSuite(BasicCommandTestCase.class);
  suite.addTestSuite(BinaryFormsTestCase.class);
  suite.addTestSuite(CompileAndRunTestCase.class);
  suite.addTestSuite(PerformanceTestCase.class);
  suite.addTestSuite(ImageTestCase.class);
  suite.addTestSuite(MultipleCompileTestCase.class);
  suite.addTestSuite(JavadocTest.class);
  return suite;
}
Program: 9422
Project: 9422
Buggy source:
public static Test suite(){
  TestSuite suite=new TestSuite(AjdeTests.class.getName());
  suite.addTestSuite(BuildOptionsTest.class);
  suite.addTestSuite(BuildConfigurationTests.class);
  suite.addTestSuite(StructureModelRegressionTest.class);
  suite.addTestSuite(StructureModelTest.class);
  suite.addTestSuite(VersionTest.class);
  suite.addTestSuite(CompilerMessagesTest.class);
  suite.addTestSuite(AsmDeclarationsTest.class);
  suite.addTestSuite(AsmRelationshipsTest.class);
  suite.addTestSuite(InpathTestcase.class);
  suite.addTestSuite(ReweavableTestCase.class);
  suite.addTestSuite(ResourceCopyTestCase.class);
  suite.addTestSuite(ModelPerformanceTest.class);
  suite.addTestSuite(SavedModelConsistencyTest.class);
  suite.addTestSuite(BuildCancellingTest.class);
  suite.addTestSuite(JarManifestTest.class);
  suite.addTestSuite(DuplicateManifestTest.class);
  suite.addTestSuite(ShowWeaveMessagesTestCase.class);
  return suite;
}

Fixed version (ground truth):
public static Test suite(){
  TestSuite suite=new TestSuite(AjdeTests.class.getName());
  suite.addTestSuite(BuildOptionsTest.class);
  suite.addTestSuite(BuildConfigurationTests.class);
  suite.addTestSuite(StructureModelRegressionTest.class);
  suite.addTestSuite(StructureModelTest.class);
  suite.addTestSuite(VersionTest.class);
  suite.addTestSuite(CompilerMessagesTest.class);
  suite.addTestSuite(AsmDeclarationsTest.class);
  suite.addTestSuite(AsmRelationshipsTest.class);
  suite.addTestSuite(InpathTestcase.class);
  suite.addTestSuite(ReweavableTestCase.class);
  suite.addTestSuite(ResourceCopyTestCase.class);
  suite.addTestSuite(ModelPerformanceTest.class);
  suite.addTestSuite(SavedModelConsistencyTest.class);
  suite.addTestSuite(BuildCancellingTest.class);
  suite.addTestSuite(JarManifestTest.class);
  suite.addTestSuite(DuplicateManifestTest.class);
  suite.addTestSuite(ShowWeaveMessagesTestCase.class);
  suite.addTestSuite(ExtensionTests.class);
  return suite;
}
Program: 9423
Project: 9423
Buggy source:
/** 
 * Extract message text and source location, including context. 
 */
public static IMessage makeMessage(ICompilationUnit unit,IProblem problem){
  ISourceLocation sourceLocation=makeSourceLocation(unit,problem);
  IProblem[] seeAlso=problem.seeAlso();
  ISourceLocation[] seeAlsoLocations=new ISourceLocation[seeAlso.length];
  for (int i=0; i < seeAlso.length; i++) {
    seeAlsoLocations[i]=new SourceLocation(new File(new String(seeAlso[i].getOriginatingFileName())),seeAlso[i].getSourceLineNumber());
  }
  String extraDetails=problem.getSupplementaryMessageInfo();
  boolean declared=false;
  if (extraDetails != null && extraDetails.endsWith("String_Node_Str")) {
    declared=true;
    extraDetails=extraDetails.substring(0,extraDetails.length() - "String_Node_Str".length());
  }
  IMessage msg=new Message(problem.getMessage(),extraDetails,problem.isError() ? IMessage.ERROR : IMessage.WARNING,sourceLocation,null,seeAlsoLocations,declared);
  return msg;
}

Fixed version (ground truth):
/** 
 * Extract message text and source location, including context. 
 */
public static IMessage makeMessage(ICompilationUnit unit,IProblem problem){
  ISourceLocation sourceLocation=makeSourceLocation(unit,problem);
  IProblem[] seeAlso=problem.seeAlso();
  ISourceLocation[] seeAlsoLocations=new ISourceLocation[seeAlso.length];
  for (int i=0; i < seeAlso.length; i++) {
    seeAlsoLocations[i]=new SourceLocation(new File(new String(seeAlso[i].getOriginatingFileName())),seeAlso[i].getSourceLineNumber());
  }
  String extraDetails=problem.getSupplementaryMessageInfo();
  boolean declared=false;
  if (extraDetails != null && extraDetails.endsWith("String_Node_Str")) {
    declared=true;
    extraDetails=extraDetails.substring(0,extraDetails.length() - "String_Node_Str".length());
  }
  IMessage msg=new Message(problem.getMessage(),extraDetails,problem.isError() ? IMessage.ERROR : IMessage.WARNING,sourceLocation,null,seeAlsoLocations,declared,problem.getID());
  return msg;
}
Program: 9424
Project: 9424
Buggy source:
public boolean match(Shadow shadow,World world){
  if (super.match(shadow,world)) {
    IMessage message=new Message(msg,shadow.toString(),isError ? IMessage.ERROR : IMessage.WARNING,shadow.getSourceLocation(),null,new ISourceLocation[]{this.getSourceLocation()},true);
    world.getMessageHandler().handleMessage(message);
    if (world.xrefHandler != null) {
      world.xrefHandler.addCrossReference(this.getSourceLocation(),shadow.getSourceLocation(),(this.isError ? IRelationship.Kind.DECLARE_ERROR : IRelationship.Kind.DECLARE_WARNING),false);
    }
    if (world.getModel() != null) {
      AsmRelationshipProvider.checkerMunger(world.getModel(),shadow,this);
    }
  }
  return false;
}

Fixed version (ground truth):
public boolean match(Shadow shadow,World world){
  if (super.match(shadow,world)) {
    IMessage message=new Message(msg,shadow.toString(),isError ? IMessage.ERROR : IMessage.WARNING,shadow.getSourceLocation(),null,new ISourceLocation[]{this.getSourceLocation()},true,0);
    world.getMessageHandler().handleMessage(message);
    if (world.xrefHandler != null) {
      world.xrefHandler.addCrossReference(this.getSourceLocation(),shadow.getSourceLocation(),(this.isError ? IRelationship.Kind.DECLARE_ERROR : IRelationship.Kind.DECLARE_WARNING),false);
    }
    if (world.getModel() != null) {
      AsmRelationshipProvider.checkerMunger(world.getModel(),shadow,this);
    }
  }
  return false;
}
Program: 9425
Project: 9425
Buggy source:
protected int generateInfoAttributes(ClassFile classFile){
  List l=new ArrayList(1);
  l.add(new EclipseAttributeAdapter(makeAttribute()));
  return classFile.generateMethodInfoAttribute(binding,l);
}

Fixed version (ground truth):
protected int generateInfoAttributes(ClassFile classFile){
  List l=new ArrayList(1);
  l.add(new EclipseAttributeAdapter(makeAttribute()));
  addDeclarationStartLineAttribute(l,classFile);
  return classFile.generateMethodInfoAttribute(binding,l);
}
Program: 9426
Project: 9426
Buggy source:
protected int generateInfoAttributes(ClassFile classFile){
  List l;
  ;
  Shadow.Kind kind=getShadowKindForBody();
  if (kind != null) {
    l=makeEffectiveSignatureAttribute(munger.getSignature(),kind,true);
  }
 else {
    l=new ArrayList(0);
  }
  return classFile.generateMethodInfoAttribute(binding,l);
}

Fixed version (ground truth):
protected int generateInfoAttributes(ClassFile classFile){
  List l;
  ;
  Shadow.Kind kind=getShadowKindForBody();
  if (kind != null) {
    l=makeEffectiveSignatureAttribute(munger.getSignature(),kind,true);
  }
 else {
    l=new ArrayList(0);
  }
  addDeclarationStartLineAttribute(l,classFile);
  return classFile.generateMethodInfoAttribute(binding,l);
}
Program: 9427
Project: 9427
Buggy source:
/** 
 * Extract message text and source location, including context. 
 */
public static IMessage makeMessage(ICompilationUnit unit,IProblem problem){
  ISourceLocation sourceLocation=makeSourceLocation(unit,problem);
  IProblem[] seeAlso=problem.seeAlso();
  ISourceLocation[] seeAlsoLocations=new ISourceLocation[seeAlso.length];
  for (int i=0; i < seeAlso.length; i++) {
    seeAlsoLocations[i]=new SourceLocation(new File(new String(seeAlso[i].getOriginatingFileName())),seeAlso[i].getSourceLineNumber());
  }
  String extraDetails=problem.getSupplementaryMessageInfo();
  boolean declared=false;
  if (extraDetails != null && extraDetails.endsWith("String_Node_Str")) {
    declared=true;
    extraDetails=extraDetails.substring(0,extraDetails.length() - "String_Node_Str".length());
  }
  IMessage msg=new Message(problem.getMessage(),extraDetails,problem.isError() ? IMessage.ERROR : IMessage.WARNING,sourceLocation,null,seeAlsoLocations,declared,problem.getID());
  return msg;
}

Fixed version (ground truth):
/** 
 * Extract message text and source location, including context. 
 */
public static IMessage makeMessage(ICompilationUnit unit,IProblem problem){
  ISourceLocation sourceLocation=makeSourceLocation(unit,problem);
  IProblem[] seeAlso=problem.seeAlso();
  ISourceLocation[] seeAlsoLocations=new ISourceLocation[seeAlso.length];
  for (int i=0; i < seeAlso.length; i++) {
    seeAlsoLocations[i]=new SourceLocation(new File(new String(seeAlso[i].getOriginatingFileName())),seeAlso[i].getSourceLineNumber());
  }
  String extraDetails=problem.getSupplementaryMessageInfo();
  boolean declared=false;
  if (extraDetails != null && extraDetails.endsWith("String_Node_Str")) {
    declared=true;
    extraDetails=extraDetails.substring(0,extraDetails.length() - "String_Node_Str".length());
  }
  IMessage msg=new Message(problem.getMessage(),extraDetails,problem.isError() ? IMessage.ERROR : IMessage.WARNING,sourceLocation,null,seeAlsoLocations,declared,problem.getID(),problem.getSourceStart(),problem.getSourceEnd());
  return msg;
}
Program: 9428
Project: 9428
Buggy source:
public boolean match(Shadow shadow,World world){
  if (super.match(shadow,world)) {
    IMessage message=new Message(msg,shadow.toString(),isError ? IMessage.ERROR : IMessage.WARNING,shadow.getSourceLocation(),null,new ISourceLocation[]{this.getSourceLocation()},true,0);
    world.getMessageHandler().handleMessage(message);
    if (world.xrefHandler != null) {
      world.xrefHandler.addCrossReference(this.getSourceLocation(),shadow.getSourceLocation(),(this.isError ? IRelationship.Kind.DECLARE_ERROR : IRelationship.Kind.DECLARE_WARNING),false);
    }
    if (world.getModel() != null) {
      AsmRelationshipProvider.checkerMunger(world.getModel(),shadow,this);
    }
  }
  return false;
}

Fixed version (ground truth):
public boolean match(Shadow shadow,World world){
  if (super.match(shadow,world)) {
    IMessage message=new Message(msg,shadow.toString(),isError ? IMessage.ERROR : IMessage.WARNING,shadow.getSourceLocation(),null,new ISourceLocation[]{this.getSourceLocation()},true,0,-1,-1);
    world.getMessageHandler().handleMessage(message);
    if (world.xrefHandler != null) {
      world.xrefHandler.addCrossReference(this.getSourceLocation(),shadow.getSourceLocation(),(this.isError ? IRelationship.Kind.DECLARE_ERROR : IRelationship.Kind.DECLARE_WARNING),false);
    }
    if (world.getModel() != null) {
      AsmRelationshipProvider.checkerMunger(world.getModel(),shadow,this);
    }
  }
  return false;
}
Program: 9429
Project: 9429
Buggy source:
public Object[] getArgs(){
  return args;
}

Fixed version (ground truth):
public Object[] getArgs(){
  if (args == null) {
    args=new Object[0];
  }
  Object[] argsCopy=new Object[args.length];
  System.arraycopy(args,0,argsCopy,0,args.length);
  return argsCopy;
}
Program: 9430
Project: 9430
Buggy source:
public static TestSuite suite(){
  TestSuite suite=new TestSuite(RuntimeModuleTests.class.getName());
  suite.addTestSuite(RuntimeModuleTests.class);
  suite.addTestSuite(SignatureTest.class);
  return suite;
}

Fixed version (ground truth):
public static TestSuite suite(){
  TestSuite suite=new TestSuite(RuntimeModuleTests.class.getName());
  suite.addTestSuite(RuntimeModuleTests.class);
  suite.addTestSuite(SignatureTest.class);
  suite.addTestSuite(JoinPointImplTest.class);
  return suite;
}
Program: 9431
Project: 9431
Buggy source:
public Method getMethod(){
  if (savedMethod != null)   return savedMethod;
  try {
    MethodGen gen=pack();
    return gen.getMethod();
  }
 catch (  ClassGenException e) {
    enclosingClass.getBcelObjectType().getResolvedTypeX().getWorld().showMessage(IMessage.ERROR,WeaverMessages.format(WeaverMessages.PROBLEM_GENERATING_METHOD,this.getClassName(),this.getName(),e.getMessage()),this.getMemberView() == null ? null : this.getMemberView().getSourceLocation(),null);
    throw e;
  }
}

Fixed version (ground truth):
public Method getMethod(){
  if (savedMethod != null)   return savedMethod;
  try {
    MethodGen gen=pack();
    return gen.getMethod();
  }
 catch (  ClassGenException e) {
    enclosingClass.getBcelObjectType().getResolvedTypeX().getWorld().showMessage(IMessage.ERROR,WeaverMessages.format(WeaverMessages.PROBLEM_GENERATING_METHOD,this.getClassName(),this.getName(),e.getMessage()),this.getMemberView() == null ? null : this.getMemberView().getSourceLocation(),null);
    body=null;
    MethodGen gen=pack();
    return gen.getMethod();
  }
}
Program: 9432
Project: 9432
Buggy source:
private IProgramElement createFileStructureNode(String sourceFilePath){
  String fileName=new File(sourceFilePath).getName();
  IProgramElement fileNode=new ProgramElement(fileName,IProgramElement.Kind.FILE_JAVA,null);
  fileNode.setSourceLocation(new SourceLocation(new File(sourceFilePath),1,1));
  fileNode.addChild(NO_STRUCTURE);
  return fileNode;
}

Fixed version (ground truth):
private IProgramElement createFileStructureNode(String sourceFilePath){
  int lastSlash=sourceFilePath.lastIndexOf('\\');
  if (lastSlash == -1) {
    lastSlash=sourceFilePath.lastIndexOf('/');
  }
  String fileName=sourceFilePath.substring(lastSlash + 1);
  IProgramElement fileNode=new ProgramElement(fileName,IProgramElement.Kind.FILE_JAVA,null);
  fileNode.setSourceLocation(new SourceLocation(new File(sourceFilePath),1,1));
  fileNode.addChild(NO_STRUCTURE);
  return fileNode;
}
Program: 9433
Project: 9433
Buggy source:
private void generateMethod(ClassFile classFile,MethodBinding methodBinding,BodyGenerator gen){
  classFile.generateMethodInfoHeader(methodBinding);
  int methodAttributeOffset=classFile.contentsOffset;
  int attributeNumber=classFile.generateMethodInfoAttribute(methodBinding,AstUtil.getAjSyntheticAttribute());
  int codeAttributeOffset=classFile.contentsOffset;
  classFile.generateCodeAttributeHeader();
  CodeStream codeStream=classFile.codeStream;
  MethodDeclaration md=AstUtil.makeMethodDeclaration(methodBinding);
  md.scope=initializerScope;
  codeStream.reset(md,classFile);
  gen.generate(codeStream);
  classFile.completeCodeAttribute(codeAttributeOffset);
  attributeNumber++;
  classFile.completeMethodInfo(methodAttributeOffset,attributeNumber);
}

Fixed version (ground truth):
private void generateMethod(ClassFile classFile,MethodBinding methodBinding,List additionalAttributes,BodyGenerator gen){
  classFile.generateMethodInfoHeader(methodBinding);
  int methodAttributeOffset=classFile.contentsOffset;
  int attributeNumber;
  if (additionalAttributes != null) {
    List attrs=new ArrayList();
    attrs.addAll(AstUtil.getAjSyntheticAttribute());
    attrs.addAll(additionalAttributes);
    attributeNumber=classFile.generateMethodInfoAttribute(methodBinding,attrs);
  }
 else {
    attributeNumber=classFile.generateMethodInfoAttribute(methodBinding,AstUtil.getAjSyntheticAttribute());
  }
  int codeAttributeOffset=classFile.contentsOffset;
  classFile.generateCodeAttributeHeader();
  CodeStream codeStream=classFile.codeStream;
  MethodDeclaration md=AstUtil.makeMethodDeclaration(methodBinding);
  md.scope=initializerScope;
  codeStream.reset(md,classFile);
  gen.generate(codeStream);
  classFile.completeCodeAttribute(codeAttributeOffset);
  attributeNumber++;
  classFile.completeMethodInfo(methodAttributeOffset,attributeNumber);
}
Program: 9434
Project: 9434
Buggy source:
private void generateInlineAccessors(ClassFile classFile,final InlineAccessFieldBinding accessField,final ResolvedMember field){
  final FieldBinding fieldBinding=factory.makeFieldBinding(field);
  generateMethod(classFile,accessField.reader,new BodyGenerator(){
    public void generate(    CodeStream codeStream){
      if (field.isStatic()) {
        codeStream.getstatic(fieldBinding);
      }
 else {
        codeStream.aload_0();
        codeStream.getfield(fieldBinding);
      }
      AstUtil.generateReturn(accessField.reader.returnType,codeStream);
    }
  }
);
  generateMethod(classFile,accessField.writer,new BodyGenerator(){
    public void generate(    CodeStream codeStream){
      if (field.isStatic()) {
        codeStream.load(fieldBinding.type,0);
        codeStream.putstatic(fieldBinding);
      }
 else {
        codeStream.aload_0();
        codeStream.load(fieldBinding.type,1);
        codeStream.putfield(fieldBinding);
      }
      codeStream.return_();
    }
  }
);
}

Fixed version (ground truth):
private void generateInlineAccessors(ClassFile classFile,final InlineAccessFieldBinding accessField,final ResolvedMember field){
  final FieldBinding fieldBinding=factory.makeFieldBinding(field);
  generateMethod(classFile,accessField.reader,makeEffectiveSignatureAttribute(field,Shadow.FieldGet,false),new BodyGenerator(){
    public void generate(    CodeStream codeStream){
      if (field.isStatic()) {
        codeStream.getstatic(fieldBinding);
      }
 else {
        codeStream.aload_0();
        codeStream.getfield(fieldBinding);
      }
      AstUtil.generateReturn(accessField.reader.returnType,codeStream);
    }
  }
);
  generateMethod(classFile,accessField.writer,makeEffectiveSignatureAttribute(field,Shadow.FieldSet,false),new BodyGenerator(){
    public void generate(    CodeStream codeStream){
      if (field.isStatic()) {
        codeStream.load(fieldBinding.type,0);
        codeStream.putstatic(fieldBinding);
      }
 else {
        codeStream.aload_0();
        codeStream.load(fieldBinding.type,1);
        codeStream.putfield(fieldBinding);
      }
      codeStream.return_();
    }
  }
);
}
Program: 9435
Project: 9435
Buggy source:
private void generateInlineAccessMethod(ClassFile classFile,final MethodBinding accessMethod,final ResolvedMember method){
  generateMethod(classFile,accessMethod,new BodyGenerator(){
    public void generate(    CodeStream codeStream){
      AstUtil.generateParameterLoads(accessMethod.parameters,codeStream);
      if (method.isStatic()) {
        codeStream.invokestatic(factory.makeMethodBinding(method));
      }
 else {
        codeStream.invokevirtual(factory.makeMethodBinding(method));
      }
      AstUtil.generateReturn(accessMethod.returnType,codeStream);
    }
  }
);
}

Fixed version (ground truth):
private void generateInlineAccessMethod(ClassFile classFile,final MethodBinding accessMethod,final ResolvedMember method){
  generateMethod(classFile,accessMethod,makeEffectiveSignatureAttribute(method,Shadow.MethodCall,false),new BodyGenerator(){
    public void generate(    CodeStream codeStream){
      AstUtil.generateParameterLoads(accessMethod.parameters,codeStream);
      if (method.isStatic()) {
        codeStream.invokestatic(factory.makeMethodBinding(method));
      }
 else {
        codeStream.invokevirtual(factory.makeMethodBinding(method));
      }
      AstUtil.generateReturn(accessMethod.returnType,codeStream);
    }
  }
);
}
Program: 9437
Project: 9437
Buggy source:
private MethodBinding getAccessibleMethod(MethodBinding binding,TypeBinding receiverType){
  if (!binding.isValidBinding())   return binding;
  makePublic(receiverType);
  if (isPublic(binding))   return binding;
  if (binding instanceof InterTypeMethodBinding)   return binding;
  if (binding.isPrivate() && binding.declaringClass != inAspect.binding) {
    binding.modifiers=AstUtil.makePackageVisible(binding.modifiers);
  }
  ResolvedMember m=EclipseFactory.makeResolvedMember(binding,receiverType);
  if (inAspect.accessForInline.containsKey(m))   return (MethodBinding)inAspect.accessForInline.get(m);
  MethodBinding ret=world.makeMethodBinding(AjcMemberMaker.inlineAccessMethodForMethod(inAspect.typeX,m));
  inAspect.accessForInline.put(m,ret);
  return ret;
}

Fixed version (ground truth):
private MethodBinding getAccessibleMethod(MethodBinding binding,TypeBinding receiverType){
  if (!binding.isValidBinding())   return binding;
  makePublic(receiverType);
  if (isPublic(binding))   return binding;
  if (binding instanceof InterTypeMethodBinding)   return binding;
  ResolvedMember m=null;
  if (binding.isPrivate() && binding.declaringClass != inAspect.binding) {
    binding.modifiers=AstUtil.makePackageVisible(binding.modifiers);
    m=EclipseFactory.makeResolvedMember(binding);
  }
 else {
    m=EclipseFactory.makeResolvedMember(binding,receiverType);
  }
  if (inAspect.accessForInline.containsKey(m))   return (MethodBinding)inAspect.accessForInline.get(m);
  MethodBinding ret=world.makeMethodBinding(AjcMemberMaker.inlineAccessMethodForMethod(inAspect.typeX,m));
  inAspect.accessForInline.put(m,ret);
  return ret;
}
Program: 9438
Project: 9438
Buggy source:
static ITokenSource makeTokenSource(String input){
  char[] chars=input.toCharArray();
  int i=0;
  List tokens=new ArrayList();
  while (i < chars.length) {
    char ch=chars[i++];
switch (ch) {
case ' ':
case '\t':
case '\n':
case '\r':
      continue;
case '*':
case '.':
case '(':
case ')':
case '+':
case '[':
case ']':
case ',':
case '!':
case ':':
    tokens.add(BasicToken.makeOperator(makeString(ch),i - 1,i - 1));
  continue;
case '&':
case '|':
if (i == chars.length) {
  throw new BCException("String_Node_Str" + ch);
}
char nextChar=chars[i++];
if (nextChar == ch) {
tokens.add(BasicToken.makeOperator(makeString(ch,2),i - 2,i - 1));
}
 else {
throw new RuntimeException("String_Node_Str" + ch);
}
continue;
case '\"':
int start0=i - 1;
while (i < chars.length && !(chars[i] == '\"')) i++;
i+=1;
tokens.add(BasicToken.makeLiteral(new String(chars,start0 + 1,i - start0 - 2),"String_Node_Str",start0,i - 1));
default :
int start=i - 1;
while (i < chars.length && Character.isJavaIdentifierPart(chars[i])) {
i++;
}
tokens.add(BasicToken.makeIdentifier(new String(chars,start,i - start),start,i - 1));
}
}
return new BasicTokenSource((IToken[])tokens.toArray(new IToken[tokens.size()]),null);
}

Fixed version (ground truth):
static ITokenSource makeTokenSource(String input){
  char[] chars=input.toCharArray();
  int i=0;
  List tokens=new ArrayList();
  while (i < chars.length) {
    char ch=chars[i++];
switch (ch) {
case ' ':
case '\t':
case '\n':
case '\r':
      continue;
case '*':
case '.':
case '(':
case ')':
case '+':
case '[':
case ']':
case ',':
case '!':
case ':':
    tokens.add(BasicToken.makeOperator(makeString(ch),i - 1,i - 1));
  continue;
case '&':
case '|':
if (i == chars.length) {
  throw new BCException("String_Node_Str" + ch);
}
char nextChar=chars[i++];
if (nextChar == ch) {
tokens.add(BasicToken.makeOperator(makeString(ch,2),i - 2,i - 1));
}
 else {
throw new RuntimeException("String_Node_Str" + ch);
}
continue;
case '\"':
int start0=i - 1;
while (i < chars.length && !(chars[i] == '\"')) i++;
i+=1;
tokens.add(BasicToken.makeLiteral(new String(chars,start0 + 1,i - start0 - 2),"String_Node_Str",start0,i - 1));
continue;
default :
int start=i - 1;
while (i < chars.length && Character.isJavaIdentifierPart(chars[i])) {
i++;
}
tokens.add(BasicToken.makeIdentifier(new String(chars,start,i - start),start,i - 1));
}
}
return new BasicTokenSource((IToken[])tokens.toArray(new IToken[tokens.size()]),null);
}
Program: 9440
Project: 9440
Buggy source:
public static InstructionList createConversion(InstructionFactory fact,Type fromType,Type toType){
  InstructionList il=new InstructionList();
  if (fromType.equals(toType))   return il;
  if (toType.equals(Type.VOID)) {
    il.append(InstructionFactory.createPop(fromType.getSize()));
    return il;
  }
  if (fromType.equals(Type.VOID)) {
    if (toType instanceof BasicType)     throw new BCException("String_Node_Str");
    il.append(InstructionFactory.createNull(Type.OBJECT));
    return il;
  }
  if (fromType.equals(Type.OBJECT)) {
    if (toType instanceof BasicType) {
      String name=toType.toString() + "String_Node_Str";
      il.append(fact.createInvoke("String_Node_Str",name,toType,new Type[]{Type.OBJECT},Constants.INVOKESTATIC));
      return il;
    }
  }
  if (toType.equals(Type.OBJECT)) {
    if (fromType instanceof BasicType) {
      String name=fromType.toString() + "String_Node_Str";
      il.append(fact.createInvoke("String_Node_Str",name,Type.OBJECT,new Type[]{fromType},Constants.INVOKESTATIC));
      return il;
    }
 else     if (fromType instanceof ReferenceType) {
      return il;
    }
 else {
      throw new RuntimeException();
    }
  }
  if (fromType instanceof ReferenceType && ((ReferenceType)fromType).isAssignmentCompatibleWith(toType)) {
    return il;
  }
  il.append(fact.createCast(fromType,toType));
  return il;
}

Fixed version (ground truth):
public static InstructionList createConversion(InstructionFactory fact,Type fromType,Type toType){
  InstructionList il=new InstructionList();
  if ((fromType.equals(Type.BYTE) || fromType.equals(Type.CHAR) || fromType.equals(Type.SHORT)) && (toType.equals(Type.INT))) {
    return il;
  }
  if (fromType.equals(toType))   return il;
  if (toType.equals(Type.VOID)) {
    il.append(InstructionFactory.createPop(fromType.getSize()));
    return il;
  }
  if (fromType.equals(Type.VOID)) {
    if (toType instanceof BasicType)     throw new BCException("String_Node_Str");
    il.append(InstructionFactory.createNull(Type.OBJECT));
    return il;
  }
  if (fromType.equals(Type.OBJECT)) {
    if (toType instanceof BasicType) {
      String name=toType.toString() + "String_Node_Str";
      il.append(fact.createInvoke("String_Node_Str",name,toType,new Type[]{Type.OBJECT},Constants.INVOKESTATIC));
      return il;
    }
  }
  if (toType.equals(Type.OBJECT)) {
    if (fromType instanceof BasicType) {
      String name=fromType.toString() + "String_Node_Str";
      il.append(fact.createInvoke("String_Node_Str",name,Type.OBJECT,new Type[]{fromType},Constants.INVOKESTATIC));
      return il;
    }
 else     if (fromType instanceof ReferenceType) {
      return il;
    }
 else {
      throw new RuntimeException();
    }
  }
  if (fromType instanceof ReferenceType && ((ReferenceType)fromType).isAssignmentCompatibleWith(toType)) {
    return il;
  }
  il.append(fact.createCast(fromType,toType));
  return il;
}
Program: 9441
Project: 9441
Buggy source:
/** 
 * Returns false if a batch build is needed.
 */
boolean prepareForNextBuild(AjBuildConfig newBuildConfig){
  currentBuildTime=System.currentTimeMillis();
  addedClassFiles=new ArrayList();
  if (lastSuccessfulBuildTime == -1 || buildConfig == null) {
    return false;
  }
  if (newBuildConfig.getOutputJar() != null)   return false;
  if (pathChange(buildConfig,newBuildConfig))   return false;
  simpleStrings=new ArrayList();
  qualifiedStrings=new ArrayList();
  Set oldFiles=new HashSet(buildConfig.getFiles());
  Set newFiles=new HashSet(newBuildConfig.getFiles());
  addedFiles=new HashSet(newFiles);
  addedFiles.removeAll(oldFiles);
  deletedFiles=new HashSet(oldFiles);
  deletedFiles.removeAll(newFiles);
  Set oldBinaryFiles=new HashSet(buildConfig.getBinaryFiles());
  Set newBinaryFiles=new HashSet(newBuildConfig.getBinaryFiles());
  addedBinaryFiles=new HashSet(newBinaryFiles);
  addedBinaryFiles.removeAll(oldBinaryFiles);
  deletedBinaryFiles=new HashSet(oldBinaryFiles);
  deletedBinaryFiles.removeAll(newBinaryFiles);
  this.newBuildConfig=newBuildConfig;
  return true;
}

Fixed version (ground truth):
/** 
 * Returns false if a batch build is needed.
 */
boolean prepareForNextBuild(AjBuildConfig newBuildConfig){
  currentBuildTime=System.currentTimeMillis();
  addedClassFiles=new ArrayList();
  if (lastSuccessfulBuildTime == -1 || buildConfig == null) {
    return false;
  }
  if (newBuildConfig.getOutputJar() != null)   return false;
  if (pathChange(buildConfig,newBuildConfig)) {
    removeAllResultsOfLastBuild();
    return false;
  }
  simpleStrings=new ArrayList();
  qualifiedStrings=new ArrayList();
  Set oldFiles=new HashSet(buildConfig.getFiles());
  Set newFiles=new HashSet(newBuildConfig.getFiles());
  addedFiles=new HashSet(newFiles);
  addedFiles.removeAll(oldFiles);
  deletedFiles=new HashSet(oldFiles);
  deletedFiles.removeAll(newFiles);
  Set oldBinaryFiles=new HashSet(buildConfig.getBinaryFiles());
  Set newBinaryFiles=new HashSet(newBuildConfig.getBinaryFiles());
  addedBinaryFiles=new HashSet(newBinaryFiles);
  addedBinaryFiles.removeAll(oldBinaryFiles);
  deletedBinaryFiles=new HashSet(oldBinaryFiles);
  deletedBinaryFiles.removeAll(newBinaryFiles);
  this.newBuildConfig=newBuildConfig;
  return true;
}
Program: 9443
Project: 9443
Buggy source:
public Pointcut maybeGetParsedPointcut(){
  pointcut=new IfPointcut(new ResolvedMember(Member.METHOD,TypeX.OBJECT,0,"String_Node_Str","String_Node_Str"),0);
  return pointcut;
}

Fixed version (ground truth):
public Pointcut maybeGetParsedPointcut(){
  if (expr instanceof FalseLiteral) {
    return IfPointcut.makeIfFalsePointcut(Pointcut.SYMBOLIC);
  }
 else   if (expr instanceof TrueLiteral) {
    return IfPointcut.makeIfTruePointcut(Pointcut.SYMBOLIC);
  }
 else {
    pointcut=new IfPointcut(new ResolvedMember(Member.METHOD,TypeX.OBJECT,0,"String_Node_Str","String_Node_Str"),0);
  }
  return pointcut;
}
Program: 9444
Project: 9444
Buggy source:
public void openFile(String filePath){
  try {
    if (filePath.endsWith("String_Node_Str")) {
      AjdeUIManager.getDefault().getBuildConfigEditor().openFile(filePath);
      topFrame.setEditorPanel(AjdeUIManager.getDefault().getBuildConfigEditor());
    }
 else     if (filePath.endsWith("String_Node_Str") || filePath.endsWith("String_Node_Str")) {
      editorManager.showSourceLine(filePath,0,false);
    }
 else {
      Ajde.getDefault().getErrorHandler().handleError("String_Node_Str" + filePath + "String_Node_Str");
    }
  }
 catch (  IOException ioe) {
    Ajde.getDefault().getErrorHandler().handleError("String_Node_Str" + filePath,ioe);
  }
catch (  InvalidResourceException ire) {
    Ajde.getDefault().getErrorHandler().handleError("String_Node_Str" + filePath,ire);
  }
  browserProjectProperties.setLastOpenSourceFilePath(filePath);
}

Fixed version (ground truth):
public void openFile(String filePath){
  try {
    if (filePath.endsWith("String_Node_Str")) {
      AjdeUIManager.getDefault().getBuildConfigEditor().openFile(filePath);
      topFrame.setEditorPanel(AjdeUIManager.getDefault().getBuildConfigEditor());
    }
 else     if (FileUtil.hasSourceSuffix(filePath)) {
      editorManager.showSourceLine(filePath,0,false);
    }
 else {
      Ajde.getDefault().getErrorHandler().handleError("String_Node_Str" + filePath + "String_Node_Str");
    }
  }
 catch (  IOException ioe) {
    Ajde.getDefault().getErrorHandler().handleError("String_Node_Str" + filePath,ioe);
  }
catch (  InvalidResourceException ire) {
    Ajde.getDefault().getErrorHandler().handleError("String_Node_Str" + filePath,ire);
  }
  browserProjectProperties.setLastOpenSourceFilePath(filePath);
}
Program: 9445
Project: 9445
Buggy source:
public boolean isValidResource(){
  return name.endsWith("String_Node_Str") || name.endsWith("String_Node_Str") || name.endsWith("String_Node_Str");
}

Fixed version (ground truth):
public boolean isValidResource(){
  return FileUtil.hasSourceSuffix(name) || name.endsWith("String_Node_Str");
}
Program: 9448
Project: 9448
Buggy source:
public BinaryTypeBinding createBinaryTypeFrom(IBinaryType binaryType,PackageBinding packageBinding,boolean needFieldsAndMethods){
  if (inBinaryTypeCreation) {
    BinaryTypeBinding ret=super.createBinaryTypeFrom(binaryType,packageBinding,needFieldsAndMethods);
    pendingTypesToFinish.add(ret);
    return ret;
  }
  inBinaryTypeCreation=true;
  try {
    BinaryTypeBinding ret=super.createBinaryTypeFrom(binaryType,packageBinding,needFieldsAndMethods);
    weaveInterTypeDeclarations(ret);
    return ret;
  }
  finally {
    inBinaryTypeCreation=false;
    if (!pendingTypesToFinish.isEmpty()) {
      for (Iterator i=pendingTypesToFinish.iterator(); i.hasNext(); ) {
        weaveInterTypeDeclarations((BinaryTypeBinding)i.next());
      }
      pendingTypesToFinish.clear();
    }
  }
}

Fixed version (ground truth):
public BinaryTypeBinding createBinaryTypeFrom(IBinaryType binaryType,PackageBinding packageBinding,boolean needFieldsAndMethods){
  if (inBinaryTypeCreationAndWeaving) {
    BinaryTypeBinding ret=super.createBinaryTypeFrom(binaryType,packageBinding,needFieldsAndMethods);
    pendingTypesToFinish.add(ret);
    return ret;
  }
  inBinaryTypeCreationAndWeaving=true;
  try {
    BinaryTypeBinding ret=super.createBinaryTypeFrom(binaryType,packageBinding,needFieldsAndMethods);
    weaveInterTypeDeclarations(ret);
    return ret;
  }
  finally {
    inBinaryTypeCreationAndWeaving=false;
    if (pendingTypesToFinish.size() > 0) {
      processingTheQueue=true;
      while (!pendingTypesToFinish.isEmpty()) {
        BinaryTypeBinding nextVictim=(BinaryTypeBinding)pendingTypesToFinish.remove(0);
        weaveInterTypeDeclarations(nextVictim);
      }
      processingTheQueue=false;
    }
  }
}
Program: 9450
Project: 9450
Buggy source:
public void testCoverage(){
  File file0=new File("String_Node_Str");
  File file1=new File("String_Node_Str");
  File aspect1=new File("String_Node_Str");
  File file2=new File("String_Node_Str");
  File file3=new File("String_Node_Str");
  File file4=new File("String_Node_Str");
  File file5=new File("String_Node_Str");
  File file6=new File("String_Node_Str");
  File file7=new File("String_Node_Str");
  File file8=new File("String_Node_Str");
  File outdir=new File("String_Node_Str");
  String[] args={"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str",outdir.getAbsolutePath(),aspect1.getAbsolutePath(),file0.getAbsolutePath(),file1.getAbsolutePath(),file2.getAbsolutePath(),file3.getAbsolutePath(),file4.getAbsolutePath(),file5.getAbsolutePath(),file6.getAbsolutePath(),file7.getAbsolutePath(),file8.getAbsolutePath()};
  org.aspectj.tools.ajdoc.Main.main(args);
}

Fixed version (ground truth):
public void testCoverage(){
  outdir.delete();
  String[] args={"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str",outdir.getAbsolutePath(),aspect1.getAbsolutePath(),file0.getAbsolutePath(),file1.getAbsolutePath(),file2.getAbsolutePath(),file3.getAbsolutePath(),file4.getAbsolutePath(),file5.getAbsolutePath(),file6.getAbsolutePath(),file7.getAbsolutePath(),file8.getAbsolutePath(),file9.getAbsolutePath()};
  org.aspectj.tools.ajdoc.Main.main(args);
}
Program: 9451
Project: 9451
Buggy source:
protected void setUp() throws Exception {
  super.setUp();
}

Fixed version (ground truth):
protected void setUp() throws Exception {
  super.setUp();
  new File("String_Node_Str").delete();
}
Program: 9452
Project: 9452
Buggy source:
static void processFile(SymbolManager symbolManager,File inputFile,File signatureFile){
  try {
    String path=StructureUtil.translateAjPathName(signatureFile.getCanonicalPath());
    PrintWriter writer=new PrintWriter(new BufferedWriter(new FileWriter(path)));
    String packageName=StructureUtil.getPackageDeclarationFromFile(inputFile);
    if (packageName != null) {
      writer.println("String_Node_Str" + packageName + "String_Node_Str");
    }
    IProgramElement fileNode=(IProgramElement)AsmManager.getDefault().getHierarchy().findElementForSourceFile(inputFile.getAbsolutePath());
    for (Iterator it=fileNode.getChildren().iterator(); it.hasNext(); ) {
      IProgramElement node=(IProgramElement)it.next();
      if (node.getKind().equals(IProgramElement.Kind.IMPORT_REFERENCE)) {
        processImportDeclaration(node,writer);
      }
 else {
        processTypeDeclaration(node,writer);
      }
    }
    writer.close();
  }
 catch (  IOException e) {
    System.err.println(e.getMessage());
    e.printStackTrace();
  }
}

Fixed version (ground truth):
static void processFile(SymbolManager symbolManager,File inputFile,File signatureFile){
  try {
    String path=StructureUtil.translateAjPathName(signatureFile.getCanonicalPath());
    PrintWriter writer=new PrintWriter(new BufferedWriter(new FileWriter(path)));
    String packageName=StructureUtil.getPackageDeclarationFromFile(inputFile);
    if (packageName != null && packageName != "String_Node_Str") {
      writer.println("String_Node_Str" + packageName + "String_Node_Str");
    }
    IProgramElement fileNode=(IProgramElement)AsmManager.getDefault().getHierarchy().findElementForSourceFile(inputFile.getAbsolutePath());
    for (Iterator it=fileNode.getChildren().iterator(); it.hasNext(); ) {
      IProgramElement node=(IProgramElement)it.next();
      if (node.getKind().equals(IProgramElement.Kind.IMPORT_REFERENCE)) {
        processImportDeclaration(node,writer);
      }
 else {
        processTypeDeclaration(node,writer);
      }
    }
    writer.close();
  }
 catch (  IOException e) {
    System.err.println(e.getMessage());
    e.printStackTrace();
  }
}
Program: 9453
Project: 9453
Buggy source:
public void testCoverage(){
  File file1=new File("String_Node_Str");
  File aspect1=new File("String_Node_Str");
  File file2=new File("String_Node_Str");
  File file3=new File("String_Node_Str");
  File file4=new File("String_Node_Str");
  File file5=new File("String_Node_Str");
  File file6=new File("String_Node_Str");
  File file7=new File("String_Node_Str");
  File file8=new File("String_Node_Str");
  File outdir=new File("String_Node_Str");
  String[] args={"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str",outdir.getAbsolutePath(),aspect1.getAbsolutePath(),file1.getAbsolutePath(),file2.getAbsolutePath(),file3.getAbsolutePath(),file4.getAbsolutePath(),file5.getAbsolutePath(),file6.getAbsolutePath(),file7.getAbsolutePath(),file8.getAbsolutePath()};
  org.aspectj.tools.ajdoc.Main.main(args);
}

Fixed version (ground truth):
public void testCoverage(){
  File file0=new File("String_Node_Str");
  File file1=new File("String_Node_Str");
  File aspect1=new File("String_Node_Str");
  File file2=new File("String_Node_Str");
  File file3=new File("String_Node_Str");
  File file4=new File("String_Node_Str");
  File file5=new File("String_Node_Str");
  File file6=new File("String_Node_Str");
  File file7=new File("String_Node_Str");
  File file8=new File("String_Node_Str");
  File outdir=new File("String_Node_Str");
  String[] args={"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str",outdir.getAbsolutePath(),aspect1.getAbsolutePath(),file0.getAbsolutePath(),file1.getAbsolutePath(),file2.getAbsolutePath(),file3.getAbsolutePath(),file4.getAbsolutePath(),file5.getAbsolutePath(),file6.getAbsolutePath(),file7.getAbsolutePath(),file8.getAbsolutePath()};
  org.aspectj.tools.ajdoc.Main.main(args);
}
Program: 9454
Project: 9454
Buggy source:
/** 
 * Run AspectJ compiler, wrapping any exceptions thrown as ABORT messages (containing ABORT_MESSAGE String).
 * @param args the String[] for the compiler
 * @param handler the IMessageHandler for any messages
 * @see org.aspectj.bridge.ICommand#runCommand(String[],IMessageHandler)
 * @return false if handler has errors or the command failed
 */
public boolean runCommand(String[] args,IMessageHandler handler){
  buildManager=new AjBuildManager(handler);
  savedArgs=new String[args.length];
  System.arraycopy(args,0,savedArgs,0,savedArgs.length);
  for (int i=0; i < args.length; i++) {
    if ("String_Node_Str".equals(args[i])) {
      MessageUtil.abort(handler,BuildArgParser.getUsage());
      return true;
    }
  }
  return doCommand(handler,false);
}

Fixed version (ground truth):
/** 
 * Run AspectJ compiler, wrapping any exceptions thrown as ABORT messages (containing ABORT_MESSAGE String).
 * @param args the String[] for the compiler
 * @param handler the IMessageHandler for any messages
 * @see org.aspectj.bridge.ICommand#runCommand(String[],IMessageHandler)
 * @return false if handler has errors or the command failed
 */
public boolean runCommand(String[] args,IMessageHandler handler){
  buildManager=new AjBuildManager(handler);
  savedArgs=new String[args.length];
  System.arraycopy(args,0,savedArgs,0,savedArgs.length);
  for (int i=0; i < args.length; i++) {
    if ("String_Node_Str".equals(args[i])) {
      MessageUtil.abort(handler,BuildArgParser.getXOptionUsage());
      return true;
    }
  }
  return doCommand(handler,false);
}
Program: 9455
Project: 9455
Buggy source:
private void inlineSelfConstructors(List methodGens){
  for (Iterator i=methodGens.iterator(); i.hasNext(); ) {
    LazyMethodGen mg=(LazyMethodGen)i.next();
    if (!mg.getName().equals("String_Node_Str"))     continue;
    InstructionHandle ih=findSuperOrThisCall(mg);
    if (ih != null && isThisCall(ih)) {
      LazyMethodGen donor=getCalledMethod(ih);
      inlineMethod(donor,mg,ih);
    }
  }
}

Fixed version (ground truth):
private boolean inlineSelfConstructors(List methodGens){
  boolean inlinedSomething=false;
  for (Iterator i=methodGens.iterator(); i.hasNext(); ) {
    LazyMethodGen mg=(LazyMethodGen)i.next();
    if (!mg.getName().equals("String_Node_Str"))     continue;
    InstructionHandle ih=findSuperOrThisCall(mg);
    if (ih != null && isThisCall(ih)) {
      LazyMethodGen donor=getCalledMethod(ih);
      inlineMethod(donor,mg,ih);
      inlinedSomething=true;
    }
  }
  return inlinedSomething;
}
Program: 9457
Project: 9457
Buggy source:
public Pointcut concretize1(ResolvedTypeX inAspect,IntMap bindings){
  if (isDeclare(bindings.getEnclosingAdvice())) {
    inAspect.getWorld().showMessage(IMessage.ERROR,"String_Node_Str",bindings.getEnclosingAdvice().getSourceLocation(),null);
    return Pointcut.makeMatchesNothing(Pointcut.CONCRETE);
  }
  if (partiallyConcretized != null) {
    return partiallyConcretized;
  }
  IfPointcut ret=new IfPointcut(testMethod,extraParameterFlags);
  partiallyConcretized=ret;
  if (bindings.directlyInAdvice()) {
    ShadowMunger advice=bindings.getEnclosingAdvice();
    if (advice instanceof Advice) {
      ret.baseArgsCount=((Advice)advice).getBaseParameterCount();
    }
 else {
      ret.baseArgsCount=0;
    }
    ret.residueSource=advice.getPointcut().concretize(inAspect,ret.baseArgsCount,advice);
  }
 else {
    ResolvedPointcutDefinition def=bindings.peekEnclosingDefinitition();
    if (def == CflowPointcut.CFLOW_MARKER) {
      inAspect.getWorld().showMessage(IMessage.ERROR,"String_Node_Str",getSourceLocation(),null);
      return Pointcut.makeMatchesNothing(Pointcut.CONCRETE);
    }
    ret.baseArgsCount=def.getParameterTypes().length;
    IntMap newBindings=IntMap.idMap(ret.baseArgsCount);
    newBindings.copyContext(bindings);
    ret.residueSource=def.getPointcut().concretize(inAspect,newBindings);
  }
  return ret;
}

Fixed version (ground truth):
public Pointcut concretize1(ResolvedTypeX inAspect,IntMap bindings){
  if (isDeclare(bindings.getEnclosingAdvice())) {
    inAspect.getWorld().showMessage(IMessage.ERROR,"String_Node_Str",bindings.getEnclosingAdvice().getSourceLocation(),null);
    return Pointcut.makeMatchesNothing(Pointcut.CONCRETE);
  }
  if (partiallyConcretized != null) {
    return partiallyConcretized;
  }
  IfPointcut ret=new IfPointcut(testMethod,extraParameterFlags);
  partiallyConcretized=ret;
  if (bindings.directlyInAdvice() && bindings.getEnclosingAdvice() == null) {
    inAspect.getWorld().showMessage(IMessage.ERROR,"String_Node_Str",this.getSourceLocation(),null);
    return Pointcut.makeMatchesNothing(Pointcut.CONCRETE);
  }
  if (bindings.directlyInAdvice()) {
    ShadowMunger advice=bindings.getEnclosingAdvice();
    if (advice instanceof Advice) {
      ret.baseArgsCount=((Advice)advice).getBaseParameterCount();
    }
 else {
      ret.baseArgsCount=0;
    }
    ret.residueSource=advice.getPointcut().concretize(inAspect,ret.baseArgsCount,advice);
  }
 else {
    ResolvedPointcutDefinition def=bindings.peekEnclosingDefinitition();
    if (def == CflowPointcut.CFLOW_MARKER) {
      inAspect.getWorld().showMessage(IMessage.ERROR,"String_Node_Str",getSourceLocation(),null);
      return Pointcut.makeMatchesNothing(Pointcut.CONCRETE);
    }
    ret.baseArgsCount=def.getParameterTypes().length;
    IntMap newBindings=IntMap.idMap(ret.baseArgsCount);
    newBindings.copyContext(bindings);
    ret.residueSource=def.getPointcut().concretize(inAspect,newBindings);
  }
  return ret;
}
Program: 9459
Project: 9459
Buggy source:
private Test findResidueNoEllipsis(Shadow shadow,ExposedState state,TypePattern[] patterns){
  int len=shadow.getArgCount();
  if (patterns.length != len) {
    return Literal.FALSE;
  }
  Test ret=Literal.TRUE;
  for (int i=0; i < len; i++) {
    TypeX argType=shadow.getArgType(i);
    TypePattern type=patterns[i];
    if (!(type instanceof BindingTypePattern)) {
      if (type.matchesInstanceof(shadow.getIWorld().resolve(argType)).alwaysTrue()) {
        continue;
      }
    }
    ret=Test.makeAnd(ret,exposeStateForVar(shadow.getArgVar(i),type,state,shadow.getIWorld()));
  }
  return ret;
}

Fixed version (ground truth):
private Test findResidueNoEllipsis(Shadow shadow,ExposedState state,TypePattern[] patterns){
  int len=shadow.getArgCount();
  if (patterns.length != len) {
    return Literal.FALSE;
  }
  Test ret=Literal.TRUE;
  for (int i=0; i < len; i++) {
    TypeX argType=shadow.getArgType(i);
    TypePattern type=patterns[i];
    if (!(type instanceof BindingTypePattern)) {
      if (type.matchesInstanceof(shadow.getIWorld().resolve(argType)).alwaysTrue()) {
        continue;
      }
    }
 else {
      BindingTypePattern btp=(BindingTypePattern)type;
      if (state.get(btp.getFormalIndex()) != null) {
        ISourceLocation isl=getSourceLocation();
        Message errorMessage=new Message("String_Node_Str" + type.getExactType().toString() + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str",shadow.getSourceLocation(),true,new ISourceLocation[]{getSourceLocation()});
        shadow.getIWorld().getMessageHandler().handleMessage(errorMessage);
      }
    }
    ret=Test.makeAnd(ret,exposeStateForVar(shadow.getArgVar(i),type,state,shadow.getIWorld()));
  }
  return ret;
}