init()

in SourceKitStressTester/Sources/SwiftCWrapper/ExpectedIssue.swift [157:230]


  init(matching stressTesterIssue: StressTesterIssue, issueUrl: String, config: String) {
    self.issueUrl = issueUrl
    self.applicableConfigs = [config]

    switch stressTesterIssue {
    case .errored(let status, let file, let arguments):
      path = file
      modification = nil
      issueDetail = .stressTesterCrash(status: status, arguments: arguments)
    case .failed(let failure, _):
      switch failure.request {
      case .editorOpen(let document):
        path = document.path
        modification = document.modificationSummaryCode
        issueDetail = .editorOpen
      case .editorClose(let document):
        path = document.path
        modification = document.modificationSummaryCode
        issueDetail = .editorClose
      case .editorReplaceText(let document, let offset, let length, let text):
        path = document.path
        modification = document.modificationSummaryCode
        issueDetail = .editorReplaceText(offset: offset, length: length, text: text)
      case .cursorInfo(let document, let offset, _):
        path = document.path
        modification = document.modificationSummaryCode
        issueDetail = .cursorInfo(offset: offset)
      case .format(let document, let offset):
        path = document.path
        modification = document.modificationSummaryCode
        issueDetail = .format(offset: offset)
      case .codeCompleteOpen(let document, let offset, _):
        path = document.path
        modification = document.modificationSummaryCode
        issueDetail = .codeCompleteOpen(offset: offset)
      case .codeCompleteClose(let document, let offset):
        path = document.path
        modification = document.modificationSummaryCode
        issueDetail = .codeCompleteClose(offset: offset)
      case .rangeInfo(let document, let offset, let length, _):
        path = document.path
        modification = document.modificationSummaryCode
        issueDetail = .rangeInfo(offset: offset, length: length)
      case .semanticRefactoring(let document, let offset, let refactoring, _):
        path = document.path
        modification = document.modificationSummaryCode
        issueDetail = .semanticRefactoring(offset: offset, refactoring: refactoring)
      case .typeContextInfo(let document, let offset, _):
        path = document.path
        modification = document.modificationSummaryCode
        issueDetail = .typeContextInfo(offset: offset)
      case .conformingMethodList(let document, let offset, _, _):
        path = document.path
        modification = document.modificationSummaryCode
        issueDetail = .conformingMethodList(offset: offset)
      case .collectExpressionType(let document, _):
        path = document.path
        modification = document.modificationSummaryCode
        issueDetail = .collectExpressionType
      case .writeModule(let document, _):
        path = document.path
        modification = document.modificationSummaryCode
        issueDetail = .writeModule
      case .interfaceGen(let document, _, _):
        path = document.path
        modification = document.modificationSummaryCode
        issueDetail = .interfaceGen
      case .statistics:
        path = "<statistics>"
        modification = nil
        issueDetail = .statistics
      }
    }
  }