nus-yam/ex-repair huggingface dataset:
Program: 83097
Project: 83097
Buggy source:
/** 
 * Sets the horizontal alignment of the given widget within its cell.
 * @param w the widget whose horizontal alignment is to be set
 * @param align the widget's horizontal alignment, as defined in{@link HasHorizontalAlignment}.
 */
public void setCellHorizontalAlignment(Widget w,HorizontalAlignmentConstant align){
  Element td=getWidgetTd(w);
  if (td != null) {
    DOM.setElementProperty(td,"String_Node_Str",align.getTextAlignString());
  }
}

Fixed version (ground truth):
protected void setCellHorizontalAlignment(Element td,HorizontalAlignmentConstant align){
  DOM.setElementProperty(td,"String_Node_Str",align.getTextAlignString());
}
Program: 83098
Project: 83098
Buggy source:
/** 
 * Adds a new child widget to the panel.
 * @param w the child widget to be added
 * @param container the element within which the child will be contained
 * @return the index at which the widget was added
 */
protected int add(Widget w,Element container){
  return insert(w,container,getChildren().size());
}

Fixed version (ground truth):
/** 
 * Adds a new child widget to the panel.
 * @param w the child widget to be added
 * @param container the element within which the child will be contained
 */
protected void add(Widget w,Element container){
  insert(w,container,getChildren().size());
}
Program: 83099
Project: 83099
Buggy source:
/** 
 * Inserts a new child widget into the panel.
 * @param w the child widget to be added
 * @param container the element within which the child will be contained
 * @param beforeIndex the index before which the widget will be added
 * @return the index at which the widget was added
 */
protected int insert(Widget w,Element container,int beforeIndex){
  if ((beforeIndex < 0) || (beforeIndex > getWidgetCount())) {
    throw new IndexOutOfBoundsException();
  }
  int idx=getWidgetIndex(w);
  if (idx == -1) {
    w.removeFromParent();
  }
 else {
    remove(w);
    if (idx < beforeIndex) {
      beforeIndex--;
    }
  }
  adopt(w,container);
  getChildren().insert(w,beforeIndex);
  return beforeIndex;
}

Fixed version (ground truth):
/** 
 * Inserts a new child widget into the panel.
 * @param w the child widget to be added
 * @param container the element within which the child will be contained
 * @param beforeIndex the index before which the widget will be added
 */
protected void insert(Widget w,Element container,int beforeIndex){
  beforeIndex=adjustIndex(w,beforeIndex);
  adopt(w,container);
  getChildren().insert(w,beforeIndex);
}
Program: 83100
Project: 83100
Buggy source:
/** 
 * Shows the widget at the specified index. This causes the currently- visible widget to be hidden.
 * @param index the index of the widget to be shown
 */
public void showWidget(int index){
  checkIndex(index);
  if (visibleWidget != null) {
    visibleWidget.setVisible(false);
  }
  visibleWidget=getWidget(index);
  visibleWidget.setVisible(true);
}

Fixed version (ground truth):
/** 
 * Shows the widget at the specified index. This causes the currently- visible widget to be hidden.
 * @param index the index of the widget to be shown
 */
public void showWidget(int index){
  checkIndexBoundsForAccess(index);
  if (visibleWidget != null) {
    visibleWidget.setVisible(false);
  }
  visibleWidget=getWidget(index);
  visibleWidget.setVisible(true);
}
Program: 83101
Project: 83101
Buggy source:
/** 
 * Inserts a widget before the specified index. If the Widget is already attached to the HorizontalPanel, it will be moved to the specified index.
 * @param w the widget to be inserted
 * @param beforeIndex the index before which it will be inserted
 * @throws IndexOutOfBoundsException if <code>beforeIndex</code> is out ofrange
 */
public void insert(Widget w,int beforeIndex){
  Element td=DOM.createTD();
  beforeIndex=super.insert(w,td,beforeIndex);
  DOM.insertChild(tableRow,td,beforeIndex);
  setCellHorizontalAlignment(w,horzAlign);
  setCellVerticalAlignment(w,vertAlign);
}

Fixed version (ground truth):
/** 
 * Inserts a widget before the specified index. If the Widget is already attached to the HorizontalPanel, it will be moved to the specified index.
 * @param w the widget to be inserted
 * @param beforeIndex the index before which it will be inserted
 * @throws IndexOutOfBoundsException if <code>beforeIndex</code> is out ofrange
 */
public void insert(Widget w,int beforeIndex){
  checkIndexBoundsForInsertion(beforeIndex);
  Element td=DOM.createTD();
  setCellHorizontalAlignment(td,horzAlign);
  setCellVerticalAlignment(td,vertAlign);
  DOM.insertChild(tableRow,td,beforeIndex);
  super.insert(w,td,beforeIndex);
}
Program: 83102
Project: 83102
Buggy source:
public boolean remove(Widget w){
  if (w.getParent() != this) {
    return false;
  }
  Element td=DOM.getParent(w.getElement());
  DOM.removeChild(tableRow,td);
  super.remove(w);
  return true;
}

Fixed version (ground truth):
public boolean remove(Widget w){
  if (w.getParent() != this) {
    return false;
  }
  Element td=DOM.getParent(w.getElement());
  super.remove(w);
  DOM.removeChild(tableRow,td);
  return true;
}
Program: 83103
Project: 83103
Buggy source:
/** 
 * This method must be called whenever a Widget is removed. It ensures that the Widget's parent is cleared.
 * @param w the widget to be disowned
 */
protected void disown(Widget w){
  if (w.getParent() != this) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  Element elem=w.getElement();
  w.setParent(null);
  DOM.removeChild(DOM.getParent(elem),elem);
}

Fixed version (ground truth):
/** 
 * This method must be called whenever a Widget is removed. It ensures that the Widget's parent is cleared. It also detaches the Widget's DOM element from its container, ensuring that this process occurs in the right order.
 * @param w the widget to be disowned
 */
protected void disown(Widget w){
  if (w.getParent() != this) {
    throw new IllegalArgumentException("String_Node_Str");
  }
  Element elem=w.getElement();
  w.setParent(null);
  DOM.removeChild(DOM.getParent(elem),elem);
}
Program: 83104
Project: 83104
Buggy source:
/** 
 * Inserts a widget before the specified index.
 * @param w the widget to be inserted
 * @param beforeIndex the index before which it will be inserted
 * @throws IndexOutOfBoundsException if <code>beforeIndex</code> is out ofrange
 */
public void insert(Widget w,int beforeIndex){
  Element trh=DOM.createTR();
  Element tdh=DOM.createTD();
  DOM.appendChild(trh,tdh);
  Element trb=DOM.createTR();
  Element tdb=DOM.createTD();
  DOM.appendChild(trb,tdb);
  beforeIndex=super.insert(w,tdb,beforeIndex);
  int effectiveIndex=beforeIndex * 2;
  DOM.insertChild(body,trb,effectiveIndex);
  DOM.insertChild(body,trh,effectiveIndex);
  setStyleName(tdh,"String_Node_Str",true);
  DOM.setElementPropertyInt(tdh,"String_Node_Str",hashCode());
  DOM.setElementProperty(tdh,"String_Node_Str","String_Node_Str");
  DOM.setElementProperty(tdb,"String_Node_Str","String_Node_Str");
  DOM.setElementProperty(tdb,"String_Node_Str","String_Node_Str");
  updateIndicesFrom(beforeIndex);
  if (visibleStack == -1) {
    showStack(0);
  }
 else {
    setStackVisible(beforeIndex,false);
    if (visibleStack >= beforeIndex) {
      ++visibleStack;
    }
  }
}

Fixed version (ground truth):
/** 
 * Inserts a widget before the specified index.
 * @param w the widget to be inserted
 * @param beforeIndex the index before which it will be inserted
 * @throws IndexOutOfBoundsException if <code>beforeIndex</code> is out ofrange
 */
public void insert(Widget w,int beforeIndex){
  Element trh=DOM.createTR();
  Element tdh=DOM.createTD();
  DOM.appendChild(trh,tdh);
  Element trb=DOM.createTR();
  Element tdb=DOM.createTD();
  DOM.appendChild(trb,tdb);
  beforeIndex=adjustIndex(w,beforeIndex);
  int effectiveIndex=beforeIndex * 2;
  DOM.insertChild(body,trb,effectiveIndex);
  DOM.insertChild(body,trh,effectiveIndex);
  setStyleName(tdh,"String_Node_Str",true);
  DOM.setElementPropertyInt(tdh,"String_Node_Str",hashCode());
  DOM.setElementProperty(tdh,"String_Node_Str","String_Node_Str");
  DOM.setElementProperty(tdb,"String_Node_Str","String_Node_Str");
  DOM.setElementProperty(tdb,"String_Node_Str","String_Node_Str");
  super.insert(w,tdb,beforeIndex);
  updateIndicesFrom(beforeIndex);
  if (visibleStack == -1) {
    showStack(0);
  }
 else {
    setStackVisible(beforeIndex,false);
    if (visibleStack >= beforeIndex) {
      ++visibleStack;
    }
  }
}
Program: 83105
Project: 83105
Buggy source:
private boolean remove(Widget child,int index){
  if (child.getParent() != this) {
    return false;
  }
  if (visibleStack == index) {
    visibleStack=-1;
  }
 else   if (visibleStack > index) {
    --visibleStack;
  }
  int rowIndex=2 * index;
  Element tr=DOM.getChild(body,rowIndex);
  DOM.removeChild(body,tr);
  tr=DOM.getChild(body,rowIndex);
  DOM.removeChild(body,tr);
  super.remove(child);
  updateIndicesFrom(rowIndex);
  return true;
}

Fixed version (ground truth):
private boolean remove(Widget child,int index){
  if (child.getParent() != this) {
    return false;
  }
  super.remove(child);
  if (visibleStack == index) {
    visibleStack=-1;
  }
 else   if (visibleStack > index) {
    --visibleStack;
  }
  int rowIndex=2 * index;
  Element tr=DOM.getChild(body,rowIndex);
  DOM.removeChild(body,tr);
  tr=DOM.getChild(body,rowIndex);
  DOM.removeChild(body,tr);
  updateIndicesFrom(rowIndex);
  return true;
}
Program: 83106
Project: 83106
Buggy source:
public void onBrowserEvent(Event event){
switch (DOM.eventGetType(event)) {
case Event.ONMOUSEDOWN:
{
      Element target=DOM.eventGetTarget(event);
      if (DOM.isOrHasChild(splitElem,target)) {
        startResizingFrom(DOM.eventGetClientX(event) - getAbsoluteLeft(),DOM.eventGetClientY(event) - getAbsoluteTop());
        DOM.eventPreventDefault(event);
      }
      break;
    }
case Event.ONMOUSEUP:
{
    stopResizing();
    break;
  }
case Event.ONMOUSEMOVE:
{
  if (isResizing()) {
    onSplitterResize(DOM.eventGetClientX(event) - getAbsoluteLeft(),DOM.eventGetClientY(event) - getAbsoluteTop());
    DOM.eventPreventDefault(event);
  }
  break;
}
}
}

Fixed version (ground truth):
public void onBrowserEvent(Event event){
}
Program: 83107
Project: 83107
Buggy source:
public native void setImgSrc(Element img,String src);

Fixed version (ground truth):
/** 
 * Works around an IE problem where multiple images trying to load at the same time will generate a request per image. We fix this by only allowing the first image of a given URL to set its source immediately, but simultaneous requests for the same URL don't actually get their source set until the original load is complete.
 */
public void setImgSrc(Element img,String src){
  ImageSrcIE6.setImgSrc(img,src);
}
Program: 83108
Project: 83108
Buggy source:
public native String getImgSrc(Element img);

Fixed version (ground truth):
public String getImgSrc(Element img){
  return ImageSrcIE6.getImgSrc(img);
}
Program: 83109
Project: 83109
Buggy source:
/** 
 * Instantiates a class via deferred binding. <p> The argument to   {@link #create(Class)}&#160;<i>must</i> be a class literal because the web mode compiler must be able to statically determine the requested type at compile-time. This can be tricky because using a  {@link Class} variable may appear to work correctly in hosted mode.</p>
 * @param classLiteral a class literal specifying the base class to beinstantiated
 * @return the new instance, which must be typecast to the requested class.
 */
public static Object create(Class classLiteral){
  throw new RuntimeException("String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Instantiates a class via deferred binding. <p> The argument to   {@link #create(Class)}&#160;<i>must</i> be a class literal because the web mode compiler must be able to statically determine the requested type at compile-time. This can be tricky because using a  {@link Class} variable may appear to work correctly in hosted mode.</p>
 * @param classLiteral a class literal specifying the base class to beinstantiated
 * @return the new instance, which must be typecast to the requested class.
 */
public static Object create(Class classLiteral){
  throw new UnsupportedOperationException("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
}
Program: 83110
Project: 83110
Buggy source:
/** 
 * Tests the ability of the Window to get the client size correctly with and without visible scroll bars.
 */
public void testGetClientSize(){
  Window.enableScrolling(false);
  int oldClientHeight=Window.getClientHeight();
  int oldClientWidth=Window.getClientWidth();
  assertTrue(oldClientHeight > 0);
  assertTrue(oldClientWidth > 0);
  Window.enableScrolling(true);
  Label largeDOM=new Label();
  largeDOM.setPixelSize(oldClientWidth + 100,oldClientHeight + 100);
  RootPanel.get().add(largeDOM);
  int newClientHeight=Window.getClientHeight();
  int newClientWidth=Window.getClientWidth();
  assertTrue(newClientHeight < oldClientHeight);
  assertTrue(newClientWidth < oldClientWidth);
  largeDOM.setPixelSize(oldClientWidth + 500,oldClientHeight + 500);
  int finalClientHeight=Window.getClientHeight();
  int finalClientWidth=Window.getClientWidth();
  assertEquals(newClientHeight,finalClientHeight);
  assertEquals(newClientWidth,finalClientWidth);
}

Fixed version (ground truth):
/** 
 * Tests the ability of the Window to get the client size correctly with and without visible scroll bars.
 */
public void testGetClientSize(){
  Window.enableScrolling(false);
  final int oldClientHeight=Window.getClientHeight();
  final int oldClientWidth=Window.getClientWidth();
  assertTrue(oldClientHeight > 0);
  assertTrue(oldClientWidth > 0);
  Window.enableScrolling(true);
  final Label largeDOM=new Label();
  largeDOM.setPixelSize(oldClientWidth + 100,oldClientHeight + 100);
  RootPanel.get().add(largeDOM);
  DeferredCommand.addCommand(new Command(){
    public void execute(){
      int newClientHeight=Window.getClientHeight();
      int newClientWidth=Window.getClientWidth();
      assertTrue(newClientHeight < oldClientHeight);
      assertTrue(newClientWidth < oldClientWidth);
      finishTest();
    }
  }
);
  delayTestFinish(200);
}
Program: 83111
Project: 83111
Buggy source:
/** 
 * Wraps a JSO-typed argument if the target array element type might generate an array store check.
 */
private JExpression checkAndReplaceJsoArrayStore(JExpression arg,JType targetType){
  if (!(targetType instanceof JReferenceType)) {
    return arg;
  }
  if (((JReferenceType)targetType).isFinal()) {
    return arg;
  }
  if (!program.isJavaScriptObject(arg.getType())) {
    return arg;
  }
  JCastOperation cast=new JCastOperation(program,arg.getSourceInfo(),targetType,arg);
  return cast;
}

Fixed version (ground truth):
/** 
 * Wraps a JSO-typed argument. TODO: We could eliminate casts cases where the array instance was never cast to a weaker type.
 */
private JExpression checkAndReplaceJsoArrayStore(JExpression arg,JType targetType){
  if (!(targetType instanceof JReferenceType)) {
    return arg;
  }
  if (!program.isJavaScriptObject(arg.getType())) {
    return arg;
  }
  JCastOperation cast=new JCastOperation(program,arg.getSourceInfo(),targetType,arg);
  return cast;
}
Program: 83112
Project: 83112
Buggy source:
public void testJso(){
  Foo foo=getFoo();
  assertEquals("String_Node_Str",foo.toString());
  JavaScriptObject jso=foo;
  assertEquals("String_Node_Str",jso.toString());
  Object y=noOptimizeFalse() ? new Object() : foo;
  assertEquals("String_Node_Str",y.toString());
  jso=getJso();
  assertEquals("String_Node_Str",jso.toString());
  try {
    JavaScriptObject[] typeTightenedFooArray=new Foo[3];
    typeTightenedFooArray[0]=getJso();
    fail();
  }
 catch (  ArrayStoreException e) {
  }
  try {
    JavaScriptObject[] fooArray=noOptimizeFalse() ? new JavaScriptObject[3] : new Foo[3];
    fooArray[0]=getJso();
    fail();
  }
 catch (  ArrayStoreException e) {
  }
  JavaScriptObject[] jsoArray=noOptimizeFalse() ? new Foo[3] : new JavaScriptObject[3];
  jsoArray[0]=getJso();
}

Fixed version (ground truth):
public void testJso(){
  Foo foo=getFoo();
  assertEquals("String_Node_Str",foo.toString());
  JavaScriptObject jso=foo;
  assertEquals("String_Node_Str",jso.toString());
  Object y=noOptimizeFalse() ? new Object() : foo;
  assertEquals("String_Node_Str",y.toString());
  jso=getJso();
  assertEquals("String_Node_Str",jso.toString());
}
Program: 83113
Project: 83113
Buggy source:
/** 
 * Gets the modified style name.
 * @return the modified style name
 */
private String getCSSStyleName(){
  return getBaseStyleName() + "String_Node_Str" + curFace.getName();
}

Fixed version (ground truth):
/** 
 * Gets the modified style name.
 * @return the modified style name
 */
private String getCSSStyleName(){
  return getStyleName() + "String_Node_Str" + curFace.getName();
}
Program: 83114
Project: 83114
Buggy source:
public int invoke(int execState,int jsthis,int[] jsargs){
  int jsFalse=LowLevelSaf.convertBoolean(false);
  LowLevelSaf.pushExecState(execState);
  try {
    if (!LowLevelSaf.isWrappedDispatch(jsthis)) {
      return jsFalse;
    }
    Object thisObj=LowLevelSaf.unwrapDispatch(jsthis);
    if (!(thisObj instanceof ExternalObject)) {
      return jsFalse;
    }
    if (jsargs.length < 2) {
      return jsFalse;
    }
    if (!LowLevelSaf.isObject(jsargs[0])) {
      return jsFalse;
    }
    if (!LowLevelSaf.isString(jsargs[1])) {
      return jsFalse;
    }
    String moduleName=LowLevelSaf.coerceToString(execState,jsargs[1]);
    boolean result=((ExternalObject)thisObj).gwtOnLoad(jsargs[0],moduleName);
    return LowLevelSaf.convertBoolean(result);
  }
 catch (  Throwable e) {
    return jsFalse;
  }
 finally {
    LowLevelSaf.popExecState(execState);
  }
}

Fixed version (ground truth):
public int invoke(int execState,int jsthis,int[] jsargs){
  int jsFalse=LowLevelSaf.convertBoolean(false);
  LowLevelSaf.pushExecState(execState);
  try {
    if (!LowLevelSaf.isWrappedDispatch(jsthis)) {
      return jsFalse;
    }
    Object thisObj=LowLevelSaf.unwrapDispatch(jsthis);
    if (!(thisObj instanceof ExternalObject)) {
      return jsFalse;
    }
    if (jsargs.length < 2) {
      return jsFalse;
    }
    if (!LowLevelSaf.isObject(jsargs[0])) {
      return jsFalse;
    }
    if (!LowLevelSaf.isNull(jsargs[1]) && !LowLevelSaf.isString(jsargs[1])) {
      return jsFalse;
    }
    String moduleName=LowLevelSaf.coerceToString(execState,jsargs[1]);
    boolean result=((ExternalObject)thisObj).gwtOnLoad(jsargs[0],moduleName);
    return LowLevelSaf.convertBoolean(result);
  }
 catch (  Throwable e) {
    return jsFalse;
  }
 finally {
    LowLevelSaf.popExecState(execState);
  }
}
Program: 83116
Project: 83116
Buggy source:
/** 
 * Returns the   {@link Class} instance for the named class or primitive type.
 * @param serializedName the serialized name of a class or primitive type
 * @return Class instance for the given type name
 * @throws ClassNotFoundException if the named type was not found
 */
private static Class getClassFromSerializedName(String serializedName) throws ClassNotFoundException {
  Object value=TYPE_NAMES.get(serializedName);
  if (value != null) {
    return (Class)value;
  }
  return Class.forName(serializedName,false,RPC.class.getClassLoader());
}

Fixed version (ground truth):
/** 
 * Returns the   {@link Class} instance for the named class or primitive type.
 * @param serializedName the serialized name of a class or primitive type
 * @param classLoader the classLoader used to load {@link Class}es
 * @return Class instance for the given type name
 * @throws ClassNotFoundException if the named type was not found
 */
private static Class getClassFromSerializedName(String serializedName,ClassLoader classLoader) throws ClassNotFoundException {
  Object value=TYPE_NAMES.get(serializedName);
  if (value != null) {
    return (Class)value;
  }
  return Class.forName(serializedName,false,classLoader);
}
Program: 83117
Project: 83117
Buggy source:
public ServerSerializationStreamReader(ServerSerializableTypeOracle serializableTypeOracle){
  this.serializableTypeOracle=serializableTypeOracle;
}

Fixed version (ground truth):
public ServerSerializationStreamReader(ServerSerializableTypeOracle serializableTypeOracle,ClassLoader classLoader){
  this.classLoader=classLoader;
  this.serializableTypeOracle=serializableTypeOracle;
}
Program: 83118
Project: 83118
Buggy source:
protected Object deserialize(String typeSignature) throws SerializationException {
  Object instance=null;
  SerializedInstanceReference serializedInstRef=serializableTypeOracle.decodeSerializedInstanceReference(typeSignature);
  try {
    Class instanceClass=Class.forName(serializedInstRef.getName(),false,this.getClass().getClassLoader());
    if (!serializableTypeOracle.isSerializable(instanceClass)) {
      throw new SerializationException("String_Node_Str" + instanceClass.getName() + "String_Node_Str");
    }
    validateTypeVersions(instanceClass,serializedInstRef);
    Class customSerializer=serializableTypeOracle.hasCustomFieldSerializer(instanceClass);
    instance=instantiate(customSerializer,instanceClass);
    rememberDecodedObject(instance);
    deserializeImpl(customSerializer,instanceClass,instance);
    return instance;
  }
 catch (  ClassNotFoundException e) {
    throw new SerializationException(e);
  }
catch (  InstantiationException e) {
    throw new SerializationException(e);
  }
catch (  IllegalAccessException e) {
    throw new SerializationException(e);
  }
catch (  IllegalArgumentException e) {
    throw new SerializationException(e);
  }
catch (  InvocationTargetException e) {
    throw new SerializationException(e);
  }
catch (  NoSuchMethodException e) {
    throw new SerializationException(e);
  }
}

Fixed version (ground truth):
protected Object deserialize(String typeSignature) throws SerializationException {
  Object instance=null;
  SerializedInstanceReference serializedInstRef=serializableTypeOracle.decodeSerializedInstanceReference(typeSignature);
  try {
    Class instanceClass=Class.forName(serializedInstRef.getName(),false,classLoader);
    if (!serializableTypeOracle.isSerializable(instanceClass)) {
      throw new SerializationException("String_Node_Str" + instanceClass.getName() + "String_Node_Str");
    }
    validateTypeVersions(instanceClass,serializedInstRef);
    Class customSerializer=serializableTypeOracle.hasCustomFieldSerializer(instanceClass);
    instance=instantiate(customSerializer,instanceClass);
    rememberDecodedObject(instance);
    deserializeImpl(customSerializer,instanceClass,instance);
    return instance;
  }
 catch (  ClassNotFoundException e) {
    throw new SerializationException(e);
  }
catch (  InstantiationException e) {
    throw new SerializationException(e);
  }
catch (  IllegalAccessException e) {
    throw new SerializationException(e);
  }
catch (  IllegalArgumentException e) {
    throw new SerializationException(e);
  }
catch (  InvocationTargetException e) {
    throw new SerializationException(e);
  }
catch (  NoSuchMethodException e) {
    throw new SerializationException(e);
  }
}
Program: 83119
Project: 83119
Buggy source:
/** 
 * A helper for widgets that source mouse events.
 * @param sender the widget sending the event
 * @param event the {@link Event} received by the widget
 */
public void fireMouseEvent(Widget sender,Event event){
  final Element senderElem=sender.getElement();
  int x=DOM.eventGetClientX(event) - DOM.getAbsoluteLeft(sender.getElement()) + DOM.getElementPropertyInt(senderElem,"String_Node_Str") + Window.getScrollLeft();
  int y=DOM.eventGetClientY(event) - DOM.getAbsoluteTop(sender.getElement()) + DOM.getElementPropertyInt(senderElem,"String_Node_Str") + Window.getScrollTop();
switch (DOM.eventGetType(event)) {
case Event.ONMOUSEDOWN:
    fireMouseDown(sender,x,y);
  break;
case Event.ONMOUSEUP:
fireMouseUp(sender,x,y);
break;
case Event.ONMOUSEMOVE:
fireMouseMove(sender,x,y);
break;
case Event.ONMOUSEOVER:
Element from=DOM.eventGetFromElement(event);
if (!DOM.isOrHasChild(sender.getElement(),from)) {
fireMouseEnter(sender);
}
break;
case Event.ONMOUSEOUT:
Element to=DOM.eventGetToElement(event);
if (!DOM.isOrHasChild(sender.getElement(),to)) {
fireMouseLeave(sender);
}
break;
}
}

Fixed version (ground truth):
/** 
 * A helper for widgets that source mouse events.
 * @param sender the widget sending the event
 * @param event the {@link Event} received by the widget
 */
public void fireMouseEvent(Widget sender,Event event){
  final Element senderElem=sender.getElement();
  int x=DOM.eventGetClientX(event) - DOM.getAbsoluteLeft(senderElem) + DOM.getElementPropertyInt(senderElem,"String_Node_Str") + Window.getScrollLeft();
  int y=DOM.eventGetClientY(event) - DOM.getAbsoluteTop(senderElem) + DOM.getElementPropertyInt(senderElem,"String_Node_Str") + Window.getScrollTop();
switch (DOM.eventGetType(event)) {
case Event.ONMOUSEDOWN:
    fireMouseDown(sender,x,y);
  break;
case Event.ONMOUSEUP:
fireMouseUp(sender,x,y);
break;
case Event.ONMOUSEMOVE:
fireMouseMove(sender,x,y);
break;
case Event.ONMOUSEOVER:
Element from=DOM.eventGetFromElement(event);
if (!DOM.isOrHasChild(senderElem,from)) {
fireMouseEnter(sender);
}
break;
case Event.ONMOUSEOUT:
Element to=DOM.eventGetToElement(event);
if (!DOM.isOrHasChild(senderElem,to)) {
fireMouseLeave(sender);
}
break;
}
}
Program: 83120
Project: 83120
Buggy source:
/** 
 * Tests whether or not this JSONObject contains the specified key. We use Object.hasOwnProperty here to verify that a given key is specified on this object rather than a superclass (such as standard properties defined on Object).
 * @param key the key to search for
 * @return <code>true</code> if the JSONObject contains the specified key
 */
public native boolean containsKey(String key);

Fixed version (ground truth):
/** 
 * Tests whether or not this JSONObject contains the specified key. We use Object.hasOwnProperty here to verify that a given key is specified on this object rather than a superclass (such as standard properties defined on Object).
 * @param key the key to search for
 * @return <code>true</code> if the JSONObject contains the specified key
 */
public boolean containsKey(String key){
  return get(key) != null;
}
Program: 83121
Project: 83121
Buggy source:
/** 
 * Gets the JSONValue associated with the specified key. We use Object.hasOwnProperty here to verify that a given key is specified on this object rather than a superclass (such as standard properties defined on Object).
 * @param key the key to search for
 * @return if found, the value associated with the specified key, or<code>null</code> otherwise
 */
public native JSONValue get(String key);

Fixed version (ground truth):
/** 
 * Gets the JSONValue associated with the specified key. We use Object.hasOwnProperty here to verify that a given key is specified on this object rather than a superclass (such as standard properties defined on Object).
 * @param key the key to search for
 * @return if found, the value associated with the specified key, or<code>null</code> otherwise
 */
public JSONValue get(String key){
  if (key == null) {
    return null;
  }
  JSONValue result=getFront(frontStore,key);
  if (result == null) {
    JavaScriptObject jso=removeBack(backStore,key);
    if (jso != UNDEFINED) {
      result=JSONParser.buildValue(jso);
      putFront(frontStore,key,result);
    }
  }
  return result;
}
Program: 83122
Project: 83122
Buggy source:
private native void addAllKeysFromJavascriptObject(Set s,JavaScriptObject javaScriptObject);

Fixed version (ground truth):
private static native void addAllKeysFromJavascriptObject(Set s,JavaScriptObject javaScriptObject);
Program: 83123
Project: 83123
Buggy source:
/** 
 * Maps the specified key to the specified value in this JSONObject. If the specified key already has an associated value, it is overwritten.
 * @param key the key to associate with the specified value
 * @param jsonValue the value to assoociate with this key
 * @return if one existed, the previous value associated with the key, or<code>null</code> otherwise
 */
public native JSONValue put(String key,JSONValue jsonValue);

Fixed version (ground truth):
/** 
 * Maps the specified key to the specified value in this JSONObject. If the specified key already has an associated value, it is overwritten.
 * @param key the key to associate with the specified value
 * @param jsonValue the value to associate with this key
 * @return if one existed, the previous value associated with the key, or<code>null</code> otherwise
 * @throws NullPointerException if key is <code>null</code>
 */
public JSONValue put(String key,JSONValue jsonValue){
  if (key == null) {
    throw new NullPointerException();
  }
  JSONValue previous=get(key);
  putFront(frontStore,key,jsonValue);
  return previous;
}
Program: 83124
Project: 83124
Buggy source:
public void testSimpleNested(){
  JSONObject j1=new JSONObject();
  j1.put("String_Node_Str",new JSONString("String_Node_Str"));
  JSONObject j2=new JSONObject();
  j2.put("String_Node_Str",new JSONString("String_Node_Str"));
  JSONObject j2_2=new JSONObject();
  j2_2.put("String_Node_Str",new JSONString("String_Node_Str"));
  j2.put("String_Node_Str",j2_2);
  JSONObject j3=new JSONObject();
  j3.put("String_Node_Str",j1);
  j3.put("String_Node_Str",j2);
  assertEquals("String_Node_Str",j3.toString());
}

Fixed version (ground truth):
public void testSimpleNested(){
  JSONObject j1=new JSONObject();
  j1.put("String_Node_Str",new JSONString("String_Node_Str"));
  JSONObject j2=new JSONObject();
  j2.put("String_Node_Str",new JSONString("String_Node_Str"));
  JSONObject j22=new JSONObject();
  j22.put("String_Node_Str",new JSONString("String_Node_Str"));
  j2.put("String_Node_Str",j22);
  JSONObject j3=new JSONObject();
  j3.put("String_Node_Str",j1);
  j3.put("String_Node_Str",j2);
  assertEquals("String_Node_Str",j3.toString());
}
Program: 83125
Project: 83125
Buggy source:
void onElementInitialized(){
  setHTMLImpl(DOM.getInnerHTML(beforeInitPlaceholder));
  beforeInitPlaceholder=null;
}

Fixed version (ground truth):
void onElementInitialized(){
  if (beforeInitPlaceholder != null) {
    setHTMLImpl(DOM.getInnerHTML(beforeInitPlaceholder));
    beforeInitPlaceholder=null;
  }
}
Program: 83126
Project: 83126
Buggy source:
public boolean hasClinit(JReferenceType type){
  if (hasDirectClinit(type)) {
    return true;
  }
  if (type != null && type.extnds != null) {
    return hasClinit(type.extnds);
  }
  return false;
}

Fixed version (ground truth):
public boolean hasClinit(JReferenceType type){
  return hasClinitSet.contains(type);
}
Program: 83128
Project: 83128
Buggy source:
private void handleClinit(JsFunction clinitFunc,JReferenceType chainTo){
  JsStatements statements=clinitFunc.getBody().getStatements();
  JsExpression asg=createAssignment(clinitFunc.getName().makeRef(),nullMethodName.makeRef());
  statements.add(0,asg.makeStmt());
  if (chainTo != null) {
    JMethod chainToMeth=(JMethod)chainTo.methods.get(0);
    JsInvocation jsInvocation=new JsInvocation();
    JsNameRef qualifier=getName(chainToMeth).makeRef();
    jsInvocation.setQualifier(qualifier);
    statements.add(1,jsInvocation.makeStmt());
  }
}

Fixed version (ground truth):
private void handleClinit(JsFunction clinitFunc){
  JsStatements statements=clinitFunc.getBody().getStatements();
  JsExpression asg=createAssignment(clinitFunc.getName().makeRef(),nullMethodName.makeRef());
  statements.add(0,asg.makeStmt());
}
Program: 83129
Project: 83129
Buggy source:
private JsInvocation maybeCreateClinitCall(JMethod x){
  if (!x.isStatic()) {
    return null;
  }
  JReferenceType enclosingType=x.getEnclosingType();
  if (!typeOracle.hasClinit(enclosingType)) {
    return null;
  }
  if (program.isStaticImpl(x)) {
    return null;
  }
  if (x == enclosingType.methods.get(0)) {
    return null;
  }
  while (!typeOracle.hasDirectClinit(enclosingType)) {
    enclosingType=enclosingType.extnds;
  }
  JMethod clinitMethod=(JMethod)enclosingType.methods.get(0);
  JsInvocation jsInvocation=new JsInvocation();
  jsInvocation.setQualifier(getName(clinitMethod).makeRef());
  return jsInvocation;
}

Fixed version (ground truth):
private JsInvocation maybeCreateClinitCall(JMethod x){
  if (!x.isStatic()) {
    return null;
  }
  JReferenceType enclosingType=x.getEnclosingType();
  if (!typeOracle.hasClinit(enclosingType)) {
    return null;
  }
  if (program.isStaticImpl(x)) {
    return null;
  }
  if (x == enclosingType.methods.get(0)) {
    return null;
  }
  JMethod clinitMethod=(JMethod)enclosingType.methods.get(0);
  JsInvocation jsInvocation=new JsInvocation();
  jsInvocation.setQualifier(getName(clinitMethod).makeRef());
  return jsInvocation;
}
Program: 83130
Project: 83130
Buggy source:
public void testClinitSideEffectInlining(){
  sideEffectChecker=0;
  SideEffectCauser.causeClinitSideEffect();
  assertEquals(1,sideEffectChecker);
  SideEffectCauser2.causeClinitSideEffect();
  assertEquals(2,sideEffectChecker);
  SideEffectCauser3.causeClinitSideEffect();
  assertEquals(3,sideEffectChecker);
  String foo=SideEffectCauser4.causeClinitSideEffectOnRead;
  assertEquals(4,sideEffectChecker);
  jsniReadSideEffectCauser5();
  assertEquals(5,sideEffectChecker);
  foo=SideEffectCauser6.causeClinitSideEffectOnRead;
  assertEquals(6,sideEffectChecker);
  String checkRescued=NonSideEffectCauser.NOT_A_COMPILE_TIME_CONSTANT;
  assertEquals(null,checkRescued);
}

Fixed version (ground truth):
public void testClinitSideEffectInlining(){
  sideEffectChecker=0;
  SideEffectCauser.causeClinitSideEffect();
  assertEquals(1,sideEffectChecker);
  SideEffectCauser2.causeClinitSideEffect();
  assertEquals(2,sideEffectChecker);
  SideEffectCauser3.causeClinitSideEffect();
  assertEquals(3,sideEffectChecker);
  String foo=SideEffectCauser4.causeClinitSideEffectOnRead;
  assertEquals(4,sideEffectChecker);
  jsniReadSideEffectCauser5();
  assertEquals(5,sideEffectChecker);
  foo=SideEffectCauser6.causeClinitSideEffectOnRead;
  assertEquals(6,sideEffectChecker);
  new SideEffectCauser7();
  assertEquals(7,sideEffectChecker);
  String checkRescued=NonSideEffectCauser.NOT_A_COMPILE_TIME_CONSTANT;
  assertEquals(null,checkRescued);
}
Program: 83131
Project: 83131
Buggy source:
public String getHTML(String url,int left,int top,int width,int height){
  String clipperStyle="String_Node_Str" + width + "String_Node_Str"+ height+ "String_Node_Str";
  String imgStyle="String_Node_Str" + url + "String_Node_Str"+ -left+ "String_Node_Str"+ -top+ "String_Node_Str";
  String clippedImgHtml="String_Node_Str" + clipperStyle + "String_Node_Str"+ imgStyle+ "String_Node_Str"+ (left + width)+ "String_Node_Str"+ (top + height)+ "String_Node_Str";
  return clippedImgHtml;
}

Fixed version (ground truth):
public String getHTML(String url,int left,int top,int width,int height){
  String clipperStyle="String_Node_Str" + width + "String_Node_Str"+ height+ "String_Node_Str";
  String imgStyle="String_Node_Str" + url + "String_Node_Str"+ -left+ "String_Node_Str"+ -top+ "String_Node_Str";
  String clippedImgHtml="String_Node_Str" + clipperStyle + "String_Node_Str"+ moduleBaseUrlProtocol+ "String_Node_Str"+ imgStyle+ "String_Node_Str"+ (left + width)+ "String_Node_Str"+ (top + height)+ "String_Node_Str";
  return clippedImgHtml;
}
Program: 83132
Project: 83132
Buggy source:
public void testArrayStore(){
  Object[][] oaa;
  oaa=new Object[4][4];
  oaa[0][0]="String_Node_Str";
  assertEquals(oaa[0][0],"String_Node_Str");
  oaa=new Object[4][];
  oaa[0]=new Object[4];
  oaa[0][0]="String_Node_Str";
  assertEquals(oaa[0][0],"String_Node_Str");
  Apple[] apple=noOptimizeTrue() ? new Granny[3] : new Apple[3];
  Apple g=noOptimizeTrue() ? (Apple)new Granny() : (Apple)new Fuji();
  Apple a=apple[0]=g;
  assertEquals(g,a);
}

Fixed version (ground truth):
public void testArrayStore(){
  Object[][] oaa;
  oaa=new Object[4][4];
  oaa[0][0]="String_Node_Str";
  assertEquals(oaa[0][0],"String_Node_Str");
  oaa=new Object[4][];
  oaa[0]=new Object[4];
  oaa[0][0]="String_Node_Str";
  assertEquals(oaa[0][0],"String_Node_Str");
  Apple[] apple=noOptimizeTrue() ? new Granny[3] : new Apple[3];
  Apple g=noOptimizeTrue() ? (Apple)new Granny() : (Apple)new Fuji();
  Apple a=apple[0]=g;
  assertEquals(g,a);
  byte[] bytes=new byte[10];
  bytes[0]=(byte)'1';
  assertEquals(49,bytes[0]);
}
Program: 83134
Project: 83134
Buggy source:
public Lists(Sink.Images images){
  combo.setVisibleItemCount(1);
  combo.addChangeListener(this);
  list.setVisibleItemCount(10);
  list.setMultipleSelect(true);
  for (int i=0; i < stringLists.length; ++i) {
    combo.addItem("String_Node_Str" + i);
  }
  combo.setSelectedIndex(0);
  fillList(0);
  list.addChangeListener(this);
  for (int i=0; i < words.length; ++i) {
    oracle.add(words[i]);
  }
  VerticalPanel suggestPanel=new VerticalPanel();
  suggestPanel.add(new Label("String_Node_Str"));
  suggestPanel.add(suggestBox);
  HorizontalPanel horz=new HorizontalPanel();
  horz.setVerticalAlignment(HorizontalPanel.ALIGN_TOP);
  horz.setSpacing(8);
  horz.add(combo);
  horz.add(list);
  horz.add(suggestPanel);
  horz.add(tree);
  VerticalPanel panel=new VerticalPanel();
  panel.setHorizontalAlignment(VerticalPanel.ALIGN_LEFT);
  panel.add(horz);
  initWidget(panel);
  tree=new Tree(images);
  for (int i=0; i < fProto.length; ++i) {
    createItem(fProto[i]);
    tree.addItem(fProto[i].item);
  }
  tree.addTreeListener(this);
  tree.setWidth("String_Node_Str");
}

Fixed version (ground truth):
public Lists(Sink.Images images){
  combo.setVisibleItemCount(1);
  combo.addChangeListener(this);
  list.setVisibleItemCount(10);
  list.setMultipleSelect(true);
  for (int i=0; i < stringLists.length; ++i) {
    combo.addItem("String_Node_Str" + i);
  }
  combo.setSelectedIndex(0);
  fillList(0);
  list.addChangeListener(this);
  for (int i=0; i < words.length; ++i) {
    oracle.add(words[i]);
  }
  VerticalPanel suggestPanel=new VerticalPanel();
  suggestPanel.add(new Label("String_Node_Str"));
  suggestPanel.add(suggestBox);
  HorizontalPanel horz=new HorizontalPanel();
  horz.setVerticalAlignment(HorizontalPanel.ALIGN_TOP);
  horz.setSpacing(8);
  horz.add(combo);
  horz.add(list);
  horz.add(suggestPanel);
  VerticalPanel panel=new VerticalPanel();
  panel.setHorizontalAlignment(VerticalPanel.ALIGN_LEFT);
  panel.add(horz);
  initWidget(panel);
  tree=new Tree(images);
  for (int i=0; i < fProto.length; ++i) {
    createItem(fProto[i]);
    tree.addItem(fProto[i].item);
  }
  tree.addTreeListener(this);
  tree.setWidth("String_Node_Str");
  horz.add(tree);
}
Program: 83135
Project: 83135
Buggy source:
private native boolean isMac();

Fixed version (ground truth):
private static native boolean isMac();
Program: 83136
Project: 83136
Buggy source:
public Element createElement(){
  final Element outerElem=DOM.createDiv();
  if (isMac()) {
    DOM.setInnerHTML(outerElem,"String_Node_Str");
    DeferredCommand.addCommand(new Command(){
      public void execute(){
        DOM.setStyleAttribute(outerElem,"String_Node_Str","String_Node_Str");
      }
    }
);
    containerElement=DOM.getFirstChild(outerElem);
  }
 else {
    containerElement=outerElem;
  }
  return outerElem;
}

Fixed version (ground truth):
public Element createElement(){
  final Element outerElem=DOM.createDiv();
  if (isMac) {
    DOM.setInnerHTML(outerElem,"String_Node_Str");
    DeferredCommand.addCommand(new Command(){
      public void execute(){
        DOM.setStyleAttribute(outerElem,"String_Node_Str","String_Node_Str");
      }
    }
);
  }
  return outerElem;
}
Program: 83137
Project: 83137
Buggy source:
public Element getContainerElement(Element popup){
  return containerElement;
}

Fixed version (ground truth):
public Element getContainerElement(Element outerElem){
  return isMac ? DOM.getFirstChild(outerElem) : outerElem;
}
Program: 83138
Project: 83138
Buggy source:
/** 
 * Gets the top position of the specified widget within the panel.
 * @param w the widget whose position is to be retrieved
 * @return the widget's top position
 */
public int getWidgetTop(Widget w){
  checkWidgetParent(w);
  return DOM.getElementPropertyInt(w.getElement(),"String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Gets the position of the top outer border edge of the widget relative to the top outer border edge of the panel.
 * @param w the widget whose position is to be retrieved
 * @return the widget's top position
 */
public int getWidgetTop(Widget w){
  checkWidgetParent(w);
  return DOM.getAbsoluteTop(w.getElement()) - DOM.getAbsoluteTop(getElement());
}
Program: 83139
Project: 83139
Buggy source:
/** 
 * Gets the left position of the specified widget within the panel.
 * @param w the widget whose position is to be retrieved
 * @return the widget's left position
 */
public int getWidgetLeft(Widget w){
  checkWidgetParent(w);
  return DOM.getElementPropertyInt(w.getElement(),"String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Gets the position of the left outer border edge of the widget relative to the left outer border edge of the panel.
 * @param w the widget whose position is to be retrieved
 * @return the widget's left position
 */
public int getWidgetLeft(Widget w){
  checkWidgetParent(w);
  return DOM.getAbsoluteLeft(w.getElement()) - DOM.getAbsoluteLeft(getElement());
}
Program: 83140
Project: 83140
Buggy source:
native void initEvents();

Fixed version (ground truth):
private static native void initEvents(Element elem);
Program: 83141
Project: 83141
Buggy source:
/** 
 * Adds all sinks to the list. Note that this does not create actual instances of all sinks yet (they are created on-demand). This can make a significant difference in startup time.
 */
protected void loadSinks(){
  list.addSink(Info.init());
  list.addSink(Widgets.init());
  list.addSink(Panels.init());
  list.addSink(Lists.init());
  list.addSink(Text.init());
  list.addSink(Popups.init());
}

Fixed version (ground truth):
/** 
 * Adds all sinks to the list. Note that this does not create actual instances of all sinks yet (they are created on-demand). This can make a significant difference in startup time.
 */
protected void loadSinks(){
  list.addSink(Info.init());
  list.addSink(Widgets.init(images));
  list.addSink(Panels.init(images));
  list.addSink(Lists.init(images));
  list.addSink(Text.init());
  list.addSink(Popups.init());
}
Program: 83142
Project: 83142
Buggy source:
public static SinkInfo init(){
  return new SinkInfo("String_Node_Str","String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"){
    public Sink createInstance(){
      return new Lists();
    }
  }
;
}

Fixed version (ground truth):
public static SinkInfo init(final Sink.Images images){
  return new SinkInfo("String_Node_Str","String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"){
    public Sink createInstance(){
      return new Lists(images);
    }
  }
;
}
Program: 83143
Project: 83143
Buggy source:
public Sink createInstance(){
  return new Lists();
}

Fixed version (ground truth):
public Sink createInstance(){
  return new Lists(images);
}
Program: 83144
Project: 83144
Buggy source:
public Lists(){
  combo.setVisibleItemCount(1);
  combo.addChangeListener(this);
  list.setVisibleItemCount(10);
  list.setMultipleSelect(true);
  for (int i=0; i < stringLists.length; ++i) {
    combo.addItem("String_Node_Str" + i);
  }
  combo.setSelectedIndex(0);
  fillList(0);
  list.addChangeListener(this);
  for (int i=0; i < words.length; ++i) {
    oracle.add(words[i]);
  }
  VerticalPanel suggestPanel=new VerticalPanel();
  suggestPanel.add(new Label("String_Node_Str"));
  suggestPanel.add(suggestBox);
  HorizontalPanel horz=new HorizontalPanel();
  horz.setVerticalAlignment(HorizontalPanel.ALIGN_TOP);
  horz.setSpacing(8);
  horz.add(combo);
  horz.add(list);
  horz.add(suggestPanel);
  horz.add(tree);
  VerticalPanel panel=new VerticalPanel();
  panel.setHorizontalAlignment(VerticalPanel.ALIGN_LEFT);
  panel.add(horz);
  initWidget(panel);
  for (int i=0; i < fProto.length; ++i) {
    createItem(fProto[i]);
    tree.addItem(fProto[i].item);
  }
  tree.addTreeListener(this);
  tree.setWidth("String_Node_Str");
}

Fixed version (ground truth):
public Lists(Sink.Images images){
  combo.setVisibleItemCount(1);
  combo.addChangeListener(this);
  list.setVisibleItemCount(10);
  list.setMultipleSelect(true);
  for (int i=0; i < stringLists.length; ++i) {
    combo.addItem("String_Node_Str" + i);
  }
  combo.setSelectedIndex(0);
  fillList(0);
  list.addChangeListener(this);
  for (int i=0; i < words.length; ++i) {
    oracle.add(words[i]);
  }
  VerticalPanel suggestPanel=new VerticalPanel();
  suggestPanel.add(new Label("String_Node_Str"));
  suggestPanel.add(suggestBox);
  HorizontalPanel horz=new HorizontalPanel();
  horz.setVerticalAlignment(HorizontalPanel.ALIGN_TOP);
  horz.setSpacing(8);
  horz.add(combo);
  horz.add(list);
  horz.add(suggestPanel);
  horz.add(tree);
  VerticalPanel panel=new VerticalPanel();
  panel.setHorizontalAlignment(VerticalPanel.ALIGN_LEFT);
  panel.add(horz);
  initWidget(panel);
  tree=new Tree(images);
  for (int i=0; i < fProto.length; ++i) {
    createItem(fProto[i]);
    tree.addItem(fProto[i].item);
  }
  tree.addTreeListener(this);
  tree.setWidth("String_Node_Str");
}
Program: 83145
Project: 83145
Buggy source:
public static SinkInfo init(){
  return new SinkInfo("String_Node_Str","String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"){
    public Sink createInstance(){
      return new Panels();
    }
    public String getColor(){
      return "String_Node_Str";
    }
  }
;
}

Fixed version (ground truth):
public static SinkInfo init(final Sink.Images images){
  return new SinkInfo("String_Node_Str","String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"){
    public Sink createInstance(){
      return new Panels(images);
    }
    public String getColor(){
      return "String_Node_Str";
    }
  }
;
}
Program: 83147
Project: 83147
Buggy source:
public Sink createInstance(){
  return new Panels();
}

Fixed version (ground truth):
public Sink createInstance(){
  return new Panels(images);
}
Program: 83148
Project: 83148
Buggy source:
public SinkList(){
  initWidget(list);
  list.add(new Image("String_Node_Str"));
  setStyleName("String_Node_Str");
}

Fixed version (ground truth):
public SinkList(Sink.Images images){
  initWidget(list);
  list.add(images.gwtLogo().createImage());
  setStyleName("String_Node_Str");
}
Program: 83149
Project: 83149
Buggy source:
public static SinkInfo init(){
  return new SinkInfo("String_Node_Str","String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"){
    public Sink createInstance(){
      return new Widgets();
    }
    public String getColor(){
      return "String_Node_Str";
    }
  }
;
}

Fixed version (ground truth):
public static SinkInfo init(final Sink.Images images){
  return new SinkInfo("String_Node_Str","String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"){
    public Sink createInstance(){
      return new Widgets(images);
    }
    public String getColor(){
      return "String_Node_Str";
    }
  }
;
}
Program: 83150
Project: 83150
Buggy source:
public Sink createInstance(){
  return new Widgets();
}

Fixed version (ground truth):
public Sink createInstance(){
  return new Widgets(images);
}