func semanticRefactoring()

in SourceKitStressTester/Sources/StressTester/SourceKitDocument.swift [195:217]


  func semanticRefactoring(actionKind: SourceKitdUID, actionName: String,
                           offset: Int, newName: String? = nil) throws -> (RequestInfo, SourceKitdResponse) {
    let request = SourceKitdRequest(uid: .request_SemanticRefactoring)
    guard let converter = self.converter else { fatalError("didn't call open?") }

    request.addParameter(.key_ActionUID, value: actionKind)
    request.addParameter(.key_SourceFile, value: args.forFile.path)
    let location = converter.location(for: AbsolutePosition(utf8Offset: offset))
    request.addParameter(.key_Line, value: location.line!)
    request.addParameter(.key_Column, value: location.column!)
    if let newName = newName, actionName == "Local Rename" {
      request.addParameter(.key_Name, value: newName)
    }
    request.addCompilerArgs(args.sourcekitdArgs)

    let info = RequestInfo.semanticRefactoring(document: documentInfo,
                                               offset: offset,
                                               kind: actionName,
                                               args: args.sourcekitdArgs)
    let response = try sendWithTimeout(request, info: info)

    return (info, response)
  }