Program: 88694
Project: 88694
Buggy source:
/** 
 * Literal Creation
 */
private soot.Value createLiteral(polyglot.ast.Lit lit){
  if (lit instanceof polyglot.ast.IntLit) {
    polyglot.ast.IntLit intLit=(polyglot.ast.IntLit)lit;
    long litValue=intLit.value();
    if (intLit.kind() == polyglot.ast.IntLit.INT) {
      return soot.jimple.IntConstant.v((int)litValue);
    }
 else {
      return soot.jimple.LongConstant.v(litValue);
    }
  }
 else   if (lit instanceof polyglot.ast.StringLit) {
    String litValue=((polyglot.ast.StringLit)lit).value();
    return soot.jimple.StringConstant.v(litValue);
  }
 else   if (lit instanceof polyglot.ast.NullLit) {
    return soot.jimple.NullConstant.v();
  }
 else   if (lit instanceof polyglot.ast.FloatLit) {
    polyglot.ast.FloatLit floatLit=(polyglot.ast.FloatLit)lit;
    double litValue=floatLit.value();
    if (floatLit.kind() == polyglot.ast.FloatLit.DOUBLE) {
      return soot.jimple.DoubleConstant.v(floatLit.value());
    }
 else {
      return soot.jimple.FloatConstant.v((float)(floatLit.value()));
    }
  }
 else   if (lit instanceof polyglot.ast.CharLit) {
    char litValue=((polyglot.ast.CharLit)lit).value();
    return soot.jimple.IntConstant.v((int)litValue);
  }
 else   if (lit instanceof polyglot.ast.BooleanLit) {
    boolean litValue=((polyglot.ast.BooleanLit)lit).value();
    if (litValue)     return soot.jimple.IntConstant.v(1);
 else     return soot.jimple.IntConstant.v(0);
  }
 else   if (lit instanceof polyglot.ast.ClassLit) {
    return getSpecialClassLitLocal((polyglot.ast.ClassLit)lit);
  }
 else {
    throw new RuntimeException("String_Node_Str" + lit.getClass());
  }
}

Fixed version (ground truth):
/** 
 * Literal Creation
 */
private soot.Value createLiteral(polyglot.ast.Lit lit){
  if (lit instanceof polyglot.ast.IntLit) {
    polyglot.ast.IntLit intLit=(polyglot.ast.IntLit)lit;
    long litValue=intLit.value();
    if (intLit.kind() == polyglot.ast.IntLit.INT) {
      return soot.jimple.IntConstant.v((int)litValue);
    }
 else {
      return soot.jimple.LongConstant.v(litValue);
    }
  }
 else   if (lit instanceof polyglot.ast.StringLit) {
    String litValue=((polyglot.ast.StringLit)lit).value();
    return soot.jimple.StringConstant.v(litValue);
  }
 else   if (lit instanceof polyglot.ast.NullLit) {
    return soot.jimple.NullConstant.v();
  }
 else   if (lit instanceof polyglot.ast.FloatLit) {
    polyglot.ast.FloatLit floatLit=(polyglot.ast.FloatLit)lit;
    double litValue=floatLit.value();
    if (floatLit.kind() == polyglot.ast.FloatLit.DOUBLE) {
      return soot.jimple.DoubleConstant.v(floatLit.value());
    }
 else {
      return soot.jimple.FloatConstant.v((float)(floatLit.value()));
    }
  }
 else   if (lit instanceof polyglot.ast.CharLit) {
    char litValue=((polyglot.ast.CharLit)lit).value();
    return soot.jimple.IntConstant.v(litValue);
  }
 else   if (lit instanceof polyglot.ast.BooleanLit) {
    boolean litValue=((polyglot.ast.BooleanLit)lit).value();
    if (litValue)     return soot.jimple.IntConstant.v(1);
 else     return soot.jimple.IntConstant.v(0);
  }
 else   if (lit instanceof polyglot.ast.ClassLit) {
    return getSpecialClassLitLocal((polyglot.ast.ClassLit)lit);
  }
 else {
    throw new RuntimeException("String_Node_Str" + lit.getClass());
  }
}