//===--- GitHubIssue.swift ------------------------------------------------===// // // This source file is part of the Swift.org open source project // // Copyright (c) 2026 Apple Inc. and the Swift project authors // Licensed under Apache License v2.0 with Runtime Library Exception // // See https://swift.org/LICENSE.txt for license information // See https://swift.org/CONTRIBUTORS.txt for the list of Swift project authors // //===----------------------------------------------------------------------===// import Foundation import Subprocess import RegexBuilder struct GitHubIssue: Codable { var title: String var body: String var labels: [Label] private static let nameLookupRegex = /namelookup|ast_scope|ASTScope/.ignoresCase() private static let semaRegex = /typecheck|constraint|solution|ExprRewriter|verifyChecked|checker/.ignoresCase() private static let genericsRegex = /requirementmachine|generic(signature|environment)/.ignoresCase() private static let protocolsRegex = /conformance|witness|associatedtype/.ignoresCase() private static func getComponentLabel(for sig: String) -> Set