Program: 62030
Project: 62030
Buggy source:
public static String convertFillStyle(MATRIX mat,HashMap<Integer,CharacterTag> characters,FILLSTYLE fs,int shapeNum){
  if (mat == null) {
    mat=new MATRIX();
  }
  String ret="String_Node_Str";
switch (fs.fillStyleType) {
case FILLSTYLE.SOLID:
    ret+="String_Node_Str";
  if (shapeNum >= 3) {
    ret+=fs.colorA.toHexRGB();
  }
 else {
    ret+=fs.color.toHexRGB();
  }
ret+="String_Node_Str";
if (shapeNum >= 3) {
ret+="String_Node_Str" + fs.colorA.getAlphaFloat() + "String_Node_Str";
}
ret+="String_Node_Str";
break;
case FILLSTYLE.REPEATING_BITMAP:
case FILLSTYLE.CLIPPED_BITMAP:
case FILLSTYLE.NON_SMOOTHED_REPEATING_BITMAP:
case FILLSTYLE.NON_SMOOTHED_CLIPPED_BITMAP:
ret+="String_Node_Str";
ret+="String_Node_Str";
CharacterTag bitmapCh=characters.get(fs.bitmapId);
if (bitmapCh instanceof ImageTag) {
ImageTag it=(ImageTag)bitmapCh;
ret+="String_Node_Str" + bitmapCh.getCharacterId() + "String_Node_Str"+ it.getImageFormat();
}
ret+="String_Node_Str";
if ((fs.fillStyleType == FILLSTYLE.CLIPPED_BITMAP) || (fs.fillStyleType == FILLSTYLE.NON_SMOOTHED_CLIPPED_BITMAP)) {
ret+="String_Node_Str";
}
ret+="String_Node_Str";
ret+="String_Node_Str" + convertMatrix(fs.bitmapMatrix) + "String_Node_Str";
ret+="String_Node_Str";
break;
case FILLSTYLE.LINEAR_GRADIENT:
case FILLSTYLE.RADIAL_GRADIENT:
case FILLSTYLE.FOCAL_RADIAL_GRADIENT:
if (fs.fillStyleType == FILLSTYLE.LINEAR_GRADIENT) {
ret+="String_Node_Str";
}
 else {
ret+="String_Node_Str";
ret+="String_Node_Str";
if (fs.fillStyleType == FILLSTYLE.FOCAL_RADIAL_GRADIENT) {
ret+=fs.focalGradient.focalPoint;
}
 else {
ret+="String_Node_Str";
}
ret+="String_Node_Str";
}
int interpolationMode;
if (fs.fillStyleType == FILLSTYLE.FOCAL_RADIAL_GRADIENT) {
interpolationMode=fs.focalGradient.interPolationMode;
}
 else {
interpolationMode=fs.gradient.interPolationMode;
}
int spreadMode;
if (fs.fillStyleType == FILLSTYLE.FOCAL_RADIAL_GRADIENT) {
spreadMode=fs.focalGradient.spreadMode;
}
 else {
spreadMode=fs.gradient.spreadMode;
}
if (interpolationMode == GRADIENT.INTERPOLATION_LINEAR_RGB_MODE) {
ret+="String_Node_Str";
}
switch (spreadMode) {
case GRADIENT.SPREAD_PAD_MODE:
break;
case GRADIENT.SPREAD_REFLECT_MODE:
ret+="String_Node_Str";
break;
case GRADIENT.SPREAD_REPEAT_MODE:
ret+="String_Node_Str";
break;
}
ret+="String_Node_Str";
ret+="String_Node_Str" + convertMatrix(fs.gradientMatrix) + "String_Node_Str";
GRADRECORD records[];
if (fs.fillStyleType == FILLSTYLE.FOCAL_RADIAL_GRADIENT) {
records=fs.focalGradient.gradientRecords;
}
 else {
records=fs.gradient.gradientRecords;
}
for (GRADRECORD rec : records) {
ret+="String_Node_Str";
ret+="String_Node_Str" + (shapeNum >= 3 ? rec.colorA.toHexRGB() : rec.color.toHexRGB()) + "String_Node_Str";
if (shapeNum >= 3) {
ret+="String_Node_Str" + rec.colorA.getAlphaFloat() + "String_Node_Str";
}
ret+="String_Node_Str" + rec.getRatioFloat() + "String_Node_Str";
ret+="String_Node_Str";
}
if (fs.fillStyleType == FILLSTYLE.LINEAR_GRADIENT) {
ret+="String_Node_Str";
}
 else {
ret+="String_Node_Str";
}
break;
}
return ret;
}

Fixed version (ground truth):
public static String convertFillStyle(MATRIX mat,HashMap<Integer,CharacterTag> characters,FILLSTYLE fs,int shapeNum){
  if (mat == null) {
    mat=new MATRIX();
  }
  String ret="String_Node_Str";
switch (fs.fillStyleType) {
case FILLSTYLE.SOLID:
    ret+="String_Node_Str";
  if (shapeNum >= 3) {
    ret+=fs.colorA.toHexRGB();
  }
 else {
    ret+=fs.color.toHexRGB();
  }
ret+="String_Node_Str";
if (shapeNum >= 3) {
ret+="String_Node_Str" + fs.colorA.getAlphaFloat() + "String_Node_Str";
}
ret+="String_Node_Str";
break;
case FILLSTYLE.REPEATING_BITMAP:
case FILLSTYLE.CLIPPED_BITMAP:
case FILLSTYLE.NON_SMOOTHED_REPEATING_BITMAP:
case FILLSTYLE.NON_SMOOTHED_CLIPPED_BITMAP:
ret+="String_Node_Str";
ret+="String_Node_Str";
CharacterTag bitmapCh=characters.get(fs.bitmapId);
if (bitmapCh instanceof ImageTag) {
ImageTag it=(ImageTag)bitmapCh;
ret+="String_Node_Str" + bitmapCh.getCharacterId() + "String_Node_Str"+ it.getImageFormat();
}
 else {
if (bitmapCh != null) {
Logger.getLogger(XFLConverter.class.getName()).log(Level.SEVERE,"String_Node_Str" + bitmapCh.getClass().getSimpleName());
}
return "String_Node_Str";
}
ret+="String_Node_Str";
if ((fs.fillStyleType == FILLSTYLE.CLIPPED_BITMAP) || (fs.fillStyleType == FILLSTYLE.NON_SMOOTHED_CLIPPED_BITMAP)) {
ret+="String_Node_Str";
}
ret+="String_Node_Str";
ret+="String_Node_Str" + convertMatrix(fs.bitmapMatrix) + "String_Node_Str";
ret+="String_Node_Str";
break;
case FILLSTYLE.LINEAR_GRADIENT:
case FILLSTYLE.RADIAL_GRADIENT:
case FILLSTYLE.FOCAL_RADIAL_GRADIENT:
if (fs.fillStyleType == FILLSTYLE.LINEAR_GRADIENT) {
ret+="String_Node_Str";
}
 else {
ret+="String_Node_Str";
ret+="String_Node_Str";
if (fs.fillStyleType == FILLSTYLE.FOCAL_RADIAL_GRADIENT) {
ret+=fs.focalGradient.focalPoint;
}
 else {
ret+="String_Node_Str";
}
ret+="String_Node_Str";
}
int interpolationMode;
if (fs.fillStyleType == FILLSTYLE.FOCAL_RADIAL_GRADIENT) {
interpolationMode=fs.focalGradient.interPolationMode;
}
 else {
interpolationMode=fs.gradient.interPolationMode;
}
int spreadMode;
if (fs.fillStyleType == FILLSTYLE.FOCAL_RADIAL_GRADIENT) {
spreadMode=fs.focalGradient.spreadMode;
}
 else {
spreadMode=fs.gradient.spreadMode;
}
if (interpolationMode == GRADIENT.INTERPOLATION_LINEAR_RGB_MODE) {
ret+="String_Node_Str";
}
switch (spreadMode) {
case GRADIENT.SPREAD_PAD_MODE:
break;
case GRADIENT.SPREAD_REFLECT_MODE:
ret+="String_Node_Str";
break;
case GRADIENT.SPREAD_REPEAT_MODE:
ret+="String_Node_Str";
break;
}
ret+="String_Node_Str";
ret+="String_Node_Str" + convertMatrix(fs.gradientMatrix) + "String_Node_Str";
GRADRECORD records[];
if (fs.fillStyleType == FILLSTYLE.FOCAL_RADIAL_GRADIENT) {
records=fs.focalGradient.gradientRecords;
}
 else {
records=fs.gradient.gradientRecords;
}
for (GRADRECORD rec : records) {
ret+="String_Node_Str";
ret+="String_Node_Str" + (shapeNum >= 3 ? rec.colorA.toHexRGB() : rec.color.toHexRGB()) + "String_Node_Str";
if (shapeNum >= 3) {
ret+="String_Node_Str" + rec.colorA.getAlphaFloat() + "String_Node_Str";
}
ret+="String_Node_Str" + rec.getRatioFloat() + "String_Node_Str";
ret+="String_Node_Str";
}
if (fs.fillStyleType == FILLSTYLE.LINEAR_GRADIENT) {
ret+="String_Node_Str";
}
 else {
ret+="String_Node_Str";
}
break;
}
return ret;
}