nus-yam/ex-repair huggingface dataset:
Program: 18570
Project: 18570
Buggy source:
protected void getConsumerServicePerformanceTrends(final String serviceName,final String operationName,final long date1,final long date2,final int durationHrs,List<String> consumerNames){
  ConsumerTabCallbackQueue queue=new ConsumerResponseTimeCallbackQueue();
  queue.setView(ConsumerPresenter.this.view);
  final Iterator<String> consuemrIterator=consumerNames.iterator();
  String consumerName=null;
  while (consuemrIterator.hasNext()) {
    consumerName=consuemrIterator.next();
    GWT.log("String_Node_Str" + consumerName);
    ParallelCallback<List<TimeSlotData>> cllbck=new ParallelCallback<List<TimeSlotData>>();
    cllbck.setId(consumerName);
    queue.add(cllbck);
    CriteriaInfoImpl criteriaInfo=new CriteriaInfoImpl();
    criteriaInfo.setMetricName("String_Node_Str");
    criteriaInfo.setConsumerName(consumerName);
    criteriaInfo.setServiceName(serviceName);
    if (operationName != null) {
      criteriaInfo.setOperationName(operationName);
    }
    criteriaInfo.setRoleType("String_Node_Str");
    MetricValue firstDateValue=new MetricValue(criteriaInfo,date1,3600l * durationHrs,3600,"String_Node_Str");
    MetricValue secondDateValue=new MetricValue(criteriaInfo,date2,3600l * durationHrs,3600,"String_Node_Str");
    queryService.getMetricValueTrend(firstDateValue,secondDateValue,cllbck);
  }
}

Fixed version (ground truth):
protected void getConsumerServicePerformanceTrends(final String serviceName,final String operationName,final long date1,final long date2,final int durationHrs,List<String> consumerNames){
  ConsumerTabCallbackQueue queue=new ConsumerResponseTimeCallbackQueue(serviceName,operationName,durationHrs,ConsumerPresenter.this.view);
  final Iterator<String> consuemrIterator=consumerNames.iterator();
  String consumerName=null;
  while (consuemrIterator.hasNext()) {
    consumerName=consuemrIterator.next();
    GWT.log("String_Node_Str" + consumerName);
    ParallelCallback<List<TimeSlotData>> cllbck=new ParallelCallback<List<TimeSlotData>>();
    cllbck.setId(consumerName);
    queue.add(cllbck);
    CriteriaInfoImpl criteriaInfo=new CriteriaInfoImpl();
    criteriaInfo.setMetricName("String_Node_Str");
    criteriaInfo.setConsumerName(consumerName);
    criteriaInfo.setServiceName(serviceName);
    if (operationName != null) {
      criteriaInfo.setOperationName(operationName);
    }
    criteriaInfo.setRoleType("String_Node_Str");
    MetricValue firstDateValue=new MetricValue(criteriaInfo,date1,3600l * durationHrs,3600,"String_Node_Str");
    MetricValue secondDateValue=new MetricValue(criteriaInfo,date2,3600l * durationHrs,3600,"String_Node_Str");
    queryService.getMetricValueTrend(firstDateValue,secondDateValue,cllbck);
  }
}
Program: 18571
Project: 18571
Buggy source:
public void onSelection(SelectionEvent<TreeItem> event){
  TreeItem selection=event.getSelectedItem();
  selectionContext.unselect(ObjectType.ServiceName);
  selectionContext.unselect(ObjectType.OperationName);
  if (selection.getParentItem() != null) {
    if (selection.getChildCount() == 0) {
      selectionContext.select(ObjectType.OperationName,selection.getText());
      selectionContext.select(ObjectType.ServiceName,selection.getParentItem().getText());
    }
 else {
      selectionContext.select(ObjectType.ServiceName,selection.getText());
    }
  }
  view.setSelection(selectionContext.getSelections());
  eventBus.fireEvent(new ObjectSelectionEvent(selectionContext.getSelections()));
  selectedDate1=ConsumerPresenter.this.view.getFilter().getDate1().getValue().getTime();
  selectedDate2=ConsumerPresenter.this.view.getFilter().getDate2().getValue().getTime();
  int hour1=ConsumerPresenter.this.view.getFilter().getHour1();
  int hour2=ConsumerPresenter.this.view.getFilter().getHour2();
  selectedDate1+=(Util.HRS_1_MS * hour1);
  selectedDate2+=(Util.HRS_1_MS * hour2);
  selectedDuration=ConsumerPresenter.this.view.getFilter().getDuration();
  selectedMetrics=Util.convertToEnumFromCamelCase(ConsumerPresenter.this.view.getFilter().getSelectedMetricNames(),ConsumerMetric.class);
  view.reset();
  fetchMetrics(selectedMetrics,selectionContext,selectedDate1,selectedDate2,selectedDuration);
  insertHistory(selectionContext,selectedDate1,selectedDate2,selectedDuration,selectedMetrics,false);
}

Fixed version (ground truth):
public void onSelection(SelectionEvent<TreeItem> event){
  TreeItem selection=event.getSelectedItem();
  selectionContext.unselect(ObjectType.ServiceName);
  selectionContext.unselect(ObjectType.OperationName);
  if (selection.getParentItem() != null) {
    if (selection.getChildCount() == 0) {
      selectionContext.select(ObjectType.OperationName,selection.getText());
      selectionContext.select(ObjectType.ServiceName,selection.getParentItem().getText());
    }
 else {
      selectionContext.select(ObjectType.ServiceName,selection.getText());
    }
  }
  view.setSelection(selectionContext.getSelections());
  eventBus.fireEvent(new ObjectSelectionEvent(selectionContext.getSelections()));
  selectedDate1=ConsumerPresenter.this.view.getFilter().getDate1().getValue().getTime();
  selectedDate2=ConsumerPresenter.this.view.getFilter().getDate2().getValue().getTime();
  int hour1=ConsumerPresenter.this.view.getFilter().getHour1();
  int hour2=ConsumerPresenter.this.view.getFilter().getHour1();
  selectedDate1+=(Util.HRS_1_MS * hour1);
  selectedDate2+=(Util.HRS_1_MS * hour2);
  selectedDuration=ConsumerPresenter.this.view.getFilter().getDuration();
  selectedMetrics=Util.convertToEnumFromCamelCase(ConsumerPresenter.this.view.getFilter().getSelectedMetricNames(),ConsumerMetric.class);
  view.reset();
  fetchMetrics(selectedMetrics,selectionContext,selectedDate1,selectedDate2,selectedDuration);
  insertHistory(selectionContext,selectedDate1,selectedDate2,selectedDuration,selectedMetrics,false);
}
Program: 18575
Project: 18575
Buggy source:
public void onValueChange(ValueChangeEvent<Date> event){
  Date date=event.getValue();
  int[] hrs=Util.getAvailableHours(date);
  view.getFilter().setHours2(hrs);
}

Fixed version (ground truth):
public void onValueChange(ValueChangeEvent<Date> event){
  Date date=event.getValue();
  int[] hrs=Util.getAvailableHours(date);
}
Program: 18579
Project: 18579
Buggy source:
public void onValueChange(ValueChangeEvent<Date> event){
  Date date=event.getValue();
  int[] hrs=Util.getAvailableHours(date);
  ServicePresenter.this.view.getFilter().setHours2(hrs);
}

Fixed version (ground truth):
public void onValueChange(ValueChangeEvent<Date> event){
  Date date=event.getValue();
  int[] hrs=Util.getAvailableHours(date);
  ServicePresenter.this.view.getFilter().setHours1(hrs);
}
Program: 18585
Project: 18585
Buggy source:
public void onResponseReceived(final Request request,final Response response){
  if (response.getStatusCode() != Response.SC_OK) {
    GWT.log("String_Node_Str" + url + "String_Node_Str"+ response.getStatusCode()+ "String_Node_Str"+ response.getText());
    callback.onFailure(getErrorAsThrowable(response));
  }
 else   if (response.getHeader(ERROR_HEADER) != null) {
    GWT.log("String_Node_Str" + url + "String_Node_Str"+ response.getStatusCode()+ "String_Node_Str"+ response.getText());
    callback.onFailure(getErrorAsThrowable(response));
  }
 else {
    MetricsMetaDataResponse metaDataResponse=MetricsMetaDataResponse.fromJSON(response.getText());
    if (metaDataResponse == null)     callback.onFailure(new Throwable(ConsoleUtil.messages.badOrMissingResponseData()));
 else {
      Set<String> consumerNames=metaDataResponse.getOrderedResourceEntityResponseNames();
      callback.onSuccess(consumerNames);
    }
  }
}

Fixed version (ground truth):
public void onResponseReceived(final Request request,final Response response){
  if (response.getStatusCode() != Response.SC_OK) {
    GWT.log("String_Node_Str" + url + "String_Node_Str"+ response.getStatusCode()+ "String_Node_Str"+ response.getText());
    callback.onFailure(getErrorAsThrowable(response));
  }
 else   if (response.getHeader(ERROR_HEADER) != null && response.getHeader(ERROR_HEADER).length() > 0) {
    GWT.log("String_Node_Str" + url + "String_Node_Str"+ response.getStatusCode()+ "String_Node_Str"+ response.getText());
    callback.onFailure(getErrorAsThrowable(response));
  }
 else {
    MetricsMetaDataResponse metaDataResponse=MetricsMetaDataResponse.fromJSON(response.getText());
    if (metaDataResponse == null)     callback.onFailure(new Throwable(ConsoleUtil.messages.badOrMissingResponseData()));
 else {
      Set<String> consumerNames=metaDataResponse.getOrderedResourceEntityResponseNames();
      callback.onSuccess(consumerNames);
    }
  }
}
Program: 18597
Project: 18597
Buggy source:
public void getErrorTrend(final ErrorCriteria ec,final MetricCriteria firstDate,final MetricCriteria secondDate,final AsyncCallback<List<ErrorTimeSlotData>> callback);

Fixed version (ground truth):
/** 
 * Gets the error trend.
 * @param ec the ec
 * @param firstDate the first date
 * @param secondDate the second date
 * @param callback the callback
 * @return the error trend
 */
public void getErrorTrend(final ErrorCriteria ec,final MetricCriteria firstDate,final MetricCriteria secondDate,final AsyncCallback<List<ErrorTimeSlotData>> callback);
Program: 18599
Project: 18599
Buggy source:
/** 
 * Sets the consumer performance trend data.
 * @param dataRanges the new consumer performance trend data
 */
public void setConsumerPerformanceTrendData(List<TimeSlotData> dataRanges,long aggregationPeriod,int hourSpan,String graphTile);

Fixed version (ground truth):
/** 
 * Sets the consumer performance trend data.
 * @param dataRanges the new consumer performance trend data
 * @param aggregationPeriod the aggregation period
 * @param hourSpan the hour span
 * @param graphTile the graph tile
 */
public void setConsumerPerformanceTrendData(List<TimeSlotData> dataRanges,long aggregationPeriod,int hourSpan,String graphTile);
Program: 18600
Project: 18600
Buggy source:
/** 
 * Sets the consumer call trend data.
 * @param graphData the new consumer call trend data
 */
void setConsumerCallTrendData(List<TimeSlotData> graphData,long aggregationPeriod,int hourSpan,String graphTile);

Fixed version (ground truth):
/** 
 * Sets the consumer call trend data.
 * @param graphData the new consumer call trend data
 * @param aggregationPeriod the aggregation period
 * @param hourSpan the hour span
 * @param graphTile the graph tile
 */
void setConsumerCallTrendData(List<TimeSlotData> graphData,long aggregationPeriod,int hourSpan,String graphTile);
Program: 18601
Project: 18601
Buggy source:
/** 
 * Sets the consumer error count trend data.
 * @param graphData the graph data
 * @param graphTitle the graph title
 */
public void setConsumerErrorCountTrendData(Map<String,List<TimeSlotData>> graphData,long aggregationPeriod,int hourSpan,String graphTitle);

Fixed version (ground truth):
/** 
 * Sets the consumer error count trend data.
 * @param graphData the graph data
 * @param aggregationPeriod the aggregation period
 * @param hourSpan the hour span
 * @param graphTitle the graph title
 */
public void setConsumerErrorCountTrendData(Map<String,List<TimeSlotData>> graphData,long aggregationPeriod,int hourSpan,String graphTitle);
Program: 18602
Project: 18602
Buggy source:
/** 
 * Sets the consumer error trend data.
 * @param dataRanges the new consumer error trend data
 */
public void setConsumerErrorTrendData(List<TimeSlotData> dataRanges,long aggregationPeriod,int hourSpan,String graphTile);

Fixed version (ground truth):
/** 
 * Sets the consumer error trend data.
 * @param dataRanges the new consumer error trend data
 * @param aggregationPeriod the aggregation period
 * @param hourSpan the hour span
 * @param graphTile the graph tile
 */
public void setConsumerErrorTrendData(List<TimeSlotData> dataRanges,long aggregationPeriod,int hourSpan,String graphTile);
Program: 18603
Project: 18603
Buggy source:
/** 
 * Sets the consumer service call trend data.
 * @param graphData the graph data
 * @param graphTitle the graph title
 */
public void setConsumerServiceCallTrendData(Map<String,List<TimeSlotData>> graphData,long aggregationPeriod,int hourSpan,String graphTitle);

Fixed version (ground truth):
/** 
 * Sets the consumer service call trend data.
 * @param graphData the graph data
 * @param aggregationPeriod the aggregation period
 * @param hourSpan the hour span
 * @param graphTitle the graph title
 */
public void setConsumerServiceCallTrendData(Map<String,List<TimeSlotData>> graphData,long aggregationPeriod,int hourSpan,String graphTitle);
Program: 18604
Project: 18604
Buggy source:
/** 
 * Sets the consumer service performance trend data.
 * @param graphData the graph data
 * @param graphTitle the graph title
 */
public void setConsumerServicePerformanceTrendData(Map<String,List<TimeSlotData>> graphData,long aggregationPeriod,int hourSpan,String graphTitle);

Fixed version (ground truth):
/** 
 * Sets the consumer service performance trend data.
 * @param graphData the graph data
 * @param aggregationPeriod the aggregation period
 * @param hourSpan the hour span
 * @param graphTitle the graph title
 */
public void setConsumerServicePerformanceTrendData(Map<String,List<TimeSlotData>> graphData,long aggregationPeriod,int hourSpan,String graphTitle);
Program: 18605
Project: 18605
Buggy source:
public void setServiceRequestErrorTrendData(List<ErrorTimeSlotData> dataRanges,String graphTitle);

Fixed version (ground truth):
/** 
 * Sets the service request error trend data.
 * @param dataRanges the data ranges
 * @param aggregationPeriod the aggregation period
 * @param hourSpan the hour span
 * @param graphTitle the graph title
 */
public void setServiceRequestErrorTrendData(List<ErrorTimeSlotData> dataRanges,long aggregationPeriod,int hourSpan,String graphTitle);
Program: 18606
Project: 18606
Buggy source:
public void setServiceSystemErrorTrendData(List<ErrorTimeSlotData> dataRanges,String graphTitle);

Fixed version (ground truth):
/** 
 * Sets the service system error trend data.
 * @param dataRanges the data ranges
 * @param aggregationPeriod the aggregation period
 * @param hourSpan the hour span
 * @param graphTitle the graph title
 */
public void setServiceSystemErrorTrendData(List<ErrorTimeSlotData> dataRanges,long aggregationPeriod,int hourSpan,String graphTitle);
Program: 18607
Project: 18607
Buggy source:
public void setServiceApplicationErrorTrendData(List<ErrorTimeSlotData> dataRanges,String graphTitle);

Fixed version (ground truth):
/** 
 * Sets the service application error trend data.
 * @param dataRanges the data ranges
 * @param aggregationPeriod the aggregation period
 * @param hourSpan the hour span
 * @param graphTitle the graph title
 */
public void setServiceApplicationErrorTrendData(List<ErrorTimeSlotData> dataRanges,long aggregationPeriod,int hourSpan,String graphTitle);
Program: 18608
Project: 18608
Buggy source:
private void getServiceRequestErrorTrend(SelectionContext selectionContext2,long date1,long date2,final int durationHrs){
  AsyncCallback<List<ErrorTimeSlotData>> callback=new AsyncCallback<List<ErrorTimeSlotData>>(){
    @Override public void onSuccess(    List<ErrorTimeSlotData> dataRanges){
      String serviceOpName=selectionContext.getSelection(ObjectType.ServiceName);
      if (selectionContext.getSelection(ObjectType.OperationName) != null) {
        serviceOpName+="String_Node_Str" + selectionContext.getSelection(ObjectType.OperationName);
      }
      String graphTitle=ConsoleUtil.messages.graphTitle("String_Node_Str",serviceOpName,durationHrs);
      ErrorPresenter.this.view.activate();
      ErrorPresenter.this.view.setServiceRequestErrorTrendData(dataRanges,graphTitle);
    }
    @Override public void onFailure(    Throwable exception){
      GWT.log(exception.getMessage());
    }
  }
;
  this.getSimpleErrorGraphData(ErrorType.Category,ErrorCategory.Request,null,"String_Node_Str",minAggregationPeriod,selectionContext,date1,date2,durationHrs,callback);
}

Fixed version (ground truth):
private void getServiceRequestErrorTrend(SelectionContext selectionContext2,long date1,long date2,final int durationHrs){
  AsyncCallback<List<ErrorTimeSlotData>> callback=new AsyncCallback<List<ErrorTimeSlotData>>(){
    @Override public void onSuccess(    List<ErrorTimeSlotData> dataRanges){
      String serviceOpName=selectionContext.getSelection(ObjectType.ServiceName);
      if (selectionContext.getSelection(ObjectType.OperationName) != null) {
        serviceOpName+="String_Node_Str" + selectionContext.getSelection(ObjectType.OperationName);
      }
      String graphTitle=ConsoleUtil.messages.graphTitle("String_Node_Str",serviceOpName,durationHrs);
      ErrorPresenter.this.view.activate();
      ErrorPresenter.this.view.setServiceRequestErrorTrendData(dataRanges,minAggregationPeriod,durationHrs,graphTitle);
    }
    @Override public void onFailure(    Throwable exception){
      GWT.log(exception.getMessage());
    }
  }
;
  this.getSimpleErrorGraphData(ErrorType.Category,ErrorCategory.Request,null,"String_Node_Str",minAggregationPeriod,selectionContext,date1,date2,durationHrs,callback);
}
Program: 18609
Project: 18609
Buggy source:
private void getServiceSystemErrorTrend(final SelectionContext selectionContext2,final long date1,final long date2,final int durationHrs){
  AsyncCallback<List<ErrorTimeSlotData>> callback=new AsyncCallback<List<ErrorTimeSlotData>>(){
    @Override public void onSuccess(    List<ErrorTimeSlotData> dataRanges){
      String serviceOpName=selectionContext.getSelection(ObjectType.ServiceName);
      if (selectionContext.getSelection(ObjectType.OperationName) != null) {
        serviceOpName+="String_Node_Str" + selectionContext.getSelection(ObjectType.OperationName);
      }
      String graphTitle=ConsoleUtil.messages.graphTitle("String_Node_Str",serviceOpName,durationHrs);
      ErrorPresenter.this.view.activate();
      ErrorPresenter.this.view.setServiceSystemErrorTrendData(dataRanges,graphTitle);
    }
    @Override public void onFailure(    Throwable exception){
      GWT.log(exception.getMessage());
    }
  }
;
  this.getSimpleErrorGraphData(ErrorType.Category,ErrorCategory.System,null,"String_Node_Str",minAggregationPeriod,selectionContext,date1,date2,durationHrs,callback);
}

Fixed version (ground truth):
private void getServiceSystemErrorTrend(final SelectionContext selectionContext2,final long date1,final long date2,final int durationHrs){
  AsyncCallback<List<ErrorTimeSlotData>> callback=new AsyncCallback<List<ErrorTimeSlotData>>(){
    @Override public void onSuccess(    List<ErrorTimeSlotData> dataRanges){
      String serviceOpName=selectionContext.getSelection(ObjectType.ServiceName);
      if (selectionContext.getSelection(ObjectType.OperationName) != null) {
        serviceOpName+="String_Node_Str" + selectionContext.getSelection(ObjectType.OperationName);
      }
      String graphTitle=ConsoleUtil.messages.graphTitle("String_Node_Str",serviceOpName,durationHrs);
      ErrorPresenter.this.view.activate();
      ErrorPresenter.this.view.setServiceSystemErrorTrendData(dataRanges,minAggregationPeriod,durationHrs,graphTitle);
    }
    @Override public void onFailure(    Throwable exception){
      GWT.log(exception.getMessage());
    }
  }
;
  this.getSimpleErrorGraphData(ErrorType.Category,ErrorCategory.System,null,"String_Node_Str",minAggregationPeriod,selectionContext,date1,date2,durationHrs,callback);
}
Program: 18610
Project: 18610
Buggy source:
private void getServiceApplicationErrorTrend(SelectionContext selectionContext2,long date1,long date2,final int durationHrs){
  AsyncCallback<List<ErrorTimeSlotData>> callback=new AsyncCallback<List<ErrorTimeSlotData>>(){
    @Override public void onSuccess(    List<ErrorTimeSlotData> dataRanges){
      String serviceOpName=selectionContext.getSelection(ObjectType.ServiceName);
      if (selectionContext.getSelection(ObjectType.OperationName) != null) {
        serviceOpName+="String_Node_Str" + selectionContext.getSelection(ObjectType.OperationName);
      }
      String graphTitle=ConsoleUtil.messages.graphTitle("String_Node_Str",serviceOpName,durationHrs);
      ErrorPresenter.this.view.activate();
      ErrorPresenter.this.view.setServiceApplicationErrorTrendData(dataRanges,graphTitle);
    }
    @Override public void onFailure(    Throwable exception){
      GWT.log(exception.getMessage());
    }
  }
;
  this.getSimpleErrorGraphData(ErrorType.Category,ErrorCategory.Application,null,"String_Node_Str",minAggregationPeriod,selectionContext,date1,date2,durationHrs,callback);
}

Fixed version (ground truth):
private void getServiceApplicationErrorTrend(SelectionContext selectionContext2,long date1,long date2,final int durationHrs){
  AsyncCallback<List<ErrorTimeSlotData>> callback=new AsyncCallback<List<ErrorTimeSlotData>>(){
    @Override public void onSuccess(    List<ErrorTimeSlotData> dataRanges){
      String serviceOpName=selectionContext.getSelection(ObjectType.ServiceName);
      if (selectionContext.getSelection(ObjectType.OperationName) != null) {
        serviceOpName+="String_Node_Str" + selectionContext.getSelection(ObjectType.OperationName);
      }
      String graphTitle=ConsoleUtil.messages.graphTitle("String_Node_Str",serviceOpName,durationHrs);
      ErrorPresenter.this.view.activate();
      ErrorPresenter.this.view.setServiceApplicationErrorTrendData(dataRanges,minAggregationPeriod,durationHrs,graphTitle);
    }
    @Override public void onFailure(    Throwable exception){
      GWT.log(exception.getMessage());
    }
  }
;
  this.getSimpleErrorGraphData(ErrorType.Category,ErrorCategory.Application,null,"String_Node_Str",minAggregationPeriod,selectionContext,date1,date2,durationHrs,callback);
}
Program: 18611
Project: 18611
Buggy source:
/** 
 * Sets the service error trend data.
 * @param dataRanges the new service error trend data
 */
public void setServiceErrorTrendData(List<TimeSlotData> dataRanges,long aggregationPeriod,int hourSpan,String graphTitle);

Fixed version (ground truth):
/** 
 * Sets the service error trend data.
 * @param dataRanges the new service error trend data
 * @param aggregationPeriod the aggregation period
 * @param hourSpan the hour span
 * @param graphTitle the graph title
 */
public void setServiceErrorTrendData(List<TimeSlotData> dataRanges,long aggregationPeriod,int hourSpan,String graphTitle);
Program: 18612
Project: 18612
Buggy source:
/** 
 * Sets the service call trend data.
 * @param dataRanges the new service call trend data
 */
public void setServiceCallTrendData(List<TimeSlotData> dataRanges,long aggregationPeriod,int hourSpan,String graphTitle);

Fixed version (ground truth):
/** 
 * Sets the service call trend data.
 * @param dataRanges the new service call trend data
 * @param aggregationPeriod the aggregation period
 * @param hourSpan the hour span
 * @param graphTitle the graph title
 */
public void setServiceCallTrendData(List<TimeSlotData> dataRanges,long aggregationPeriod,int hourSpan,String graphTitle);
Program: 18613
Project: 18613
Buggy source:
public HasWidgets getErrorWidget();

Fixed version (ground truth):
/** 
 * Gets the error widget.
 * @return the error widget
 */
public HasWidgets getErrorWidget();
Program: 18614
Project: 18614
Buggy source:
/** 
 * Sets the service performance trend data.
 * @param dataRanges the new service performance trend data
 */
public void setServicePerformanceTrendData(List<TimeSlotData> dataRanges,long aggregationPeriod,int hourSpan,String graphTitle);

Fixed version (ground truth):
/** 
 * Sets the service performance trend data.
 * @param dataRanges the new service performance trend data
 * @param aggregationPeriod the aggregation period
 * @param hourSpan the hour span
 * @param graphTitle the graph title
 */
public void setServicePerformanceTrendData(List<TimeSlotData> dataRanges,long aggregationPeriod,int hourSpan,String graphTitle);
Program: 18615
Project: 18615
Buggy source:
public static void getSimpleErrorGraphData(MetricsQueryService queryService,ErrorType errorType,ErrorCategory errorCategory,ErrorSeverity severity,String roleType,long aggregationPeriod,final SelectionContext selectionContext,long date1,long date2,final int hourSpan,AsyncCallback<List<ErrorTimeSlotData>> callback){
  String serviceName=selectionContext.getSelection(ObjectType.ServiceName);
  String operationName=selectionContext.getSelection(ObjectType.OperationName);
  String consumerName=selectionContext.getSelection(ObjectType.ConsumerName);
  List<String> serviceNames=null;
  List<String> consumerNames=null;
  List<String> operationNames=null;
  if (serviceName != null) {
    serviceNames=Arrays.asList(serviceName);
  }
  if (consumerName != null) {
    consumerNames=Arrays.asList(consumerName);
  }
  if (operationName != null) {
    operationNames=Arrays.asList(operationName);
  }
  ErrorCriteria ec=ErrorCriteria.newErrorCriteria(errorType,serviceNames,operationNames,consumerNames,null,false,errorCategory,severity);
  MetricCriteria firstDate=new MetricCriteria("String_Node_Str",date1,hourSpan,(int)aggregationPeriod);
  MetricCriteria secondDate=new MetricCriteria("String_Node_Str",date2,hourSpan,(int)aggregationPeriod);
  queryService.getErrorTrend(ec,firstDate,secondDate,callback);
}

Fixed version (ground truth):
/** 
 * Gets the simple error graph data.
 * @param queryService the query service
 * @param errorType the error type
 * @param errorCategory the error category
 * @param severity the severity
 * @param roleType the role type
 * @param aggregationPeriod the aggregation period
 * @param selectionContext the selection context
 * @param date1 the date1
 * @param date2 the date2
 * @param hourSpan the hour span
 * @param callback the callback
 * @return the simple error graph data
 */
public static void getSimpleErrorGraphData(MetricsQueryService queryService,ErrorType errorType,ErrorCategory errorCategory,ErrorSeverity severity,String roleType,long aggregationPeriod,final SelectionContext selectionContext,long date1,long date2,final int hourSpan,AsyncCallback<List<ErrorTimeSlotData>> callback){
  String serviceName=selectionContext.getSelection(ObjectType.ServiceName);
  String operationName=selectionContext.getSelection(ObjectType.OperationName);
  String consumerName=selectionContext.getSelection(ObjectType.ConsumerName);
  List<String> serviceNames=null;
  List<String> consumerNames=null;
  List<String> operationNames=null;
  if (serviceName != null) {
    serviceNames=Arrays.asList(serviceName);
  }
  if (consumerName != null) {
    consumerNames=Arrays.asList(consumerName);
  }
  if (operationName != null) {
    operationNames=Arrays.asList(operationName);
  }
  ErrorCriteria ec=ErrorCriteria.newErrorCriteria(errorType,serviceNames,operationNames,consumerNames,null,false,errorCategory,severity);
  MetricCriteria firstDate=new MetricCriteria("String_Node_Str",date1,hourSpan,(int)aggregationPeriod);
  MetricCriteria secondDate=new MetricCriteria("String_Node_Str",date2,hourSpan,(int)aggregationPeriod);
  queryService.getErrorTrend(ec,firstDate,secondDate,callback);
}
Program: 18616
Project: 18616
Buggy source:
public static void createLineChart(final SummaryPanel panel,final List<TimeSlotData> timeData,final long aggregationPeriod,final int hourSpan,final String graphTitle){
  Runnable onLoadCallback=new Runnable(){
    public void run(){
      final LineChart lineChart=new LineChart(createChartDataTable(timeData,aggregationPeriod,hourSpan),createOptions(graphTitle));
      panel.addChart(lineChart);
    }
  }
;
  VisualizationUtils.loadVisualizationApi(onLoadCallback,"String_Node_Str");
}

Fixed version (ground truth):
/** 
 * Creates the line chart.
 * @param panel the panel
 * @param timeData the time data
 * @param aggregationPeriod the aggregation period
 * @param hourSpan the hour span
 * @param graphTitle the graph title
 */
public static void createLineChart(final SummaryPanel panel,final List<? extends TimeSlotData> timeData,final long aggregationPeriod,final int hourSpan,final String graphTitle){
  Runnable onLoadCallback=new Runnable(){
    public void run(){
      final LineChart lineChart=new LineChart(createChartDataTable(timeData,aggregationPeriod,hourSpan),createOptions(graphTitle));
      panel.addChart(lineChart);
    }
  }
;
  VisualizationUtils.loadVisualizationApi(onLoadCallback,"String_Node_Str");
}
Program: 18618
Project: 18618
Buggy source:
public static void getSimpleGraphData(MetricsQueryService queryService,String metricName,String roleType,long aggregationPeriod,final SelectionContext selectionContext,long date1,long date2,final int hourSpan,AsyncCallback<List<TimeSlotData>> callback){
  long hourToSecondsMultiplier=3600;
  CriteriaInfoImpl criteriaInfo=new CriteriaInfoImpl();
  criteriaInfo.setMetricName(metricName);
  criteriaInfo.setServiceName(selectionContext.getSelection(ObjectType.ServiceName));
  if (selectionContext.getSelection(ObjectType.OperationName) != null) {
    criteriaInfo.setOperationName(selectionContext.getSelection(ObjectType.OperationName));
  }
  criteriaInfo.setRoleType(roleType);
  if (aggregationPeriod >= 3600) {
    hourToSecondsMultiplier=aggregationPeriod;
  }
  queryService.getMetricValueTrend(new MetricValue(criteriaInfo,date1,hourToSecondsMultiplier * hourSpan,(int)aggregationPeriod,"String_Node_Str"),new MetricValue(criteriaInfo,date2,hourToSecondsMultiplier * hourSpan,(int)aggregationPeriod,"String_Node_Str"),callback);
}

Fixed version (ground truth):
/** 
 * Gets the simple graph data.
 * @param queryService the query service
 * @param metricName the metric name
 * @param roleType the role type
 * @param aggregationPeriod the aggregation period
 * @param selectionContext the selection context
 * @param date1 the date1
 * @param date2 the date2
 * @param hourSpan the hour span
 * @param callback the callback
 * @return the simple graph data
 */
public static void getSimpleGraphData(MetricsQueryService queryService,String metricName,String roleType,long aggregationPeriod,final SelectionContext selectionContext,long date1,long date2,final int hourSpan,AsyncCallback<List<TimeSlotData>> callback){
  long hourToSecondsMultiplier=3600;
  CriteriaInfoImpl criteriaInfo=new CriteriaInfoImpl();
  criteriaInfo.setMetricName(metricName);
  criteriaInfo.setServiceName(selectionContext.getSelection(ObjectType.ServiceName));
  if (selectionContext.getSelection(ObjectType.OperationName) != null) {
    criteriaInfo.setOperationName(selectionContext.getSelection(ObjectType.OperationName));
  }
  criteriaInfo.setRoleType(roleType);
  if (aggregationPeriod >= 3600) {
    hourToSecondsMultiplier=aggregationPeriod;
  }
  queryService.getMetricValueTrend(new MetricValue(criteriaInfo,date1,hourToSecondsMultiplier * hourSpan,(int)aggregationPeriod,"String_Node_Str"),new MetricValue(criteriaInfo,date2,hourToSecondsMultiplier * hourSpan,(int)aggregationPeriod,"String_Node_Str"),callback);
}
Program: 18619
Project: 18619
Buggy source:
public void onError(Request request,Throwable err){
  GWT.log("String_Node_Str",err);
}

Fixed version (ground truth):
public void onError(Request request,Throwable err){
  GWT.log("String_Node_Str",err);
  callback.onFailure(err);
}
Program: 18620
Project: 18620
Buggy source:
public void onResponseReceived(Request request,Response response){
  if (response.getStatusCode() != Response.SC_OK) {
    GWT.log("String_Node_Str" + response.getStatusCode());
  }
 else   if (response.getHeader(ERROR_HEADER) != null) {
    GWT.log("String_Node_Str" + response.getHeadersAsString());
  }
 else {
    GWT.log(response.getText());
    MetricValueResponse graphResponse=MetricValueResponse.fromJSON(response.getText());
    if (graphResponse == null) {
      GWT.log("String_Node_Str");
    }
 else {
      JsArray<MetricGraphDataJS> rows=graphResponse.getReturnData();
      List<TimeSlotValue> results=new ArrayList<TimeSlotValue>();
      if (rows != null) {
        for (int i=0; i < rows.length(); i++) {
          MetricGraphDataJS js=rows.get(i);
          results.add(js);
        }
      }
      data.setReturnData(results);
    }
  }
}

Fixed version (ground truth):
public void onResponseReceived(Request request,Response response){
  if (response.getStatusCode() != Response.SC_OK) {
    GWT.log("String_Node_Str" + response.getStatusCode());
    callback.onFailure(new RequestException("String_Node_Str" + response.getStatusCode()));
  }
 else   if (response.getHeader(ERROR_HEADER) != null) {
    GWT.log("String_Node_Str" + response.getHeadersAsString());
    callback.onFailure(new RequestException("String_Node_Str" + response.getHeadersAsString()));
  }
 else {
    MetricValueResponse graphResponse=MetricValueResponse.fromJSON(response.getText());
    if (graphResponse == null) {
      GWT.log("String_Node_Str");
    }
 else {
      JsArray<MetricGraphDataJS> rows=graphResponse.getReturnData();
      List<TimeSlotValue> results=new ArrayList<TimeSlotValue>();
      if (rows != null) {
        for (int i=0; i < rows.length(); i++) {
          MetricGraphDataJS js=rows.get(i);
          results.add(js);
        }
      }
      data.getReturnData().addAll(results);
      GWT.log("String_Node_Str" + data.getReturnData().size());
      callback.onSuccess(data);
    }
  }
}
Program: 18621
Project: 18621
Buggy source:
@Override public void getServiceCallTrend(MetricValue firstDate,MetricValue secondDate,final AsyncCallback<List<TimeSlotData>> callback){
  try {
    TimeSlotData firstDateRange=this.getServiceCallTrend(firstDate);
    TimeSlotData secondDateRange=this.getServiceCallTrend(secondDate);
    List<TimeSlotData> results=new ArrayList<TimeSlotData>();
    results.add(firstDateRange);
    results.add(secondDateRange);
    if (firstDateRange != null && secondDate != null) {
      callback.onSuccess(results);
    }
 else {
      callback.onFailure(new Exception("String_Node_Str"));
    }
  }
 catch (  RequestException x) {
    callback.onFailure(x);
  }
}

Fixed version (ground truth):
@Override public void getServiceCallTrend(MetricValue firstDate,final MetricValue secondDate,final AsyncCallback<List<TimeSlotData>> callback){
  try {
    final TimeSlotData firstDateRange=new TimeSlotData();
    final TimeSlotData secondDateRange=new TimeSlotData();
    this.getServiceCallTrendForDate(firstDate,new AsyncCallback<TimeSlotData>(){
      @Override public void onFailure(      Throwable arg0){
        Window.alert("String_Node_Str" + arg0.getMessage());
      }
      @Override public void onSuccess(      TimeSlotData arg0){
        firstDateRange.setReturnData(arg0.getReturnData());
        try {
          getServiceCallTrendForDate(secondDate,new AsyncCallback<TimeSlotData>(){
            @Override public void onFailure(            Throwable arg0){
              Window.alert("String_Node_Str" + arg0.getMessage());
            }
            @Override public void onSuccess(            TimeSlotData arg0){
              secondDateRange.setReturnData(arg0.getReturnData());
              List<TimeSlotData> results=new ArrayList<TimeSlotData>();
              results.add(firstDateRange);
              results.add(secondDateRange);
              if (firstDateRange != null && secondDateRange != null) {
                callback.onSuccess(results);
              }
 else {
                callback.onFailure(new Exception("String_Node_Str"));
              }
            }
          }
);
        }
 catch (        RequestException e) {
          e.printStackTrace();
        }
      }
    }
);
  }
 catch (  RequestException x) {
    callback.onFailure(x);
  }
}
Program: 18622
Project: 18622
Buggy source:
/** 
 * Get a number of metrics from the server.
 * @param metrics
 * @param service
 * @param operation
 * @param date1
 * @param date2
 * @param intervalHrs
 */
protected void fetchMetrics(List<ServiceMetric> metrics,SelectionContext selectionContext,long date1,long date2,int intervalHrs){
  Entity returnType=null;
  for (  ServiceMetric m : metrics) {
switch (m) {
case TopVolume:
{
        returnType=Entity.Operation;
        break;
      }
case ConsumerTraffic:
{
      returnType=Entity.Consumer;
      break;
    }
case LeastPerformance:
{
    returnType=Entity.Operation;
    break;
  }
case TopErrors:
{
  returnType=Entity.Error;
  break;
}
case ConsumerErrors:
{
returnType=Entity.Consumer;
break;
}
}
fetchMetric(m,selectionContext,returnType,date1,date2,intervalHrs);
}
}

Fixed version (ground truth):
/** 
 * Get a number of metrics from the server.
 * @param metrics
 * @param service
 * @param operation
 * @param date1
 * @param date2
 * @param intervalHrs
 */
protected void fetchMetrics(List<ServiceMetric> metrics,SelectionContext selectionContext,long date1,long date2,int intervalHrs){
  Entity returnType=null;
  for (  ServiceMetric m : metrics) {
switch (m) {
case TopVolume:
{
        returnType=Entity.Operation;
        break;
      }
case ConsumerTraffic:
{
      returnType=Entity.Consumer;
      break;
    }
case LeastPerformance:
{
    returnType=Entity.Operation;
    break;
  }
case TopErrors:
{
  returnType=Entity.Error;
  break;
}
case ConsumerErrors:
{
returnType=Entity.Consumer;
break;
}
}
fetchMetric(m,selectionContext,returnType,date1,date2,intervalHrs);
}
GWT.log("String_Node_Str");
CriteriaInfoImpl criteriaInfo=new CriteriaInfoImpl();
criteriaInfo.setMetricName("String_Node_Str");
criteriaInfo.setServiceName("String_Node_Str");
criteriaInfo.setRoleType("String_Node_Str");
Date firstDate=resetTo12am(date1);
Date secondDate=resetTo12am(date2);
queryService.getServiceCallTrend(new MetricValue(criteriaInfo,firstDate.getTime(),3600l * 24,3600,"String_Node_Str"),new MetricValue(criteriaInfo,secondDate.getTime(),3600l * 24,3600,"String_Node_Str"),new AsyncCallback<List<TimeSlotData>>(){
@Override public void onSuccess(List<TimeSlotData> dataRanges){
ServicePresenter.this.view.activate();
ServicePresenter.this.view.setServiceCallTrendData(dataRanges);
}
@Override public void onFailure(Throwable exception){
GWT.log(exception.getMessage());
}
}
);
}
Program: 18624
Project: 18624
Buggy source:
/** 
 * Two union types are equal if they have the same number of alternates and all alternates are equal.
 */
boolean checkUnionEquivalenceHelper(UnionType that,EquivalenceMethod eqMethod){
  if (eqMethod == EquivalenceMethod.IDENTITY && alternates.size() != that.alternates.size()) {
    return false;
  }
  for (  JSType alternate : that.alternates) {
    if (!hasAlternate(alternate,eqMethod)) {
      return false;
    }
  }
  return true;
}

Fixed version (ground truth):
/** 
 * Two union types are equal if, after flattening nested union types, they have the same number of alternates and all alternates are equal.
 */
boolean checkUnionEquivalenceHelper(UnionType that,EquivalenceMethod eqMethod){
  Collection<JSType> thatAlternates=that.getAlternates();
  if (eqMethod == EquivalenceMethod.IDENTITY && getAlternates().size() != thatAlternates.size()) {
    return false;
  }
  for (  JSType alternate : thatAlternates) {
    if (!hasAlternate(alternate,eqMethod)) {
      return false;
    }
  }
  return true;
}
Program: 18625
Project: 18625
Buggy source:
private boolean hasAlternate(JSType type,EquivalenceMethod eqMethod){
  for (  JSType alternate : alternates) {
    if (alternate.checkEquivalenceHelper(type,eqMethod)) {
      return true;
    }
  }
  return false;
}

Fixed version (ground truth):
private boolean hasAlternate(JSType type,EquivalenceMethod eqMethod){
  for (  JSType alternate : getAlternates()) {
    if (alternate.checkEquivalenceHelper(type,eqMethod)) {
      return true;
    }
  }
  return false;
}
Program: 18626
Project: 18626
Buggy source:
/** 
 * Gets the alternate types of this union type.
 * @return The alternate types of this union type. The returned set isimmutable.
 */
public Iterable<JSType> getAlternates(){
  return alternates;
}

Fixed version (ground truth):
/** 
 * Gets the alternate types of this union type.
 * @return The alternate types of this union type. The returned set isimmutable.
 */
public Collection<JSType> getAlternates(){
  for (  JSType t : alternates) {
    if (t.isUnionType()) {
      rebuildAlternates();
      break;
    }
  }
  return alternates;
}
Program: 18627
Project: 18627
Buggy source:
Iterable<JSType> getAlternates(){
  JSType specialCaseType=reduceAlternatesWithoutUnion();
  if (specialCaseType != null) {
    return ImmutableList.of(specialCaseType);
  }
  return Collections.unmodifiableList(alternates);
}

Fixed version (ground truth):
Collection<JSType> getAlternates(){
  JSType specialCaseType=reduceAlternatesWithoutUnion();
  if (specialCaseType != null) {
    return ImmutableList.of(specialCaseType);
  }
  return Collections.unmodifiableList(alternates);
}
Program: 18629
Project: 18629
Buggy source:
@Override protected void setUp() throws Exception {
  super.setUp();
  previouslyUsedMap=new VariableMap(ImmutableMap.<String,String>of());
  prefix=DEFAULT_PREFIX;
  withClosurePass=false;
  localRenamingOnly=false;
  preserveFunctionExpressionNames=false;
  generatePseudoNames=false;
  shouldShadow=false;
}

Fixed version (ground truth):
@Override protected void setUp() throws Exception {
  super.setUp();
  previouslyUsedMap=new VariableMap(ImmutableMap.<String,String>of());
  prefix=DEFAULT_PREFIX;
  withClosurePass=false;
  withNormalize=false;
  localRenamingOnly=false;
  preserveFunctionExpressionNames=false;
  generatePseudoNames=false;
  shouldShadow=false;
}
Program: 18630
Project: 18630
Buggy source:
public void testDollarSignSuperExport2(){
  boolean normalizedExpectedJs=false;
  super.enableNormalize(false);
  useGoogleCodingConvention=false;
  test("String_Node_Str" + "String_Node_Str","String_Node_Str" + "String_Node_Str");
  localRenamingOnly=false;
  test("String_Node_Str","String_Node_Str");
  useGoogleCodingConvention=true;
  test("String_Node_Str" + "String_Node_Str","String_Node_Str" + "String_Node_Str");
  super.disableNormalize();
}

Fixed version (ground truth):
public void testDollarSignSuperExport2(){
  withNormalize=true;
  useGoogleCodingConvention=false;
  test("String_Node_Str" + "String_Node_Str","String_Node_Str" + "String_Node_Str");
  localRenamingOnly=false;
  test("String_Node_Str","String_Node_Str");
  useGoogleCodingConvention=true;
  test("String_Node_Str" + "String_Node_Str","String_Node_Str" + "String_Node_Str");
}
Program: 18631
Project: 18631
Buggy source:
@Override public void process(Node externs,Node root){
  ProcessClosurePrimitives closurePass=new ProcessClosurePrimitives(compiler,null,CheckLevel.WARNING);
  closurePass.process(externs,root);
  renameVars=new RenameVars(compiler,prefix,false,false,false,false,previouslyUsedMap,null,closurePass.getExportedVariableNames());
  renameVars.process(externs,root);
}

Fixed version (ground truth):
@Override public void process(Node externs,Node root){
  Normalize normalize=new Normalize(compiler,false);
  normalize.process(externs,root);
  wrappedPass.process(externs,root);
}
Program: 18632
Project: 18632
Buggy source:
@Override protected CompilerPass getProcessor(Compiler compiler){
  if (withClosurePass) {
    return new ClosurePassAndRenameVars(compiler);
  }
 else {
    return renameVars=new RenameVars(compiler,prefix,localRenamingOnly,preserveFunctionExpressionNames,generatePseudoNames,shouldShadow,previouslyUsedMap,null,null);
  }
}

Fixed version (ground truth):
@Override protected CompilerPass getProcessor(Compiler compiler){
  CompilerPass pass;
  if (withClosurePass) {
    pass=new ClosurePassAndRenameVars(compiler);
  }
 else {
    pass=renameVars=new RenameVars(compiler,prefix,localRenamingOnly,preserveFunctionExpressionNames,generatePseudoNames,shouldShadow,previouslyUsedMap,null,null);
  }
  if (withNormalize) {
    pass=new NormalizePassWrapper(compiler,pass);
  }
  return pass;
}
Program: 18635
Project: 18635
Buggy source:
/** 
 * TypeExpression := BasicTypeExpression | '?' BasicTypeExpression | '!' BasicTypeExpression | BasicTypeExpression '?' | BasicTypeExpression '!' | '?'
 */
private Node parseTypeExpression(JsDocToken token){
  if (token == JsDocToken.QMARK) {
    token=next();
    if (token == JsDocToken.COMMA || token == JsDocToken.EQUALS || token == JsDocToken.RB || token == JsDocToken.RC || token == JsDocToken.RP || token == JsDocToken.PIPE) {
      restoreLookAhead(token);
      return newNode(Token.QMARK);
    }
    return wrapNode(Token.QMARK,parseBasicTypeExpression(token));
  }
 else   if (token == JsDocToken.BANG) {
    return wrapNode(Token.BANG,parseBasicTypeExpression(next()));
  }
 else {
    Node basicTypeExpr=parseBasicTypeExpression(token);
    if (basicTypeExpr != null) {
      if (match(JsDocToken.QMARK)) {
        next();
        return wrapNode(Token.QMARK,basicTypeExpr);
      }
 else       if (match(JsDocToken.BANG)) {
        next();
        return wrapNode(Token.BANG,basicTypeExpr);
      }
    }
    return basicTypeExpr;
  }
}

Fixed version (ground truth):
/** 
 * TypeExpression := BasicTypeExpression | '?' BasicTypeExpression | '!' BasicTypeExpression | BasicTypeExpression '?' | BasicTypeExpression '!' | '?'
 */
private Node parseTypeExpression(JsDocToken token){
  if (token == JsDocToken.QMARK) {
    token=next();
    if (token == JsDocToken.COMMA || token == JsDocToken.EQUALS || token == JsDocToken.RB || token == JsDocToken.RC || token == JsDocToken.RP || token == JsDocToken.PIPE || token == JsDocToken.GT) {
      restoreLookAhead(token);
      return newNode(Token.QMARK);
    }
    return wrapNode(Token.QMARK,parseBasicTypeExpression(token));
  }
 else   if (token == JsDocToken.BANG) {
    return wrapNode(Token.BANG,parseBasicTypeExpression(next()));
  }
 else {
    Node basicTypeExpr=parseBasicTypeExpression(token);
    if (basicTypeExpr != null) {
      if (match(JsDocToken.QMARK)) {
        next();
        return wrapNode(Token.QMARK,basicTypeExpr);
      }
 else       if (match(JsDocToken.BANG)) {
        next();
        return wrapNode(Token.BANG,basicTypeExpr);
      }
    }
    return basicTypeExpr;
  }
}
Program: 18636
Project: 18636
Buggy source:
/** 
 * TypeName := NameExpression | NameExpression TypeApplication TypeApplication := '.<' TypeExpressionList '>' TypeExpressionList := TypeExpression // a white lie
 */
private Node parseTypeName(JsDocToken token){
  if (token != JsDocToken.STRING) {
    return reportGenericTypeSyntaxWarning();
  }
  String typeName=stream.getString();
  int lineno=stream.getLineno();
  int charno=stream.getCharno();
  while (match(JsDocToken.EOL) && typeName.charAt(typeName.length() - 1) == '.') {
    skipEOLs();
    if (match(JsDocToken.STRING)) {
      next();
      typeName+=stream.getString();
    }
  }
  Node typeNameNode=newStringNode(typeName,lineno,charno);
  if (match(JsDocToken.LT)) {
    next();
    skipEOLs();
    Node memberType=parseTypeExpressionList(next());
    if (memberType != null) {
      typeNameNode.addChildToFront(memberType);
      skipEOLs();
      if (!match(JsDocToken.GT)) {
        return reportTypeSyntaxWarning("String_Node_Str");
      }
      next();
    }
  }
  return typeNameNode;
}

Fixed version (ground truth):
/** 
 * TypeName := NameExpression | NameExpression TypeApplication TypeApplication := '.<' TypeExpressionList '>'
 */
private Node parseTypeName(JsDocToken token){
  if (token != JsDocToken.STRING) {
    return reportGenericTypeSyntaxWarning();
  }
  String typeName=stream.getString();
  int lineno=stream.getLineno();
  int charno=stream.getCharno();
  while (match(JsDocToken.EOL) && typeName.charAt(typeName.length() - 1) == '.') {
    skipEOLs();
    if (match(JsDocToken.STRING)) {
      next();
      typeName+=stream.getString();
    }
  }
  Node typeNameNode=newStringNode(typeName,lineno,charno);
  if (match(JsDocToken.LT)) {
    next();
    skipEOLs();
    Node memberType=parseTypeExpressionList(next());
    if (memberType != null) {
      typeNameNode.addChildToFront(memberType);
      skipEOLs();
      if (!match(JsDocToken.GT)) {
        return reportTypeSyntaxWarning("String_Node_Str");
      }
      next();
    }
  }
  return typeNameNode;
}